Communications

introduction

L'électronique embarquée consiste essentiellement en des circuits interconnectés (processeurs ou autres circuits intégrés) permettant de créer un système symbiotique. Pour que ces circuits échangent leurs informations, ils doivent partager supports et protocoles de communication commun. De nombreux protocoles de communication ont été définis pour réaliser ces échanges de données et, en général, chacun peut être séparé en l'une des deux catégories suivantes: parallèle ou série. Et pour cette dernière en synchrone / asynchrone.
Parallèle vs. Série
Les interfaces parallèles transfèrent plusieurs bits en même temps. Ils ont généralement besoin de bus de données, capables de transmettre huit, seize ou plus de fils. Les données sont transférées en vagues déferlantes de 1 et de 0.
Généralisation parallèle
Un bus de données de 8 bits, contrôlé par une horloge, transmettant un octet à chaque impulsion d'horloge. Au moins 9 fils sont utilisés.
Généralisation en série
Les interfaces série diffusent leurs données, un bit par un. Ces interfaces peuvent ne fonctionner que sur un fil, généralement pas plus de quatre.
Exemple d'interface série, transmettant un bit à chaque impulsion d'horloge. Juste 2 fils requis!
Considérez les deux interfaces comme un flux de voitures: une interface parallèle serait la méga-autoroute à 8 voies, tandis qu'une interface série ressemblerait davantage à une route rurale à deux voies. Sur un laps de temps déterminé, la méga-autoroute peut potentiellement amener plus de personnes vers leurs destinations, mais ces deux voies en milieu rural ont leur raison d'être et leur construction ne coûte qu'une fraction des fonds.

La communication parallèle a certainement ses avantages. C'est rapide, simple et relativement facile à mettre en œuvre. Mais cela nécessite beaucoup plus de lignes d’entrée / sortie (E / S). Si vous avez déjà eu à déplacer un projet d'un Arduino Uno de base vers un Mega , vous savez que les lignes d'E / S sur un microprocesseur peuvent être précieuses et peu nombreuses. Nous optons donc souvent pour une communication en série, en sacrifiant la vitesse potentielle pour l’immobilier. Série asynchrone

Au fil des ans, des dizaines de protocoles série ont été conçus pour répondre aux besoins particuliers des systèmes embarqués. L'USB (bus série universel) et Ethernet sont deux des interfaces série informatiques les plus connues. Parmi les autres interfaces série très courantes, citons SPI, I 2 C et le standard série dont nous sommes ici pour parler aujourd'hui. Chacune de ces interfaces série peut être triée dans l'un des deux groupes suivants: synchrone ou asynchrone.

Une interface série synchrone associe toujours ses lignes de données à un signal d'horloge, de sorte que tous les périphériques d'un bus série synchrone partagent une horloge commune. Cela permet un transfert série plus simple, souvent plus rapide, mais nécessite également au moins un fil supplémentaire entre les périphériques en communication. Des exemples d'interfaces synchrones comprennent SPI et I 2 C.

Asynchrone signifie que les données sont transférées sans l'aide d'un signal d'horloge externe . Cette méthode de transmission est idéale pour réduire au minimum le nombre de fils et de broches d’E / S requis, mais cela signifie que nous devons déployer des efforts supplémentaires pour transférer et recevoir des données de manière fiable. Le protocole série dont nous allons parler dans ce tutoriel est la forme la plus courante de transferts asynchrones. Il est si courant, en fait, que lorsque la plupart des gens disent «série», ils parlent de ce protocole (quelque chose que vous remarquerez probablement tout au long de ce tutoriel).

Le protocole série sans horloge dont nous allons parler dans ce tutoriel est largement utilisé dans l'électronique embarquée. Si vous souhaitez ajouter un module GPS, Bluetooth, XBee, des écrans LCD série ou de nombreux autres périphériques externes à votre projet, vous devrez probablement vous procurer un certain nombre de ports série. Lecture suggérée

Ce didacticiel s’appuie sur quelques concepts électroniques de niveau inférieur, notamment:

Binaire
Le binaire est le système numérique de l'électronique et de la programmation ... il est donc important d'apprendre. Mais qu'est-ce que le binaire? Comment cela se traduit-il dans d'autres systèmes numériques tels que décimal? Niveaux de logique
Découvrez la différence entre les périphériques 3,3 V et 5 V et les niveaux logiques.
Analogique ou numérique
Ce tutoriel couvre le concept de signaux analogiques et numériques, dans la mesure où ils concernent l'électronique. Comment lire un schéma Un aperçu des symboles de circuit composant, ainsi que des conseils et astuces pour une meilleure lecture schématique. Cliquez ici et devenez alphabète schématique aujourd'hui! Hexadécimal.
Comment interpréter les nombres hexadécimaux et comment les convertir en décimal et en binaire. ASCII Un bref historique de la création de l’ASCII, de son utilité pour les ordinateurs et de quelques tableaux utiles pour convertir les nombres en caractères.

Si vous n'êtes pas très familier avec l'un de ces concepts, pensez à vérifier ces liens.

Maintenant, allons en série…

Sources et références

[ 1] Le Haut-Parleur