Sciences et Technologies de l Industrie et du Développement Durable Liaisons "série" Ter STI2D SIN Présentation: Les «liaisons séries» sont des moyens de transport d informations (communication) entre divers systèmes numériques. On les oppose aux liaisons parallèles par le fait que les différents bits d une donnée ne sont pas envoyés en même temps mais les uns après les autres, ce qui limite le nombre de fils de transmission. Elles peuvent être asynchrones si aucune horloge n'est transmise ou synchrones lorsqu'une horloge de synchronisation entre l'émetteur et le récepteur est transmise. Tous les µcontrôleurs modernes disposent d'un module USART (Universal Synchronous and Asynchronous Receiver and Transmitter) qui permet de gérer une liaison série. Il existe 3 types de liaison: Simplex: les données circulent dans un sens unique de l'émetteur vers le récepteur (par exemple télévision). Half Duplex: les données circulent dans les 2 sens mais l'émission et la réception ne peuvent pas se faire simultanément (cas des talkies walkies). Full Duplex: les données circulent dans les 2 sens simultanément (cas d'une ligne téléphonique). La vitesse de transmission est exprimée en bit/s ("bauds") et traduit le nombre de bit émis pendant une seconde. Débit (en bauds) Durée d'un bit 75 13,333 ms 150 6,666 ms 300 3,333 ms 600 1,666 ms 1200 833 µs 2400 416 µs 4800 208 µs 9600 104 µs 19200 52 µs Les liaisons asynchrones: La liaison série asynchrone: Au repos la ligne est à "1". La transmission commence par un bit de Start à "0"; le LSB est émis en 1 er et la trame se termine par un bit de Stop à "1". Il est possible de rajouter un bit de parité (ou d'imparité) servant à détecter des erreurs de transmissions. Ce bit est automatiquement mis à "0" ou à "1" à l'émission de sorte que le nombre total de bits à "1" transmis soit pair (ou impair). Liaison_série Lycée Jules Ferry Versailles 1/5
Exemple d'une transmission série asynchrone de 3 octets: 2 4 2 3 8 6 0x42 0x32 0x68 La liaison RS232: C'est une variante de la liaison série asynchrone correspondant à une norme électrique (niveaux de tension) et matériel (type de connecteurs et brochage). La liaison se fait sur 3 fils: Rx (réception) Tx (transmission) et la masse. Le fil Rx (Tx) de l'émetteur doit être relié au fil Tx (Rx) du récepteur (liaison croisée). La spécificité de RS232 tient dans l adaptation en tension du signal afin d être transmis sur une distance supérieure (15m). Un niveau logique "0" est représenté par une tension de +3V à +25V et un niveau logique "1" par une tension de -3V à -25V. Ordinairement, des tensions de +12V et -12V sont utilisées. Cette liaison était utilisée dans les PC (ports appelés COM) avant d'être supplantée par les ports USB. La liaison RS485: C'est une liaison RS232 différentielle; on émet sur 2 fils la donnée et son complément sans fil de masse. On régénère le signal à la réception en faisant la différence entre les 2 signaux (avantage : protection accrue contre les parasites). Liaison_série Lycée Jules Ferry Versailles 2/5
Les liaisons synchrones: Le bus I2C: Il s'agit d'un bus de communication entre un maitre et des esclaves. La communication se fait à l'initiative du maitre. Chaque esclave possède une adresse qui lui est propre codée sur 7 bits, un maitre peut donc piloter jusqu'à 128 esclaves. Le protocole de communication doit toujours commencer par la prise de contrôle du bus par le maitre puis par l'envoi de l'adresse de l'esclave concerné; l'esclave dont l'adresse est correcte répond par un bit d'acquiescement, la communication est alors établie entre le maitre et l'esclave. Le schéma ci-contre montre la structure du bus avec les 2 fils SDA (Serial Data: donnée) et SCL (Serial CLock: horloge) et la structure d'entrée/sortie d'un circuit I2C. Au repos les lignes SDA et SCL sont à "1". Pour écrire un "0" le transistor concerné doit être saturé. Le transistor est bloqué pour écrire du "1" ou pour ne rien faire (ligne au repos). Deux résistances de tirage doivent être placées sur le bus pour imposer la tension Vcc quand la ligne est à "1". La condition de départ, à l'initiative du maitre, est un passage à "0" et la condition de stop un passage à "1" alors que SCL est à "1". Liaison_série Lycée Jules Ferry Versailles 3/5
Envoi de l'adresse de l'esclave: l'adresse est codée sur 7 bits suivi d'un bit R/W (lecture/écriture) mis à "0" pour écrire. Envoi de la donnée: Réception de la donnée: Liaison_série Lycée Jules Ferry Versailles 4/5
Port TSTI2D La liaison SPI: Une liaison SPI s établit entre un maître (habituellement un microcontrôleur) et un esclave, (convertisseur, registre à décalage, mémoire, microcontrôleur ) et permet l échange, en série, de données. L échange de données peut s effectuer dans les deux sens (Full Duplex). Cette liaison, synchrone, s effectue par l intermédiaire de trois fils notés (Master Out Slave In), (Master In Slave Out) et (Serial ClocK)). La fréquence de l horloge est fixée par le maître et est programmable. La figure ci-dessous nous montre une liaison SPI classique entre le microcontrôleur maître et plusieurs périphériques esclaves. Slave 1 Slave 2 Master 0 1 2 3 Slave 3 Slave 4 Le microcontrôleur maître sélectionne UN et UN SEUL esclave en utilisant un des quatre bits de port pour sélectionner via l entrée / le composant avec lequel il veut échanger des données. La ligne est utilisée pour transférer les données, sous forme série, entre le maître et l esclave, dans le sens maître vers esclave. Cette ligne est donc en sortie pour le maître et en entrée pour l esclave. La transmission se fait, le MSB en premier et le LSB en dernier. La ligne est utilisée pour transférer les données, sous forme série, entre le maître et l esclave, dans le sens esclave vers maître. Cette ligne est donc en entrée pour le maître et en sortie pour l esclave. La transmission se fait, le MSB en premier et le LSB en dernier. La ligne sert à synchroniser l'envoi ou la réception de la donnée. Ce signal est généré par le maitre et est constitué d'une trame de 8 périodes d'horloge. La ligne Slave Select (/): chaque périphérique esclave est sélectionné par une broche, notée /. Cette entrée doit être à l état bas pour communiquer avec le composant sélectionné. Pour éviter tout conflit de BUS sur la ligne, un périphérique esclave et un seul doit être sélectionné. Liaison_série Lycée Jules Ferry Versailles 5/5