Alternativas a SPI debido a EMI

23

Actualmente hago un sistema que consiste en una caja de plástico que contiene una MCU que habla con 7 ADC utilizando SPI de 2MHz sobre cables de aproximadamente 5 cm de largo.

ElproblemaesquemepreocupaEMI.TodoloqueheleídosugierequecualquiertipodeseñaldigitalquenoseaseguraenunaPCBenunchasismetálicoconconexiónatierraseirradiarádemasiadoparapasarlapruebadeEMI.SupongoqueestotambiénincluiríaI2C.

¿EsprobablequeestonosuperelaspruebasdeEMI?¿Quépuedohaceralrespecto?

Estoybuscandocualquiertipoderespuestas,incluyendo"Usar un bus / ADC diferente", pero no incluye respuestas que involucren cambios mecánicos como: "Poner todos los ADC en la misma PCB" o "Poner todo en una caja de metal". Estoy especialmente interesado en las alternativas de bajo EMI a SPI, incluidos los buses diferenciales.

Aquí hay alguna información relevante sobre la aplicación. Por favor, avíseme si necesita saber más cosas:

  • 6 cables van a cada tarjeta ADC (Power, GND, CS, CLK, MOSI, MISO).
  • Los ADC son actualmente MCP3208 (Microchip 8 canales, 12 bits)
  • Estoy trabajando en una aplicación desesperadamente con espacio limitado, por lo que agregar blindaje a los cables no es realmente una opción.
  • Sería bueno utilizar algún tipo de bus diferencial (solo uno o dos pares), pero los únicos ADC con comunicación diferencial parecen ser tipos de LVDS de múltiples MSPS.
  • Es probable que CAN sea demasiado lento, y también un poco voluminoso para una aplicación con espacio tan limitado.
  • Frecuencia de muestreo: necesito muestrear cada canal a 1kHz.

Añadido:

Solo para dar una idea de las limitaciones de espacio:

Aquí puede ver uno de los PCB de ADC. Este en realidad tiene un MCP3202 en lugar de un MCP3208, pero es compatible (ish). Está en un paquete TSSOP 8. El PCB es de 11 mm x 13 mm. El cable negro es de 2mm de diámetro. Como puede ver, ni siquiera hay espacio para un conector y los cables se sueldan directamente a la PCB y luego se encapsulan. La falta de conector se debe a restricciones de espacio circundante en lugar de restricciones de espacio de PCB.

    
pregunta Rocketmagnet

2 respuestas

13

Los cables SPI de 2 MHz de más de 5 cm no son enormes. Hago SPI de 30 MHz sobre cables de 10 cm mucho, pasando FCC Clase B y el equivalente CE. La clave es asegurarse de que tiene un buen cable (controlando lo mejor posible el área de bucle) y terminando correctamente sus señales.

Usted controla el área de bucle colocando las señales de alimentación / GND en algún lugar en el medio del cable: en el centro del conector, pero también en el centro del haz de cables. Normalmente tendrías una potencia o GND por señal, pero como rara vez es una solución práctica, debes hacer lo mejor con lo que tienes. Además, asegúrese de colocar una o dos tapas de desacoplamiento en los PCB en ambos extremos del cable.

Terminar correctamente las señales será un poco complicado ya que no tiene una impedancia controlada en su cable. Lo que haría es colocar un filtro RC en la PCB en ambos extremos del cable. El filtro RC tendría la C en el lado del cable y la R en el lado del chip. En el controlador de señal, comenzaría con una R de aproximadamente 75 ohmios y una C de aproximadamente 1 nF. En el receptor, la R sería de aproximadamente 10 ohmios y C aún sería 1 nF. Una vez que haya construido los prototipos, debe probar diferentes valores. Esencialmente, desea valores más altos para R y C, pero no tan alto que la cosa deje de funcionar o los niveles de señal estén demasiado atenuados. Los bordes de sus señales deben verse muy redondeados, pero no debe haber ningún timbre y los relojes deben estar bien en la banda de transición de señal (generalmente de 0.8 a 2.0 voltios).

Un valor de límite de al menos 3 nF es ideal para la protección contra ESD, pero puede que no sea un problema en su aplicación.

    
respondido por el user3624
2

CAN es casi seguro tu mejor apuesta en este tipo de aplicación. Es diferencial, y en realidad debería reducir la cantidad de cables que van a cada placa. Si está muestreando siete chips, ocho canales por chip, doce bits por canal, eso es 672 bits de datos por tiempo de muestra. A muestras de 1 kHz, velocidad de transferencia de 1 Mbit, eso es 1000 bits por tiempo de muestra. Eso no le deja mucho espacio para la sobrecarga, por lo que podría considerar usar un microcontrolador que tenga dos controladores CANbus integrados. (El microchip hace varios, yo uso el dsPIC 30F6012a). Divida sus A / D en dos buses, con su el microcontrolador central en ambos, y debe tener suficiente ancho de banda.

En el otro extremo, podría considerar reemplazar los convertidores A / D con microcontroladores. dsPIC 30F4013 podría ser una buena opción allí. 13 canales A / D de 12 bits, más CANbus.

Alternativamente, creo que puede convertir SPI a / desde protocolos de voltaje diferencial como RS-485. Pero no sabría lo suficiente para comentar de forma inteligente.

    
respondido por el Stephen Collings

Lea otras preguntas en las etiquetas