La liaison série RS232 BTS Systèmes Numériques Informatique & Réseaux
Généralités Transmissions série et parallèle La communication entre 2 systèmes peut se faire de manière : Parallèle Série La communication série est très importante dans le domaine de la télécommunication et plus généralement dans le transfert d’informations
Généralités Exemples :
Généralités Transmissions série et parallèle Contrairement au bus parallèle où plusieurs bits sont transmis simultanément, dans les bus série, les bits sont envoyés les uns à la suite des autres
Généralités Transmissions série et parallèle Intérêts d'une liaison série Moins de câblage ( - de cuivre donc - cher) Pas de perturbation entre pistes Débits plus élevés Distances de communication plus importantes
Généralités Transmissions série et parallèle Inconvénients d'une liaison parallèle Distorsion d’horloge Interférences Les fils parallèles sont regroupés physiquement dans un câble parallèle, et les signaux peuvent se perturber mutuellement.
Généralités Transmissions série et parallèle Inconvénients d'une liaison parallèle Ces phénomènes peuvent être limités par le choix du support de transmission Phénomène de diaphonie (interférences par phénomène d’induction) B Iind I Un conducteur baignant dans un champs magnétique est le siège d’un courant induit Un conducteur parcouru par un courant crée un champs magnétique
Généralités Transmissions série et parallèle Au minimum, 2 fils sont nécessaires : 1 fil de données 1 fil de référence (masse) D'autres fils peuvent être rajoutés. Deux critères permettent de définir une liaison série : L’interface (ou support) physique de communication (câble, connexions) Le format de transfert des données de communication (protocole) Asynchrone ou synchrone
Éléments d’une liaison Situé à l’extrémité d’une liaison, l’ETTD (Equipement Terminal de Traitement de Données ou DTE : Data Terminal Equipment) intégrant un contrôleur de communication, peut être un ordinateur, un terminal, une imprimante ou tout équipement qui ne se connecte pas directement à la ligne de transmission.
Éléments d’une liaison La transmission des données sur la ligne est assurée par l’ETCD (Equipement de Terminaison de Circuit de Données ou DCE : Data Communication Equipment) qui peut être un modem, un multiplexeur, un concentrateur ou simplement un adaptateur. L’ETCD a 2 fonctions : - l’adaptation du signal binaire entre l’ETTD et la ligne de transmission (codage et modulation ou démodulation et décodage – suivant qu’il émet ou reçoit), - la gestion de la liaison comprenant l’établissement, le maintien et la libération de la ligne à chaque extrémité. La jonction constitue l’interface entre ETCD et ETTD et permet à ce dernier de contrôler le circuit de données (établissement et libération, initialisation de la transmission …)
Transmission série synchrone Si l’émetteur transmet son signal d’horloge vers le récepteur, la transmission est dite synchrone. En transmission synchrone, le signal d’horloge peut être transmis séparément (bande de base) ou codé dans les données (par modem), les débits peuvent être beaucoup plus importants. Les données, composées d’un ensemble de bits, sont regroupées en trames pouvant contenir plusieurs milliers d’octets.
Transmission série synchrone Structure générale d’une trame synchrone Le début d’une trame est annoncé par : - un ou plusieurs caractères de synchronisation codés suivant le protocole utilisé, suivi de, - Un champ de service pouvant contenir l’adresse de l ’émetteur et du récepteur ou d’autres informations sur le type de trame ou la structure du message (début de fichier, début ou longueur de bloc …), - Un champ de données correspondant au message, - Un champ de contrôle permettant la détection d’erreurs de transmission - un ou plusieurs caractères de fin de trame.
Transmission série synchrone Procédures et protocoles synchrones La procédure synchrone HDLC (High Level Data Link Control), présente sur les réseaux Transpac X25, utilise 3 types de trames : trames I (Information), S (Supervision) ou U (unumbered). Orientée bit, elle est définie pour les transmissions synchrones en semi-duplex ou duplex intégral sur des liaisons point à point ou multipoints. L’échange commence par l’établissement de la liaison (trames SABM et UA) et se poursuit par la transmission des données en mode bidirectionnel (trame I). Les trames d’information sont numérotées. Un acquittement est envoyé par le récepteur.
Transmission série synchrone Procédures et protocoles synchrones Le protocole SDH (Synchronous Digital Hierarchy) est utilisé dans les réseaux haut débit pour des liaisons point à point avec débit allant de 155 Mbit/s à 40 Gbit/s. Les données sont transmises dans des trames synchrones (Synchronous Transport Module). Les trames contiennent un entête (Transport OverHead) et un container virtuel (Synchronous Payload Envelope). Ce container est précédé par un entête (Payload OverHead). Les trames STM peuvent transporter plusieurs types de données : - paquets IP, cellules ATM (Asynchronous Tansfert Mode), relais de trames (Frame Relay) …
Transmissions séries asynchrones Les communications asynchrones sont définies par plusieurs paramètres : Les niveaux de tensions La vitesse de transmission (Baud Rate en anglais) Le format des données Le mode de fonctionnement Full-Duplex ou Half-Duplex Les supports physiques de communication peuvent être divers : Fils de cuivre, IR fibre optique, hertzien, ...
Transmissions séries asynchrones Synchronisation en réception Le mode asynchrone est orienté pour une transmission par caractères, qui peuvent être transmis à tout moment, la synchronisation à la réception se faisant pour chacun d’eux.
Transmissions séries asynchrones Protocoles les plus courants : Norme RS232 Utilisée notamment pour la communication avec un PC (ports COM ou tty) Également utilisée dans de nombreux modules électroniques spécifiques (modules Zigbee, ...) Norme RS422 Amélioration de la RS232 (version différentielle) Norme RS485 Utilisée dans les applications où les perturbations sont importantes (milieu industriel) On en trouve sur les Automates Programmables Industriels (API)
Principe de transmission Dans une communication série RS232, les bits sont envoyés les uns à la suite des autres sur la ligne en commençant par le bit de poids faible. La transmission s’appuie donc sur le principe des registres à décalage. La transmission se fait octet par octet : pas d'horloge transmise donnée réelle à transmettre : la donnée utile + données de synchro + donnée de contrôle Nécessité de rajouter un bit de ”START” ('0' logique) avant l'octet à transmettre, et un bit de ”STOP” ('1' logique) après l'octet à transmettre. La norme RS232 prévoit également la possibilité de rajouter un autre bit juste avant le bit de STOP : Bit de parité (parité paire ou impaire), ou sans bit de parité (sans parité) ou un 2ème bit de STOP
Principe de transmission 10 ou 11 bits sont transmis au registre à décalage qui assure la transmission en commençant par le bit de poids faible.
Principe de transmission Trame asynchrone La trame asynchrone correspond à la transmission d’un octet ou d’un caractère dont la longueur est limité à 7 ou 8 bits suivant le codage utilisé. L’état de repos correspond à un état logique haut. 20
Principe de transmission 10 ou 11 bits sont transmis au registre à décalage qui assure la transmission en commençant par le bit de poids faible. Repos Start D0 D1 D2 D3 D4 D5 D6 D7 Parity Stop Repos Vitesse de transmission en bauds (bits/s) 1 bit de start 7 ou 8 bits de données 1 ou 2 bits de stop 1 bit de contrôle (parité)
Configuration de la liaison On dispose de registres de contrôle et d’état. Le(s) registre(s) de contrôle permet(tent) de : Fixer le format de transmission (7, 8 ou 9 bits) Fixer le facteur de division de l’horloge (Baud Rate) Fixer le test de parité Fixer le nombre de bits STOP Préciser le fonctionnement en interruption
Configuration de la liaison On dispose de registres de contrôle et d’état. Le(s) registre(s) d'état(s) permet(tent) de savoir : Si une transmission est en cours Si une réception est terminée L’état des lignes de contrôle L’état des interruptions
Principe de la réception asynchrone Pas d'horloge transmise entre les 2 équipements → les fréquences d'horloge de l'émetteur et du récepteur doivent être identiques Pour indiquer au récepteur le début d'une transmission, il faut lui envoyer un signal : C'est le rôle du bit de START La ligne au repos est à l'état logique '1‘ Le bit de START est donc logiquement à '0'
Principe de la réception asynchrone Le récepteur attend le premier front descendant de la ligne de données pour se synchroniser. Après une demi-période d’horloge, il vient tester le bit . L’intérêt est de pouvoir savoir s’il s’agit d’un vrai bit de START (si le signal est toujours à ‘0’) ou alors si on a eu du bruit sur la ligne qui aurait provoqué un faux bit de START (si le bit est remonté à‘1’). Ensuite, on échantillonne le nombre de bits de données (défini dans la configuration de la liaison série) à chaque période d’horloge. Enfin, on teste le ou les bits STOP Si le bit est à ‘1’, on a bien un bit STOP. Si le bit est à ‘0’, on a un mauvais bit STOP. On parle d’une erreur d’encadrement (framing error).
Principe de la réception asynchrone
Principe de la réception asynchrone On souhaite envoyer l'octet 0x32 (caractère '2') 8 bits, sans parité avec 1 bit STOP. 0x32 = (0011 0010)2
Principe de la réception asynchrone Exercice : Identifier la donnée transmise et calculer la vitesse de transmission Message Parité Repos Start Stop Repos Donnée Horloge 1,145ms
Lignes de contrôle Ce sont les signaux additionnels aux lignes de données qui permettent de contrôler la communication. Différents signaux peuvent être échangés.
Lignes de contrôle Les signaux de transmission de données TxD (transmitted data) : Données dans un sens RxD (receiveed data) : Données dans l'autre sens Les signaux de contrôle de flux de transmission RTS (request to send) : Demande à émettre CTS (clear to send) : Prêt à recevoir DTR (Data Terminal Ready) DSR (Data Set Ready ) Des références de potentiels (masse) signaux de type handshake
Lignes de contrôle (signaux RS232) Liaison normalisée ETTD-ETCD Liaison ETTD-ETTD type null modem (hors norme UIT-T)
Vitesse de transmission des données Les deux équipements doivent être configurés avec la même vitesse (baud rate). Elle est exprimée en bauds (ou bits/seconde) Ces vitesses sont normalisées : 1200 bauds 2400 bauds 4800 bauds 9600 bauds 19200 bauds débit maxi dans la norme RS232 38400 bauds 57600 bauds 115200 bauds
Contrôle de flux Le rôle du contrôle de flux est de permettre d’éviter de perdre des informations pendant la transmission. Différents types de contrôle de flux : Contrôle de flux matériel Contrôle de flux logiciel
Contrôle de flux Contrôle de flux matériel : Il est possible de contrôler le flux de données entre deux équipements par deux lignes de « handshake » (poignée de main). Ces lignes sont RTS et CTS. Le principe de fonctionnement est le suivant : L’émetteur informe le récepteur qu'il est prêt à envoyer une donnée en agissant sur RTS et en le mettant à l'état bas. Le récepteur informe l'émetteur qu'il est prêt à recevoir en mettant le signal CTS à l'état bas La transmission devient effective. Cette technique permet d'éviter d'envoyer des données quand le récepteur n'est pas prêt et donc permet d'éviter la perte d'information.
Contrôle de flux Contrôle de flux matériel Protocole RTS/CTS RTS Request To Send Ce signal est abaissé (0) pour préparer le DCE à accepter les données transmises. La préparation consiste à activer les circuits de réception, ou activer le canal dans les applications half-duplex. Lorsque le DCE est prêt , il acquitte en abaissant CTS. CTS Clear To Send Le signal est abaissé par le DCE pour informer le DTE que la transmission peut débuter. Protocole RTS/CTS
Contrôle de flux Contrôle de flux logiciel : Il est également possible de contrôler la transmission à l'aide de deux codes ASCII de contrôle «XON» et «XOFF» : XOFF (code ASCII 17) : demande l'arrêt de la transmission XON (code ASCII 19) : demande le départ d'une transmission Le récepteur stoppe le flux de données en envoyant sur la ligne de données un caractère dédié nommé XOFF, et le relance en envoyant le caractère XON. D’où le nom du protocole XON/XOFF .
Contrôle de flux Protocole Xon/Xoff Lorsque le tampon du récepteur est presque plein, celui-ci demande la suspension de l’émission en renvoyant à l’émetteur le caractère Xoff sur la ligne TD. L’émission du caractère Xon sur TD signifiera que le tampon est à nouveau disponible et que l’émission peut reprendre. L’émetteur doit analyser les caractères en retour protocole – rapide que le protocole RTC/CTS.
Parité Le mot transmis peut être suivi ou non d'un bit de parité qui sert à détecter les erreurs éventuelles de transmission (bit de parité facultatif). Il existe deux types de parités : Parité paire (even) Parité impaire (odd) Remarque : Sans Parité pas de bit de parité transmis !
Parité paire (even) Le bit ajouté à la donnée est positionné de telle façon que le nombre des bits à « 1 » soit paire sur l'ensemble donné + bit de parité. Exemple : soit la donnée 11001011 5 bits à «1» le bit de parité paire est positionné à « 1 » ainsi le nombre de « 1 » devient paire.
Parité impaire (odd) Le bit ajouté à la donnée est positionné de telle façon que le nombre des bits à « 1 » soit impaire sur l'ensemble donné + bit de parité. Exemple : soit la donnée 11001011 5 bits à «1» le bit de parité impaire est positionné à « 0 » ainsi un nombre de « 1 » reste impaire.
Parité Exercices : Caractère ASCII Nb de 1 Parité pair Parité impair A 0100 0001 L 0100 1100 z 0111 1010 0011 0000 9 0011 1001 7 0011 0111
Bilan Pour que 2 équipements puissent échanger des données, ils doivent être configurés pour que : La vitesse de communication (baud rate) soit le même des deux côtés. Le nombre de bits de données soit identique Le nombre de bits STOP soit identique Le type de contrôle de flux choisit soit le même La parité soit la même
Normes Il existe différentes normes de liaison série asynchrones : RS232 : norme de liaison série présente sur les PCs (ports COM ou tty). RS422 : norme industrielle mieux immunisée vis à vis du bruit. RS485 : Identique à la RS422 mais développée pour pouvoir connecter plus de deux appareils sur le même bus.
Normes Le choix d'une norme dépend : De la vitesse de transmission souhaitée De la longueur du câble Du nombre d'équipements que l'on souhaite connecter De l’immunité vis à vis des parasites RS correspond aux normes américaines définies par l’EIA (Electronics Industries Association). V.. ou X.. correspond aux avis internationaux définis par le CCITT (Comité Consultatif International pour le Téléphone et les Télécommunications). Boucle de courant particulièrement utilisée dans l’industrie, ne correspond pas à une norme.
Normes EIA CCITT RS 232 V24 / V28 RS 423 RS 422 V11 / X27 RS 485 Boucle de courant Type d’interface Unipolaire Différentiel 0 – 20 mA Sensibilité Distance (m) 15 1200 1000 à 2000 Débit max. (bps) 19200 100K 10M sur 100 m 100K sur 1200 m Multipoint non oui Nombre d’émetteurs 1 32 Nombre de récepteurs 10 Niveau de sortie non chargé (V) 25 6 6 Niveau de sortie pleine charge (V) 5 à 15 3.6 2 1.5 Niveau de sortie typique 12 V 5 V Impédance d’entrée 3 à 7 k 4 k 12 k Charge émetteur 450 100 54 Vocabulaire : non chargé La connexion est en l’ air, le fil n’est pas branché chargé Il y a connexion entre l’émetteur et le récepteur, donc impédance de charge sur la ligne
Norme RS232 Niveaux de tension Les 0-5V (voire moins) que l'on trouve généralement en sortie des microcontrôleurs sont insuffisants pour transmettre les informations loin. Impédance de ligne = signal est atténué. ligne de transmission
Norme RS232 Niveaux de tension Afin de pouvoir envoyer les signaux plus loin, la liaison série RS232 transmet les informations sous des niveaux de tension plus élevés. Un niveau logique bas (0V) sera transmis à l'aide d'une tension de +12V (de 3V à 25V) Un niveau logique haut (5V) sera transmis à l'aide d'une tension de -12V (de -3V à -25V) INVERSION DES NIVEAUX LOGIQUE (logique négative) ADAPTATION à +10V ET-10V
Norme RS232
Norme RS232 (exemple : ChronoRS232.exe)
Composant externe (MAX 232) Cette adaptation est très classiquement réalisée par le composant MAX 232 :
Composant externe (MAX 232) Génère à partir d'une alimentation Vcc de 5V, les tensions +10V et -10V. Distance maxi de 10m à 9600 bauds. Plus la distance sera grande, moins la vitesse de transmission sera rapide car les atténuations et les déformations des signaux seront plus importantes.
Composant externe (MAX 232) Exemple :
Connecteur Le connecteur DB9 est généralement utilisé : RS 232 C
Connectique Canon Sub-D 25 broches Canon Sub-D 9 broches RJ45 (RS 232 D) 1 DSR/RI 2 CD 3 DTR 4 Gnd 5 RxD 6 TxD 7 CTS 8 RTS
Connectique (Raccordements)
Évolution Les nouveaux ordinateurs ne sont généralement plus pourvus par défaut de ports COM RS232. Convertisseurs USB/RS232 , permettant de gérer le protocole USB d'un coté et la liaison RS232 de l'autre (puces FTDI)
Évolution Circuits permettant de passer à une liaison USB vers une liaison série à niveaux logiques TTL (0V - 5V) ou 0V – 3,3V Permet de s'interfacer en USB directement avec un microcontrôleur, sans passer par un étage +10V/-10V.
Norme RS422 Evolution de la RS232 en version différentielle. Performances : jusqu‘à 1km, 10 Mbits/s. Nécessite une résistance terminale de 100 pour adapter la ligne (moins de réflexions en bout de ligne débit )
Norme RS485 Adaptation de la RS422 à une topologie "bus". Les drivers ont des sorties "3 états" : '0', '1', Hi-Z. Contrairement au format RS232, RS485 travaille en logique positive : - niveau 1 +5v - niveau 0 -5v
Connectique Connecteur RJ45 Connecteur Sub-D 9 broches Vue de face Vue de dessus Femelle Mâle Commun D0 D1 Remarque : 2 bornes de données RS485 : A / B ou Rx+Tx+ / Rx-Tx- ou D1 / D0
Adaptateur RS232/RS485 RS485 61
Norme USB Introduction La norme USB (Universal Serial Bus) a été mise au point pour simplifier et augmenter le nombre et les performances des raccordements série sur micro-ordinateur type PC. Cette technologie « plug & play » permet de connecter en série jusqu’à 127 périphériques (souris, clavier, imprimantes, scanner, modem, …) sur un même canal. Versions : USB1 taux de transfert maxi 12 Mbit/s (1,5 Mbit/s pour les périphériques lents), USB2 débits de 120 à 480 Mbit/s , USB3 débits jusqu’à 4,8 Gbit/s.
Norme USB Il existe 2 types de connecteurs : type A (downstream) sur l’unité centrale et les sorties hub, type B (upstream) en entrée hub et sur les périphériques usb.
Norme USB Connecteur USB type A connecteur USB type B logo USB Les cordons de liaison sont constitués de 4 fils, 2 pour l’alimentation des périphériques (Vbus= +5v et GND) et 2 pour les signaux sur paire torsadée (D+ et D-). La transmission des signaux sur les 2 fils est de type différentielle, avec des tensions < 0,3v pour le niveau 0 et > 2,8v pour le niveau 1. Les transmissions sur le bus sont de type synchrone ou isochrone (transfert à intervalles de temps réguliers pour les périphériques audio et téléphoniques) suivant un codage NRZI.
Norme USB Connexion d’un périphérique L’ ordinateur hôte détecte l’ajout « à chaud » du nouveau périphérique qui se retrouve alors alimenté en courant électrique et qui récupère l’adresse par défaut (l’adresse 0). L’étape suivante consiste à lui fournir son adresse définitive (procédure d’énumération). Pour cela l’hôte interroge les périphériques déjà branchés pour connaitre leur adresse et en attribuer une au nouveau, qui en retour s’identifie. L’hôte, disposant de toutes les caractéristiques nécessaires, est alors en mesure de charger le pilote approprié….
Norme USB L’adresse est codée sur 7 bits, 128 périphériques(27 ) peuvent être connectés simultanément à un port USB, mais en réalité 127 car l’adresse 0 est une adresse réservée. Par défaut, chaque connecteur USB ne peut fournir que 100 mA. Sur le marché on trouve 3 types de hub USB : - Low power, bus-powered functions hubs ou Self-powered functions hubs (100 mA sur la totalité des ports avec un hub passif), - Bus-powered hubs (500 mA sur la totalité des ports), - High power, bus-powered functions hub ou Self-powered hubs (500 mA sur chaque port).
Norme USB Protocole de transmission Le PC hôte initie tous les transferts de données, l’accès au bus se fait lors d’une élection par consultation (polling). L’hôte va donner simultanément la « parole » à chacun des périphériques. Cette invitation à la communication se matérialise par l’envoi successif, par le PC hôte à chaque périphérique, d’un paquet « Jeton » (Token Packet) contenant la direction et l’adresse du périphérique USB consulté. Le périphérique adressé peut alors participer au transfert. La source (PC hôte ou périphérique suivant la direction précisée dans le jeton) transmet ses paquets de données ou indique qu’il n’y a pas de données à émettre. La destination répond avec un paquet d’acquittement si le transfert a abouti. Un contrôle de flux est réalisé lors de la transmission de plusieurs paquets.
Norme USB Paquets USB Pour chaque périphérique concerné, les transactions USB se font par l’intermédiaire de l’émission d’une succession de paquets : un paquet Jeton (Token) : le type de transaction (lecture/écriture), l’adresse du périphérique de destination, et la terminaison, un paquet de données (Data) : les informations réellement utiles, un paquet d’état (Handshake) : paquet d’acquittement indiquant si l’échange s’est correctement déroulé.
Norme USB Les terminaisons (EndPoints) Chaque périphérique est composé en plusieurs sous-blocs, possédant chacun un rôle différent dans la communication. On distingue 3 sous-blocs principaux : - la partie qui décode l’adresse émise par l’hôte dans le paquet Jeton et qui permet au périphérique de savoir que c’est bien à lui que l’hôte s’adresse, - la partie terminaison, - la partie réalisant la fonction USB proprement dite. Les terminaisons peuvent être vues comme des intermédiaires, des tampons entre le bus et la fonction USB. Il n’est pas possible pour le bus d’écrire directement dans la fonction, et pour la fonction d’écrire directement sur le bus.
Norme USB Les données sont stockées temporairement dans les terminaisons (jusqu’à ce que l’hôte ou le périphérique les lisent). C’est pour cela que dans le paquet Jeton, l’hôte précise la terminaison à laquelle il veut s’adresser. Une même fonction USB peut utiliser plusieurs terminaisons. Dans la spécification USB1.1 , le nombre de paires de terminaisons est limité à 2 (les paires de terminaisons EndPoint EP0 in, EP0 out et EP1 in, EP1 out). La paire de terminaison utilisée par défaut par l’hôte pour dialoguer avec le périphérique est EP0.
Norme USB Blocs fonctionnels USB et terminaisons (EP)
Norme USB Les types de transferts La spécification USB définit 4 types de transferts entre l’hôte et les périphériques : - Les transferts de commande : utilisés pour les opérations de commande et d’état (par exemple, énumération du périphérique lors de sa connexion. Suivant le débit utilisé, la taille des paquets de commande peut être de 8 à 64 octets. Fiable : répété en cas d’erreur sur un paquet. - Les transferts d’interruption : très utilisé, mise en œuvre pour les souris, les claviers et tous les périphériques qui n’ont pas une activité permanente mais qui ont besoin d’une prise en compte rapide d’un évènement. Ce n’est pas réellement un mécanisme d’interruption au sens informatique du terme dans la mesure où le périphérique attend le dialogue avec l’hôte et ne force pas l’interruption d’un autre transfert en cours.
Norme USB - Les transferts isochrones : le mode de transfert le plus efficace en terme de débit, de disponibilité et de délai d’attente, mais le plus complexe. Utilisés pour des données ayant des durées de vie critiques (trames audio ou vidéo). Ce type de transfert assure un débit minimum, mais il peut arriver que certains paquets soient erronés. - Les transferts en blocs : utilisés quand il faut transférer une grande quantité d’informations pendant un temps relativement court. Par exemple, un appareil photo ou un caméscope utilise ce type de transfert pendant lequel 90 % de la bande passante du bus est attribuée au périphérique et les paquets erronés sont répétés.
Norme USB Les descripteurs USB Point essentiel pour le fonctionnement correct du bus. Chaque périphérique possède ses propres caractéristiques qui le différencient du voisin. L’hôte doit être en possession de toutes ces caractéristiques pour initier une communication avec le périphérique en question. Pour cela, chaque périphérique possède une série de descripteurs (données stockées dans une mémoire morte) qui précisent complètement son identité, la façon de communiquer avec lui, sa compatibilité USB2 … L’hôte accède aux différents champs des descripteurs par un jeu de requêtes décrites dans la partie logicielle de la spécification USB. Le mode veille est obligatoire sur tous les appareils USB. Un périphérique USB entrera en veille lorsqu’il n’y a aucune activité sur le bus pendant plus de 3 ms. Il dispose ensuite de 7 ms supplémentaires pour confirmer ce mode et ne consommer que le courant de veille nominal (500A) nécessaire à son éventuelle reprise d’activité.
Norme USB 2 Classes de débit USB Dans la norme USB 2 , un classement en fonction du débit utilisé et du type de périphérique a été introduit avec 3 classes proposées (voir ci-dessus).
Low-Speed, Full-Speed et High-Speed. Norme USB 2 3 classes de de performances sont ainsi proposées : Low-Speed, Full-Speed et High-Speed. La norme USB2.0 s’est enrichie de la fonctionnalité On-The-Go (OTG) pour pouvoir effectuer des échanges « d’égal à égal » (peer to peer) entre 2 périphériques sans avoir à passer par un hôte du genre PC. Un périphérique OTG peut donc se connecter à un autre périphérique OTG, à un périphérique (non-OTG) ou à un hôte. Les applications de cette extension sont par exemple la connexion directe: - d’un appareil photo avec une imprimante, ou, - d’un téléphone cellulaire avec un lecteur mp3. Pour Cette fonctionnalité, des prises mini A et B, des câbles mini USB sont définis. Dans le cas d’une connexion OTG-OTG, c’est le type de prise mini A ou B qui va permettre de déclarer lequel des 2 va prendre provisoirement le rôle d’hôte. Ensuite, il peut se produire un renversement des rôles suite à une étape de négociation entre les 2 systèmes OTG (protocole HNP).
Norme USB 3 L’USB 3.0 (Super-Speed USB) propose un débit supérieur allant jusqu’à 4,8 Gbit/s (10 Gbit/s pour l’USB 3.1 Gen2). Les connecteurs USB 3 type A ou B sont munis d’une double rangée de contacts superposés : La partie supérieure permettant les transferts haut débit avec des lignes différentielles pour l’émission/réception. La compatibilité ascendante avec les versions antérieures est assurée : les câbles USB 1.1/2.0 peuvent utiliser les prises USB 3.0 . La compatibilité descendante est impossible : les câbles USB 3.0 ne peuvent pas se connecter directement sur les prises USB 1.1 et USB 2.0 sans adaptateur ( USB 3.0 vers USB standard ). L’USB 3 apporte également une meilleure gestion de l’énergie : mise en veille automatique des équipements, notamment les hubs USB 3 , en cas de cessation d’activité
Norme FIREWIRE Introduction Dérivé du bus SCSI-3, le standard FireWire est un bus série devenu un standard officiel de l’industrie sous l’appellation IEEE 1394. Il est destiné aux outils multimédias (caméscopes numériques, synthétiseurs, disques durs, lecteurs optiques de CD et DVD). Les connexions sont de type « Hot-plug » : chaque périphérique peut être connecté à chaud sans avoir à redémarrer le système. Le standard permet un maximum théorique de 63 équipements reliés au même PC avec un débit maxi de 400 Mbits/s et 3200 Mbits/s pour la norme FireWire2. Le bus FireWire peut fournir l’énergie pour les appareils connectés : 24v , 15W de puissance. Les appareils plus gourmand en électricité doivent apporter leur propre alimentation.
Norme FIREWIRE La connectique Chaque périphérique IEEE 1394 dispose de 2 sorties de 1 entrée pour le chaînage des matériels entre eux. Le câble de connexion comporte 6 fils composés de 2 paires torsadées pour les données (multiplexées aux signaux d’horloge) et de 2 fils d’alimentation. Certains connecteurs à 4 broches ne disposent pas des 2 fils d’alimentation. Connecteurs et logo FireWire IEEE 1394
Norme FIREWIRE Description et brochage des signaux IEEE 1394
Norme FIREWIRE Le protocole Le bus série FireWire peut gérer plusieurs flux à différentes vitesses, ce qui permet d’optimiser la bande passante. Il est capable de gérer les transferts en asynchrone et en isochrone (transfert à intervalles de temps réguliers), type de trafic mieux adapté aux applications multimédias. - Le mode de transfert asynchrone est basé sur une transmission de paquets à intervalles de temps variables. L’hôte envoie un paquet de données et attend de recevoir l’accusé de réception du périphérique pour envoyer le suivant. - Le mode de transfert isochrone permet l’envoi de paquets de données de taille fixe à intervalle de temps régulier (cadencé grâce aux signaux d’horloge). Les accusés de réception ne sont donc plus nécessaires, ce qui simplifie l’adressage des périphériques et permet un débit fixe plus élevé ainsi qu’une bande passante garantie.
Norme FIREWIRE Le protocole de transfert de données est organisé en 3 fonctions : - Une fonction d’arbitrage qui a pour rôle, sur le nœud concerné de demander le contrôle du bus (un nœud correspond à l’hôte ou l’un des périphériques connectés), - Une fonction de transmission de paquet de données qui gère l’émission d’un entête (préfixe, adresses des nœuds sources et destination, code de transaction, somme de contrôle …) et des données proprement dites, - Une fonction d’acquittement (acknowledgment) gérée par le récepteur adressé qui indique ainsi la bonne réception des données. Comme pour le standard USB, bien que la plupart des utilisations se fasse en point à points entre un PC et son périphérique, l’exploitation en multipoint est bien prévue par le protocole de transmission.
Normes FIREWIRE 2 et 3 La norme IEEE 1394b est également appelée FireWire 2 ou FireWire Gigabit ou encore FireWire 800. Avec de nouvelles performances, elle définit un autre type de connecteur à 9 broches et peut utiliser des câbles en paires torsadées de type Ethernet (catégorie 5) ou de la fibre optique. Bien concurrencée par les améliorations USB2, la technologie FireWire2 propose des débits supérieurs avec une bande passante non partagée, ce qui la rend plus performante et plus adaptée à des applications de type transfert vidéo entre PC et caméra numérique. La norme FireWire 3200, parfois appelée FireWire3 concurrence directement l’USB3 avec l’avantage de fournir plus d’énergie aux périphériques connectés et un meilleur rendement dans le protocole de communication (débit utile de l’ordre de 80 % du débit nominal contre 60 % en USB).
Normes et débits FireWire Normes FIREWIRE 2 et 3 Normes et débits FireWire
Norme I2C Introduction Développé par Philips, le bus i2C (Inter-Integrated Circuit) est devenu un standard industriel. C’est un bus série synchrone, bidirectionnel half duplex avec un protocole de reconnaissance dédié. Ce bus a besoin de 4 fils pour fonctionner : - le SDA (Serial DAta line) : c’est la ligne où circulent les données dans les 2 sens, - le SCL (Serial CLock line) : c’est la ligne où passe le signal d’horloge pour la synchronisation, - la masse : commune à tous les équipements, - l’alimentation en tension +VDD . Ce bus est destiné, entre autre, à des applications, au départ, dans le domaine de l’audiovisuel, puis ensuite, de la domotique.
Norme I2C Ce bus répond aux architectures Maître/Esclave (multi-maitres, multi-esclaves). Chaque circuit possède sa propre adresse. les données transitent exclusivement à la demande du maitre vers tous les esclaves : transmission orientée octet, MSB en premier. Le débit : - jusqu’à 100 Kbits/s en mode Standard, - jusqu’à 400 Kbits/s en mode Fast, - jusqu’à 3,4 Mbits/s en mode High-Speed, - jusqu’à 5 Mbits/s en mode Ultra-Fast.
Norme I2C Support physique Pour permettre à plusieurs circuits logiques de connecter leurs sorties ensemble, on utilise des sorties à collecteur ouvert (ou drain ouvert). Le niveau résultant sur la ligne est alors une fonction logique « ET » de toutes les sorties connectées. Sur le bus i2C, le niveau logique dominant est donc le 0, le niveau logique récessif est le 1 (niveau par défaut au repos). Le bus doit être équipé de 2 résistances Rp de polarisation (pull-up) : 4K à 10K . Comme entrée et sortie se font sur un même fil, un circuit peut vérifier l’état récessif de la ligne. Il place un 1 logique (transistor bloqué) et vérifie que la ligne est bien à 1, dans le cas contraire, c’est qu’un autre circuit est en train de placer un 0. L’émetteur peut donc vérifier l’émission effective de chaque bit.
Norme I2C La charge capacitive maximum du bus est environ de 400pF. Grace au principe de la polarisation (du pull-up), le bus i2C accepte des circuits alimenté avec des tensions différentes (sous certaines conditions, consulter les datasheets constructeurs) :
Norme I2C Cependant, on peut avoir 2 circuits qui tentent de prendre le contrôle du bus (ligne passant au niveau bas 0) en même temps. Une procédure d’arbitrage est prévue pour gérer l’attribution du bus. Il a donc été mis en place un protocole i2C pour gérer le bus et les conflits possibles sur le bus.
Norme I2C Protocole i2C Les échanges commencent toujours par une condition START sur SCL/SDA et finissent par une condition STOP. Les données sont envoyées par paquets de 8 bits (ou octet). Le bit de poids fort (MSB) est envoyé en premier. Les bits sont transférés sur le front descendant du signal horloge SCL.
Norme I2C Chaque octet est suivi d’un bit d’acquittement (ACK) à 0 généré par l’esclave et lu par le maitre. Les esclaves sont identifiés par une adresse sur 7 bits, le 8ième bits de l’octet indique s’il s’agit d’une opération d’écriture dans l’esclave (0) ou de lecture (1) : R/W . Par exemple pour un circuit dont l’adresse est 1010000. L’adresse i2C en écriture sera 10100000 (0xA0) et 10100001 (0xA1) en lecture.
Norme I2C Exemples d’échanges Dans un même échange, on peut trouver des écritures puis des lectures d’un esclave : Par exemple, la lecture d’une mémoire nécessite l’écriture de l’adresse interne à lire.
Norme I2C Ici, le maitre transmet l’adresse d’écriture d’un esclave suivi de 2 octets de données. Pour signifier à l’esclave de relâcher la ligne de données SDA après restitution de la donnée, le maître n’acquitte pas (Non Acq : Ack=1) le dernier mot transmis par ce dernier. En suite le bus redevient libre :
Norme I2C Le maitre demande une lecture, l’esclave transmet deux octets, c’est maintenant le maitre qui place les acquittements. Dans un même échange on peut trouver des écritures puis des lectures d’un esclave.
Comparatif des normes
Mode de transmission Suivant 3 modes d’exploitation de la liaison, la transmission des données peut se faire de manière : unidirectionnelle (simplex) alternée (half-duplex) simultanée (full-duplex) Emetteur Récepteur E ou R E et R t1 t2 t1 t2 = t1
Mode de transmission Communication SIMPLEX : un seul sens de communication A B Sur une liaison unidirectionnelle de type 2 fils (rarement utilisée), il faudra : - le conducteur d’émission de données Tx+ de A va sur Rx+ de B : polarité positive - le conducteur d’émission de données Tx- de A va sur Rx- de B : polarité négative - le blindage Communication HALF-DUPLEX : 2 sens de communication alternés A B Sur une liaison bidirectionnelle alternée de type 2 fils (la plus utilisée), il faudra : - le conducteur d’émission/réception des données Tx+ de A va sur Rx+ de B - le conducteur d’émission/réception des données Tx- de A va sur Rx- de B - le blindage Communication FULL-DUPLEX : 2 sens de communication simultanés A B Sur une liaison bidirectionnelle de type 4 fils, il faudra : - les 2 conducteurs d’émission des données Tx+ et Tx- de A va sur Rx+ et Rx- de B - les 2 conducteurs de réception des données Tx+ et Tx- de B va sur Rx+ et Rx- de A - le blindage
Mode de transmission (exemples) Liaisons radio ou télévision ou Panneau afficheur lumineux
Mode de transmission (exemples) Liaison talkies-walkies , liaison WiFi Transmission sur Internet entre 2 PC par l’intermédiaire de modems ADSL
Notions utiles sur les transmissions sérielles Définition de valence : Tout type de codage associe une valeur physique (niveau électrique) à une valeur logique (donnée binaire par exemple). La valence, notée V , est le nombre de valeurs physiques que peut prendre la donnée codée à un instant donné. Les codes NRZ et Manchester sont bivalents. Définition de la période bit : La période bit est la durée minimale durant laquelle il est nécessaire de maintenir une valeur physique sur la ligne de transmission pour qu’elle puisse être reconnue par le récepteur. La période bit Tb s’exprime en secondes.
Notions utiles sur les transmissions sérielles Définition de la vitesse de modulation : La vitesse de modulation correspond au nombre de valeurs physiques transmises par seconde. La vitesse de modulation Vm s’exprime en bauds Vm = 1 / Tb (en bauds) Définition de la vitesse de transmission : La vitesse de modulation (appelée aussi débit binaire) correspond au nombre de valeurs logiques transmises par secondes. Le débit binaire Db s’exprime en bits par secondes (bits/s). Db = Vm . log2( V ) / n (en bits/secondes) Vm = n . Db / log2( V ) (en bauds) avec n , nombre de valeurs physiques utilisables pour coder un niveau logique, et V la valence.
Notions utiles sur les transmissions sérielles Calcul de la durée de transmission : La durée de transmission Dt correspond au délai qui s’écoule entre le début et la fin d’une transmission. Elle s’exprime en secondes et correspond au rapport du nombre de bits Nb contenus dans le message transmis sur le débit binaire Db : Dt = Nb / Db (en s )
Notions utiles sur les transmissions sérielles Définition du taux d’erreurs binaire : Dans une transmission numérique idéale, les bits reçus sont strictement identiques aux bits émis. Dans une transmission numérique réelle, à cause du bruit ou autres perturbations, certains 0 peuvent devenir des 1, ou inversement, certains 1 peuvent devenir des 0. La qualité d’une liaison numérique est fonction de son taux d’erreurs de transmission. Le taux d’erreurs binaire (TEB ou BER= Bit Error Rate) est défini comme suit : TEB = nombre de bits reçus avec erreurs / nombre total des bits reçus Plus le TEB est faible, meilleure est la transmission.
Notions utiles sur les transmissions sérielles Quelques ordres de grandeurs Les opérateurs téléphoniques considèrent qu’une liaison numérique avec un TEB de 10-3 n’est pas exploitable et qu’un TEB de 10-6 correspond à un fonctionnement dégradé. Dans des conditions normales de fonctionnement, un système de télécommunication ne doit transmettre aucune erreur. Pour recevoir correctement un bouquet de télévision numérique, le taux d’erreurs binaire TEB doit être inférieur à 10-11 .
Codage des bits Transmission sur le canal physique peut se faire : directement, ou après un encodage des niveaux transmission en bande de base via une modulation : le signal à transmettre va modifier une porteuse, signal de fréquence beaucoup plus élevée. (obligatoire pour les canaux non-électriques : radio, fibre, ...)
Codage des bits Bande de base Utilisée dans la norme USB. Inconvénient : risque de perte de synchronisation si longue transmission de '0'. Solution : au bout de 6 bits à 0, on ajoute un bit à 1 (technique du stuffing : bit de stuffing).
Codage des bits Définitions Le codage NRZ (No Return to Zero) est simplement un codage avec une valeur de +V pour le signal pour représenter un 1 et –V pour représenter un zéro. De cette façon, la composante continue du signal est nulle (si il y a globalement autant de 1 que de 0), ce qui donne une consommation moins importante. De plus avec ce procédé, une tension nulle 0v ne représente donc pas un niveau binaire bas 0 . Le codage NRZI (NRZ Inverted) inverse le signal si le bit à transmettre est un 0 et ne l’inverse pas si il s’agit d’un 1. Cela évite un signal continu lors d’une longue succession de 0.
Codage des bits Bande de base Intérêt : synchronisation de l'horloge du récepteur sur l‘émetteur facilitée. Problème : si inversion des lignes, inversion des bits => création du « Manchester différentiel »
Codage des bits Définitions Le codage Manchester propose une inversion du signal systématique au milieu de la période d’horloge, ce qui garantit l’impossibilité d’avoir un signal continue. Pour transmettre un 1, il s’agira d’un front montant, et pour transmettre un 0, d’un front descendant. Le codage Manchester différentiel réalise un OU exclusif entre l’horloge et les données. Il y a toujours une transition au milieu de la période d’horloge, avec inversion entre 2 bits pour transmettre un 0 et absence de transition pour transmettre un 1. Chacun des 2 codages Manchester permet d’assurer une composante nulle du signal, mais demande un signal de fréquence 2 fois plus importante qu’avec les codages NRZ. Notons que les bits de poids faibles sont toujours transmis en premier, par convention.
Codage des bits Chronogrammes
Codage des bits Bande de base Si on peut distinguer 4 niveaux différents sur le support, on peut transmettre 2 bits par période d'horloge. On peut ainsi doubler le débit (exprimé en bits/s.), sans augmenter la cadence l'horloge (exprimée en Bauds). Bits/sec Bauds Valence
Codage des bits Modulations Longue distance : dégradation du signal en bande de base Le support se comporte comme un filtre Utilisation de MODEM : MOdulateur – DEModulateur Transforme le signal numérique en signal analogique modulé
Codage des bits Modulations Modulation d’amplitude
Codage des bits Modulations Modulation de fréquence
Codage des bits Modulations Modulation de phase
Codage des bits Modulations En pratique, on utilise des modulations plus complexes, qui combinent ces techniques pour transmettre plusieurs bits par période. ASK : Amplitude Shift Keying, modulation par saut d'amplitude, PSK : Phase Shift Keying, QAM : Quadratic Amplitude Modulation, … Intérêt : occupe une largeur de spectre limitée. Multiplexage de signaux sur le même canal
Codage des bits Modulations On translate chaque signal dans le domaine fréquentiel, avant de les mélanger.
Codage des bits Modulations Exemple : ADSL
Exercice 1
Exercice 2
Exercice 3
Exercice 4