Estoy aprendiendo cómo analizar el reloj y los datos del bus SPI utilizando un osciloscopio de almacenamiento digital de nivel de entrada. Estoy usando un BK Precision 2542B para medir la salida del reloj y las líneas MOSI de un Netduino que utiliza un microcontrolador ARM.
En esta imagen, tengo el reloj en el canal 1 (amarillo) y el MOSI en el canal 2 (azul). El disparador está configurado para usar el canal 1, usando un disparador de flanco ascendente de 1.44V. La amplitud de la onda cuadrada del reloj es de aproximadamente 3.3V.
El indicador de disparo está en el centro de la pantalla horizontalmente, pero tengo un pulso a su izquierda. Esperaba que el primer pulso del reloj comenzara en la ubicación del disparador. Sé que un osciloscopio de almacenamiento digital le permite ver eventos previos y posteriores al disparo, pero estoy confundido por qué el primer pulso no está donde pensé que estaría.
¿Mi comprensión de la activación es incorrecta o solo estoy usando un alcance extraño?
Editar: El tren de pulsos tiene 300 μs de ancho, se repite a intervalos de 2 ms y tengo un valor de retención de disparo de 500 μs. Ajustar la suspensión no ha cambiado el hecho de que un pulso precede al disparador.
Edición 2:
Después de un mayor análisis de la señal, incluido el uso del osciloscopio analógico, creo que he determinado que a veces la duración del pulso es de aproximadamente 350 μs en lugar de 300 μs. Esto puede ser una falla en los marcos generadores de código.
Descubrí que un tiempo de espera de 352 μs producirá el resultado esperado, pero de vez en cuando un impulso adicional precede al disparador.
Grabé algunos cuadros para mostrar el pulso tanto ausente como presente:
Si configuro la base de tiempo horizontal el tiempo suficiente para ver la duración de los pulsos, siempre parece haber al menos 1,7 ms entre ellos:
Entonces, aunque creo que el pulso principal es el resultado de un "fallo" de la fuente, todavía no estoy seguro de cómo un retraso de disparo> 360 μs todavía produce el pulso principal inesperado.