Qu'il s'agisse de périphériques informatiques, d'appareils intelligents, d'appareils Internet des objets (IoT) ou d'appareils électroniques outils de mesure, ils utilisent tous des protocoles de communication série pour connecter différents composants électroniques ensemble.
Ces composants se composent généralement d'un microcontrôleur et de modules esclaves tels qu'un capteur d'empreintes digitales, un ESP8266 (module Wi-Fi), des servos et des écrans série.
Ces appareils utilisent différents types de protocoles de communication. Ci-dessous, vous découvrirez certains des protocoles de communication série les plus populaires, leur fonctionnement, leurs avantages et les raisons pour lesquelles ils restent utilisés.
Qu'est-ce que la communication série ?
Les protocoles de communication série existent depuis l'invention du code Morse en 1838. Aujourd'hui, les protocoles de communication série modernes utilisent les mêmes principes. Les signaux sont générés et transmis sur un seul fil en court-circuitant à plusieurs reprises deux conducteurs ensemble. Ce court agit comme un interrupteur; il s'allume (haut) et s'éteint (bas), fournissant des signaux binaires. La manière dont ce signal est transmis et reçu dépend du type de protocole de communication série utilisé.
Avec l'invention du transistor et les innovations qui ont suivi, les ingénieurs et les bricoleurs ont rendu les unités de traitement et la mémoire plus petites, plus rapides et plus économes en énergie. Ces changements exigeaient que les protocoles de communication par bus soient aussi avancés sur le plan technologique que les composants connectés. D'où l'invention de protocoles série tels que UART, I2C et SPI. Bien que ces protocoles série aient plusieurs décennies, ils sont toujours préférés pour les microcontrôleurs et la programmation sans système d'exploitation.
UART (récepteur-émetteur asynchrone universel)
Le protocole UART est l'un des protocoles de communication série les plus anciens et les plus fiables que nous utilisons encore aujourd'hui. Ce protocole utilise deux fils appelés Tx (transmission) et Rx (réception) pour que les deux composants communiquent.
Pour transmettre des données, l'émetteur et le récepteur doivent s'accorder avec cinq configurations communes, à savoir:
- Vitesse de transmission : La vitesse de transmission de la vitesse à laquelle les données doivent être transmises.
- Longueur des données : Le nombre convenu de bits que le récepteur enregistrera dans ses registres.
- Bit de départ : Un signal faible qui permet au récepteur de savoir quand les données sont sur le point d'être transférées.
- Bit d'arrêt : Un signal haut qui permet au récepteur de savoir quand le dernier bit (bit le plus significatif) a été envoyé.
- Bit de parité : Soit un signal haut ou bas utilisé pour vérifier si les données envoyées étaient correctes ou corrompues.
Comme UART est un protocole asynchrone, il n'a pas sa propre horloge qui régule la vitesse de transmission des données. Comme alternative, il utilise le débit en bauds pour la synchronisation lorsqu'un bit est transmis. Le débit en bauds habituel utilisé pour UART est de 9600 bauds, ce qui signifie un taux de transmission de 9600 bits par seconde.
Si nous faisons le calcul et divisons un bit par 9600 bauds, nous pouvons calculer à quelle vitesse un bit de données est transmis au récepteur.
1/9600 =104 microsecondes
Cela signifie que nos appareils UART commenceront à compter 104 microsecondes pour savoir quand le prochain bit sera transmis.
Lorsque des appareils UART ont été connectés, le signal par défaut est toujours élevé. Lorsqu'il détecte un signal basse fréquence, le récepteur commence à compter 104 microsecondes plus 52 microsecondes avant de commencer à enregistrer les bits dans ses registres (mémoire).
Comme il était déjà convenu que huit bits devaient être la longueur des données, une fois qu'il a enregistré huit bits de données, il commencera à vérifier la parité pour vérifier si les données sont paires ou impaires. Après le contrôle de parité, le bit d'arrêt élèvera un signal haut pour informer les appareils que l'ensemble des huit bits de données a été transmis avec succès au récepteur.
Étant le protocole série le plus minimaliste n'utilisant que deux fils, UART est couramment utilisé aujourd'hui dans les cartes à puce, les cartes SIM et les automobiles.
En rapport: Qu'est-ce qu'une carte SIM? Choses que vous devez savoir
SPI (Interface Périphérique Série)
SPI est un autre protocole série populaire utilisé pour des débits de données plus rapides d'environ 20 Mbps. Il utilise un total de quatre fils, à savoir SCK (Serial Clock Line), MISO (Master Out Slave In), MOSI (Master In Slave Out) et SS/CS (Chip Select). Contrairement à UART, SPI utilise un format maître-esclave pour contrôler plusieurs appareils esclaves avec un seul maître.
MISO et MOSI agissent comme les Tx et Rx de l'UART utilisés pour transmettre et recevoir des données. Chip Select est utilisé pour sélectionner l'esclave avec lequel le maître veut communiquer.
Étant donné que SPI est un protocole synchrone, il utilise une horloge intégrée du maître pour s'assurer que les périphériques maître et esclave fonctionnent sur la même fréquence. Cela signifie que les deux appareils n'ont plus besoin de négocier un débit en bauds.
Le protocole commence par le maître sélectionnant le dispositif esclave en abaissant son signal au SS/CK spécifique connecté au dispositif esclave. Lorsque l'esclave reçoit un signal faible, il commence à écouter à la fois le SCK et le MOSI. Le maître envoie alors un bit de départ avant d'envoyer les bits qui contiennent des données.
MOSI et MISO sont en duplex intégral, ce qui signifie qu'ils peuvent transmettre et recevoir des données en même temps.
Avec sa capacité à se connecter à plusieurs esclaves, sa communication en duplex intégral et sa consommation d'énergie inférieure à celle des autres les protocoles synchrones tels que I2C, SPI sont utilisés dans les dispositifs de mémoire, les cartes mémoire numériques, les convertisseurs ADC vers DAC et Crystal la mémoire s'affiche.
I2C (circuit inter-intégré)
I2C est encore un autre protocole série synchrone comme SPI, mais avec plusieurs avantages par rapport à celui-ci. Ceux-ci incluent la possibilité d'avoir plusieurs maîtres et esclaves, un adressage simple (pas besoin de puce Select), fonctionnant avec différentes tensions et utilisant seulement deux fils connectés à deux pull-up résistances.
I2C est souvent utilisé dans de nombreux appareils IoT, équipements industriels et appareils électroniques grand public.
Les deux broches d'un protocole I2C sont la SDA (Serial Data Line) qui transmet et reçoit des données, et la broche SCL (Serial Clock Line), qui fonctionne comme une horloge.
- Le protocole commence par l'envoi par le maître d'un bit de démarrage (bas) à partir de sa broche SDA, suivi d'une adresse de sept bits qui sélectionne l'esclave et d'un bit pour sélectionner la lecture ou l'écriture.
- Après avoir reçu le bit de départ et l'adresse, l'esclave envoie alors un bit d'accusé de réception au maître et commence à écouter le SCL et le SDA pour les transmissions entrantes.
- Une fois que le maître reçoit cela, il sait que la connexion a été établie avec le bon esclave. Le maître va maintenant sélectionner le registre spécifique (mémoire) de l'esclave auquel il souhaite accéder. Il le fait en envoyant huit autres bits spécifiant quel registre doit être utilisé.
- Dès réception de l'adresse, l'esclave prépare maintenant le registre de sélection avant d'envoyer un autre accusé de réception au maître.
- Après avoir sélectionné quel esclave spécifique et lequel de ses registres utiliser, le maître envoie finalement le bit de données à l'esclave.
- Une fois les données envoyées, un dernier bit d'accusé de réception est envoyé au maître avant que le maître ne se termine par un bit d'arrêt (haut).
En rapport: Les meilleurs projets Arduino IoT
Pourquoi les communications série sont là pour rester
Avec l'essor des protocoles parallèles et de nombreux protocoles sans fil, les communications série ne sont jamais tombées en désuétude. N'utilisant généralement que deux à quatre fils pour transmettre et recevoir des données, les protocoles série sont un mode de communication essentiel pour les appareils électroniques qui ne disposent que de quelques ports.
Une autre raison est sa simplicité qui se traduit par la fiabilité. Avec seulement quelques fils envoyant des données une fois à la fois, la série a prouvé sa fiabilité pour envoyer les paquets de données complets sans aucune perte ou corruption lors de la transmission. Même à des fréquences élevées et une communication à plus longue portée, les protocoles série surpassent encore de nombreux protocoles de communication parallèle modernes disponibles aujourd'hui.
Bien que beaucoup puissent penser que les communications série comme UART, SPI et I2C ont l'inconvénient d'être vieux et dépassés, il n'en reste pas moins qu'ils ont prouvé leur fiabilité sur plusieurs décennies. Les protocoles étant si anciens sans aucun véritable remplacement, cela suggère seulement qu'ils sont, en fait, indispensables et continueront à être utilisés en électronique dans un avenir prévisible.
Vous êtes confus entre les SBC comme le Raspberry Pi et les microcontrôleurs comme l'Arduino et le Raspberry Pi Pico? Voici ce que vous devez savoir.
Lire la suite
- La technologie expliquée
- L'utilisation de données
Abonnez-vous à notre newsletter
Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !
Cliquez ici pour vous abonner