Propuestas
Las propuestas como, poner 100nF en el VCC, o poner 33 ohmios en la línea de comunicación en su mayoría no se basan en una comprensión básica de lo que realmente está sucediendo. Esa es la razón principal por la que la "lección" lo ayudó a usted y, básicamente, no aprendió nada.
Reflexión, recorte de impedancia
Poner una resistencia en serie o en paralelo afecta la impedancia de los puntos finales (su SPI-Master y SPI-Slave) vea . Esa resistencia depende mucho del entorno, como la impedancia de onda en la PCB y la impedancia de salida / entrada. Si la impedancia no coincide, se muestran algunos efectos desagradables en su conexión (reflexión, sobre disparo).
Pero normalmente una conexión SPI es casi DC, ya que la velocidad del bus está en el MHz más bajo.
Debido a que el bus SPI contiene pulsos para datos y reloj, estos tienen bordes afilados que causan frecuencias incluso por encima de la velocidad de su reloj.
(Eche un vistazo a: enlace )
Los bordes afilados conducen a tiempos de subida cortos que conducen a altas frecuencias que causan los problemas mencionados anteriormente.
Para una regla de oro:
No le importan los problemas (de nivel superior) cuando la longitud del bus SPI es menor que la longitud crítica:
\ $ l_ {crit} \ approx 3 cm \ cdot t_ {rise} \ $
[tiempo de disponibilidad en nano segundos]
Para volver a tu pregunta
Al colocar una resistencia en una conexión SPI típica, no necesita preocuparse por la impedancia de la onda, pero necesita deshacerse de los transitorios provenientes de los bordes afilados y la resistencia ayuda a suavizarlos.
El maestro SPI debe cargar la capacitancia de entrada en los receptores y, con una impedancia más alta en las líneas del bus, se obtiene una curva de carga. Es como un filtro de paso bajo RC, proporciona la resistencia.
Ahora, ¿qué R elegir?
Para seleccionar la resistencia correcta, mire la capacitancia de su bus. Si no puede obtenerlo de las hojas de datos, debe medir su bus SPI. Lo que desea es al menos un nivel de señal estable en la línea de datos en el borde ascendente (o borde descendente [dependiendo de su modo SPI]) del reloj. Casi todos los IC con interfaz SPI especifican el tiempo máximo de subida para el reloj. Por lo tanto, puede "recortar" su configuración cerca de ese nivel.
Para eso, comenzar con 33 ohmios es un buen punto de partida.
Mi intención era decirte lo que sucede en la línea, al ponerle una resistencia.