La plupart du temps, RS-232 et UART se rejoignent dans les théories de la communication série. Sont-ils les mêmes? De mes lectures, j'ai conclu que UART était une forme matérielle du protocole RS-232. Ai-je raison?
La plupart du temps, RS-232 et UART se rejoignent dans les théories de la communication série. Sont-ils les mêmes? De mes lectures, j'ai conclu que UART était une forme matérielle du protocole RS-232. Ai-je raison?
Réponses:
Non, UART et RS-232 ne sont pas identiques.
UART est responsable de l'envoi et de la réception d'une séquence de bits. À la sortie d'un UART, ces bits sont généralement représentés par des tensions de niveau logique. Ces bits peuvent devenir RS-232, RS-422, RS-485, ou peut-être des spécifications propriétaires.
RS-232 spécifie les niveaux de tension . Notez que certains de ces niveaux de tension sont négatifs et qu'ils peuvent également atteindre ± 15V. Un écart de tension plus important rend RS-232 plus résistant aux interférences (bien que dans une certaine mesure).
Un microcontrôleur UART ne peut pas générer de tels niveaux de tension par lui-même. Cela se fait à l'aide d'un composant supplémentaire: le pilote de ligne RS-232. Le MAX232 est un exemple classique de pilote de ligne RS-232 . Si vous parcourez la fiche technique, vous remarquerez que ce circuit intégré a une pompe de charge qui génère ± 10V à partir de + 5V.
( source )
UART (ou USART) - Récepteur / émetteur asynchrone universel (synchrone)
Il s’agit essentiellement d’une interface de communication série. La partie "universelle" signifie qu’elle peut être configurée pour prendre en charge de nombreux protocoles série spécifiques différents. Le terme est générique et ne représente pas une norme spécifique. Au minimum, cela signifie qu’il dispose d’ TX
une RX
ligne et d’une ligne qui envoie un flux de données série et reçoit un flux de données série.
RS-232 - Norme définissant les signaux entre deux périphériques, définissant les noms des signaux, leur objectif, les niveaux de tension, les connecteurs et les broches.
Il s’agit d’une norme d’interface spécifique permettant l’interopérabilité des équipements. Bien que deux matériels puissent avoir des UART, vous ne savez pas qu'ils se connecteront sans dommage ou ne communiqueront pas correctement, à moins que vous sachiez qu'ils ont les mêmes normes de brochage et de tension, ou qu'ils incluent un convertisseur ou un câble spécialement câblé spécifique à l'interconnexion des réseaux. ces deux dispositifs spécifiques. Pour éviter d'avoir besoin de convertisseurs ou de câbles spéciaux, les fabricants peuvent choisir de suivre la norme RS-232. Vous savez alors qu'un câble standard RS-232 reliera les deux.
Cependant, ni l'UART, ni la norme RS-232 ne définissent ce qui est envoyé sur les lignes TX
et RX
. Généralement, lorsque les gens utilisent RS-232, ils utilisent un simple codage NRZ à 8 bits avec un bit de début et un bit d’arrêt. La plupart des équipements actuellement fabriqués utilisent cet encodage, mais ce n'est pas obligatoire. Vous pouvez trouver des équipements plus anciens comportant des bits de parité ou utilisant 7 ou 9 bits. L'UART peut être configuré pour prendre en charge ces différents protocoles sur ses lignes TX
et RX
.
Les UART n'interfèrent généralement pas directement avec RS-232. Vous devrez convertir la sortie de l'UART au standard +/- 12V requis par RS-232. Une interface RS-232 complète implique généralement à la fois un convertisseur de niveau UART et un convertisseur de niveau RS-232. En outre, la norme RS-232 comprend la définition de plusieurs autres broches de signalisation en plus TX
et RX
, que vous devrez peut - être utiliser en fonction de l'équipement dont vous avez besoin pour vous connecter. Ceux-ci devront également être convertis de niveau et votre UART pourra, ou non, prendre en charge ces signaux. Si ce n'est pas le cas, vous devrez les contrôler directement avec votre logiciel / micrologiciel.
Ainsi, même si un UART peut vous aider à implémenter une interface RS-232, ce n'est pas une interface RS-232 elle-même.
L'UART permet de convertir les données parallèles des lignes de bus PC en données série pour la transmission via des pilotes de ligne vers des périphériques RS-232, RS-422 et RS-485 . La broche d’horloge de la puce UART est alimentée par une source d’horloge programmable. La vitesse d'horloge est déterminée par la configuration du débit en bauds que l'appareil utilisera. La vitesse d'horloge est 16 X le débit en bauds. Placer une sonde d'oscilloscope sur la broche d'horloge d'une puce UART et déterminer la fréquence, puis diviser par 16, est un moyen de déterminer un débit en bauds inconnu.