Dans cette série d'articles, nous examinerons certains des différents types de protocoles de communication série disponibles pour transférer des informations entre microcontrôleurs, périphériques producteurs et processeurs de données, et autres dispositifs intelligents. Les articles qui suivent cette introduction aux communications série couvriront certains des protocoles les plus populaires couramment utilisés. À la fin de cette série, nous résumerons les avantages et les inconvénients de chacun. Nous espérons que cette ressource s'avérera précieuse la prochaine fois que vous aurez besoin de mettre en œuvre un bus de communication série, vous aidant à choisir la meilleure option pour vos circonstances particulières.
De nos jours, l'électronique numérique est devenue la partie la plus significative de la plupart des dispositifs électroniques sur le marché. De nombreux puces différentes sont utilisées, leurs opérations complexes dépendant des informations envoyées et reçues d'autres composants numériques similaires. Des normes de protocole communes ont été créées pour permettre la communication entre ceux-ci. Imaginez si chaque CI ou dispositif communiquait en utilisant son propre protocole unique. Ce serait comme si chaque humain parlait en utilisant son propre langage unique. Ce serait le chaos car il serait presque impossible pour nous de nous comprendre les uns les autres.
Nous disposons actuellement de différents circuits intégrés de mémoire, capteurs numériques, dispositifs de protection, alimentations programmables, potentiomètres numériques, circuits intégrés de fréquence radio, etc. Tous doivent communiquer entre eux ou avec des microcontrôleurs, microprocesseurs, FPGA ou ASIC. Le but de ces communications entre dispositifs peut varier grandement. Cela peut être pour la programmation afin d'extraire des informations, fournissant un signal pour initier la performance d'une action.
De plus, certains protocoles nous donnent, à nous humains, la capacité d'interagir avec les circuits intégrés via des microcontrôleurs. Vous pouvez envoyer un signal à un microcontrôleur qui est programmé pour envoyer un signal à un circuit intégré via l'un de ces protocoles. Alternativement, vous pouvez connecter l'un des outils de débogage disponibles.
L'un des problèmes avec les communications sérielles est la difficulté à trouver et à déboguer votre circuit si quelque chose ne va pas. Supposons que les données ne parviennent pas d'un appareil à un autre. Dans ce cas, le défaut peut exister dans un ou plusieurs des endroits suivants : dans la logique de l'appareil émetteur, dans sa conception de circuit, dans la manière dont il a codé les communications sérielles, dans le bus de communications, dans le décodage par le récepteur, dans la conception de circuit du récepteur ou enfin dans la logique du récepteur. Placer une sonde d'oscilloscope sur les communications sérielles peut vous permettre de voir s'il y a une activité quelconque, mais cela vous dira peu de choses sur sa validité. Pour voir pleinement ce qui se passe, vous aurez besoin soit d'un oscilloscope avec une fonction de décodage, soit d'un analyseur logique. Cela vous permettra de connaître les impulsions de tension qui traversent l'impulsion pour trouver des défauts de niveaux de tension, repérer tout problème de bruit, et chercher des problèmes avec les taux de montée et de descente du signal.
Cependant, pour déboguer en profondeur les communications sérielles, vous aurez besoin d'un outil capable de décoder les données sur le bus pour voir si elles sont correctes ou si elles ont été corrompues ou affectées par des collisions. Un nombre considérable d'outils de débogage a été spécifiquement créé pour déboguer les communications entre dispositifs ou CI. L'un des analyseurs logiques standard de l'industrie est la série Saleae Logic d'analyseurs logiques, le modèle Pro offrant une vitesse suffisante pour analyser tous les protocoles les plus populaires.
De nombreux analyseurs logiques à faible coût sont trop lents pour gérer des protocoles à haute vitesse tels que SPI. L'LA2016 Logic Analyser offre des taux d'échantillonnage entre le Saleae Logic 8 et le Logic 8 Pro pour un coût très faible ; j'en possède un et l'ai utilisé avec beaucoup de succès pour analyser des protocoles.
De plus, la prise en compte des protocoles de communication est cruciale tant pour la conception du firmware que du matériel. Du côté matériel, vous devriez toujours examiner attentivement la fiche technique de votre microcontrôleur choisi. Les MCU ne peuvent communiquer qu'avec des protocoles prédéfinis en utilisant des broches dédiées. Le concepteur devra décider à l'avance quels CI seront utilisés et quels protocoles ils nécessiteront avant de sélectionner leur MCU.
Par exemple, le dispositif STM32F103C8T6 de STMicroelectronics, monté sur la populaire carte de développement STM32 Blue Pill, inclut 2 x I2C, 3 x USART, 2 x SPI et 1 x interface de communication CAN. Cependant, certains des pins pour ces protocoles de communication sont partagés. Par exemple, si nous regardons le pin 14 du dispositif, qui est étiqueté PA4. Ce pin a à la fois des fonctions USART et SPI. Cela signifie que vous ne pouvez pas utiliser toutes les interfaces SPI et USART listées pour votre conception simultanément. Vous devez choisir celles dont vous avez besoin et quand, et planifier en conséquence ou chercher un autre microcontrôleur qui supporte plus d'interfaces de communication. Bien sûr, le pin PA4 peut être utilisé pour les deux protocoles de communication en changeant sa configuration en opération. Cependant, vous devez toujours considérer soigneusement à quels moments il sera utilisé pour fonctionner car ils ne peuvent pas être utilisés simultanément. Cela augmentera la complexité de la conception matérielle et du firmware.
Les pins de communication série dans les microcontrôleurs peuvent se chevaucher, donc lisez les fiches techniques attentivement. Vous devez télécharger et utiliser le module de bibliothèque de communication IC approprié en fonction des protocoles que le dispositif utilisera pour les communications du côté du firmware.
Bien qu'il existe de nombreux protocoles de communication, les plus populaires sont SPI et I2C. Chacun des protocoles a ses applications, vitesses de communication, considérations de conception, avantages et inconvénients. Nous allons passer en revue chacun d'entre eux à tour de rôle dans cette série d'articles.
Dans l'article suivant de cette série, nous examinerons le populaire périphérique UART et discuterons de certains de leurs avantages et détails d'implémentation. Nous terminerons la série en comparant les différents protocoles, en soulignant leurs principaux avantages et inconvénients.
Vous avez d'autres questions ? Appelez un expert chez Altium et découvrez comment nous pouvons vous aider avec votre prochain design de PCB.