L’analyse de bus serie par materiel

Publié par Nicolas le

analyse de bus serie par materiel

L’analyse de bus serie par materiel.

Accueil » Test & Mesure » L’analyse de bus serie par materiel
analyse de bus serie par materiel

Un article sur la pertinence de l’analyse de bus de communication serie (RS232, RS485…) par matériel, comparée aux analyseurs purement basés sur logiciel.

L’article suivant tente d’approfondir la  question : “Pourquoi utiliser un analyseur d’interface série matériel alors que l’on trouve des  analyseurs en logiciel  à chaque coin de rue ? “Il doit y avoir un avantage caché.

Nous vous assurons qu’il y a de nombreux avantages évidents avec des caractéristiques que les solutions logicielles ne peuvent pas fournir.

Les différences générales

L' Analyse par Logiciel

Acquisition des données.

Pour avoir accès aux données transférées, il faut acquérir le signal des données, le décoder et le transmettre vers le PC via un convertisseur USB RS232/485. En général, un convertisseur ne peut pas déterminer si le signal appliqué est correct ou non. Seule une solution faisant appel à un matériel  dédié peut accomplir cette tâche.

Cas du RS485.

Les signaux RS485 peuvent être directement prélevés  à partir du bus et passés au convertisseur. Une seule voie est nécessaire car les données émises et leurs réponses sont transférés sur les mêmes fils du bus (2 fils, bidirectionnel). Comme le convertisseur ne peut pas renseigner sur l’état inactif  du bus (non piloté, tri-state ou flottant) on ne peut pas detecter et traiter cette information importante. De même, il est impossible de determiner la direction et la source des données.

Cas du RS232.

Les données RS232 circulent sur deux lignes : Rxd (émission ) et Txd (réception).  Il faut capter et référencer dans le temps les deux flux de données pour analyser la séquence des données. Le prélèvement se fait par l’intermédiaire d’adaptateurs “X” ou “Y”. Les deux types ont en commun d’avoir deux  prises pour une connexion directe.

 Le type “X” transmet les signaux à deux convertisseurs RS232 vers USB. Les données doivent être combinées à partir de deux canaux d’entrée. La relation temporelle entre les canaux ne sera établie  que partiellement, en raison de la variation des temps de traitement à l’intérieur du PC.

Le type “Y” utilise une logique à diode pour combiner les deux canaux série à un canal qui est transmis au convertisseur. Il ne faut pas utiliser cette combinaison si les flux de données sont inconnus car :

Adaptateurs pour RS232

Les différents types d’adaptateurs RS232 comparés au MSB-RS232

Les flux de données simultanés à Rxd et Txd interfèrent et produisent des caractères illisibles. En outre, le récepteur ne sait pas si les données reçues proviennent de Txd ou de Rxd. Il appartient donc à l’utilisateur de trier les caractères individuels.

(Dés)avantages

L’avantage de cette solution logicielle est certainement un prix attractif.  Des prix raisonnables ou des programmes gratuits existent si l’adaptateur et le convertisseur sont fournis par l’utilisateur.

Mais de graves inconvénients s’y opposent :

Il est difficile d’établir une relation temporelle entre les différents caractères. Leur attribution n’est pas  facile et s’effectue seulement avec une résolution approximative de l’ordre de la milliseconde. Les raisons sont les différences de réaction et du temps de traitement à l’intérieur du PC. Les datations ne  sont pas figées  directement lorsque les événements se produisent dans le bus, mais beaucoup plus tard, lors de la lecture des données à partir du tampon de données.

Il manque également des informations supplémentaires importantes :

Le bus est-il actif ou non ? Des évènement de contrôle valident-ils correctement les données ? Quelle est la direction des données ? Et plus encore.

L’analyse de bus serie par materiel

Contrairement aux solutions purement logicielles, l’analyseur matériel capte lui-même les signaux sur le bus et les achemine vers l’unité de traitement. Tous les signaux – pour le RS232 toutes les lignes modem – sont traités, décodés et tous les événements qui se produisent sont directement marqués par un horodatage.  Une unité d’enregistrement spéciale, unique pour chaque signal, peut détecter les états de bus inactifs (à trois états). C’est une information importante, en particulier pour le RS485, pour examiner la direction des données et l’activation correcte du bus. Les données horodatées de l’unité d’enregistrement sont envoyées au PC pour traitement, stockage et affichage ultérieurs. Bien sûr, plusieurs analyseurs peuvent être synchronisés, de sorte que toutes les données reçoivent le même horodatage.

Quel est l' avantage?

En développant notre propre système de mesure, nous sommes totalement indépendants des possibilités d’examen limitées et peu fiables du matériel informatique. Grâce à la technologie de pointe des réseaux de portes logiques, toutes les unités de traitement nécessaires intègrent déjà  l’analyseur, et pas seulement dans le PC.

Le contenu du réseau de portes est programmable. Donc il sera possible de modifier la fonctionnalité de l’analyseur, à tout moment en tant que matériel flexible avec son firmware. Cela permet une adaptation rapide aux exigences des différentes applications, simplement en utilisant les derniers logiciels d’exploitation.

Découvrez quelques avantages en détail.

Découvrez les séquences de données et les timings réels.

Comment fonctionne la solution logicielle ?

Les solutions basées sur des logiciels purs sont sensibles aux temps de réaction et  de traitement non uniformes du système d’exploitation et des demandes d’interruption (temps de latence). L’utilisation de convertisseurs RS232/485 vers USB ajoute les délais du sous-système USB.

Les horodatages qui en résultent sont les dates de traitement des interruptions du système d’exploitation. Mais pas les dates réelles des événements lorsqu’ils se produisent. Surtout lorsqu’une seule entrée est utilisée pour examiner Rxd et Txd. Donc vous ne pouvez pas être sûr de voir l’ordre réel des données transmises sur Rxd et Txd.

Dans le pire des cas, l’ordre des données enregistrées est faussé. Il n’y a pas de problème si les deux appareils envoient leurs données en alternance avec un certain temps entre les paquets de données. Mais dès que les émetteurs les envoient en même temps, il y aura des informations contradictoires. Même en utilisant deux entrées pour l’enregistrement, il n’y a aucune information sur les relations temporelles correctes des canaux et/ou des signaux. En général, on obtient  des précisions de l’ordre de la milliseconde uniquement.

    Des lacunes en timing.

    Essayez d’obtenir des informations précises sur le temps de réaction :

    • Combien de caractères circulent encore après l’arrêt du RTS ?
    • À quelle vitesse un appareil exécute-t-il la demande de données ?
    • Les flux de données se chevauchent-ils en raison d’un traitement ou d’une réaction incorrecte ?
    • Les temps de pause dans les protocoles dépendant du temps sont-ils corrects ?

      Et bien d’autres questions. Une résolution de quelques millisecondes est très insuffisante. Avec une transmission à 115200 bps, 10 caractères partent en une milliseconde ! Avec les systèmes RS485 à 10Mbps, cela représente déjà 1000 caractères par milliseconde. Donc impossible d’obtenir une évaluation exacte par le matériel du PC seul.

      De fait, les solutions purement logicielles ne peuvent pas fournir toutes ces informations. En effet,  elles sont basées sur un matériel informatique insuffisant et inadapté. En résumé, il n’a pas été conçu pour résoudre ce problème.

      Que fait l'analyseur matériel ?

      Chaque changement de niveau de signal, y compris les niveaux à trois états mentionnés ci-dessus, se verra marqué par des horodateurs continus. Et ce, avec une résolution d’une microseconde ou même de 10ns. En outre, les données sur Rxd et Txd sont décodées en sur-échantillonnage et également marquées  en temps.

      Le programme d’exploitation recevra tous ces “événements”. Il les évaluera  de manière plus approfondie sous différents formats, pour les afficher.

      En marquant immédiatement les données avant qu’elles ne soient transférées par USB au PC, il n’y a aucune dépendance vis-à-vis des temps de réaction et de retard du système d’exploitation mentionnés ci-dessus.

      De plus, l’analyseur dispose également de sa propre mémoire tampon de 512 ko pour absorber les irrégularités de fonctionnement et les temps de réponse du PC d’exploitation. Cela permet d’éviter les lacunes dans les données au plus haut débit. Les données réelles, en revanche, se retrouvent stockées directement sur le PC.

      Il est maintenant facile de trouver les réponses aux questions ci-dessus. Avec un enregistrement de signal totalement indépendant et une résolution d’une microseconde et moins, on peut identifier les zones de transmission problématiques éventuelles.

      Seule une analyse de bus serie par matériel peut offrir les fonctionnalités suivantes, nous ne le comparons donc pas à une solution logicielle.

      Voir la logique derrière les signaux.

      Une fois que les signaux et leurs variations de niveau ont été enregistrés dans une échelle de temps, il est facile de les afficher sous une forme similaire à celle d’un oscilloscope. L’analyse de bus serie par matériel échantillonne même les canaux série RxD et Txd et leurs séquences de bits. Elle peut ensuite les visualiser dans la fenêtre Scope du programme d’exploitation MSB.

      Ainsi, l’analyseur peut être utilisé comme un oscilloscope logique avec une résolution de 1 ou 100 MHz. Les trois états logiques du signal peuvent être affichés pour une mesure.

      Cela permet-il de détecter les erreurs de transmission ?

      Trois principales erreurs de transmission peuvent se produire. La première  est un temps de réponse incorrect ou insuffisant d’un appareil à l’autre. Si la réaction est trop lente, une surcharge de l’unité de calcul pourrait en être la raison. Au final, cela pourrait entraîner une perte de données. Les violations des délais du protocole sont également fréquentes et conduisent à une mauvaise interprétation des flux de données.

      Deuxième erreur : un problème similaire peut survenir si la réponse au changement de ligne de contrôle de protocole est trop lente en RS232. Si la ligne RTS bascule sur Stop, la transmission de données doit cesser rapidement. Idéalement, après l’envoi du caractère actuel. Si l’expéditeur envoie beaucoup plus de caractères ou, dans le pire des cas, ne pense même pas à arrêter l’envoi, des débordements et des pertes de données se produiront sporadiquement. Ceci parce que le récepteur ne peut pas lire sa mémoire tampon interne assez rapidement.

      La troisième erreur est rare, mais elle se produit néanmoins.  Des outils insuffisants  peuvent ne pas la détecter. Les données en série elles-mêmes peuvent être erronées. La vitesse de transmission peut être irrégulière ou changer. Le programme d’exploitation lui-même en est la cause involontaire. De plus, l’émetteur série peut également être défectueux et produire des temps de bit erronés.

      Dans ce cas, le récepteur série MSB génère des erreurs de trame. Si vous synchronisez l’affichage des lignes Rxd et Txd avec ces erreurs, vous pouvez voir directement à quoi ressemblait le flux de données au moment des erreurs.

      Traitement de toute vitesse de transmission ?

      Une caractéristique que l’on ne trouve nulle part ailleurs, est la possibilité de régler le débit des canaux série à mesurer avec  une valeur comprise entre 1bps et 1Mbps (20Mbps pour MSB-RS485-Plus). Elle s’accompagne d’ une précision moyenne supérieure à 1/10 pour cent (1 pour mille). Bien entendu, vous pouvez également mesurer le débit de la connexion à examiner avec cette précision.

      Pourquoi la haute résolution est-elle importante ?

      En cas de transmission asynchrone, le récepteur se synchronise et commence son acquisition de données avec le front négatif du bit de départ. Avec une horloge de travail normale de 16 fois le débit binaire, on sur-échantillonne les données 16 fois, en commençant après les 8 premiers front d’horloge du bit de départ. Ainsi, on capture les bits en leur milieu que l’on suppose  être stable, avec 8 fronts d’horloge avant et 8 après le point d’échantillonnage.

      Pour 8 bits de données plus le bit de départ et le bit d’arrêt, on échantillonne le dernier bit (bit d’arrêt)  après des horloges de 8+9*16=152 fronts.

      Supposons maintenant qu’un générateur de débit binaire ne soit pas exact, mais présente un écart de 4 %. Ou bien les générateurs de l’émetteur et du récepteur n’ont que deux pour cent de déviation chacun, mais dans des directions différentes. Il en résulte une différence de 152*0,04 = environ 6 coups d’ horloges. Ceci, pour l’échantillonnage de l’ensemble de l’octet de données. Donc, on échantillonne le dernier bit qu’après 158 horloges , dans les limites du stop bit.

      Echantillonnage des signaux série

      Figure 2: le sur-échantillonnage par 16 assure la mesure

      Il peut en résulter une interprétation incorrecte des données. Et cela se produira si le signal physique n’est pas parfait, à cause d’émetteurs ou de récepteurs lents, de longs câbles ou de capacités d’entrée élevées. Un débit binaire élevé augmente également la probabilité de détection de bits incorrects. Et si l’écart total est supérieur à 4 %, vous pouvez être sûr que les appareils fonctionnent mal.

      Ne laissez pas le débit binaire dévier de plus de trois pour cent. Malheureusement, les appareils modernes ne disposent pas de leur propre générateur de débit pour des raisons de coût. De fait, l’horloge des bits provient de l’horloge du système. Sa fréquence n’est souvent pas adaptée à une division directe à l’horloge binaire pour les débits de transmission habituels. Ainsi, il a du falloir établir des compromis et des erreurs sporadiques et évidentes sont « préprogrammées ».

      Baud rates classiques et inhabituels

      L’analyseur MSB peut mesurer automatiquement le débit de transmission sur les deux lignes série et fournit des indications sur une mauvaise correspondance entre les deux appareils. L’affichage de l’état donne des avertissements si le taux de transmission mesuré s’écarte de plus de trois pour cent de celui du réglage.

      Avec la possibilité d’enregistrer des données à tout moment, ils peuvent également examiner les connexions avec des débits de données inhabituels. Cela se produit parfois dans les systèmes où l’horloge du système synchronise directement  l’horloge de transmission. Le débit en baud qui en résulte n’est pas un multiple de 9600, mais n’importe quoi d’autre et les PC ne peuvent pas les décoder.

      Enquête sur les protocoles de transmission inconnus.

      L’analyseur utilise son propre matériel pour examiner les données de transmission en série. Il est donc facile d’utiliser ses capacités pour examiner le protocole de transmission afin de connaître le format de données utilisé.

      Une mesure précise du débit binaire permet au récepteur d’échantillonner les bits avec précision. D’autres étapes de traitement examinent le flux de données pour savoir combien de bits d’application sont transmis par caractère et si le bit le plus élevé est utilisé comme parité.

      Quand cet examen est-il nécessaire ?

      Parfois, le format réel des données est inconnu si vous devez examiner d’anciens appareils dont la description de l’interface a été perdue. Ou vous n’êtes pas sûr que l’émetteur ajoute vraiment un bit de parité correct. Vous devez toujours vérifier la structure des données avant d’examiner la communication.

      Il suffit d’insérer l’analyseur dans la connexion active, d’appuyer sur “Scan” et après quelques caractères décodés, vous obtiendrez des informations sur le format de données probable.

      Influence sur la communication RS232

      En interrompant les lignes d’interface et en les faisant passer par un réseau de portes, certaines options supplémentaires sont disponibles en option. Les signaux ne doivent pas être connectés directement 1 pour 1, mais peuvent être recâblés, inversés et manipulés. Il est possible d’utiliser la fonction de re-bouclage, de commuter, d’interrompre et de modifier les lignes de protocole. Même l’état ouvert (tristate) est pris en charge pour interrompre complètement les lignes.

      Les données peuvent également être envoyées manuellement, individuellement ou avec une distance précisément définie entre les caractères. L’indépendance des temps de latence des PC permet la création de flux de données totalement homogènes.

      Le schéma de prélèvement et de réception des échantillons peut également être modifié. Toutes les lignes peuvent être employées pour transporter des données en série.

      Un éditeur graphique avancé permet de dessiner facilement toutes sortes de schémas pour connecter les entrées et les sorties des connecteurs de l’analyseur entre eux ou à d’autres objets tels que les récepteurs ou émetteurs ou les inverseurs série. La seule limite est que les broches d’entrée ne peuvent pas devenir des sorties et vice versa.

      Quels sont les avantages de cette option ?

      Il y a ici trois applications de base.

      Tout d’abord, vous pouvez gagner du temps pour construire un adaptateur approprié lorsque vous utilisez des lignes inhabituelles à des fins de données et de contrôle. Il est également possible de créer des adaptateurs avec rebouclage pour les tester.

      Le deuxième domaine d’application est la commutation active des lignes de commande. Il est donc facile de simuler les réactions ou les inversions des protocoles. Surtout dans les phases  de développement de l’interface, cet accès supplémentaire aux lignes de contrôle est d’un grand avantage. La vérification des réactions aux protocoles RTS/CTS et DTR/DSR est désormais facilitée.

      La troisième façon d’utiliser la fonction de commutation est également la plus importante. Vous pouvez interrompre le flux de données et injecter manuellement des données à la place. Pendant que la communication normale est interrompue, vous pouvez envoyer des données aux deux appareils et en recevoir de ceux-ci pour définir de nouvelles configurations ou lire l’état actuel.

      Si vous envoyez des données avec une séquence aléatoire ou spécifique à l’application avec un espacement décroissant entre les caractères, vous pouvez facilement déterminer la quantité de données que l’appareil peut traiter avant qu’un débordement de données ne se produise. De nombreux tests d’appareils peuvent être effectués manuellement.

      Examiner les différents segments de bus RS485.

      Le mode segment est une fonctionnalité puissante de l’analyseur RS485 pour trouver des activités ou des données erronées sur le bus. Lorsque deux ou plusieurs appareils partagent le même bus, il est difficile, voire impossible, d’attribuer les données défectueuses à un appareil spécifique.

      Mais souvent, on a au moins une idée de l’appareil qui ne fonctionne pas correctement. Si ce périphérique, ou un groupe de périphériques, peut être considéré comme isolé du reste du bus, il est également facile de lui attribuer les données.  C’est la spécialité du mode » segment ».

      Analyse de segments avec MSB

      Figure 3 : Sur une configuration typique multi-segments, l’analyseur s’insère sur l’un d’eux

      Comment y parvenir ?

      Le bus est interrompu et passe à travers l’analyseur, créant ainsi deux segments de bus. L’analyseur s’assure que les données sont correctement transférées entre les deux segments et détermine la direction des données.

      Grâce à ces informations, les données peuvent être affectées aux deux segments. En faisant varier les segments, les appareils qui nous intéressent peuvent être facilement isolés du reste.

      Sinon, que peut faire l'analyseur d'autre pour vous ?

      Les avantages mentionnés ci-dessus reposent tous sur le concept matériel indépendant et unique de l’analyseur MSB d’IFTOOLS. Bien entendu, de nombreuses autres caractéristiques et fonctions sont implémentées dans le matériel et les logiciels. De nombreuses méthodes de mesure, d’affichage et d’enregistrement permettent de suivre la communication.

      Un concept de logiciel exceptionnel.

      Le concept MultiView permet d’ouvrir un nombre quelconque de fenêtres d’analyse et d’affichage en même temps. Elles seront relatives à  différentes sections des données enregistrées, indépendamment ou de manière synchronisée.  (cf Fig. 4 )

      Décodage Modbus RTU avec télégrammes en erreur

      Figure 4 : Les multiples fenêtres et le décodage du protocole en couleurs

      Il n’est pas non plus toujours évident de visualiser et d’analyser les données pendant l’enregistrement. A cet effet, on pourra visualiser les données à différents niveaux. C’est à dire, du niveau du signal logique au niveau de l’octet et à la représentation sophistiquée du protocole.

      Il convient de souligner en particulier la capacité grandiose d’afficher en détail et de subdiviser par couleur n’importe quel enregistrement de données. Un grand nombre de protocoles sont fournis en standard, et d’autres sont à venir.

      Mais même si l’analyseur ne prend pas (encore) en charge le protocole de votre application ou si vous souhaitez examiner les structures de données propres à votre entreprise, cela ne pose aucun problème.

      Grâce au langage de script intégré Lua, vous pouvez améliorer vous-même l’affichage du protocole utilisé, ce qui est unique au monde.

      Développement permanent.

      L’analyseur  reçoit constamment des perfectionnements. De nombreuses fonctionnalités supplémentaires viendront étendre les capacités et les avantages. Ils arriveront  sous forme de nouvelles version logicielles à télécharger sur notre site web. Gratuitement, bien sûr.

      Plus d'informations

      Les analyseurs d’IFTOOLS sont présentés sur ces pages.

      Ils sont également commercialisés sur notre site marchand.

      Catégories : Test & Mesure

      0 commentaire

      Laisser un commentaire

      Emplacement de l’avatar

      Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *