Comunicación entre módulos a través de USB usando una uC

0

Tengo un módulo (por ejemplo, A) que me envía datos en serie a 5 Mbps. Quiero transferir estos datos a otro módulo (por ejemplo, B). Para B, tengo algunas opciones para los enlaces: USB, UART, PCI / E, etc. No estoy seguro, pero creo que USB sería la mejor opción a una velocidad de datos tan alta. Ya tengo un uC además de los módulos A y B (utilizados para enviar algunas señales de control a estos módulos). ¿Puedo usar una unidad uC para interactuar entre A y B?

Tenga en cuenta que la salida de A es datos analógicos. Por lo tanto, debo pasarlo a través de un ADC antes de enviarlo al módulo B. El uC se incorporará en algún punto intermedio (ya sea entre A y el ADC o ADC y B).

Si una uC no es la opción correcta, ¿qué debo usar? Necesito que sea lo más baja posible con su batería.

Aclaraciones (Edición-1):

  1. 5 Mbps es la velocidad de datos después del ADC de 10 bits
  2. La batería es de aproximadamente 400 mAh
  3. Flujo de datos: Módulo A - > Datos analógicos - > ADC (10 bits) - > uC - > Cable USB - > Módulo B
pregunta Neel Mehta

1 respuesta

6

USB es una solución posible, pero debido a la pila de protocolos que se necesita sería muy complicado de implementar en comparación con otras opciones de interfaz en serie. Sugeriría SPI ya que es muy simple de implementar.

Consideraría tomar una unidad de usuario que admita una interfaz SPI de alta velocidad como Microchip PIC32 . El SPI opera a hasta 20Mbps. Además, un uC de este tipo también tiene un convertidor A / D y un módulo DMA que simplificaría la transferencia de datos tanto dentro como fuera de la uC y garantizaría la velocidad que está buscando.

Definitivamente hay otros productos de control de calidad que tienen menor potencia, pero debes asegurarte de que:

a) la interfaz SPI puede operarse lo suficientemente rápido para sus necesidades b) la CPU subyacente es lo suficientemente potente como para transferir esta cantidad de datos de entrada / salida

No olvide que la frecuencia de reloj de uC tiene una gran influencia en el consumo de energía y, considerando las velocidades que probablemente se necesitan para soportar esta cantidad de flujo de datos, es posible que deba considerar el uso de los modos de baja energía o de suspensión de uC cuando no está activo. Transferencia de datos para ahorrar energía.

Último punto: debe definir "bajo consumo" en una pregunta como esta. Una batería podría ser una celda pequeña de 1000 mAh 1.5 V o una de 12 V de plomo-ácido.

Supongo que su sistema planificado es:

Señal analógica - > MóduloA- > SPI- > cable- > SPI- > ModuleB

Si no es así, y ModuleB only es compatible con USB, UART, PCI / E, etc., luego use la uC en el lado del ModuleB para convertir de SPI a USB, por lo tanto:

Señal analógica - > MóduloA (uC) - > SPI- > cable - > SPI- > (uC) - > Dispositivo USB - > cable- > ModuleB

Aclaración en respuesta a la Edición 1

Luego haría la siguiente recomendación concreta. Comience mirando el PIC32MX250F128D. Esto tiene un 13 canal, 10 bits A / D y un módulo USB-OTG. Esto se convertiría en el elemento "uC" en su descripción de "Flujo de datos:". Microchip también ofrece una pila de software USB gratuita que hace que el USB sea mucho más fácil de usar. El módulo USB en el PIC32MX250F128D también se puede utilizar como 'host' o como 'dispositivo'. Independientemente de lo que sea realmente el ModuleB, la flexibilidad debería estar allí para interactuar con él en uno u otro modo. El consumo de corriente generalmente se encuentra alrededor de 14.5 mA a 40MHz, 3.3V y 25 ° C, lo que le brinda alrededor de 27.5 horas de tiempo de ejecución 'activo' (es decir, funcionando a toda velocidad). Más allá de eso, tendrá que fijarse en el ajuste fino del código de la aplicación para hacer uso de las diversas funciones de ahorro de energía que tiene el dispositivo (es decir, modos inactivo y de suspensión, etc.). La reducción de la frecuencia de operación tiene un efecto lineal en el consumo de energía; la tensión de alimentación tiene una potencia de 2 (V ^ 2), por lo que reducir el suministro de tensión de las aplicaciones al mínimo permitido contribuirá en gran medida a la vida útil de la batería.

Espero que esto proporcione más para continuar. Saludos cordiales, Stuart

    
respondido por el Stuart Cording

Lea otras preguntas en las etiquetas