Plus de 8 MCP23016
Répondre à la discussion
Affichage des résultats 1 à 19 sur 19

Plus de 8 MCP23016



  1. #1
    Gérard

    Plus de 8 MCP23016


    ------

    Bonjour,

    Le MCP23016 est un I/O expander (http://ww1.microchip.com/downloads/e...Doc/20090C.pdf).
    Ce CI possède 3 pin pour l'adresse hard ce qui permet de manière simple d'adresser 8 circuits.
    Comment faire pour adresser plus de 8 circuits ?

    Merci pour vos idées.

    -----

  2. #2
    DAUDET78

    Re : Plu de 8 MCP23016

    Multiplexer le SCL avec un 74HC138 ..... pour en mettre 64
    Ou le remplacer par un registre à décalage (si ce n'est que des entrées ou que des sorties)
    Dernière modification par DAUDET78 ; 10/02/2012 à 21h31.
    J'aime pas le Grec

  3. #3
    Gérard

    Re : Plu de 8 MCP23016

    Quelle rapidité, merci l'Ancien !

    Si je comprends bien, on peut avoir plusieurs CI avec la même adresse hard et n'envoyer SCL que à celui que l'on souhaite adresser.
    J'ai juste ?

  4. #4
    Gérard

    Re : Plu de 8 MCP23016

    Si un modo me lit, merci de mettre un "s" après "plu" dans le titre.

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

    Re : Plu de 8 MCP23016

    Exact.
    Tant que un I²C ne reçoit pas de SCL (SCL=1) il est inactif
    Donc tu utilises les 3 adresses du 74HC138 pour sélectionner le groupe de 8 MCP23016 a qui tu vas causer

    Maintenant, faudrait voir si il n'y a pas moyen de faire plus simple. C'est des sorties? des entrées? des LEDs à allumer? des relais? Y en a combien ?
    deux 74HC595 , ça doit couter moins cher qu'un MCP23016, ça bouffe moins de place, et ça coute 3 pins de µC pour un nombre illimité de sortie !
    J'aime pas le Grec

  7. #6
    Gérard

    Re : Plu de 8 MCP23016

    J'ai des MCP et je ne connais pas le 595.
    Je vais voir ton lien.

    Merci.

  8. #7
    DAUDET78

    Re : Plu de 8 MCP23016

    Je préférerais que tu répondes à ces questions :
    Citation Envoyé par DAUDET78 Voir le message
    C'est des sorties? des entrées? des LEDs à allumer? des relais? Y en a combien ?
    J'aime pas le Grec

  9. #8
    Gérard

    Re : Plu de 8 MCP23016

    Que des LED, mais beaucoup. (pas loin de 200)

  10. #9
    DAUDET78

    Re : Plu de 8 MCP23016

    Et tu veux une sortie par LED ? On les multiplexe !
    Avec 32 sorties (4*74HC595) et 8 sorties de µC on pilote 256 LEDs . Bon OK, il faut quelques transistors en plus
    http://sjeffroy.free.fr/new/index.ph...d=21&Itemid=65
    J'aime pas le Grec

  11. #10
    Gérard

    Re : Plu de 8 MCP23016

    J'ai oublié de dire que ce sont des RGB, donc en fait 3 fois plus de LED.

  12. #11
    DAUDET78

    Re : Plu de 8 MCP23016

    Tu mets 3 fois plus de 74HC595
    J'aime pas le Grec

  13. #12
    DAUDET78

    Re : Plu de 8 MCP23016

    Suivant la qualité de couleur que tu veux, il y a des circuits spécialisés
    TLC5971
    TLC5940
    MM5450
    MIC5891
    etc etc
    J'aime pas le Grec

  14. #13
    Gérard

    Re : Plu de 8 MCP23016

    Merci pour toutes tes infos.

    Maintenant dodo, réveil de bonne heure.

  15. #14
    DAUDET78

    Re : Plu de 8 MCP23016

    Citation Envoyé par DAUDET78 Voir le message
    Tant que un I²C ne reçoit pas de SCL (SCL=1) il est inactif
    Donc tu utilises les 3 adresses du 74HC138 pour sélectionner le groupe de 8 MCP23016 a qui tu vas causer
    Un petit complément (suite à une demande par M.P.) :

    Il faut mettre :
    • E3="1"
    • /E2="0"
    • /E1= le SCL du PIC

    PS: SCL est unidirectionnel (sauf dans un système multi-maitre .....rare) donc compatible avec les circuits I²C . Evidemment, faut pas 10 mètres de filasse !
    J'aime pas le Grec

  16. #15
    Gérard

    Re : Plus de 8 MCP23016

    Je dépoussière cette discussion parce que j'ai fait un essai et ... ça me fonctionne pas.
    Nom : SCAN0015.jpg
Affichages : 59
Taille : 106,3 Ko

    Explications :
    E est relié à SCL du PIC
    A est relié à SCL du 1er MCP23016
    B est relié à SCL du 2e MCP23016
    Suivant que C est à 0V ou a 5V, je laisse passer SCL par la porte ET vers le bon 23016
    Les signaux sont présents sur les MCP suivant la valeur de C mais ça ne réagit pas.

    Est ce que SCL est bidirectionnel même dans ce cas simple ?
    Dernière modification par Gérard ; 22/02/2014 à 14h43.

  17. #16
    paulfjujo

    Re : Plus de 8 MCP23016

    bonsoir,

    il semblerait bien que le device puisse interferer sur l'etat de SCL, meme si c'est
    unidirectionel.

    voir parag 19.3 de la data sheet

    The MCP23016 holds the clock low after the falling
    edge of the ninth clock pulse. The configuration
    registers (or port control registers) are read and the
    value is stored. Finally, the clock is released to enable
    the next transmission.
    Est-ce qu'il le fait en interne ou essaie t-il de mettre SCL à zero ?


    The bus must remain free until after the
    ninth clock pulse for a minimum of 12 µs
    Peut etre qu'en mettant un buffer collecteur ouvert derriere A et B, et une R pull up elevée,
    cela ferait l'affaire.
    Pourtant la sortance du CD4081 est faible (Fan out 1 TTL)!

  18. #17
    Gérard

    Re : Plus de 8 MCP23016

    Citation Envoyé par paulfjujo Voir le message
    bonsoir,

    il semblerait bien que le device puisse interferer sur l'etat de SCL, meme si c'est
    unidirectionel.

    voir parag 19.3 de la data sheet



    Est-ce qu'il le fait en interne ou essaie t-il de mettre SCL à zero ?
    Merci pour ta réponse.
    Je viens de regarder ce paragraphe et les graphiques qui vont avec, et on voit bien que SCL est plus longtemps à 0 que lors d'une transmission.C'est le cas pour la lecture et pour l'écriture.


    Citation Envoyé par paulfjujo Voir le message
    Peut etre qu'en mettant un buffer collecteur ouvert derriere A et B, et une R pull up elevée,
    cela ferait l'affaire.
    Pourtant la sortance du CD4081 est faible (Fan out 1 TTL)!
    En fait, il doit y avoir conflit en sortie de la porte, le signal SCL voulant imposer un "1" et le MCP voulant maintenir un "0".
    J'ai mis des pull-up à la sortie des portes 4081.
    Peut-être mettre une 2K2 en série pour éviter le conflit ?

    Et si j'essayais avec un 4016 qui est bidirectionnel ?
    Le maintien de SCL à 0 se répercuterait sur le signal d'entrée.

  19. #18
    RISC

    Re : Plus de 8 MCP23016

    Salut,

    Un circuit super utilisé dans la plupart des panneaux ou bannières à led RGB : le WS2811 et tous ses confrères.

    a+

  20. #19
    Gérard

    Re : Plus de 8 MCP23016

    Citation Envoyé par RISC Voir le message
    Salut,

    Un circuit super utilisé dans la plupart des panneaux ou bannières à led RGB : le WS2811 et tous ses confrères.

    a+
    Merci pour ces références mais les 23016, je les ai.

Discussions similaires

  1. Quelle est l'adresse du MCP23016 ?
    Par Gérard dans le forum Électronique
    Réponses: 9
    Dernier message: 16/11/2009, 20h47
Découvrez nos comparatifs produits sur l'informatique et les technologies.