Présentation du RS-485
Comme RS-232, RS-485 est une norme de communication série. Sa désignation officielle actuelle est TIA-485/EIA-485-A, mais elle est communément appelée norme RS-485. Le RS-485 est largement utilisé dans des secteurs tels que l'automatisation industrielle, l'automobile et la gestion des bâtiments.
Le bus RS-485 surmonte les défauts du RS-232, tels que les courtes distances de communication et les faibles débits de données. Le RS-485 prend en charge des débits de données allant jusqu'à 10 Mbit/s et a une distance de communication théorique allant jusqu'à 1 200 mètres. Contrairement à la transmission asymétrique du RS-232, le RS-485 utilise une transmission différentielle via une paire de fils à paire torsadée, un fil étant désigné par A et l'autre par B.
Couche physique RS-485
La couche physique RS-485 est responsable de la transmission des données brutes entre les appareils et le support de transmission physique. Il gère la conversion des signaux électriques en données numériques, tout en définissant également les niveaux de tension, la synchronisation, les débits de données et d'autres paramètres.
① Signaux différentiels
Le câblage longue-distance entraîne une atténuation du signal et augmente le risque de bruit et d'interférences. Cela se manifeste par des changements d'amplitude de tension sur les câbles A et B. Cependant, l'avantage de l'utilisation de lignes différentielles est que la soustraction de la différence entre les deux signaux annule les interférences, permettant ainsi la sortie d'un signal normal. La capacité d'un récepteur différentiel à ignorer des tensions identiques sur les deux lignes de signal est appelée réjection en mode commun-.


La norme spécifie que la logique 1 va de +2V à +6V et que la logique 0 va de -6V à -2V.
RS-485 ne nécessite pas de tension de bus spécifique ; il ne considère que la tension différentielle minimale. Sur des longueurs de câble plus longues, la tension reçue par le récepteur peut chuter à +/- 200 mV, ce qui reste parfaitement acceptable pour le RS-485. C'est l'un des avantages du RS-485.
De nombreux émetteurs-récepteurs respectent, voire dépassent, la norme TIA/EIA-485A ; Toutefois, dans la pratique, les paramètres spécifiés par l'appareil prévalent. Par exemple, le seuil d'entrée négatif minimum pour un certain émetteur-récepteur est de -200 mV.


② Définitions des signaux
De nombreux convertisseurs RS-485 sont aujourd'hui compatibles avec RS-422, vous verrez donc souvent des signaux étiquetés T/R+ et T/R- sur ces convertisseurs, qui correspondent aux A+ et B- du RS-485.
Pour les connecteurs femelles DB9, la définition du câblage RS-485 est la suivante : Les broches 6 à 9 sont N/A et ne doivent pas être connectées.
| DB9 | Signal de sortie | Câblage duplex intégral RS-422 | Câblage semi-duplex RS-485 |
| 1 | T/R+ | Envoyer(A+) | RS-485(A+) |
| 2 | T/R- | Envoyer(B-) | RS-485(B-) |
| 3 | RXD+ | Recevoir (A+) | Vide |
| 4 | RXD- | Recevoir(B-) | Vide |
| 5 | GND | Fil de terre | Fil de terre |
③ Topologie
Le RS-485 prend en charge les configurations à deux-fils et à quatre-fils. La configuration à quatre -fils est limitée à la communication-point à-point et est rarement utilisée aujourd'hui ; la configuration à deux fils est plus couramment utilisée. Cette configuration utilise une topologie de bus, permettant de connecter jusqu'à 32 nœuds sur un seul bus.
Comme I²C, le bus RS-485 fonctionne en mode maître-esclave. Il prend en charge à la fois le mode esclave point-à-point unique-et le mode multi-esclave, mais ne prend pas en charge le mode multi-maître.


Émetteur-récepteur RS-485
Le RS-485 utilise une transmission différentielle. Si vous souhaitez contrôler un appareil RS-485 à l'aide d'un microcontrôleur, vous aurez besoin d'un émetteur-récepteur similaire au bus CAN. Le schéma suivant illustre un MCU contrôlant un périphérique RS-485.
À l’intérieur d’un émetteur-récepteur se trouvent un récepteur (moitié supérieure) et un émetteur (moitié inférieure). Vous trouverez ci-dessous une brève explication du fonctionnement d'un émetteur-récepteur pour vous aider à comprendre comment un MCU communique avec un appareil 485.

Structure interne d'un émetteur-récepteur RS-485
Où:
A et B sont le bus ;
R est l'entrée du récepteur ;
RE est le signal d'activation du récepteur ;
DE est le signal d'activation de l'émetteur ;
D est la sortie de l'émetteur ;
Pour les signaux d'activation, ceux avec une ligne au-dessus de la lettre sont actifs-bas (par exemple, RE dans la figure ci-dessus), tandis que ceux sans ligne sont actifs-haut (par exemple, DE).
Table de vérité du récepteur
Pour l’émetteur, la table de vérité est la suivante :
1. Lorsque la broche d'activation du pilote DE est à un niveau logique haut, les sorties différentielles A et B suivent l'état logique au niveau de l'entrée de données D. Un niveau logique haut en D fait passer A haut et B bas. Dans ce cas, la tension de sortie différentielle, définie comme VOD=VA – VB, est positive. Lorsque D est bas, les états de sortie s'inversent : B passe au niveau haut et A passe au niveau bas, et VOD est négatif.
2. Lorsque DE est faible, les deux sorties deviennent à haute impédance-. Dans ce cas, l’état logique en D n’a pas d’importance.
La table de vérité suivante s'applique au récepteur :
1. Lorsque la broche d'activation (RE) du récepteur est à un niveau logique bas, le récepteur est activé. Lorsque la tension d'entrée différentielle, définie comme VID=VA – VB, est positive et dépasse le seuil d'entrée positif VIT+, la sortie R du récepteur passe au niveau haut. Lorsque VID est négatif et inférieur au seuil d'entrée négatif VIT-, la sortie du récepteur R devient faible. Si VID est compris entre VIT+ et VIT-, la sortie n'est pas définie.
2. Lorsque RE est logique haut ou flottant, la sortie du récepteur est à haute impédance, quelle que soit l'amplitude ou la polarité du VID.


Liaison de données RS-485
Après avoir discuté des principes de fonctionnement de l'émetteur-récepteur RS-485 ci-dessus, nous allons maintenant décrire brièvement la liaison de données RS-485. Vous pouvez d’abord jeter un œil au format de trame du protocole UART, facile à comprendre.
Que le maître envoie des données à l'esclave ou que l'esclave envoie des données au maître, les lignes A et B sont utilisées ; par conséquent, RS-485 est généralement utilisé en mode semi-duplex.
Le GPIO de l'hôte contrôle la broche DE de l'émetteur-récepteur RS-485 pour définir le mode de transmission. Un seul octet est envoyé de la ligne UART TXD à la ligne de données (D ou DI) de l'émetteur-récepteur RS-485. L'émetteur-récepteur convertit le flux binaire UART asymétrique en un flux binaire différentiel sur les lignes A et B. Une fois que les données quittent l'émetteur-récepteur, l'hôte passe immédiatement l'émetteur-récepteur en mode réception.
L'esclave fonctionne de la même manière que le maître. L'esclave contrôle la broche /RE de l'émetteur-récepteur RS-485 pour le mettre en mode réception, reçoit le flux binaire envoyé par le maître, le convertit en un signal asymétrique et le reçoit via la ligne UART RXD de l'esclave. Lorsque l'esclave est prêt à répondre, il transmet les données de la même manière que le maître, tandis que le maître passe en mode réception.
Conversion RS-232 en RS-485
Il est possible de convertir entre RS-232 et RS-485. Une méthode consiste à convertir RS-232 en TTL, puis à convertir TTL en RS-485. Bien entendu, il existe également des puces prenant en charge la conversion directe de RS-232 à RS-485, et de nombreux modules de ce type sont disponibles en ligne.
Modules de conversion RS-232 vers RS-485
Différences entre RS-485 et CAN
Bien que le RS-485 ne dispose pas d'un format de protocole de données standardisé, il partage de nombreuses similitudes avec le bus CAN. Par exemple, A&B et CANH&CANL sont tous deux des signaux différentiels ; les deux nécessitent des émetteurs-récepteurs pour la communication ; et les deux utilisent des résistances de terminaison de 120 ohms, entre autres similitudes.
| Caractéristiques des autobus | CAN-Bus | Autobus RS-485 |
| Coûts du matériel | Légèrement plus élevé | Peu coûteux |
| Utilisation des autobus | Arbitrage automatique des priorités, utilisation élevée | Utilise le sondage ; faible utilisation |
| Taux de transfert de données | Haut | Faible |
| Mécanismes de détection d'erreurs | Le contrôleur comprend un mécanisme de somme de contrôle pour garantir l'exactitude de la transmission de données-de bas niveau. | Uniquement les spécifications de la couche physique ; aucune spécification de couche liaison de données |
| Impact d'une défaillance d'un-nœud unique | Aucun impact sur le bus | Paralysie des bus |
| Coûts de développement | Développement de logiciels flexible, faible coût en temps | Difficile à développer |
| Coûts du système | Relativement faible | Haut |
Circuits RS-485 courants
Voici un circuit RS-485 courant que j'ai trouvé en ligne. Il y a deux points à noter :
1. Les signaux d'activation RE et DE peuvent être contrôlés par un seul GPIO pour conserver les ressources. Lorsque le GPIO25 émet un niveau élevé, RE et DE sont 0 V et l'appareil passe en mode réception ; lorsque le GPIO25 émet un niveau bas, RE et DE sont de 3,3 V et l'appareil passe en mode de transmission.
2. Dans certains circuits, une résistance de rappel-up est ajoutée à la broche A et une résistance de rappel-à la broche B. La raison principale en est que, lorsque le bus RS-485 est à l'état inactif, le niveau de tension n'est pas fixe-c'est-à-dire qu'il fluctue entre -200 mV et +200 mV - et l'émetteur-récepteur peut émettre un niveau haut ou bas. L'UART doit maintenir un niveau élevé lorsqu'il est inactif ; si l'émetteur-récepteur émet un niveau faible à ce moment-là, l'UART l'interprète comme un bit de démarrage, ce qui peut provoquer des erreurs de communication. Les valeurs spécifiques de R_u et R_d ne seront pas discutées en détail ici ; Je prévois d'écrire un article détaillé sur ce sujet à l'avenir.

Concernant le deuxième point, veuillez noter ce qui suit :
① Si vous appliquez une-résistance pull-up à la broche A et une-résistance pull-down à la broche B, la communication des données peut échouer en raison de connexions inversées.
② Si un émetteur-récepteur est équipé de-résistances pull-pull up et pull-down, il n'est pas nécessaire d'en ajouter des externes.




