Uno de los cables era un cable SPI que tenía unos 25-30 cm de longitud
¿Cable o cable?
Si usó, digamos, un cable por señal SPI, pero olvidó la GND, entonces las corrientes de retorno fluirán donde sea posible, y esto puede formar un bucle bastante largo, posiblemente con suficiente inductancia para entrometerse con la señal, y ciertamente creando un problema de EMI, ya que actúa como una antena de bucle de transmisión y de recepción.
Una forma sencilla de hacer esto es usar un cable de cinta IDC, son bastante baratos y, vienen con conectores prácticos, y los encabezados correspondientes en su placa son fáciles de manejar (es decir, no es una pequeña flexión plana que se rompe cuando lo ves mal).
Ahora, puedes usar la mitad de los cables en tu cable para GND. Así que le dio a GND-Signal-GND-Signal ... y cada señal tiene su propio conductor de retorno de corriente a tierra muy cerca, por lo tanto la interferencia es baja y las señales están limpias. Puede reducir el número de cables GND (como GND-Signal-Signal-GND) y tener más señales en su cable y más interferencias, hasta que llegue al punto de un solo cable GND, y ya no se puede llamar "alta velocidad" .
El par trenzado utiliza el mismo principio, mejorado por el hecho de que está torcido, por lo que los campos EM del ruido entrante se cancelan.
Tenga en cuenta que si tiene otras líneas de CC (como las fuentes de alimentación), también cuentan como GND. Simplemente coloque una tapa de desacoplamiento de cerámica cerca de cada conector, y la corriente de retorno para cada señal viajará en los cables más cercanos, GND o potencia, luego use la tapa de desacoplamiento para volver a GND en el conector y en su plano de tierra.
y estaba enviando un reloj de aproximadamente 8MHz o menos. Ahora, la comunicación fallaba con bastante frecuencia.
Otro problema, y la causa probable de sus problemas, es que podría haber olvidado la resistencia de terminación de la serie en el lado del conductor . Su señal es lenta (8MHz) pero la frecuencia es irrelevante, lo que importa es el tiempo de subida.
Entonces, si utiliza un controlador con, digamos, 2ns tiempo de subida, y su cable tiene una longitud de 30 cm, esto significa un tiempo de ida y vuelta de 2.5 ns, entonces, sin importar la frecuencia, habrá efectos de línea de transmisión además del hecho de que su El cable es un resonador LC no amortiguado. Ambos efectos conducen al timbre y otros artefactos en los bordes de la señal rápida, y si es lo suficientemente malo como para deformar los bordes de la señal del reloj en bordes dobles, entonces su receptor SPI hará doble reloj y cambiará un bit adicional, corrompiendo la transmisión.
Por lo tanto, si cualquiera que sea la unidad, el cable tiene bordes rápidos y una fuerte corriente de la unidad, no olvide la resistencia de terminación en serie, justo en el controlador del cable.
También puede ser una cuenta de ferrita (elija la correcta) o cualquier otro tipo de filtro ESD / EMI preempaquetado, pero tiene que reducir la velocidad de los bordes tanto como pueda (8MHz funcionará con 20ns bordes), termine la línea de transmisión y amortigue la resonancia LC del cable.