La forma de onda SPI en Raspberry Pi no está limpia, y me pregunto por qué

Tengo una Raspberry Pi Zero Wireless y deseo conectarla a una FPGA a través de SPI. He realizado algunas pruebas SPI con mi osciloscopio de 100 MHz y veo las imágenes que se muestran a continuación. El Raspberry Pi genera correctamente el texto "Prueba" usando un programa C simple.

El SPI está funcionando a 1 MHz. Las formas de onda no se ven muy limpias y me pregunto por qué. No están limpios en los puntos de subida y bajada. Estoy usando un cable de conexión para conectarme a los pines GPIO. En última instancia, deseo hacer esto mucho más rápido que 1 MHz. ¿Por qué hay picos en las formas de onda?

No estoy usando ninguna resistencia pull up o pull down. ¿Debería? Los cables simplemente se conectan al encabezado GPIO. La línea de selección de chip (amarilla) tiene algunas anomalías de las que deseo deshacerme/aprender.

Ingrese la descripción de la imagen aquí

Ingrese la descripción de la imagen aquí

Su osciloscopio puede ver transitorios que son fantasmas, porque la conexión a tierra de su osciloscopio es demasiado larga.
¿ La sonda del osciloscopio mide la ayuda de onda cuadrada?
Estos comentarios ayudan, ahora sé la dirección para buscar la posible causa/solución.

Respuestas (1)

Los picos en la subida y bajada de la señal azul probablemente se deban a la inductancia de la sonda (también conocida como conexión de cable GND larga). Intente utilizar una conexión GND lo más corta posible. Además, en la medida de lo posible, para la medición del osciloscopio, deshágase de los cables de conexión y utilice la sonda lo más cerca posible del destino final de la señal. Por ejemplo, si el Pi es el maestro SPI, entonces, para sondear la señal SCK, intente colocar la sonda lo más cerca posible de la entrada FPGA SCK.

También tenga en cuenta que la perturbación en la señal violeta está sincronizada con la subida y bajada de la señal azul. Esto significa que se debe a la diafonía entre las señales. Si es posible, intente aumentar la distancia entre las señales.

Si una mejor higiene de la sonda no limpia las formas de onda, instale resistencias de 150 ohmios en los extremos accionados de las señales SPI. Esto proporciona terminación de fuente y funciona bastante bien si solo tiene un solo TX y un solo RX.