Un bus série peut être plus efficace que le bus parallèle traditionnel. Mais il existe des défis pour représenter et donner un sens au flux de données série dans le contexte de la synchronisation de l’horloge. Ces difficultés peuvent être résolues en utilisant les capacités multicanaux des oscilloscopes avancés tels que les instruments Tektronix Series 3000.
La clé pour comprendre et interpréter les flux de données et d’horloge série réside dans la compréhension du fonctionnement interne de chaque type de bus de données. Plus précisément, considérons le bus d’interface périphérique série (SPI). Il ressemble au bus I2C, mais il existe des différences significatives. Les deux sont organisés autour d’architectures maître/esclave. Mais le câblage entre maître et esclaves est radicalement différent.
En règle générale, SPI fonctionne avec un seul périphérique maître et un certain nombre d’esclaves, bien qu’un seul esclave soit possible. Les lignes sont les suivantes :
* Une ligne d’horloge série va du maître à chaque esclave. L’horloge existe dans le maître et un signal d’horloge à onde carrée est transmis à l’esclave qui est actif. La fréquence d’horloge est choisie par l’utilisateur, mais elle ne peut pas être plus rapide que celle autorisée pour le périphérique esclave le plus lent. Les fiches techniques individuelles des esclaves doivent donc être consultées lors de la configuration du système.
• Sélection de l’esclave (SS). Une ligne distincte est exécutée vers chaque esclave. Normalement, lorsque le système se met sous tension, une haute tension logique du maître est présente au niveau de la broche SS de chaque dispositif esclave. Pour activer un esclave, le maître commute la tension sur cette ligne SS en logique basse. Cette méthode de sélection d’esclaves remplace le concept d’adressage tel qu’implémenté dans le bus I2C.
Le bus SPI est parfois appelé schéma à trois fils, ou schéma à quatre fils si vous comptez une ligne SS pour un seul esclave. Inutile de dire que chacun de ces fils est en fait un circuit à deux fils, une ligne de retour à la terre est donc nécessaire, mais elle n’est pas prise en compte dans la nomenclature numérique. Un seul conducteur mis à la terre suffira pour compléter tous ces circuits.
La carte Tektronix MDO Demo 1 fournit de nombreuses sorties, y compris des signaux d’horloge et de données de bus I2C et SPI. Il est destiné à être utilisé avec les oscilloscopes de la série Tektronix MDO4000, mais il fonctionne également bien avec les instruments de la série MDO3000.
La carte Tektronix MDO Demo 1 est alimentée par un câble USB de type T inhabituel doté de deux connecteurs USB de type A à une extrémité. Ils s’insèrent dans les deux emplacements USB de l’oscilloscope. La raison en est que les exigences d’alimentation de la carte de démonstration 1 sont telles que si un câble USB standard devait être utilisé, il surchargerait une seule sortie USB au niveau de l’oscilloscope.
Une LED rouge et deux LED vertes indiquent la réception de la puissance de l’oscilloscope et que la carte est prête à partir. Il existe de nombreuses bornes de sortie sur la carte. Ils conviennent à la connexion de la sonde à l’aide d’embouts de crochet de sonde et de pinces crocodiles de retour au sol.
Pour afficher les signaux de bus SPI, les sondes TPP 1000 10:1 se branchent sur les entrées analogiques Un, Deux et Trois canaux. Tous les fils de retour à la terre se connectent à l’une des bornes de masse de la carte, et les trois pointes de sonde sont accrochées aux bornes de signal SPI clock, MISO et MOSI. Comme toujours, les fils de retour à la terre doivent être connectés en premier, avant que la sonde ne pointe.
On pourrait utiliser un quatrième canal d’oscilloscope pour afficher un signal de sélection esclave. Mais comme ce signal n’est qu’une tension logique haute ou logique basse, il peut être vérifié aux deux extrémités du bus SPI à l’aide d’un multimètre à haute impédance standard ou d’une sonde logique.
L’oscilloscope affiche alors les données SPI et les signaux d’horloge. En utilisant les boutons d’échelle du Canal Un, du Canal Deux et du Canal Trois suivis d’un réglage automatique, les impulsions peuvent être agrandies pour plus de lisibilité et l’acquisition peut être arrêtée pour rendre l’affichage plus stable. Les boutons de l’inspecteur des ondes peuvent être utilisés pour faire un panoramique et zoomer les traces pour les regarder de plus près. Ensuite, il est simple de comparer des points sur l’horloge et les flux de données pour déterminer l’état logique (haut ou bas) à tout moment. Le curseur vertical, déplacé en tournant le bouton polyvalent a, est utile pour voir comment ces traces s’alignent par rapport au temps.
Nous avons vu comment les données du bus série SPI et les signaux d’horloge peuvent être visualisés à l’aide d’un oscilloscope. Les sondes peuvent être connectées à des bornes similaires dans un équipement électronique fonctionnel (ou non fonctionnel). (Assurez-vous de remettre l’acquisition en marche.)
Contrairement à I2C, il n’existe pas de norme unique pour SPI. Dans les années 1980, il a été développé par Motorola pour être utilisé par le microcontrôleur de la série 68000. SPI est une norme de facto plutôt qu’officielle, et en tant que telle, elle reste organique et sujette à changement.
D’autres fabricants ont introduit SPI avec des variantes. Ainsi, lors de la mise en œuvre de la conception, il est nécessaire de consulter les fiches techniques. Par exemple, certains périphériques esclaves nécessitent un front descendant dans le signal SS pour initier la communication. Lorsqu’il existe plusieurs types esclaves, différents signaux d’initiation du maître sont requis. Comme I2C, SPI est un bus série court-courrier. En raison de sa faible consommation d’énergie, il est souvent utilisé dans les téléphones portables, les assistants numériques personnels et les équipements mobiles similaires pour mettre en œuvre une interaction entre le processeur, l’écran, le clavier et les circuits intégrés.
Les variantes incluent l’omission de la ligne MISO lorsque la communication de l’esclave au maître n’est pas nécessaire. De plus, la ligne SS n’est pas nécessaire lorsqu’il n’y a qu’un seul esclave et que la broche de sélection d’esclave est mise à la terre de sorte qu’elle est toujours active.
S’il est vrai que SPI est une interface série synchrone (SSI), elle diffère radicalement du protocole SSI, qui se caractérise par une signalisation différentielle et un seul canal de communication simplexe.
Il y a une transmission en duplex intégral, à la fois MOSI et MISO, pendant chaque signal d’horloge. Un bit est envoyé dans chaque direction sur les deux lignes distinctes. La procédure habituelle utilise deux registres à décalage, l’un chez le maître et l’autre chez l’esclave. La transmission duplex se poursuit par un nombre suffisant de cycles d’horloge pour terminer la transmission. De cette manière, maître et esclave acquièrent les registres véhiculés sur les deux lignes. S’il reste plus de données, les registres à décalage sont rechargés et la transmission recommence.
Ce processus se poursuit par autant de cycles d’horloge que nécessaire, après quoi le maître permet au signal de sélection d’aller à la logique haute, désélectionnant l’esclave. Les transmissions sont souvent 8 bits, mais il existe des variantes telles que 12 bits pour de nombreux DAC et ADC, et 16 bits pour les contrôleurs à écran tactile.
En raison des différences matérielles et de protocole de facto, le bus SPI présente un éventail d’avantages et d’inconvénients par rapport à I2C et à d’autres types de bus. Les avantages incluent la capacité full-duplex simplement en ajoutant une autre ligne. De plus, il y a une bonne intégrité du signal, une transmission à grande vitesse et une transmission de données plus potentielle par rapport à I2C. En outre, le contenu des messages est illimité et ne se limite pas aux unités de données 8 bits. Généralement, la puissance requise est inférieure à celle de l’I2C car les résistances de traction ne sont pas nécessaires. SPI est également fiable car il n’a pas besoin d’arbitrage et d’adresses esclaves uniques. Comme il n’y a pas de vitesse d’horloge maximale en dehors des contraintes des périphériques esclaves, il existe un potentiel de fonctionnement à grande vitesse.
Comme dans toute technologie, il existe des inconvénients par rapport à certains autres protocoles. Comme il n’y a pas d’accusé de réception de l’esclave, en cas de défaillance de l’esclave ou du câblage, le maître, ignorant que quelque chose ne va pas, pourrait parler dans le vide sans auditeur. En outre, l’absence d’une seule norme formalisée peut rendre la validation de la conformité peu pratique. De plus, l’existence de nombreuses variations de SI non régulées peut rendre l’acquisition de matériel problématique.
Sur la route, il est concevable que SPI pourrait voir un plus grand degré de codification. Ce développement se traduira par d’autres améliorations SPI qui pourraient réduire la confusion qui existe maintenant. Cela dit, tel qu’il est actuellement mis en œuvre, SPI est assez convivial, en particulier dans son besoin de peu de puissance.