# RS232 ## Acronyme ``` MS DOS = MicroSoft Disk Operating System = OS Système Exploitation UART = Universal Asynchronous Receiver/Transmitter RxD = Reception eXchange Data TxD = Transmition eXchange Data DB9 = 9 pins ASCII = American Standard Code for Information Interchange Encodage hexadecimal des caractères alpha-numériques LSB = Least Significant Bit (bit de poids faible) MSB = Most Significant Bit (bit de poids fort) ETTD = Équipement Terminal de Traitement de Données ETCD = Équipement Terminal d’un Circuit de Données MODEM = MOdulation DEModulation ``` ## Définition les données sont envoyées sur un seul fil • la liaison est bidirectionnelle donc un fil pour chaque sens (FUll Duplex), ou omnidirectionnelle (Half Duplex) • elle n’utilise pas de signal d’horloge c’est une liaison asynchrone ### Rappel (signal d'horloge) ![](https://i.imgur.com/h2trzip.png) ## Schéma ``` Liaison Bidirectionnelle, sur 1 paire torsadée sans horloge Asynchrone. PC TX-->------------------\ /---<---------TX Transmition eXchange \/ /\ PC RX--<------------------/ \--->---------RX Reception eXchange GND --------------------------------------GND Ground = masse = Potentiel de reférence généralement 0v. ``` ## ETTD ETCD ### MODEM ``` ETCD ETTD FAI = Fournisseur d'accès Internet BOX M |TX-->------------------\ /---<---------TX |M| O | \/ |O| WIFI D | /\ |D|----------------->PC E |RX--<------------------/ \--->---------RX |E| M | |M| ``` ### Protocole sur le même principe Ethernet = Liaison bidirectionnelle sur 4 paires torsadées. CAN (automobile) EIB/KNX (automatisme) ## Le point de vue électrique ``` CMOS +12v -> '0' binaire -12v -> '1' binaire TTL +5 -> '1' binaire 0v -> '0' binaire ``` ## Format de la Trame UART RS232 ![](https://i.imgur.com/K15fw4l.png) ``` st -> un bit de start ‘0’ 0,1,..7 -> bit de données P -> bit de parité pour vérifier l'intégrité de l'octet recu sp1 sp2 -> Bit de stop Idle -> en attente Frame -> trame ``` ## Baud Vitesse de transmission en bit/s $ D=nb\_Bit/t $ ## Asynchrone ![](https://i.imgur.com/O057utl.png) La liaison est asynchrone ; il n’y a pas d’horloge. L’émetteur et le récepteur doivent être réglés sur la même fréquence d’utilisation. ### Rappel (signal d'horloge) ![](https://i.imgur.com/h2trzip.png) ## ASCII ![](https://i.imgur.com/dfCHKFj.png) ## Transmission ![](https://i.imgur.com/5Q99Ixu.png) ``` Emetteur Recepteur MSB LSB LSB MSB 0100 0011 -----------------> 1100 0010 ``` Attention lors d'une transmission les bits de poids faible sont en tête donc il faut retourner les bits lus sur l’oscillogramme car le bit de poids faible (lsb) est transmis en premier : 0100 0011 C’est le code ASCII du caractère ‘C’ ## Exemple ### Calcul d'un débit 1 bit= 100us X bit= 1s | bit | temps | | --- | ------ | | 1 | 100 us | | x | 1 s | | bit | temps | | --- | ------ | | 30 | 3 ms | | x | 1 s | | bit | temps | | --- | ------ | | 1 | 100 ns | | x | 1 s | | bit | temps | | --- | ------ | | 1 | x | | 100M | 1 s | Pour un débit de 1 Gbit/s calculer le temps nécessaire à la transmission d'un bit. | bit | temps | | --- | ------ | | 1 | x | | 1G | 1 s | Pour un débit de 10 Gbit/s calculer le temps nécessaire à la transmission d'un bit. | bit | temps | | --- | ------ | | 1 | x | | 10G | 1 s | On peut transmettre 10 bit en 10ps quel est le débit? | bit | temps | | --- | ------ | | 10 | 10ps | | x | 1 s | ### Raspberry Les ports 14 - 15 pour Tx et Rx ![](https://i.imgur.com/zvH36hZ.png) ### Arduino #### UNO Les ports 0 - 1 pour Rx et Tx ![](https://i.imgur.com/BsRx1Hf.png) #### MEGA Les ports 14 à 19 pour Rx et Tx ![](https://i.imgur.com/4lfmEbn.png) ## Interconnexion ### 3.3V > On Raspberry Pi, all GPIO banks are supplied from 3.3V. Connection of a GPIO to a voltage higher than 3.3V will likely destroy the GPIO block within the SoC. A selection of pins from Bank 0 is available on the P1 header on Raspberry Pi. https://www.raspberrypi.org/documentation/hardware/raspberrypi/gpio/README.md#:~:text=On%20Raspberry%20Pi%2C%20all%20GPIO,P1%20header%20on%20Raspberry%20Pi. ### Convertisseur ![](https://i.imgur.com/F7kVLkE.png) ### Schéma d'interconnection Exemple d'adaptation entre 2 equipements 5v et 3,3v ``` [ARDUINO][RX]----------[CONVERTISSEUR 5v-3,3v]-------[TX][RASPBERRY] [ TTL ][TX]----------[CONVERTISSEUR 5v-3,3v]-------[RX][0 - 3,3V ] ``` ## DEBIT / Baud La vitesse de transmission est exprimée en baud (Bd) bits par secondes ## Decodage ### Exemple ![](https://i.imgur.com/PBzNQ0e.png) ``` MSB LSB 0101 1001 hexa 5 9 ASCII 'Y' ```