IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Embarqué Discussion :

RS232 en mode synchrone


Sujet :

Embarqué

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2019
    Messages : 4
    Points : 2
    Points
    2
    Par défaut RS232 en mode synchrone
    bonjour, il est clair que RS232 a deux modes, asynchrone et synchrone. Et, le mode asynchrone est le plus utilisé. Mais, dans mon projet je suis obligé de synchroniser la transmission entre rs232 et un microcontrôleur et je ne sais pas quel pin doit recevoir le signal d'horloge. J'ai tombée sur 3 pins ( CD, CTS et RTS). et je ne sais pas quel est la correct entre ces 3.

  2. #2
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 190
    Points : 11 573
    Points
    11 573
    Par défaut
    Salut,
    RS232 est un format de couche physique qui décrit des niveaux de tensions (+12V et -12V par exemple) et un codage de l'information (NRZ) rien de plus.

    Mais ce qui est avant le RS232 dans le PC peut ou pas faire de la communication synchrone. Si c'est un USART c'est bon, si c'est un UART c'est pas possible.
    Faut voir ce qu'il y a dans ton PC.

    Côté microcontroleur, par exemple celui du Arduino UNO sait le faire et il y a une broche bien identitée qui servira soit à générer une horloge (si le micro est le maître) soit recevoir une horloge (si le micro est l'esclave).
    Sur un connecteur DB9 je ne vois pas de broche qui soit une entrée ou sortie horloge.


    Mais sur un connecteur DB25 il semble y avoir les bonnes broches qu'il te faut. Ce sont vraiment les très vieux PC qui sont équipés de ce type de connecteur série.
    Nom : rs232.gif
Affichages : 958
Taille : 34,2 Ko


    Ps: je suis surpris qu'on t'ait demandé de synchroniser la liaison série PC/micro. Est ce qu'on te demanderait pas plutôt de faire du handshaking ? Ou du contrôle de flux ? Ou mettre en place un protocole ?
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  3. #3
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 267
    Points : 4 829
    Points
    4 829
    Par défaut
    Bonjour

    Oui la synchronisation du RS232 est possible par l’intermédiaire des pin 15 et 17 de l'image donnée par Vincent. Mais ces connecteurs séries à 25 pôles montés au complet ne sont plus installé sur PC depuis au moins 30 ans. Et attention ce n'est pas parce que il y a le connecteur à 25 pôles que les lignes supplémentaires par rapport au 9 pôles sont effectivement actives, j'ai souvenir de mes 80486 qui avait des ports séries au connecteur 25 pôles mais relié à la CM par un câble plat de 9 pôles (et donc sans ces lignes d'horloges raccordées).

    A l'heure actuelle, la quasi totalités des microcontrôleurs commercialisés sont équipés d'un périphérique UART ou USART qui savent parfaitement se synchroniser sur une transmission à 3 fils (masse, TX et RX). Et même sans cela, la gestion par logiciel d'une telle communication reste peu gourmande en ressources (je l'avais fait en 1998 sur un AT90S1200 aux capacités ridicules en comparaisons des µc actuels et l'exemple le plus présent sur la toile est très probablement le SoftwareSerial de l'Arduino).
    Les USART peut être utilisés hors protocole RS232 pour des communications rapides entre microcontrôleurs (et à timing imprécis avec des durées de bits qui ne sont pas constantes), c'est des réalisations qui ne respecte pas la norme, et qui ne pourront pas s'interfacer avec un vrai RS232.

    Bonne suite

    Delias

  4. #4
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2019
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    mon protocole de communication est I2C qui a deux signaux sda w scl. je dois utiliser PCA9600 pour assurer l'envoi du flux I2C à travers un port RS232. Presque le principe est comme indique la figure suivante. pour Tx et Rx c'est bon, je vais lier avec Tx et Rx de RS232-DB9 . mais pour signal scl j'ai aucune idée. Dans cet exemple, il a utilisé un connecteur RJ45. je veux faire le même principe mais avec RS232 DB-9
    Nom : om6293_fig.1.jpg
Affichages : 688
Taille : 64,6 Ko
    Images attachées Images attachées  

  5. #5
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 267
    Points : 4 829
    Points
    4 829
    Par défaut
    Bonjour

    Interfacer de l'I2C avec du RS232 (du vrai inclus la gestion temporelle) avec juste un convertisseur de niveau non désolé les protocoles sont bien trop différents.

    La seule chose possible c'est effectivement de prendre 2 lignes autres du port RS232, mais à ce moment on oublie le port série et on l'attaque dans le code PC en mode bas niveau avec un contrôle de chaque pin en direct (à la façon de certains programmateurs de PIC ou d'AVR low-cost des années 2000) et dans ce cas ce n'est plus du RS232 qui va transiter sur le port.

    Ou alors c'est pour de la communication à longue distance entre deux périphériques I2C, en utilisant les niveau de tension et les câbles RS232, mais ce qui communique ce n'est pas du RS232, c'est de l'I2C en 12V.

    Ou encore la demande de l’exercice c'est de de monter un microcontrôleur en passerelle entre le bus I2C et le RS232, et là il n'y a quasi plus de problème, juste la mise en œuvre standard de deux périphériques du micro choisi. Mais la question initiale n'a plus rien à voir.

    En l'état il faut déjà clarifier ce que tu veux / dois faire, car ta demande telle que précisée avec ton second message ne correspond à rien de logique.

    Bonne journée

    Delias

  6. #6
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2019
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    oui oui, si en faite ça que je dois faire : la communication à longue distance entre deux périphériques I2C, en utilisant les niveau de tension et les câbles RS232, mais ce qui communique ce n'est pas du RS232, c'est de l'I2C. et je dois utiliser PCA9600. Mon problème est quel pin de rs232 va transporter le signal d'horloge SCL. j'ai réfléchi d'utiliser RTS ou CTS

  7. #7
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 267
    Points : 4 829
    Points
    4 829
    Par défaut
    Bonjour

    Mon problème est quel pin de rs232 va transporter le signal d'horloge SCL.
    On s'en f... ce n'est pas du RS232 et il n'y a aucune compatibilité à avoir
    On peut très bien faire avec juste 3 fils, masse sur 9, SDA sur TX et SCL sur RX, comme cela même un câble partiel fonctionnera, mais pas les câbles croisé, null-modem ou autre.

    Bonne suite

    Delias

  8. #8
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 190
    Points : 11 573
    Points
    11 573
    Par défaut
    Citation Envoyé par issa_ameni Voir le message
    [...] communication [...] entre deux périphériques I2C, en utilisant les niveau de tension [...] RS232 [...]
    Là c'est clair !
    Donc depuis le début tu veux nous dire que tu veux faire dialoguer deux PCA9600 via une couche physique RS232 (NRZ et +12V/-12V)

    C'est un truc comme ça que tu veux faire ? /!\ J'ai pas vérifié le montage, c'est juste pour être sur de ce que tu veux /!\

    Nom : Capture77.PNG
Affichages : 640
Taille : 13,8 Ko
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  9. #9
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2019
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    je suis d'accord avec toi mais l'utilisation du max232 n'est pas utile parce que sda est un signal de données et scl un horloge . on ne peut pas le fusionner comme indique le schéma.
    je veux utiliser le même principe de cette photo qui est faite avec RJ45 Nom : om6293_fig.1.jpg
Affichages : 619
Taille : 64,6 Ko

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/05/2008, 14h08
  2. [AJAX] fonctionnement uniquement en mode synchrone
    Par nicoaix dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/05/2008, 15h47
  3. [C#] socket en mode synchrone et asynchrone
    Par Cyrill26 dans le forum Développement
    Réponses: 0
    Dernier message: 23/07/2007, 16h32
  4. [AJAX] Pb de listes liées en mode Synchrone sous FireFox
    Par olive_le_malin dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 19/12/2006, 17h28
  5. [AJAX] Ajax en mode synchrone sur Safari
    Par The Blec dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/02/2006, 17h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo