¿Qué está mal con esta implementación de SPI?

1

Diseñé un sistema con RaspberryPi y STM32F407, que se comunican entre sí a través de interfaces SPI.

Durante los últimos 3 meses, las pruebas estuvieron bien, pero ayer se quemaron una RaspberryPi y 2 de los puertos SPI del STM32F407. No se por que Todo funcionaba, me fui a dormir, todo se quemó por la mañana.

Aquí está el boceto de implementación:

PCB son 15 cm de largo. Las líneas SPI son paralelas. No se utilizan líneas de selección de chip. No se utiliza resistencia de terminación. La frecuencia SPI es de 200 kHz. Las fuentes de alimentación son 5V 1A cargador USB para RaspberryPi, LM2576 3.3V circuitos (implementado por mí mismo) que convierten 24V a 3.3V para MCU.

Conecté en caliente mis módulos alrededor de 10 veces sin ningún problema (¿por qué la conexión en caliente sería un problema con SPI?) aunque, según el artículo de Wikipedia, SPI no es de conexión en caliente.

  1. Entonces, ¿qué podría causar ese daño? ¿Ondas estacionarias? Enchufado en caliente? O tal vez la fuente de alimentación? ¿Cómo puedo encontrar la raíz de este problema?
  2. ¿Necesito usar aisladores ópticos (o búferes de cmos) para cada unidad MCU?
pregunta ceremcem

1 respuesta

3

Tiene un bus SPI muy largo que se ejecuta en varios PCB. Esto no solo no se recomienda para SPI, sino que se diseñó originalmente para comunicaciones de chip a chip en una sola PCB, sino que se conecta directamente a sus CPU sin ningún búfer eléctrico.

Cualquier transitorio inducido (que podría incluir ESD mientras se conecta en caliente) en cualquiera de las líneas de bus podría conducir fácilmente a cualquiera de sus CPU a "CMOS latchup", en el que se activa un SCR parásito que esencialmente corta Vdd a tierra. El daño físico causado por el aumento de temperatura resultante puede ser permanente.

SPI es particularmente fácil de amortiguar, ya que cada una de las líneas es unidireccional. Debe incluir dichos búferes en la próxima revisión de cada uno de sus PCB.

    
respondido por el Dave Tweed

Lea otras preguntas en las etiquetas