Qu'est ce qu'une liaison en système embarqué ? Laquelle choisir ? Introduction Une liaison sert à transmettre les différentes informations entre les composants du système embarqué. Le microsystème envoie les données en parallèle (bus de donnée) ou bien en série (liaison de donnée).Il y a plusieurs manières de comparer les liaisons : Le half duplex ou le full duplex : en half duplex le microsystème envoie des données sans pouvoir écouter ce qu’elle reçoit. Tandis qu’en full duplex elle peut écouter et envoyer en même temps des informations.La vitesse de communication : On peut mesurer la vitesse avec laquelle la liaison envoie les données en bps/hzLe bus ou la liaison exclusive : La liaison exclusive envoie à un seul récepteur alors qu’un bus de liaison met en lien plusieurs d’entre eux. Le nombre de signaux que peut envoyer la liaison en un temps donné.La complexité logiciel : Chaque liaison à une complexité différente à mettre en place surtout quand il faut la programmer.On va donc maintenant voir les différentes liaisons sur les microsystèmes. Sommaire masquer 1 Qu'est ce qu'une liaison en système embarqué ? Laquelle choisir ? 1.1 Introduction 1.2 Liaison Maitre - Esclave 1.3 Liaison UART 1.4 Liaison SPI 1.5 Liaison I2C 1.6 Liaison USB 1.7 Liaison Ethernet 1.8 Tableau comparatif Liaison Maitre - Esclave Avant de commencer la liste des différentes liaisons, il faut savoir qu’elles vont être utilisées afin que les périphériques puissent “discuter” entre eux. Il existe deux types de statut pour un périphérique : le maître et l’esclave. Il ne faut pas chaque périphérique se mettent à parler en même temps pour que tout le monde se comprennent. Il faut qu’un périphérique parle pendant que l’autre écoute, d’où le terme maître/esclave. Un périphérique maître va pouvoir discuter et poser des questions à d’autres périphériques maîtres ou esclaves. Un périphérique maître peut être un ordinateur, téléphone…Un périphérique esclave peut seulement répondre à un périphérique maître : il ne peut ni poser de questions à un périphérique maître, ni discuter avec d’autre périphérique esclave. Par exemple une souris ou un clavier sont des périphériques esclaves. En effet, une souris ne peut ni demander des informations à un ordinateur ni communiquer avec un clavier. Liaison UART Une liaison UART (“Universal Asynchronous Receiver Transmitter”), est un émetteur-récepteur asynchrone universel.Les liaisons UART sont généralement intégrées dans des composants comme des microcontrôleurs. Dans ce cas, ils ne sont plus un composant à proprement parler, mais une fonction périphérique du composant.La liaison UART est exclusive, cela signifie qu’un maître peut discuter qu’avec un seul esclave par liaison, comme on peut le voir juste en dessous : La liaison uart est asynchrone, ce qui signifie que la transmission ne nécessite pas d’horloge mais ajoute un bit de parité aux données avant la transmission.C’est une liaison exclusive, cela veut dire que l’on a qu’un seul fil fait passer tous les bits de données. La liaison UART est une une liaison full duplex, cela veut dire que l’on peut écouter tout en émettant des bits.La liaison UART est à faible débit, de 100 bps à 200 kbps. Liaison SPI Une liaison SPI (Serial Peripheral Interface) est un bus de données série synchrone baptisé ainsi par Motorola, qui opère en mode Full-duplex. D’autres fabricants (Microchip, Atmel, Texas Instrument…) ont adopté ce type de liaison, de plus de nombreux composants en sont dotés, (mémoires, capteurs, microcontrôleurs…) Les circuits communiquent selon un schéma maître-esclaves, où le maître s’occupe totalement de la communication. La liaison SPI est synchrone, ce qui signifie que la transmission nécessite l’horloge donné avant la transmission.C’est une liaison full duplex, ce qui signifie que l’on peut écouter ce que l’on émet tout émettant des bits.Ce n’est pas une liaison exclusive, les circuits communiquent selon un schéma maître-esclaves, où le maître s’occupe totalement de la communication. Plusieurs esclaves peuvent coexister sur un même bus, dans ce cas, la sélection du destinataire se fait par une ligne dédiée entrele maître et l’esclave appelée chip select comme on peut le voir sur le schéma ci-dessous : SPI a des lignes labellisés «MOSI » : Master Output Slave Input, généré par le maître, des lignes labellisées « MISO » : Master Input Slave Output, généré par l’esclave et une ligne d’horloge (SCK : SPI Serial Clock).Ces trois lignes sont connectées à leurs lignes respectives sur un ou plusieurs esclaves. Les esclaves sont identifiées grâce au signal de leur ligne SS (Slave Select). Liaison I2C La liaison I2C signifie Inter-Integrated Circuit. C’est un bus informatique qui a émergé de la « guerre des standards » lancée par les acteurs du monde électronique. Conçu par Philips pour les applications de domotique et d’électronique domestique, il permet de relier facilement un microprocesseur et différents circuits, notamment ceux d’un téléviseur moderne : récepteur de la télécommande, réglages des amplificateurs basses fréquences… Il existe d’innombrables périphériques exploitant ce bus, il est implémentable par logiciel dans n’importe quel microcontrôleur. La liaison I2C est une liaison half duplex, c’est à dire que l’on ne peut pas écouter et envoyer des données en même temps.La liaison I2C possède un débit moyen de 100 kilo-hertz à 1 Méga-hertz.Enfin comme on peut voir sur le schéma ci-dessous que la liaison I2C n’est pas exclusive, cela veut dire qu’un maitre peut parler à plusieurs esclave. Comment on peut voir sur le schéma, on peut faire communiquer entre eux des composants électronique très divers grâce à seulement 2 fils :• Signal de donnée : SDA• Signal d’horloge : SCL Liaison USB La liaison USB, de son nom complet : Universal Serial Bus est une norme de bus informatique qui sert à connecter des périphériques informatiques à un ordinateur ou à tout type d’appareil prévu à cet effet : tablette, smartphone … Le bus USB permet de connecter des périphériques « à chaud » (quand l’ordinateur est en marche) et en bénéficiant du plug and play qui reconnaît automatiquement le périphérique. Il peut alimenter les périphériques peu gourmands en énergie (clé USB, disques SSD) et, pour ses dernières versions à prise USB Type-C, des appareils réclamant plus de puissance (60 W en version standard, 100 W au maximum).La version 1.0 de l’USB est apparue en janvier 1996, ce connecteur s’est généralisé dans les années 2000 pour connecter souris, clavier d’ordinateur, imprimantes, clés USB et autres périphériques sur les ordinateurs personnels. La liaison USB est asynchrone, ce qui signifie que la transmission ne nécessite pas d’horloge mais ajoute un bit de parité aux données avant la transmission.La liaison Usb est exclusive, cela veut dire que seul le maître parle à l’esclave mais que le périphérique branché n’est pas maître mais seulement esclave et peut seulement répondre au maître. La liaison est half-duplex, cela veut dire que le câble USB ne peut pas écouter en même temps qu’il transmet des données. Liaison Ethernet Enfin la dernière liaison que l’on va voir est la liaison éthernet. Initialement conçu au début des années 1970, pour relier entre eux des ordinateurs rattachés à un même câble coaxial. Depuis les années 1990, on utilise très fréquemment Ethernet sur paires torsadées pour la connexion des postes clients et des versions sur fibre optique pour le cœur du réseau. Ethernet n’offre pas de garantie de bonne livraison des données, ce qui est laissé aux couches protocolaires supérieures. La liaison est exculsive, cela veut que un master peut parler à un seul esclave, comme on peut le voir sur le schéma ci-dessous : La liaison Ethernet est asynchrone, cela veut dire que l’horloge n’est pas donné avant la transmission. Il doit donc être donnée au début message. La liaison ethernet est un full duplex, cea veut dire qu’elle peut écouter et transmettre des données en même temps. Vous connaissez maintenant toutes les liaisons utiles dans un microsystème. Pour vous y retrouvez on vous a fait un tableau comparatif de toutes les liaisons : Tableau comparatif SynchronismeExclusif/ BusHalf/Full duplexdébitUARTAsynchroneLiaison ExclusiveFull duplexFaible débitSPISynchroneLiaison ExclusiveFull duplexDébit moyenI2CAsynchroneLiaison busHalf-duplexDébit moyenUSBAsynchroneLiaison ExclusifHalf-duplexHaut débitEthernetAsynchroneLiaison ExclusifFull duplexHaut débit GPIO et Résistance Pull Up Convertisseur Analogique/Numérique