Sto imparando come analizzare l'orologio e i dati del bus SPI usando un oscilloscopio di archiviazione digitale entry-level. Sto usando un BK Precision 2542B per misurare l'uscita dell'orologio e delle linee MOSI da un Netduino che utilizza un microcontrollore ARM.
In questa immagine, ho l'orologio sul canale 1 (giallo) e il MOSI sul canale 2 (blu). Il trigger è impostato per utilizzare il canale 1, utilizzando un trigger del fronte di salita di 1,44 V. L'ampiezza dell'onda quadra dell'orologio è di circa 3,3 V.
L'indicatore di trigger si trova al centro del display in orizzontale, ma ho un impulso alla sua sinistra. Mi aspettavo che il primo impulso dell'orologio iniziasse nella posizione del trigger. So che un oscilloscopio a memoria digitale ti consente di vedere eventi pre e post trigger, ma sono confuso perché il primo impulso non è dove pensavo che sarebbe stato.
La mia comprensione del trigger è errata o sto solo usando uno strano ambito?
Modifica: il treno di impulsi ha una larghezza di 300 μs, si ripete a intervalli di 2 ms e ho un trigger che tiene premuto il valore di 500 μs. La regolazione del blocco non ha modificato il fatto che un impulso precede il trigger.
Modifica 2:
Dopo ulteriori analisi del segnale, incluso l'uso dell'oscilloscopio analogico, penso di aver determinato che a volte la durata dell'impulso è di circa 350 μs invece di 300μs. Questo potrebbe essere un problema tecnico nei frame generatori di codice.
Ho scoperto che un tempo di attesa di 352 μs produrrà il risultato atteso, ma ogni tanto un impulso in più precede il trigger.
Ho registrato alcuni frame per mostrare l'impulso sia assente che presente:
Se imposto la base dei tempi orizzontale abbastanza a lungo per vedere la durata degli impulsi, ci sono sempre almeno 1,7 ms tra di loro:
Quindi, mentre penso che l'impulso iniziale sia il risultato di un "glitch" della sorgente, non sono ancora sicuro di come un trigger trigger> 360μs produca ancora l'impulso iniziale imprevisto.