Controle des pattes d'un microcontroleurs
Répondre à la discussion
Affichage des résultats 1 à 16 sur 16

Controle des pattes d'un microcontroleurs



  1. #1
    inviteb68e4ddb

    Question Controle des pattes d'un microcontroleurs


    ------

    Bonjour à tous.
    Je ne comprend pas comment un microcontroleur fait pour définir le niveau logique de ces pattes (un port pas exemple).
    Pour illustrer ma question par un cas précis, prenons deux microcontroleurs communiquant par une patte.
    Si le 1er microcontroleur fixe l'état du port à 1, il établie une liaison électrique entre la patte et le 5V. Le deuxième microcontroleur s'apperçoit que l'état de la patte à changé si avant elle était à la terre. Mais ensuite, si ce deuxième microcontroleur décide de mettre la patte au 0V, cela veux dire qu'il établie une liaison électrique entre la terre et la patte. Le port est donc connecté à la fois à la terre et au 5V, c'est impossible non?
    Merci d'avance de votre aide.

    -----

  2. #2
    Jack
    Modérateur

    Re : Controle des pattes d'un microcontroleurs

    C'est pour celà qu'il faut qu'une des pattes soit en sortie et l'autre en entrée pour éviter tout conflit.

    A+

  3. #3
    umfred

    Re : Controle des pattes d'un microcontroleurs

    Citation Envoyé par Jack Voir le message
    C'est pour celà qu'il faut qu'une des pattes soit en sortie et l'autre en entrée pour éviter tout conflit.

    A+
    Pas obligatoirement, mais il faut au moins une resistance de tirage au 5V par exemple.

    Le protocole I2C utilise ce principe pour le signal de données SDA

  4. #4
    Qristoff
    Animateur Électronique

    Re : Controle des pattes d'un microcontroleurs

    Lorsque tu parles à quelqu'un, est ce que tu lui demande avant de t'écouter ? non ?
    une liaison bidirectionnelle entre µc est identique.
    Au début, les deux sont en "écoute" (en entrée), puis l'un décide de "parler", il passe alors en sortie, dis sa phrase et comme toi, attend une réponse, il repasse donc en "écoute".
    L'autre a bien reçu le message, le traite et il répond en passant en sortie, puis à la fin de sa réponse, il repasse en "écoute"... et ainsi de suite.
    C'est ce qu'on appel un protocole de communication !

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

    Re : Controle des pattes d'un microcontroleurs

    Citation Envoyé par Jack Voir le message
    C'est pour celà qu'il faut qu'une des pattes soit en sortie et l'autre en entrée pour éviter tout conflit.

    A+
    Bonsoir
    pourtant le "conflit de port" c'est succulent!
    JR
    l'électronique c'est pas du vaudou!

  7. #6
    alainav1

    Re : Controle des pattes d'un microcontroleurs

    bonjour,
    en cas de confit de porc le port salut ,c'est ecrit dessus
    Décider de faire, c'est bien . Décider quand, c'est mieux !

  8. #7
    Qristoff
    Animateur Électronique

    Re : Controle des pattes d'un microcontroleurs

    Déconne pas sur le port les mecs, ça se trouve Michel est Mulsulman..

  9. #8
    umfred

    Re : Controle des pattes d'un microcontroleurs

    Pour revenir au sujet initial qui est :
    Citation Envoyé par _Michel Voir le message
    Je ne comprend pas comment un microcontroleur fait pour définir le niveau logique de ces pattes (un port pas exemple).
    Pour une pin en sortie:
    le niveau logique est défini comme tu l'indiques par une mise à la tension basse ou haute de l'alimentation.

    Pour un pin en entrée:
    Pour déterminer s'il s'agit d'un "0" ou d'un "1", en général, c'est décider par rapport à un seuil ou 2 selon le microcontroleur.
    par exemple, en dessous de 30% de la tension d'alimentation, on considère que c'est un "0" et au dessus de 60% de la tension d'alimentation , on considère que c'est un "1". entre les deux, il peut vu comme un "0" ou un "1" selon les cas.

    Tu va me demander "comment on sait que c'est une entrée ou une sortie" ou "comment faire pour qu'une pin soit en entrée ou en sortie".
    Et bien c'est simple, un microcontroleur est un composant programmable et donc c'est le programmeur qui décide selon l'application de mettre telle pin en entrée ou en sortie en configurant ce qu'on appelle un registre de direction souvent nommé DDRx dans les doc.
    Attention tout de même, certaines pins des microcontroleurs peuvent être seulement utilisables en entrées ou seulement en sorties ou par programmation.

  10. #9
    inviteb68e4ddb

    Re : Controle des pattes d'un microcontroleurs

    Groink!
    Merci pour cette très bonne réponse. Mais si je veux coder ma propre communication série asynchrone bidirectionnelle, il faudra alors utiliser 2 pattes au lieu d'une? Et si c'est la cas, comme signaler à mon programmateur que telle patte reçoit et telle patte transmet?
    Une pin peut-elle être un moment en écoute et un autre moment en transmition? Si c'est le programmateur qui gère, je me doute que non.

  11. #10
    inviteb68e4ddb

    Re : Controle des pattes d'un microcontroleurs

    "Une fois les 8 bits transmis, le circuit qui vient de recevoir les données doit imposer un bit d'acquittement ACK sur la ligne SDA. Pour cela, pendant que la ligne SCL est au niveau bas, le maître place sa propre sortie au niveau haut, tandis que le récepteur (aussi appelé l'esclave) place sa sortie au niveau bas. Puisque les sorties sont à collecteur ouvert, la ligne SDA restera au niveau bas à cause de l'esclave. Le maître relit ensuite la ligne SDA une fois qu'il a passé la ligne SCL au niveau haut. Si la valeur lue pour le bit ACK est 0, c'est que l'esclave s'est bien acquitté de l'octet reçu, sinon c'est qu'il y a une erreur et le maître doit générer la condition arrêt."

    "collecteur ouvert" signifie que l'état logique est donnée par un "et logique" de l'état logique des deux pattes? Tous les microcontroleurs sont en collecteur ouvert?

  12. #11
    umfred

    Re : Controle des pattes d'un microcontroleurs

    Si tu veux faire du bidirectionnel asynchrone, tu peux utiliser 1 ou 2 pin à mon avis.

    Si tu en utilise une seule, il faudra:
    - d'un coté (1) la pin est défni en entrée pour recevoir le message et de l'autre (2) la pin sera défini en sortie pour émettre le message
    - à la fin de ta transmission, il faudra basculer d'abord la sortie en entrée du coté (1), puis l'entrée en sortie du coté(2)

    Ce n'est pas le "programmateur" (appareil pour programmer, mettre le programme, dans le microcontroleur) mais du "programmeur" (la personne qui écrit le programme, toi en l'occurence je pense).

    Si tu utilise 2 pins de chaque coté, tu devra en définir une en entrée de chaque coté et une sortie de chaque coté.
    Il faudra bien sûr "croiser" les fils pour relier une entrée sur une sortie.

    Pour définir si c'est une entrée ou un sortie, il faut mettre un 1 ou un 0 dans le registre DDR au bon endroit (ca dépend du micro, n'hésite pas à consulter sa documentation, en général ça répond à 90% des questions d'un programmeur).

  13. #12
    umfred

    Re : Controle des pattes d'un microcontroleurs

    Citation Envoyé par _Michel Voir le message
    "Une fois les 8 bits transmis, le circuit qui vient de recevoir les données doit imposer un bit d'acquittement ACK sur la ligne SDA. Pour cela, pendant que la ligne SCL est au niveau bas, le maître place sa propre sortie au niveau haut, tandis que le récepteur (aussi appelé l'esclave) place sa sortie au niveau bas. Puisque les sorties sont à collecteur ouvert, la ligne SDA restera au niveau bas à cause de l'esclave. Le maître relit ensuite la ligne SDA une fois qu'il a passé la ligne SCL au niveau haut. Si la valeur lue pour le bit ACK est 0, c'est que l'esclave s'est bien acquitté de l'octet reçu, sinon c'est qu'il y a une erreur et le maître doit générer la condition arrêt."

    "collecteur ouvert" signifie que l'état logique est donnée par un "et logique" de l'état logique des deux pattes? Tous les microcontroleurs sont en collecteur ouvert?
    une sortie collecteur ouvert n'a pas d'état à proprement parler, il lui faut une charge (la fameuse résistance de mon 1er post ici).
    Pounr une sortie collecteur ouvert , imagine toi un transistor sur lequel tu met le signal a transmettre sur la base , l'emetteur à la tension basse et le collecteur est ta pin de sortie du microcontroleur (regarde la encore la doc du micro, au niveau du schéma de cette entrée/sortie)

  14. #13
    inviteb68e4ddb

    Re : Controle des pattes d'un microcontroleurs

    Oups pardon, j'ai mal lu. Donc, c'est le registre DDR qui détermine si une pin est entrée ou sortie. On dit bien flottante pour entrée, n'est-ce-pas?
    Et si on branche à une résistance de pull up ou de pull down, ça fait quoi?
    Et il y a des cas ou on peut brancher une patte au 5V directement sans résistance?

  15. #14
    inviteb68e4ddb

    Re : Controle des pattes d'un microcontroleurs

    Citation Envoyé par umfred Voir le message
    une sortie collecteur ouvert n'a pas d'état à proprement parler, il lui faut une charge (la fameuse résistance de mon 1er post ici).
    Pounr une sortie collecteur ouvert , imagine toi un transistor sur lequel tu met le signal a transmettre sur la base , l'emetteur à la tension basse et le collecteur est ta pin de sortie du microcontroleur (regarde la encore la doc du micro, au niveau du schéma de cette entrée/sortie)
    On parle bien d'un transistor NPN? Parce que si l'émetteur est à 0V, le transistor est forcement bloquant.

  16. #15
    Jack
    Modérateur

    Re : Controle des pattes d'un microcontroleurs

    Citation Envoyé par umfred Voir le message
    Pas obligatoirement, mais il faut au moins une resistance de tirage au 5V par exemple.

    Le protocole I2C utilise ce principe pour le signal de données SDA
    Tu en connais beaucoup des µcontrôleurs avec de I/O à drain ouvert?

    Mais bon, je vois que la conversation a bien évolué. Je voulais juste éviter que notre ami _Michel ne crame ses composants.

    A+

  17. #16
    inviteb68e4ddb

    Re : Controle des pattes d'un microcontroleurs

    C'est bon, j'ai compris ce qu'il me manquais comme informations.
    Après pour la tuyauterie interne, je passerai le temps de bien chercher quand une autre occasion se présentera.
    Merci de votre aide.

Discussions similaires

  1. Cherche la rolls des microcontrôleurs ultra low power
    Par Toufinet dans le forum Électronique
    Réponses: 10
    Dernier message: 04/04/2008, 07h03
  2. [Identification] des milles-pattes au sous-sol
    Par invite3095cf30 dans le forum Biologie
    Réponses: 4
    Dernier message: 04/03/2008, 12h59
  3. composition des pattes des composants
    Par invite826efcec dans le forum Électronique
    Réponses: 2
    Dernier message: 13/05/2006, 13h49
  4. Correspondance des pattes d'un jack stéréo
    Par invite0dad24dc dans le forum Électronique
    Réponses: 3
    Dernier message: 10/02/2006, 09h58
  5. Brochage des horloges à quartz à 2 pattes??
    Par invite99880ac6 dans le forum Électronique
    Réponses: 3
    Dernier message: 13/06/2005, 07h22
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...