J'apprends à analyser l'horloge et les données du bus SPI à l'aide d'un oscilloscope de stockage numérique d'entrée de gamme. J'utilise un BK Precision 2542B pour mesurer la sortie de l'horloge et des lignes MOSI d'un Netduino qui utilise un microcontrôleur ARM.
Dans cette image, j'ai l'horloge sur le canal 1 (jaune) et le MOSI sur le canal 2 (bleu). Le déclencheur est réglé pour utiliser le canal 1, en utilisant un déclencheur à front montant de 1,44 V. L'amplitude de l'onde carrée de l'horloge est d'environ 3,3 V.
L'indicateur de déclenchement est au centre de l'écran horizontalement, mais j'ai une impulsion à sa gauche. Je m'attendais à ce que la première impulsion de l'horloge commence à l'emplacement de déclenchement. Je sais qu'un oscilloscope à stockage numérique vous permet de voir les événements avant et après déclenchement, mais je ne comprends pas pourquoi la première impulsion n'est pas là où je pensais qu'elle serait.
Ma compréhension du déclenchement est-elle incorrecte, ou est-ce que j'utilise simplement une lunette étrange?
Edit: Le train d'impulsions a une largeur de 300 μs, se répète à des intervalles de 2 ms et j'ai une valeur de maintien de déclenchement de 500 μs. Le réglage du maintien n'a pas changé le fait qu'une impulsion précède le déclenchement.
Modifier 2:
Après plus d'analyse du signal, y compris à l'aide de l'oscilloscope analogique, je pense avoir déterminé que parfois la durée d'impulsion est d'environ 350 μs au lieu de 300 μs. Cela peut être un problème dans les trames génératrices de code.
J'ai découvert qu'un temps d'attente de 352 μs produirait le résultat attendu, mais de temps en temps une impulsion supplémentaire précède le déclenchement.
J'ai enregistré quelques images pour montrer l'impulsion à la fois absente et présente:
Si je règle la base de temps horizontale assez longtemps pour voir la durée des impulsions, il semble toujours y avoir au moins 1,7 ms entre elles:
Donc, même si je pense que l'impulsion de tête est le résultat d'un "pépin" de la source, je ne sais toujours pas comment une impulsion de déclenchement> 360 μs produit toujours l'impulsion de tête inattendue.