Quand dois-je utiliser USART au lieu de UART?

10

Je veux établir une communication entre mon PIC18F4550 et mon PC mais je suis bloqué si je dois utiliser UART ou USART pour les longues distances. Quand est-il plus avantageux d'utiliser l'un au lieu de l'autre?

Tata Simano
la source
2
Eh bien, qui disposera d'un émetteur-récepteur synchrone pour que son PC puisse se connecter à votre gadget?
PlasmaHH

Réponses:

11

Pour vos besoins, l'UART et l'USART sont la même chose. UART signifie récepteur / émetteur asynchrone universel . Le S supplémentaire dans USART signifie synchrone . C'est juste une petite capacité supplémentaire que Microchip a donnée au module pour le rendre plus utile dans certains cas. Cette capacité supplémentaire ne s'applique pas dans votre cas.

Le port PC COM ne prend qu'un UART pour parler. Le fait que l'USART aurait pu être utilisé d'une manière différente n'est pas pertinent pour vous, sauf que vous avez peut-être des bits de configuration supplémentaires qui doivent être définis correctement.

Olin Lathrop
la source
3

Réponse courte: utilisez ce que votre puce a

Pour approfondir la question, il faut décoder les acronymes:

A U niversal A synchrone R CEM écono mique T ransmitter est votre "port série" traditionnel. Il est asynchrone dans le sens où un seul signal est impliqué - aucune horloge n'est transmise, et à la place, le récepteur doit récupérer une horloge, généralement par suréchantillonnage.

En revanche un U niversal S ynchronous A synchrone R CEM écono mique T ransmitter est un appareil plus polyvalent avec UART de type asynchrone modes, mais qui peut également éventuellement être configuré pour fonctionner en synchrone modes où une horloge est envoyé en même temps que les données. Selon les capacités, cela peut inclure l'interopérabilité avec des formats série synchrones bien connus, par exemple SPI ou I2S.

Quelques MCU peuvent proposer les deux types de périphériques. Pour un besoin série asynchrone de base, vous pouvez choisir l'un ou l'autre. Cependant, votre choix peut être influencé par les broches sur lesquelles un périphérique donné peut fonctionner, d'autres besoins du système, etc. Un chargeur de démarrage ROM d'usine peut uniquement fonctionner sur certains périphériques et pas sur d'autres. Il peut également y avoir des différences dans la prise en charge de la mémoire tampon, la longueur des mots, la prise en charge de la parité, les signaux de contrôle associés, etc. Et l'interface logicielle peut être complètement différente entre les deux.

Chris Stratton
la source
3

Ils sont fondamentalement la même chose pour votre microcontrôleur.

USART signifie récepteur / émetteur asynchrone et synchrone universel. UART signifie récepteur / émetteur asynchrone universel.

La transmission de données asynchrone serait la plupart du temps utilisée dans ce protocole de communication. La transmission de données synchrone est rarement utilisée car vous disposez d'un bien meilleur protocole de communication synchrone tel que SPI et I2C.

Thịnh Lê Quí
la source
" La transmission de données synchrone est rarement utilisée car vous avez un bien meilleur protocole de communication synchrone tel que SPI & I2C. " Attention, il semble que vous compariez des pommes et des oranges :-) SPI & I2C sont généralement utilisés pour des distances relativement courtes. Le mode synchrone d'un USART est généralement utilisé pour des interfaces plus longues, par exemple plusieurs pieds ou plus. J'ai travaillé avec de nombreuses interfaces de communication synchrones, par exemple V.35 ou même les signaux synchrones en option sur V.24, pour me connecter à des modems synchrones. Ils nécessitaient tous un USART et ne pouvaient pas être sensiblement remplacés par SPI et I2C.
SamGibson
Merci beaucoup pour l'information.
Thịnh Lê Quí
1

Votre microcontrôleur (MCU) contient un récepteur / émetteur synchrone / asynchrone universel (USART). Cette unité fonctionnelle prend en charge un mode de communication synchrone et un mode de communication asynchrone.

En mode synchrone, l'émetteur Tx est connecté au récepteur Rx par un fil CLOCK et un fil DATA. Une fois par période CLOCK, Tx envoie un autre bit sur DATA et Rx prend un autre bit de DATA. La synchronisation de transfert est régie par CLOCK et donc connue à la fois par Tx et Rx. Ainsi, Tx et Rx peuvent utiliser des débits binaires plus élevés qu'en mode asynchrone.

Cependant, deux fils / broches de connecteur sont nécessaires au lieu d'un et une asymétrie ou une gigue excessive entre CLOCK et DATA conduit à la réception de données corrompues. La synchronisation dans les pilotes de ligne et les récepteurs de ligne transportant HORLOGE et DONNÉES doit être étroitement adaptée pour réduire cette asymétrie. L'interface et les facteurs à deux fils deviennent plus importants sur de plus longues distances, avec de longs câbles et / ou de multiples sauts de connexion.

En mode asynchrone, l'émetteur Tx est connecté au récepteur Rx par un fil DATA. Une fois par période de bit temporisée, Tx envoie un autre bit sur DATA et Rx prend un autre bit de DATA. La synchronisation de transfert est régie par les oscillateurs séparés en fréquence en Tx et Rx, chacun étant inconnu de l'autre et sera légèrement différent. Par conséquent, le débit binaire maximal fiable est inférieur à celui du mode synchrone.

Au début de chaque nouvel octet, Rx utilise la transition de début de bit STOP-START pour se resynchroniser avec la synchronisation de séquence de bits entrante. Cela rend les retards des pilotes / récepteurs de ligne, des câbles et des connecteurs non pertinents pour la synchronisation de la période de bits, mais pas pour la qualité des bits. Un seul fil est nécessaire par signal de communication au lieu de deux, ce qui réduit le coût des câbles, des connecteurs et des pilotes / récepteurs de ligne.

Cela dépend donc de vos coûts acceptables, des distances que vous parcourez et des capacités de Tx et Rx. Votre PC est susceptible de ne prendre en charge que le mode asynchrone sur un port COM standard, nécessitant un port spécial (PCIe ou USB, probablement USB) pour le mode synchrone.

TonyM
la source