[Numérique] Connexion d'une liaison UART
Répondre à la discussion
Affichage des résultats 1 à 28 sur 28

Connexion d'une liaison UART



  1. #1
    dje8269

    Connexion d'une liaison UART


    ------

    Bonjour à tous,

    Alors que j'avais enfin finalisé la partie programmation et test de mon petit projet, le HARD me fait galérer. La communication entre mon module et mon PIC laisse à désirer, pour ne pas dire déconne à plein tube.

    Je suis le seul fautif, car je suis passé d'une platine de test comme celle -ci ( Rn-41 click ), au module de base comme celui ci : RN-41.

    Forcement il as fallu que je câble mon module et c'est la que le bat blesse ! Les data sheet ne sont pas forcement les mêmes et/ou j'ai du mal à les interprétées correctement.

    Niveau de l'alim pas de problème , il s'agit d'un problème de dialogue car mon module ne s'initialise pas. pour le vérifier je fais clignoter une led à la fin de l'initialsiation et jamais elle ne s'allume. ( la led fonctionne je l'ai testée avant l'initialisation

    Je trouve différents schéma avec un câblage différents a chaque fois :

    Je vous post les liens et les pages pour vous en rendre compte :
    Schéma 1 en page 12
    Schéma 2 en page 1
    Schéma 3 en page 2

    Ma question est la suivante comment je dois branche ce fichu module pour qu'il communique bien ?

    Voici mon câblage actuelle sur ma carte . avec le numéro des PINS . les pins non affichées sont laissées en l'air ( non connecté).
    Nom : schema.jpg
Affichages : 359
Taille : 94,8 Ko

    -----
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  2. #2
    antek

    Re : Connexion d'une liaison UART

    Sans avoir tout lu je ne voix pas d'erreur, avec Tx et Rx c'est pas compliqué !
    Sur un schéma j'ai vu une résistance de rappel au +3,3V sur Rx côté RN41.
    Il faut vérifier si les E/S peuvent être laissées en l'air (mais je ne crois pas).

  3. #3
    fabang

    Re : Connexion d'une liaison UART

    On risque souvent de confondre les Rx et les Tx selon que l'on considère le coté modem ou le coté uc.
    Donc la broche 13 (RX) du RN-41 est bien une entrée pour ce circuit et la broche 14(TX) une sortie.
    Il y a plein de pins non représentées sur ton RN-41? Les pins du SPI, le reset, le shutdown etc , c'est géré comment?

  4. #4
    dje8269

    Re : Connexion d'une liaison UART

    Je pensais que l'UART, serait frizou, mais apparemment c'est déjà trop compliqué pour moi ☺.

    J'ai aussi vu la R de rappel de 100k mise à Vcc. Mais je ne sais pas trop à quoi elle sert, je n'en ai jamais vu sur un com UART. C'est pour cela que j'ai préfèré posté avant.

    D'après la DS et ma lecture de l'anglais, toute les entrées sont reliés en interne avec des R de rappel.

    J'ai vérifié aussi le croisement du Rx (côté PIC) avec le Tx ( du RN41).
    C'est en faisant des erreurs; que l'on apprend le mieux !!

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

    Re : Connexion d'une liaison UART

    bonjour,

    As tu auparavant testé ta COM UART avec un terminal PC ?


    Attention ce PIC a des Pins configurables par soft !

    pour avoir RB2 en TX via APFCON1.TXCKSEL

    Code:
     ANSELB = 0;         //Set PORTB as digital I/O
     TRISB=0b11101111;  // all input   excpet RB4
    
     APFCON0=0;  // ALTERNATE PIN FUNCTION CONTROL REGISTER 0// page 119
     APFCON0.RXDTSEL=0;
     // RXDTSEL=0  RX/DT function is on RB1
     // SDO1SEL=0  SDO1 function is on RB2
     // SS1SEL =0  SS1 function is on RB5
     // P2BSEL =0  P2B function is on RB7
     // CCP2SEL =0 CCP2/P2A function is on RB6
     // P1DSEL= 0  P1D function is on RB7
     // P1CSEL= 0  P1C function is on RB6
     // CCP1SEL= 0 CCP1/P1A function is on RB3
     APFCON1=0; // ALTERNATE PIN FUNCTION CONTROL REGISTER 1
     APFCON1.TXCKSEL=0; //  TX/CK function is on RB2
    exemple echange UART <-> terminal
    Dernière modification par paulfjujo ; 24/07/2016 à 17h48.

  7. #6
    dje8269

    Re : Connexion d'une liaison UART

    Salut Paul,

    Oui avec le module j'ai fais tout les tests pour le réglé comme il faut. La commune UART fonctionnait bien ,mais ça c'était 1vznt que je passe avec le petit module. Comme il est plutôt délicat à souder je n' avais pas pus faire de testet.

    Le programme fonctionne très bien avec le gros module , m'as plus avec le petit. C'est pourquoi je doute que cela vienne du PIC
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  8. #7
    dje8269

    Re : Connexion d'une liaison UART

    Bonjour,

    Je viens de tester sur le "Gros" module et effectivement Rx est bien relié à la broche Rx du PIC, mais également à une R de pull-up de 100K.
    Sur le schéma N°2 je crois lire qu'elle relié à Vcc_5c par 10 K ? La valeur de la R a-t-elle une importance ?
    CTS est reliée a une pull-down de 100K aussi . En même temps , c'est marqué sur le Schéma donc je ne vois pas pourquoi elle ne serait pas reliées !.

    Je vais donc testé en reliant ces broches comme sur ce schéma la. tandis que sur les autres schémas elle ne sont pas reliées. bizarre, je ne crois me souvenir avoir vu une R de tirage sur de l'UART mais bon, si quelqu'un à une idée du pourquoi je serais de me cultivier un peu plus ( j'en ai bien besoin lol).

    Bonne journée, je vous tiens au courant après le montage !
    Dernière modification par dje8269 ; 25/07/2016 à 07h10.
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  9. #8
    DAUDET78

    Re : Connexion d'une liaison UART

    Citation Envoyé par dje8269 Voir le message
    si quelqu'un à une idée du pourquoi je serais de me cultivier un peu plus ( j'en ai bien besoin lol).
    Si tu connaissais un tant soit peu les µCs (1), tu aurais du savoir que, au reset, un µC met toutes ses broches programmables en entrée . Donc en haute impédance.

    Donc le potentiel de la broche est indéfini .

    Pour éviter qu'un périphérique externe ne fasse n'importe quoi (par exemple qu'un NMOS commandé par le µC ne soit surement pas conducteur à la mise sous tension), on place une pullUP ou une pullDOWN en entrée du périphérique

    (1) un bon site de vulgarisation http://www.fantaspic.fr/index.php?si...24c307822f8c2b
    J'aime pas le Grec

  10. #9
    dje8269

    Re : Connexion d'une liaison UART

    Ce forum n'attend que des personnes de ton niveau pour venir le tirer vers le HAUT !
    Tu sais , ce sont les membres contribuant au forum qui le façonne et non le Forum qui façonne les membres, du moins il à été créer dans ce sens !
    J'abonde dans ton sens sur le fait que de créer un forum en étant débutant soi-même n'est pas le plus "académique" !

    Sinon pour mon mouton , je viens de relié Rx (broche 13 du RN-41) à Vcc (3.3V) par une 10K ( que ça sous la main). J'ai désolidarisé CTS et RTS pour relié CTS (broche 16) avec une R de 10K(que ça sous la main) à GND .

    Sans succès ! . Je penche a problème de typon car je suis à court d'idée ! Pas évident à souder ces petites bêtes, je sis pas l’abri d'une erreur même si j'ai vérifier et re-verifier !
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  11. #10
    DAUDET78

    Re : Connexion d'une liaison UART

    Citation Envoyé par dje8269 Voir le message
    J'abonde dans ton sens sur le fait que de créer un forum en étant débutant soi-même n'est pas le plus "académique" !
    Tu as créé un forum ? J'étais pas au courant !
    J'aime pas le Grec

  12. #11
    antek

    Re : Connexion d'une liaison UART

    Citation Envoyé par dje8269 Voir le message
    Je viens de tester sur le "Gros" module et effectivement Rx est bien relié à la broche Rx du PIC, mais également à une R de pull-up de 100K.
    Sur le schéma N°2 je crois lire qu'elle relié à Vcc_5c par 10 K ? La valeur de la R a-t-elle une importance ?
    Rx <-> Rx tu es sûr !?

    Elle a une importance relative (!), je suppose que le schéma a été pensé en tenant compte du circuit d'entrée RN41.

  13. #12
    nornand

    Re : Connexion d'une liaison UART


  14. #13
    dje8269

    Re : Connexion d'une liaison UART

    Re,

    J'ai décidé de souder des plots pour venir "verifier" mon dialogue UART avec hyperterminal .

    Mon PIC envoie bien la commande "$$$" pour rentrer dans la configuration du module, mais celui-ci devrait répondre par "CMD" à mon PIC, mais rien , il reste silencieux . Donc mon PIC reboucle à chaque coup en lui re-envoyant la commande"$$$".

    Comment je pourrais déterminer d’où viens mon erreur ? purement HARD erreur de câblage mauvaise soudure etc ... ou HARD niveau placement des composants ou mauvaise valeurs de ceux-ci , ou bien que le PIC ou le module sont HS ( chauffe lors du soudage ou autre) !
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  15. #14
    dje8269

    Re : Connexion d'une liaison UART

    @antek :

    Tu as raison c'est Rx(RN41) <--> TX(PIC) , on a vite fait de faire une confusion en lisant sur les modules directement . C'est juste une erreur de frappe sur le module j'ai bien soudé la bonne patte .
    J'essayerai avec des 100k cet après midi, j'en ai pas à la maison .

    Ca me saoule de butter sur un probléme comme ça, à une longueur d'avoir tout fini !.

    @nornand : oui, il s'agit d'une DS que j'ai mis en #1 .
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  16. #15
    DAUDET78

    Re : Connexion d'une liaison UART

    Citation Envoyé par dje8269 Voir le message
    J'ai décidé de souder des plots pour venir "verifier" mon dialogue UART avec hyperterminal .
    Attention !
    Tu as un UART TTL et pas un UART RS232 . Pour "voir" avec Hyperterminal, il faut interfacer les niveaux avec des MAX3232
    J'aime pas le Grec

  17. #16
    dje8269

    Re : Connexion d'une liaison UART

    Oui, j'utilise un câble exprès : Lien vers FTDI -TTL-232R-3V3

    Quoi que je fasse, mon PIC envoie sa commande mais je ne vois rien en retour du module

    J'ai bien mis la broche GPIO7 à Vcc a travers une R de 1K pour passer en mode 9600 Bauds. je viens de vérifier la tension sur cette broche. Mon PIC est bien initialiser à 9600bauds aussi
    Dernière modification par dje8269 ; 25/07/2016 à 10h02.
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  18. #17
    David71120

    Re : Connexion d'une liaison UART

    Bon, donc ton pic semble envoyer la bonne commande, que ce passe-t-il si tu relies ton module à hyperterminal et que tu essayes de le commander ?
    et pardon d'insister mais tu es certain de ne pas avoir inversé Tx et Rx ?
    Il n'y a que 10 sortes de personnes, celles qui savent lire le binaire et les autres.

  19. #18
    DAUDET78

    Re : Connexion d'une liaison UART

    Citation Envoyé par David71120 Voir le message
    et pardon d'insister mais tu es certain de ne pas avoir inversé Tx et Rx ?
    C'est facile à vérifier .
    En sortie de Tx , on met une résistance série de 4,7K vers le supposé Rx . Si la transmission, regardée à l'oscillo, est la même sur Tx et le supposé Rx , la conclusion c'est que le supposé Rx n'est pas une sortie (je ne peux pas en conclure que c'est bien un Rx !)
    J'aime pas le Grec

  20. #19
    dje8269

    Re : Connexion d'une liaison UART

    Bonjour,

    Test avec des R de 100k au lieu des 10K , ça ne fonctionne pas mieux.

    pardon d'insister mais tu es certain de ne pas avoir inversé Tx et Rx ?
    Y'a pas de mal . J'ai donc re-re-verifier . Et c'est bon , le RX_Pic est raccordé au Tx_RN41 et vice versa.

    Voici une empreinte du Typon , et j'ai bien sur vérifier à l'ohm-mètre l'absence de mise à la masse et d'éventuels court-circuit !
    Nom : essa.jpg
Affichages : 195
Taille : 80,2 Ko

    J'ai réussis à souder deux pins pour venir brancher mon cordon TTL/USB-UART, mais je ne pourrais venir souder une R en série sur la piste

    franchement, je suis une buse mais la je comprends pas !. A part un probléme HARD le module HS ! ce qui me parait bizarre quand même, j'ai fais très attention en le soudant.

    Le programme du pic en s'en fou ( même s'il fonctionne parfaitement) , car il envoie la bonne commande, c'est le module qui ne répond pas !.

    Donc soit :
    -il interprète mal la commande reçu, mais j'ai vérifier et la broche GPIO7 est à +Vcc par une R de 1K pour forcer le RN-41 à 9600 bauds comme mon PIC. Hyper terminal reglé à 9600Bauds aussi et je vois trés bien l'envoi.
    soit la sortie du RN-41 qui est censée me renvoyer une réponse est à la masse , mais non l'ohm-mètre reste muet.
    Soit le RN-41 est foutu !

    Voyez vous d'autre possibilités de panne ?
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  21. #20
    dje8269

    Re : Connexion d'une liaison UART

    Nouvel indice, bon ou mauvais !

    Sur un coup de sang, j'ai couper les pistes UART menant aux PICS après mes connecteurs . j'ai donc isoler le module RN-41 du reste du monde .
    J'ai brancher mon câble et j'ai envoyer manuellement ( via hyperterminal) la commande "$$$" . Et ce bougre m'a répondu "CMD" .... donc tout fonctionne de ce coté la.
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  22. #21
    fabang

    Re : Connexion d'une liaison UART

    La datasheet permet de lever les doutes,
    https://www.pololu.com/file/0J692/rn-41-ds-v3.3r.pdf
    Broche 13 Rx input, broche Tx(14) output. Requiert un pullup sur Reset(5) et un pull-down sur CTS (16)
    Et peut être un découplage plus énergique (10µF// 100nf)

  23. #22
    dje8269

    Re : Connexion d'une liaison UART

    pas de doute sur Rx , Tx .

    Pour Reset(5)
    Il est ecrit : "Input to RN-41 with 1K pullup" . Donc pas besoin normalement elle est incorporée comme toutes les entrées . c'est pourquoi il est plus facile de la branché.

    un pull-down sur CTS (16)
    Au départ j'avais relié CTS et RTS ensemble comme indique sur la Datasheet. Puis du coup je les ai débranchés et mis CTS à la masse a travers une R de 100K.

    Pour le découplage, pas de probléme non plus, c'est sûr .
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  24. #23
    albanxiii
    Modérateur

    Re : Connexion d'une liaison UART

    Citation Envoyé par dje8269 Voir le message
    Il est ecrit : "Input to RN-41 with 1K pullup" . Donc pas besoin normalement elle est incorporée comme toutes les entrées . c'est pourquoi il est plus facile de la branché.
    Sur une pin de reset on peut avoir un doute.
    Not only is it not right, it's not even wrong!

  25. #24
    dje8269

    Re : Connexion d'une liaison UART

    re,

    Sur une pin de reset on peut avoir un doute.
    Cela ne fonctionnerai pas non plus, quand je pilote mon RN-41 directement depuis hyper terminal ,non ?
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  26. #25
    dje8269

    Re : Connexion d'une liaison UART

    J'abandonne un moment, sinon le truc passe par la fenêtre ;

    PS : si je branche le Tx(pic) sur le Rx(Rn41) et que je débranche le TX(Rn-41) du Rx(PIC) pour le mettre sur mon cordon, la commande est bien envoyé au PICs et le RN-41 renvpoie bien "CMD".

    Dés que je branche aux PICS rien ne passe !
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  27. #26
    paulfjujo

    Re : Connexion d'une liaison UART

    bonjour,


    Ton test de dialogue PIC UART <-> Terminal PC (emission et reception ) est-il vraiment OK ?
    en envoyant une sequence contigue de caractere depuis le clavier , et non pas carcatere par caratere.
    test avec un cordon TTLL/USB ou MAX2332 ?

    Alimentation du PIC en 3,3V ou 5V
    mise à niveau de la tension TX du module BT -> entree RX PIC ?

    Poste ton code complet concernant le PIC ..
    Testes-tu les bits d'erreur UART ?
    RCSTA.OERR et RCSTA.FERR // voir parag 16.1.26 p273
    qui peuvent bloquer toute reception

    Attention certain module bluetooth envoi LF au leu de CR en fin de reponse..
    Comment fais-tu la reception coté PIC, via polling RX ou via interruption ?

  28. #27
    dje8269

    Re : Connexion d'une liaison UART

    Re,

    Des news du front .......

    Dessoudage du module ( plutôt délicat) j'ai cassé deux pistes au passage ( 0.4mm d’épaisseur).
    re-ssoudage du module, pistolet à air chaud de partout.
    Vérifier le programme pas à pas, aucune erreur détectée, normal en test c'etait le même .

    Et ca fonctionne maintenant

    Allez comprendre !

    J'ai vérifier toute mes pistes une bonne dizaine de fois, pareil pour les tensions etc ..... et la je ne sait pas pourquoi ça fonctionne . Je vais pas me plaindre mais bon ... c'est frustrant... .

    Peut-être que le contact au multimètre passait ( bip) mais qu'en faite pas assez de largeur de piste ou trop résistif , je ne vois que ca .

    En tout cas merci à tout ceux qui ont prit le temps de me lire , et d'essayer de me dépanner !
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  29. #28
    David71120

    Re : Connexion d'une liaison UART

    "La théorie, c'est quand on sait tout et que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."

    Einstein
    Il n'y a que 10 sortes de personnes, celles qui savent lire le binaire et les autres.

Discussions similaires

  1. Liaison UART non fonctionnelle sur un microcontrôleur ?
    Par Yoruk dans le forum Électronique
    Réponses: 17
    Dernier message: 15/09/2014, 19h42
  2. Liaison UART Pic 18F45K20
    Par sani300 dans le forum Électronique
    Réponses: 2
    Dernier message: 28/04/2013, 22h01
  3. Connexion UART
    Par pseudoguyanais dans le forum Électronique
    Réponses: 2
    Dernier message: 16/09/2010, 12h53
  4. Liaison UART par PIC24F
    Par invite5b91726d dans le forum Électronique
    Réponses: 16
    Dernier message: 04/06/2008, 15h36
  5. TRMT - liaison UART PIC16F876
    Par invite0f39f32f dans le forum Électronique
    Réponses: 6
    Dernier message: 19/05/2006, 10h43
Découvrez nos comparatifs produits sur l'informatique et les technologies.