Analyse de protocole série

Règles du forum
Cette section est dédié a vos projets, descriptions et demandes d'aide.
Merci de limiter le nombre de sujet par projets.
Lorsqu'un sujet deviens long vous pouvez éditer le premier message pour maintenir à jour le descriptif et garder en lisibilité
Avatar de l’utilisateur
Airman
Electrolab::CA
Messages : 361
Enregistré le : 13 oct. 2016, 22:04

Analyse de protocole série

Messagepar Airman » 04 nov. 2020, 14:46

Bonjour,
En cette période de confinement, j'ai 2-3 projets que j'aimerais reprendre et qui nécessitent un peu d'analyse de protocole série. On est sur du max 20kBps. J'ai du synchrone et de l'asynchrone.

Je cherche donc une solution d'acquisition + traitement / analyse multi protocole série. J'ai bien un mini module FTDI mais il faut regarder au scope pour déterminer en gros le débit puis configurer en spy le module avec le bon débit et le protocole supposé et tester. Bref, un truc long et bien lourd à faire.

Je me suis donc orienté vers des solutions du type oscilloscope USB avec soft qui fait de l'analyse et je suis tombé sur la gamme picoscope 2000 dont le modèle de base 2204a, 2 voies 10MHz / 100 Mech me parait pas mal. Le soft est multiplateforme avec de l'analyse de protocole série.
Est-ce que quelqu'un a un retour d'expérience sur cette solution ?

Une meilleure idée ?
Avatar de l’utilisateur
F1OAT
Electrolab::Membre
Messages : 93
Enregistré le : 04 mars 2017, 19:28
Contact :

Re: Analyse de protocole série

Messagepar F1OAT » 04 nov. 2020, 19:18

Hello,
De mon côté j'ai un analyseur logique 8 canaux à 10€ : https://www.amazon.fr/AZDelivery-Logic- ... B01MUFRHQ2
Il y a des décodeurs pour toutes les liaisons séries classiques (asynch, can, i2c, hdlc, spi, etc ...).
Et même la possibilité d'ajouter des décodeurs maison. Je me suis servi de cette possibilité pour le reverse de la liaison d'une vielle commande de télescope.
Frédéric.
Avatar de l’utilisateur
Flax
Electrolab::CA
Messages : 1592
Enregistré le : 01 mars 2017, 20:46
Contact :

Re: Analyse de protocole série

Messagepar Flax » 06 nov. 2020, 10:17

Les picoscope on en utilise au taf, on les fournit aux softeux pour pas qu'ils nous abîment nos beaux oscilloscopes :p
Ça marche bien, comme tout oscillo USB c'est un peu moins pratique à utiliser qu'un vrai oscillo, mais ça fait parfaitement le taf. Il faut faire gaffe aux tensions qu'on met dessus, c'est plus fragile qu'un oscillo dédié, mais de tête c'est ok pour de la com (limite à +/-50V en entrée je crois de tête). Après, c'est un peu trop cher pour ce que c'est, mais c'est du vrai matos, et c'est distribué chez les vrais fournisseurs (Farnell, Mouser ...) donc tu as des garanties de te le faire livrer en temps de chaînes d'appro troublées (au hasard : pendant un confinement ...). Enfin, pas chez Mouser en ce moment, élections US + confinement ils garantissent pas trop les délais ...
Par contre 10MHz de BP ... C'est très très bas, normalement il vaudrait mieux tabler sur 60MHz voir 100MHz, mais chez Pico c'est pas le même prix. Après, pour de la liaison série asynchrone ça va pas souvent au-delà de 115kbps, en UART en tous cas (perso j'ai réussi à faire du ~500kbps sur le VCOM d'une Nucleo cortex M7, mais yavait des erreurs de com), parce qu'en USB c'est même pas la peine d'y penser. Donc si tu veux t'en servir uniquement pour analyser des UART ça va le faire, par contre ça fait ptet cher si c'est limité à ça.
Avatar de l’utilisateur
Eric
Electrolab::Référent
Messages : 476
Enregistré le : 09 mars 2017, 10:09
Localisation : Electrolab
Référent : Zone Élec

Re: Analyse de protocole série

Messagepar Eric » 06 nov. 2020, 12:53

Hello,
Les analyseurs logiques USB de marque Saleae (ou leur clones) que te proposent les collègues utilisent en principe le même logiciel que tu peux télécharger ici : https://www.saleae.com/fr/downloads/
Il y a mode de démonstration qui permet d'évaluer les fonctionnalités sans disposer du hardware.

Quand on travaille avec un analyseur logique - qui ne capture que des '0' ou des '1' à l'aide d'un comparateur rapide (1) - c'est toujours intéressant de regarder de temps en temps les signaux avec un oscilloscope, afin d'avoir une vision analogique de la chose.
Cela permet de voir les glitches et les parasites qui obèrent le taux de transfert voire font planter la liaison série et qui ne sont pas toujours aisés à discerner sur un analyseur logique (car les caractéristiques d'entrée des transceivers de bus série peuvent être différentes des étages d'entrée de l'analyseur logique).

Exemple ci dessous d'une liaison I²C avec des parasites (partout) et des glitches (comme le pic à droite). La mesure est faite à l'aide d'un oscilloscope.
L'image m'a été envoyée il a qq temps par un pote qui peine à communiquer avec des capteurs I²C. Mais au vu de l'image, ses problèmes ont un début d'explication.
Les parasites proviennent notamment d'un moteur triphasé (situé tout près) et alimenté par un variateur (drive) mono -> tri.

I²C_parasité.PNG
I²C_parasité.PNG (571.37 Kio) Vu 2207 fois


Beaucoup d'oscilloscopes numériques (dont le Rigol du lab (2)) intègrent des décodages de liaisons série et tu as, avec un seul appareil, une vue analogique du signal sur le bus ainsi que leur décodage en hexadécimal ou en ASCII.
Attention toutefois aux liaisons symétriques tel que RS422 et RS485 qui ne sont pas référencées à la masse et ne peuvent être auscultées sereinement avec un oscilloscope classique (dont la masse est toujours reliée à la terre) sans prendre qq précautions.

Si tu ne veux qu'un oscilloscope (sans fonction de décodage) pour vérifier les signaux de ton bus série, vu la fréquence de tes liaisons (max 20kBps) même un truc comme cela (3) convient : https://fr.aliexpress.com/item/4000219244201.html (1 voie 12 bits, 1MS/s, BP = 200 kHz)


Eric
...prend de la bande passante




(1) comparateur rapide de préférence avec un peu d'hystérésis ou mieux, avec un 'dead band' réglable pour les modèles haut de gamme
(2) mais aussi chez Siglent, Owon, UNI-T, Micsig,.. (éviter Hantek dont les firmwares sont buggés)
(3) truc : on peut pas vraiment parler d'oscilloscope à ce niveau mais cela affiche bien un signal en fonction du temps

Retourner vers « Les Projets »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité