[Analogique] Protection communication bidirectionnelle UART
Répondre à la discussion
Affichage des résultats 1 à 14 sur 14

Protection communication bidirectionnelle UART



  1. #1
    Janosch

    Protection communication bidirectionnelle UART


    ------

    Bonjour!

    Je dois relier 2 MCUs (STM32F4) ensembe via UART. Ils sont tous les 2 sur 2 PCBs différents et reliés via un câble de 1.5m.
    J'aimerais bien protéger cette liaison mais j'ai trouvé trop de ressources différentes qui se contredisent sur la meilleure façon d'implémenter une protection.
    Ce que j'ai retenu c'est quand même TVS (sans surprise) + Résistance pour limiter les rebonds et le courant, mais j'ai des doutes sur comment dimensionner ça.
    Je vous mets un schéma qui me semble être une bonne base? :

    Nom : Uart Protection.png
Affichages : 124
Taille : 30,4 Ko

    L'approche vous semble ok?
    Si non: pas besoin de lire la suite.
    Si oui: comment je dimensionne les résistances?
    La TVS que j'ai trouvé est une ESDS302DBVR:
    VCL = 6V
    VBRF = 4.5 à 7.5V
    VHold = 5V
    Ipp = 12A
    Cj = 2.8pF

    Mon Uart sera à 3.3V, 115200 de baudrate.

    Ce que j'ai calculé (si il faut ça ne fait aucun sens?!):
    Capacité totale "vue" par la broche:
    Ctotale = CTVS​ + Cpiste ​+ Ccâble​ + Cbroche MCU​

    Ctotale​ = 2.8pF + 1pF + 100pF? + 5pF
    Ctotale ≈ 110pF

    À 115200 bauds, un bit dure :
    Tbit = 1115200 ≈ 8,68 μs
    Si je prends un Temps de montée/descente max ≈ Tbit / 10 :
    → trise ≈ 868ns
    et que je fixe Tau à τ < 300ns (règle 3τ)
    Rmax​ = τ / Ctotale = (300×10−9​) / (110×10−12) ≈ 2.7kΩ
    et donc 1.2kΩ par résistance (puisqu'il y'en a 2)...

    ça me paraît un peu élevé, ai-je fait n'importe quoi?

    Merci

    -----

  2. #2
    Vincent PETIT
    Animateur Électronique

    Re : Protection communication bidirectionnelle UART

    Bonjour,
    Si tes MCU sont en 5V alors les TVS que tu as choisi ne sont pas adaptées. Leurs tensions de fonctionnement VRWM (W = working voltage) est de 3.6V donc ces diodes TVS sont pour des MCU alimentés en 3.3V par exemple. Les résistances de limitation doivent placés après les TVS pour protéger le MCU si la TVS clamp. Telles que sont placées les résistances, si la TVS clamp à 6V cette tension se retrouve directement sur l'UART en plus de former un filtre.

    Ce genre de TVS sont prévues pour être très peu capacitive, les fronts du signal UART ne seront pas arrondis.
    Là où il n'y a pas de solution, il n'y a pas de problème.

  3. #3
    Janosch

    Re : Protection communication bidirectionnelle UART

    Si tes MCU sont en 5V alors les TVS que tu as choisi ne sont pas adaptées.
    Les MCU sont en 3.3V

    Les résistances de limitation doivent placés après les TVS
    Ok

    Nom : Uart Protection.png
Affichages : 87
Taille : 29,0 Ko

    Ca vous paraît ok? j'ai encore l'impression que 1k c'est beaucoup...

  4. #4
    antek

    Re : Protection communication bidirectionnelle UART

    Tu ne connais pas les impédances des entrées/sorties ?
    L'électronique c'est comme le violon. Soit on joue juste, soit on joue tzigane . . .

  5. A voir en vidéo sur Futura
  6. #5
    Janosch

    Re : Protection communication bidirectionnelle UART

    Tu ne connais pas les impédances des entrées/sorties ?
    Comme je l'ai dit c'est un STM32F4, donc j'imagine ≫ 100kΩ en entrée et ≈ 30 à 50 Ω en sortie?

    J’ai donc supposé que les résistances série que j’ajoute dominent le comportement RC de la ligne, avec la capa parasite (~100 pF sur 1,5 m de câble).
    C'est probable que je loupe des trucs, je suis juste un passionné... Je suis preneur d’une méthode plus rigoureuse si tu en as une.
    Merci!

  7. #6
    Seb.26

    Re : Protection communication bidirectionnelle UART

    Et ajouter 2x MAX232 comme c'est prévu ?
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  8. #7
    Janosch

    Re : Protection communication bidirectionnelle UART

    Et ajouter 2x MAX232 comme c'est prévu ?
    Est-ce vraiment nécessaire pour une distance de 1.5m max?

  9. #8
    Seb.26

    Re : Protection communication bidirectionnelle UART

    Citation Envoyé par Janosch Voir le message
    Est-ce vraiment nécessaire pour une distance de 1.5m max?
    tout dépend si les 1.5m restent 1.5m ... et du bruit ambiant ...
    --> probablement pas nécessaire, mais c'est facile, c'est pas cher, ça va isoler tes signaux, ça existe en petits modules prêts à l'emplois ...etc... et zero risque de mauvaises surprises plus tard.

    à toi d'arbitrer ensuite, tu as le contexte
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  10. #9
    Vincent PETIT
    Animateur Électronique

    Re : Protection communication bidirectionnelle UART

    Citation Envoyé par Janosch Voir le message
    Ca vous paraît ok
    Oui, là les composants sont dans le bon sens. C'est à dire que si la TVS clamp à 6V en cas d'ESD alors tu limites le courant qui ira dans le MCU à 2.7mA. Imagine que V1 = D1 en train de maintenir sa tension Vclamp et V2 = MCU1_TX à 3.3V.

    Nom : Capture108.PNG
Affichages : 75
Taille : 6,3 Ko

    Dans ton premier schéma c'est la résistance qui aurait été prise en sandwich entre une tension ESD (de 4kV à 8kV) et le 6V de clamp de la TVS. (4000V - 6V)/1000 = 3.9A de limitation de courant, même si une ESD est une impulsion très courte la résistance aurait finie par casser.

    Pour la valeur de la résistance c'est en effet un compromis entre son effet sur les fronts du signal UART, on peut entrer dans les calculs mais on peut aussi mettre au point en vérifiant à l'oscillo simplement.

    Citation Envoyé par Janosch
    Est-ce vraiment nécessaire pour une distance de 1.5m max?
    Si le blindage du câble est continue de carte en carte il y a toutes les chances que tu puisses te passer d'une couche physique RS232. L'avantage du RS232 c'est son codage Manchester, les niveaux logiques ne dépendent pas de la tension à l'état haut et celle à l'état bas, mais de leurs transitions. Ce sont les fronts montant/descendant qui définissent les états logiques. Donc même si les états logiques sont bruités, ça n'a pas d'importance, c'est les fronts qui vont servir. En terme d'immunité le RS232 apporte un plus à l'UART et le RS485 encore plus.
    Là où il n'y a pas de solution, il n'y a pas de problème.

  11. #10
    umfred

    Re : Protection communication bidirectionnelle UART

    Pour le coup, si on rajoute un MAX, ce sera plutôt le MAX3232 qui s'alimente à partir de 3V plutôt que le MAX232 qui est en 5V.
    L'avantage de passer par les MAX, c'est que tu peux y brancher n'importe quel appareil RS232 derrière

  12. #11
    Janosch

    Re : Protection communication bidirectionnelle UART

    J'ai regardé et je pensais que le RS232 était plus coûteux et demandait plus de composants que ça, mais en fait ça coûte 0.27€ , il faut 5 condensateurs, et voilà!
    Du coup je pense que je vais partir sur un SP3232EEY-L/TR (SP3232) qui est compatible 3.3V...
    C'est plus robuste pour le même prix, je perds juste un peu de place PCB...

    Merci pour les explications en tout cas Vincent!

  13. #12
    Seb.26

    Re : Protection communication bidirectionnelle UART

    Citation Envoyé par Vincent PETIT Voir le message
    L'avantage du RS232 c'est son codage Manchester, les niveaux logiques ne dépendent pas de la tension à l'état haut et celle à l'état bas, mais de leurs transitions. Ce sont les fronts montant/descendant qui définissent les états logiques. Donc même si les états logiques sont bruités, ça n'a pas d'importance, c'est les fronts qui vont servir. En terme d'immunité le RS232 apporte un plus à l'UART et le RS485 encore plus.
    ??? ... heu t'es sûr de toi là ? ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  14. #13
    jiherve

    Re : Protection communication bidirectionnelle UART

    bonjour
    on peut encoder en Manchester une liaison de type "232" si l'on se limite au niveaux(+V,-V) ,mais alors ce n'est plus de la 232.

    JR
    l'électronique c'est pas du vaudou!

  15. #14
    Vincent PETIT
    Animateur Électronique

    Re : Protection communication bidirectionnelle UART

    Citation Envoyé par Seb.26 Voir le message
    ??? ... heu t'es sûr de toi là ? ...
    Oups, autant pour moi, tu as raison le RS232 n'utilise pas le manchester. La détection des niveaux logiques ne se fait pas sur des fronts.
    Là où il n'y a pas de solution, il n'y a pas de problème.

Discussions similaires

  1. [Exercices] interface de communication UART SPI I2C
    Par invite0794655c dans le forum Électronique
    Réponses: 14
    Dernier message: 08/01/2018, 19h38
  2. [Analogique] Communication UART et GND
    Par invitef4f3971b dans le forum Électronique
    Réponses: 17
    Dernier message: 13/04/2016, 09h22
  3. [RF/Radioelec] Communication bidirectionnelle entre deux µc
    Par invite96bb6886 dans le forum Électronique
    Réponses: 8
    Dernier message: 10/01/2016, 21h49
  4. Communication uart STM32F4
    Par invite0ae9a443 dans le forum Électronique
    Réponses: 8
    Dernier message: 22/06/2015, 13h08
  5. communication UART
    Par invitea302684b dans le forum Électronique
    Réponses: 0
    Dernier message: 07/01/2010, 08h53
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...