Alternativas a SPI debido a EMI

24

Actualmente hago un sistema que consiste en una carcasa de plástico que contiene una MCU que se comunica con 7 ADC utilizando SPI de 2MHz a través de cables de aproximadamente 5 cm de largo.

MCU y ADC conectados por SPI

El problema es que estoy preocupado por EMI. Todo lo que he leído sugiere que cualquier tipo de señal digital que no sea segura en una PCB en un chasis de metal conectado a tierra irradiará demasiado para pasar la prueba EMI. Supongo que esto también incluiría I2C.

¿Es probable que esto falle en las pruebas EMI? ¿Qué puedo hacer sobre esto?

Estoy buscando cualquier tipo de respuestas, incluso "Usar un bus / ADC diferente", pero no incluir respuestas que impliquen cambios mecánicos como: "Ponga todos los ADC en la misma PCB" o "Ponga todo en una caja de metal" . Estoy especialmente interesado en las alternativas de bajo EMI a SPI, incluidos los buses diferenciales.

Aquí hay información relevante sobre la aplicación. Avíseme si necesita saber más cosas:

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

Adicional:

Solo para dar una idea de las limitaciones de espacio:

PCB pequeña con MCP3202

Aquí puede ver uno de los PCB ADC. Este realmente 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 tiene 2 mm de diámetro. Como puede ver, ni siquiera hay espacio para un conector y los cables se sueldan directamente a la PCB, luego se colocan en macetas. La falta de conector se debe a restricciones de espacio circundantes en lugar de limitaciones de espacio de PCB.

Rocketmagnet
fuente
44
¿Cómo puede considerarse poco práctico proteger los cables, pero duplicar el número de cables (señalización diferencial) puede considerarse práctico?
timrorr
Lo siento, debería haber sido más claro. Me refería a algo como CAN, que es diferencial de 2 hilos. Obviamente, duplicar el número de cables es imposible. He editado la pregunta.
Rocketmagnet
1
Específicamente, ¿qué tipo de prueba / certificación está intentando aprobar?
Joel B
1
@JoelB - Lo siento, soy algo nuevo en EMI, así que no estoy muy seguro. Pero en algún momento tendremos que hacer algún tipo de prueba EMI. Probablemente algún tipo de prueba de EMI normal / nivel de consumidor, si existe tal cosa.
Rocketmagnet
1
@Rocketmagnet, Ohh, no me malinterpretes que estás haciendo una antena muy fácilmente. Existen métodos de diseño para esto, lo analiza más, pero si su cable no tiene ninguna frecuencia que una prueba EMI compruebe que estará bien, debe asegurarse de que no está acoplando el ruido de otras frecuencias más altas de otros lugares fuera (que es fácil como dijo el diseño digital de alta velocidad). Solo quería una mejor idea de tu problema. Me gusta mucho la pregunta y ya tengo mi +1
Kortuk

Respuestas:

13

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

Usted controla el área del bucle colocando las señales de alimentación / GND en algún lugar en el medio del cable: tanto en el medio del conector como en el centro del haz de cables también. Normalmente, tendría una potencia o GND por señal, pero dado que rara vez es una solución práctica, debe hacer lo mejor con lo que tiene. 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 unos 10 ohmios y C aún 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 altos como para 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 sonar y los relojes deben estar bien mientras están en la banda de transición de la señal (generalmente de 0.8 a 2.0 voltios).

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


fuente
Gracias por tu respuesta. Sí, estoy bastante seguro de que la impedancia cambia en varios puntos a medida que se mueve de pcb a conector a cable, etc. Además, las líneas CS, CLK y MOSI se comparten en todos los ADC. Eso hace una diferencia ?
Rocketmagnet
@Rocketmagnet Los filtros RC esencialmente van a terminar en exceso. Es por eso que las señales se verán muy redondeadas. Esto hará varias cosas por usted, la más importante es hacer que la impedancia no sea tan crítica. Debe volver a ofrecer las señales CS, CLK y MOSI para que no se compartan entre los cables. A veces eso no es posible, por lo que la segunda mejor opción (distante) es usar una terminación separada para cada cable y no compartir la terminación.
2

CAN es casi seguro su 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 muestreo. Con 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 gastos generales, por lo que podría considerar usar un microcontrolador que tenga dos controladores CANbus separados integrados (Microchip hace varios, yo uso el dsPIC 30F6012a). Divida sus A / D en dos buses, con su microcontrolador central en ambos, y debe tener mucho 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 sobre eso para comentar inteligentemente.

Stephen Collings
fuente
Gracias por tu respuesta. He considerado CAN, pero, al final, no estoy seguro de que haya suficiente espacio para los componentes. Si hubiera algún pequeño transceptor CAN disponible, entonces podría ser posible. Los más pequeños que puedo encontrar parecen ser SOIC 8.
Rocketmagnet
2
!! Cuando dices limitado al espacio, ¡lo dices en serio! Puede consultar esta respuesta: electronics.stackexchange.com/a/30596/7523 Aparentemente, PODRÍA salirse con la suya al no usar un transceptor en esta circunstancia. ¡Sin duda me interesaría saber si puedes!
Stephen Collings
3
Je Echa un vistazo al nombre en esa respuesta que vinculaste.
Rocketmagnet
1
Entonces, ¿eso que dije sobre mí sin saber lo suficiente como para hacer comentarios inteligentes? Sí.
Stephen Collings