La comunication par port série fait référence à une méthode de communication qui transmet des données bit par bit via des lignes de signal de données, des lignes de masse, etc. entre des périphériques et des ordinateurs, ou entre des périphériques et des périphériques. Le format de communication de cette méthode de communication comprend le bit de démarrage, le bit de données, le bit de parité et le bit d'arrêt, comme illustré dans la figure ci-dessous. La communication par port série se caractérise par un faible coût mais une vitesse de transmission lente. La distance de communication du port série peut aller de quelques mètres à plusieurs milliers de mètres.
Ce qui précède présente brièvement la communication par port série, puis entrons dans le sujet. Les instructions pour résoudre les problèmes de communication série sont essentiellement les parties suivantes, comme indiqué sur la figure.
1. Vérifiez le middleware
La communication série doit avoir une extrémité émettrice et une extrémité réceptrice, et les deux passent par un middleware (tel que des câbles). Si vous rencontrez des problèmes, vous devez d'abord vous assurer que les câbles sont connectés normalement. Si cette partie n'est pas déterminée, vérifiez directement les autres directions, elle est susceptible de faire un travail inutile.
2. Vérifiez la couche matérielle
Utilisez des analyseurs logiques, des oscilloscopes et d'autres instruments pour déterminer si les formes d'onde des broches de l'extrémité émettrice et de l'extrémité réceptrice sont normales lorsqu'elles émettent, reçoivent et sont inactives. Lorsque le port série est inactif, il est de niveau haut et le niveau ne change que lorsqu'il y a des données. En même temps, il est nécessaire de confirmer si la tension est normale. La position de la mesure de la forme d'onde est d'abord mesurée à partir du point final, puis les points de détection dans la partie médiane sont vérifiés afin de déterminer la position du problème.
Si vous constatez une déformation de la forme d'onde, une distorsion, une tension anormale, etc., veuillez demander à l'ingénieur matériel de vous aider dans l'enquête. La forme d'onde peut être vue à son point de départ, mais pas à son point final.Il est nécessaire d'utiliser un multimètre pour déterminer s'il y a un joint de soudure sur la broche.
3. Vérifiez la couche du pilote série
S'il n'y a pas de problème avec le matériel après le dépannage, mais qu'il n'y a pas de forme d'onde sur le port série à l'extrémité émettrice, vous devez vérifier convertisseur série rs485 vers ethernet si le pilote du port série est correctement configuré. Vous pouvez d'abord court-circuiter les broches Tx et Rx de l'extrémité émettrice pour effectuer un test de bouclage. Il est préférable de tester d'abord avec une routine simple, en essayant d'exclure les effets de plusieurs variables. Lors du dépannage, une attention particulière doit être accordée non seulement à la logique du code, mais également à l'attention au débogage réel et à l'utilisation de la fenêtre de débogage du logiciel pour observer les valeurs des registres associés.
4. Couche de protocole d'application
Grâce à l'enquête dans les directions ci-dessus, il peut être prouvé qu'il n'y a pas de problème avec la collecte spontanée. Ensuite, vérifiez si les deux parties peuvent communiquer normalement. Les problèmes qui peuvent exister au niveau de la couche de protocole d'application incluent :
① Il y a un problème avec le protocole de données entre l'extrémité émettrice et l'extrémité réceptrice, comme le CRC, la vérification de l'en-tête et de la fin de la trame et l'analyse des paquets de données.
② Les paramètres de configuration du port série de l'extrémité émettrice et de l'extrémité réceptrice : le débit en bauds et le chiffre de contrôle sont incohérents, ce qui entraîne l'impossibilité de communiquer.
De plus, vous devez également faire attention aux points suivants :
①Parce que le signal est facilement perturbé, il est recommandé d'utiliser un câble blindé, et le câblage doit être strict, et il est préférable de mettre à la terre s'il doit être mis à la terre. Pour certaines communications 485, il est également nécessaire d'envisager de connecter une résistance terminale pour correspondre. S'il s'agit d'une communication RS232, essayez de ne pas trop allonger la ligne.
②Parce qu'il y a des erreurs dans le débit en bauds calculé par de nombreux appareils via l'oscillateur à cristal externe ou l'horloge interne. Dans ce cas, si le message est trop long, les erreurs s'accumuleront, puis le port série reconnaîtra les caractères tronqués ou ne les recevra pas.
③Dans certains endroits où il peut y avoir des interférences, vous pouvez envisager d'utiliser la parité impaire ou la parité paire, afin que les messages erronés puissent être filtrés ou que certains protocoles de vérification des données soient utilisés autant que possible pour éviter les erreurs de données.