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

Raspberry Pi Discussion :

Questions électroniques


Sujet :

Raspberry Pi

  1. #141
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 458
    Points : 4 630
    Points
    4 630
    Par défaut
    Bonjour,

    Les entrées de commandes logiques, comme set et reset sont des niveaux en général 0 pour proche de la masse (qui est souvent nommée ground par abus de langage car en général isolé de la terre) et 1 pour les niveaux proches de Vcc. Il y a des seuils mais ils dépendent de la technologie et de la tension d'alimentation.

    Selon les composants l'activation d'une entrée peut se faire avec un état ou l'autre :
    • Si l'entrée est précédée d'un petit rond et/ou son nom surmontée d'une barre, elle sera activée par un 0 logique.
    • Sinon, par défaut, l'activation s'obtiendra avec un 1 logique.


    Circuit ouvert ou fermé n'a en général pas de sens : les entrées logiques ne sont pas, a priori, des boucles sèches même si les vieux circuits TTL pouvaient y être assimilés (broche en l'air donc circuit ouvert = 1). Cela peut être intéressant à titre pédagogique mais induira des erreurs dans la plupart des variantes technologiques. Le respect des niveaux de tension recommandés s'avère bien plus sûr.

    Salutations
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  2. #142
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 208
    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 208
    Points : 11 686
    Points
    11 686
    Par défaut
    Bonjour,
    Citation Envoyé par Artemus24 Voir le message
    Y-a-t-il une autre façon que la bascule Set/Reset de faire une mémoire en électronique ?
    Oui ! Je dirai que c'est même plutôt les anciennes mémoires qui stockaient les données dans des flip-flop. D-flip-flop ou JK-flip-flop (flip-flop = synchro sur horloge) ça je ne sais pas trop car les fabricants de mémoire que j'ai lu ne le disent pas. Et d'un autre côté c'est tellement complexe dans les faits une mémoire (il y a toute la circuiterie pour gérer les entrées sorties, les bus, le décodage d'adresse ...) que je ne suis pas sur qu'il puisse aborder ça dans une documentation limitée en nombre de page.

    Ici tu as un tableau assez bien fait https://www.rohm.com/electronics-bas...y/memory_what1

    Si tu as la curiosité de cliquer sur "SRAM <Semiconductor Device Principles>" dans le panneau de droite, tu reconnaitras une petit schéma semblable a ce que tu as expérimenté avec la bascule RS. Pour les autres mémoires souvent elles maintiennent un petit condensateur chargé (image d'un 1 logique) piloté par un transistor à effet de champ (JFET souvent) qui a la particularité de consommer extrêmement peu de courant contrairement aux transistors bipolaires. L'intégration d'un transistor et d'un condo est bien plus efficace !


    Citation Envoyé par Artemus24 Voir le message
    J'ai trouvé les bascules RSH, D (pour Data), T (pour Toggle) et JK. Y en a-t-il d'autres ? Je ne parles pas de la différence entre synchrone (avec horloge) et asynchrone, mais bien de montages différents pour des besoins différents.
    Je crois que tu les as toutes cités. Il me semble que ça a commencé par les RS puis RSH qui ont vite été simplifié en D-Latch puis sont arrivés les notions de Toggle et flip-flop (horloge) pour des besoins de synchronisme.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  3. #143
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 758
    Points : 57 780
    Points
    57 780
    Billets dans le blog
    42
    Par défaut
    Citation Envoyé par Artemus24 Voir le message
    Maintenant que ça fonctionne, j'ai poursuivi mon étude avec la bascule RSH.
    Elle reprend la bascule Set/Reset en tant que cœur du montage et il y a en entrée la nouvelle broche Horloge.
    Celle-ci lorsqu'elle est à 0 ne modifie pas l'état de la mémoire, si l'on sélectionne Set ou Reset.
    Voici la table de vérité de la bascule RSH :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    +===+===+===+===+==========+
    | H | S | R | Q | Remarque |
    +---+---+---+---+----------+
    | 0 | x | x | Q | mémoire  |
    | 1 | 0 | 0 | Q | mémoire  |
    | 1 | 0 | 1 | 0 | mise à 0 |
    | 1 | 1 | 0 | 1 | mise à 1 |
    | 1 | 1 | 1 | 0 | interdit |
    +===+===+===+===+==========+
    Mon problème était de savoir comment configurer ces trois nouvelles entrées avec des transistors.
    Ma première idée était de remplacer les BP de la bascule RS par deux portes & que voici :
    --> BP Set : porte & (Horloge ; Set)
    --> BP Reset : porte & (Horloge ; Reset)
    Sauf que cela ne résout pas l'état interdit, que j'aimerai éviter d'avoir en appuyant en même temps sur les BP Set & Reset.
    En fait, j'aimera que le dernier cas de la table de vérité produise le même résultat que la deuxième ligne.
    Set=1 et Reset=1 seraient équivalent à Set=0 et Reset=0, ce qui résoudrait le cas de l'interdit.
    Interdit parce que les ordres sont contradictoires (set=1 veut mettre Q=1, et reset=1 veut mettre Q=0)...

    Si on programme ça de façon comportementale en Verilog/SystemVerilog (image, car sans coloration syntaxique c'est moche) :

    Nom : async-latchSR-enable.png
Affichages : 132
Taille : 42,5 Ko
    L'entrée H est souvent appelée E pour Enable.

    Et on obtient le schéma logique (netlist avec Quartus Prime) :
    Nom : async-latchSR-enable-netlistRTL.png
Affichages : 130
Taille : 13,5 Ko

    On voit qu'un bloc combinatoire des entrées E,S et R est inféré en amont du verrou :

    Formule mathématique

    Ce que ne me dit pas le logiciel, c'est que Formule mathématique, avec le symbole OU exclusif (XOR).
    Donc si R=S=1 (cas à interdire), latch_enable=0 même si E=1.

    Bon... des portes AND et XOR en plus, mais je ne suis pas descendu au niveau du transistor donc ça ne va pas t'aider beaucoup
    Note : il faut quand même 6 transistors NPN pour faire un XOR.

  4. #144
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 462
    Points : 19 449
    Points
    19 449
    Par défaut
    @ Guesset : j'ai utilisé le schéma ci-après pour monter la bascule Reset/Set sur une breadboard (cette image est issue de Wikipedia) :



    Ce schéma n'est pas très différent de celui que j'ai mis dans mon message #137 du 08 aout 2024.
    Sauf qu'ici, les BP sont reliés à GND et l'on joue sur circuit ouvert et circuit fermé pour obtenir un 0 ou un 1.
    J'ai testé sur un breadboard et ce schéma fonctionne correctement.

    Mon premier schéma (celui de mon message #137 du 08 aout 2024) montre cette fois-ci un branchement soit sur GND ou soit sur VCC.
    Il n'y a plus de circuit ouvert ou de circuit fermé dans ce montage.

    J'ai testé aussi sur une breadboard, en jouant sur le GND et le VCC et cela ne fonctionne pas comme attendu.
    Comme je l'ai indiqué, j'ai cramé un transistor et une Led.

    Le bon fonctionnement est de relier ces BP à GND, pas à VCC, comme l'indique le schéma de ce message.

    N'y aurait il pas une erreur de montage avec le premier schéma, celui du message #137 du 08 aout 2024 ?

    @ Vincent Petit : merci pour le lien.

    Citation Envoyé par Vincent Petit
    L'intégration d'un transistor et d'un condo est bien plus efficace !
    Je ne sais pas trop si c'est utile mais comment introduire les condensateurs dans la bascule Reset/Set ?
    Le schéma de la bascule Reset/Set est celui tout en haut de ce message.

    Citation Envoyé par Vincent Petit
    Je crois que tu les as toutes cités.
    Je m'attendais à plus de bascules.

    Citation Envoyé par F-Leb
    Interdit parce que les ordres sont contradictoires (set=1 veut mettre Q=1, et reset=1 veut mettre Q=0)...
    Tu réponds à ma première interrogation, à savoir si l'on peut éviter cet état interdit.
    Merci pour tes explications mais j'avais compris que pour résoudre cela, il suffisait d'utiliser une porte ou exclusif (XOR).

    Je n'ai besoin que de quatre transistors, 2xNPN & 2xPNP pour construire une porte XOR
    --> (S et non R) ou (non S et R).
    Tu mets un PNP pour l'entrée normal et un NPN pour l'entrée inversée.
    Je l'ai testé sur un breadboard, ça fonctionne et cette configuration me parait plus simple.

    Si l'on peut résoudre cet état interdit avec une porte XOR, pourquoi cela n'a pas été fait dès le départ, au lieu d'inventer d'autres bascules ?
    Je trouve que la bascule D répond bien à la résolution de cet état interdit, comme amélioration de la bascule Reset/Set.

    Je ne vois pas trop l'utilité de la bascule JK, qui me parait bien compliqué, juste pour faire apparaitre ce que vous nommez Toggle (en anglais basculer).
    Cet état d'alternance se retrouve aussi avec la bascule D quand la sortie "non Q" est relié à l'entrée D.
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  5. #145
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 208
    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 208
    Points : 11 686
    Points
    11 686
    Par défaut
    Citation Envoyé par Artemus24 Voir le message
    J'ai testé aussi sur une breadboard, en jouant sur le GND et le VCC et cela ne fonctionne pas comme attendu.
    Comme je l'ai indiqué, j'ai cramé un transistor et une Led.

    Le bon fonctionnement est de relier ces BP à GND, pas à VCC, comme l'indique le schéma de ce message.

    N'y aurait il pas une erreur de montage avec le premier schéma, celui du message #137 du 08 aout 2024 ?
    Non il n'y a pas d'erreur dans le montage #137, il est juste conçu un poil différemment en ce sens où les diodes jouent un rôle de protection.

    Dans le montage ci dessous, en mettant les interrupteurs sur V+, on voit pourquoi on crame les transistors

    Nom : Capture011.JPG
Affichages : 124
Taille : 16,3 Ko

    Je n'ai mis qu'un seul interrupteur au V+ pour l'explication mais si je le ferme ce qu'on voit c'est que rien ne limite le courant qui va traverser la jonction Base Emetteur (qui est une diode interne). Celle-ci casse au même titre que si vous alimentiez un LED en oubliant la résistance de limitation du courant.

    Dans le montage #137 c'est différent.

    Nom : Capture012.JPG
Affichages : 127
Taille : 29,6 Ko

    Il faut juste se rappeler le comportement d'une diode. Pas besoin de grande analyse, juste souvenir que pour qu'une diode soit passante (équivalent à un interrupteur fermé) il faut que la tension sur l'anode soit supérieur à la tension sur la cathode (afin qu'un courant puisse aller de l'anode vers la cathode) ou si on le dit dans l'autre sens, il faut que la tension sur la cathode soit inférieure à la tension sur l'anode. Si je mets /S à V+ donc la cathode a V+ qui vaut 5V, est-ce que la tension de cathode est inférieure à la tension d'anode ? La question est vite réglée, puisque toute l'électronique est alimentée par V+ qui vaut 5V. Ca revient à se poser la question suivante ; est-ce que le 5V que j'ai mis sur la cathode est inférieur au 5V qui alimente toute l'électronique y compris l'anode. La réponse est non. Donc la diode est a considérer comme un interrupteur ouvert, on peut l'effacer du circuit pour l'analyse.

    Citation Envoyé par Artemus24 Voir le message
    Je ne sais pas trop si c'est utile mais comment introduire les condensateurs dans la bascule Reset/Set ?
    Le schéma de la bascule Reset/Set est celui tout en haut de ce message.
    Ce principe de mémoire repose sur un autre mécanisme que les bascule pour stocker les 1 et les 0 (même s'il y a nécessairement des bascules à l'intérieur qui géreront autres choses comme le décodage d'adresse). Le principe grosso modo c'est de mettre une tension dans un condensateur pour garder en mémoire un 1 et de mettre aucune tension dans le condo pour mémoriser un 0. Il y a une partie analogique dans ce principe.

    Citation Envoyé par Artemus24 Voir le message
    Je m'attendais à plus de bascules.
    A ma connaissance il n'y en a pas plus. Ensuite l'évolution a consisté à les assembler de sorte de faire des choses de plus en plus complexe.

    Citation Envoyé par Artemus24 Voir le message
    Je ne vois pas trop l'utilité de la bascule JK, qui me parait bien compliqué, juste pour faire apparaitre ce que vous nommez Toggle (en anglais basculer).
    Cet état d'alternance se retrouve aussi avec la bascule D quand la sortie "non Q" est relié à l'entrée D.
    Si j'ai le temps, ce que je ne garantie pas, j'essaierai de faire un compteur avec des JK afin de démontrer qu'il m'aurait fallu, pour faire le même compteur, plus de bascule D. Je pense qu'il faut s'élever des montages à transistors qui sont d'un niveau trop bas pour voir les avantages/inconvénients des types de bascules.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  6. #146
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2004
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2004
    Messages : 518
    Points : 715
    Points
    715
    Par défaut
    Citation Envoyé par Vincent PETIT Voir le message
    Ce principe de mémoire repose sur un autre mécanisme que les bascule pour stocker les 1 et les 0 (même s'il y a nécessairement des bascules à l'intérieur qui géreront autres choses comme le décodage d'adresse). Le principe grosso modo c'est de mettre une tension dans un condensateur pour garder en mémoire un 1 et de mettre aucune tension dans le condo pour mémoriser un 0. Il y a une partie analogique dans ce principe.
    Le condensateur est en fait la capacité "parasite" située entre grille et drain d'un mosfet qui va donc être soit conducteur, soit bloqué, permettant de récupérer un "0" ou un "1" sur sa source. Ce principe entraine donc un mécanisme de rafraichissement et du temps pour la charge et la décharge de cette capacité, ce qui a rendu pendant longtemps la RAM statique beaucoup plus rapide que la RAM dynamique.

    A+

  7. #147
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 462
    Points : 19 449
    Points
    19 449
    Par défaut
    Citation Envoyé par Vincent Petit
    Non il n'y a pas d'erreur dans le montage #137, il est juste conçu un poil différemment en ce sens où les diodes jouent un rôle de protection.
    J'ai confondu la diode avec la led. Il faut dire que les deux symboles sont presque pareils. La conséquence de cela, j'ai cramé un transistor et une led.

    Lequel des deux schémas que je dois privilégier ? J'ai une préférence pour celui où les deux BP sont branchés sur le GND.
    Je suppose qu'il doit exister pleins de variations de la bascule Reset/Set.

    Citation Envoyé par Vincent Petit
    Si j'ai le temps, ce que je ne garantie pas, j'essaierai de faire un compteur avec des JK afin de démontrer qu'il m'aurait fallu, pour faire le même compteur, plus de bascule D. Je pense qu'il faut s'élever des montages à transistors qui sont d'un niveau trop bas pour voir les avantages/inconvénients des types de bascules.
    Je n'ai aucune bascule à ma disposition, sauf celles que je peux créer avec des transistors.
    Je comprends que l'on ne va pas réinventer ce qui existe déjà sous forme de boitier.

    @ Jackk : peux tu nous dessiner une bascule Reset/Set avec des condensateurs à partir de ce montage ci-après :



    afin que je puisse comprendre leur intérêt ?
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  8. #148
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 758
    Points : 57 780
    Points
    57 780
    Billets dans le blog
    42
    Par défaut
    Hello à tous,

    Citation Envoyé par Vincent PETIT Voir le message
    [...] j'essaierai de faire un compteur avec des JK afin de démontrer qu'il m'aurait fallu, pour faire le même compteur, plus de bascule D.
    Quand j'évoque une bascule primitive JK (ou JK flip-flop synchrone et sensible sur front montant de l'horloge) à mon logiciel et que je synthétise, il me ressort justement une bascule D avec la combinatoire en amont :

    Nom : jkff.png
Affichages : 94
Taille : 10,8 Ko
    Nom : jkff2d.png
Affichages : 92
Taille : 6,4 Ko

    Je ne sais pas si on peut généraliser, mais on devrait pouvoir obtenir tous les types de bascules avec la bascule D comme bascule "universelle"...

    Pour faire un compteur 2 bits avec deux bascules JK (schéma qui sort assez vite avec 2 bits et en posant les tables de vérité) :

    Nom : counter2bits-2.png
Affichages : 94
Taille : 10,6 Ko
    Nom : counter2bits-1.png
Affichages : 93
Taille : 6,2 Ko

  9. #149
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 462
    Points : 19 449
    Points
    19 449
    Par défaut
    Est-il vrai que l'inventeur de la bascule JK est le prix noble Jack St. Clair Kilby (ingénieur en électronique américain) ?
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  10. #150
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 758
    Points : 57 780
    Points
    57 780
    Billets dans le blog
    42
    Par défaut
    Je croyais que c'était pour Jump et Kill plutôt que Set/Reset, mais bon, c'est peut-être un moyen mnémotechnique... Je ne sais pas

  11. #151
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 458
    Points : 4 630
    Points
    4 630
    Par défaut
    Bonjour,

    Si ma mémoire est bonne, c'est Jake et King même si les rôles peuvent être intervertis en invertissant aussi Q et !Q.

    C'est juste une convention et n'a pas grande importance. En revanche, il faut remarquer que le changement d'état est synchrone avec un front d'horloge ce qui est rarement le cas avec leur équivalent à transistors.

    Salutations
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  12. #152
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 208
    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 208
    Points : 11 686
    Points
    11 686
    Par défaut
    Citation Envoyé par f-leb Voir le message
    Quand j'évoque une bascule primitive JK (ou JK flip-flop synchrone et sensible sur front montant de l'horloge) à mon logiciel et que je synthétise, il me ressort justement une bascule D avec la combinatoire en amont :
    A mon avis ton synthétiseur sait que sa cible n'embarque que des bascules D flip-flop, il est peut être obligé de prendre une D pour faire une JK.

    Citation Envoyé par f-leb Voir le message
    Je ne sais pas si on peut généraliser, mais on devrait pouvoir obtenir tous les types de bascules avec la bascule D comme bascule "universelle"...
    Je pense que si au vu des datasheet des FPGA. Par exemple Lattice sur ses Ice40 HX/LP embarquent des D-flip flop et il fera tout avec ça.

    Nom : Capture013.PNG
Affichages : 89
Taille : 91,5 Ko

    Finalement je vais peut être avoir du mal à trouver un exemple concret qui met en évidence l'avantage d'une JK sur une D. Pour le montrer il faudrait un exemple avec de la logique combinatoire, en plus des JK, afin de mettre en évidence l'utilité de cette ligne en plus (en jaune) dans la table de vérité de la JK et qui n'existe pas dans la D.

    Nom : Capture014.PNG
Affichages : 87
Taille : 21,2 Ko

    Mais bon... ça concernerait des cas de figure élaboré, qui pourrait être conçue autrement selon qui pense le bidule et tout ça pour montrer que ça a fait économiser quelques portes logiques à une époque où la logique combinatoire ne coûte rien

    Un FPGA comme ICE40HX8K (pas fou fou comme truc) embarque 8000 Logic Cells*
    *Logic Cell = 1 bascule D flip-flop + LUT4**
    **LUT4 = Une mémoire contenant une table de vérité 4 entrées et 1 sortie (donc on peut mettre dedans une truc assez complexe en terme de logique combinatoire)
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  13. #153
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 462
    Points : 19 449
    Points
    19 449
    Par défaut
    a) La sortie se nomme Q comme Queen. Il n'y a avait qu'un pas à faire pour nommer J comme Jack et K comme King. Je ne crois pas que cela soit la vrai signification d'origine.

    b) la bascule flip/flop est la bascule la plus simple et est composée de deux inverseurs. Est-ce bien cela ?

    c) Dans le montage de la bascule Reset/Set que j'ai testé, il n'y a aucune indétermination quand je l'alimente au démarrage.
    Je m'attendais à voir la led Q s'allume d'une manière aléatoire vis-à-vis de la led non Q, or ce n'est pas le cas.
    J'ai toujours la même led qui s'allume. Pourquoi ?

    d) si j'ai bien compris, l'utilisation du condensateur sert à forcer au démarrage la led qui sera allumée ou pas.
    Le condensateur se place en parallèle du bouton poussoir, sur le Reset et ainsi la led Q démarrera à zéro.

    e) y-a-t-il un autre usage du condensateur dans la bascule Reset/Set ?

    f) la bascule D permet de résoudre le problème de l'état interdit en faisant l'alternance à chaque pulsion de l'horloge.
    Ainsi on peut les mettre en cascade et produire un compteur binaire, comme dans ce lien
    A moins de me tromper, une bascule JK nécessite plus de transistors qu'une bascule D. La bascule D est moins couteuse que la bascule JK et fait le même boulot.
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  14. #154
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 208
    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 208
    Points : 11 686
    Points
    11 686
    Par défaut
    Bonjour,
    Citation Envoyé par Artemus24 Voir le message
    a) La sortie se nomme Q comme Queen. Il n'y a avait qu'un pas à faire pour nommer J comme Jack et K comme King. Je ne crois pas que cela soit la vrai signification d'origine.
    Personnellement je n'en ai aucune idée, j'ai même lu sur un forum anglosaxon de renom que J et K n'avaient aucune signification.

    Citation Envoyé par Artemus24 Voir le message
    b) la bascule flip/flop est la bascule la plus simple et est composée de deux inverseurs. Est-ce bien cela ?
    Je ne sais pas à quelle flip flop tu fais référence mais toi avec tes transistors tu as fait un RS. Je trouve que dans les bascules le vocabulaire n'est pas clair entre flip-flop et latch. Dans la littérature généraliste les deux sont confondus mais la littérature plus pointue fait une différence entre un Latch (verrou) et Flip-flop (bascule du horloge suivi d'un verrou).

    Avec ton montage à transistors tu as fait un latch RS. Tu as recréée des portes NOR (Non Ou) dont la fonction Non = transistor et la fonction OU = diode. Le problème de voir les bascules dans un prisme très petit, qui va jusqu'au transistor, c'est qu'il y a plusieurs manières de réaliser cette fonction ; il y en a qui vont te virer les diodes et s'accommoder de résistance de protection pour éviter ce qu'il t'ait arrivé, c'est à dire cramer un composant, d'autre vont te câbler des transistors diodes juste pour n'avoir que de transistors, certains vont mettre des pull-up/down pour fixer l'état de démarrage et ne pas avoir l'état indéfini... et à la fin il devient plus compliquer de comparer les montages dans le détail même s'ils font la même chose (quoi que celui qui ajoute des composants pour ne plus avoir les états indéfinis triches car la table de vérité devient un poil différente et plus vraiment comparable avec les autres manières de faire.)

    Nom : Capture015.PNG
Affichages : 74
Taille : 4,7 Ko

    Si on regarde sous le prisme de porte logique NAND uniquement afin de rester sur du standard en terme de table de vérité, on a de haut en bas :
    RS (latch)
    RSH (flip-flop)
    JK (flip-flop)
    D (flip-flop)
    Nom : Capture016.PNG
Affichages : 75
Taille : 32,4 Ko

    Citation Envoyé par Artemus24 Voir le message
    c) Dans le montage de la bascule Reset/Set que j'ai testé, il n'y a aucune indétermination quand je l'alimente au démarrage.
    Je m'attendais à voir la led Q s'allume d'une manière aléatoire vis-à-vis de la led non Q, or ce n'est pas le cas.
    J'ai toujours la même led qui s'allume. Pourquoi ?
    Le démarrage en électronique peut devenir quelque chose de complexe. On peut même aller jusqu'à prendre en compte le temps de montée de l'alimentation. Cependant il est rare qu'un système reste dans un état instable longtemps, souvent la conception de l'électronique le tire vers un niveau haut ou bas juste après le démarrage.

    Citation Envoyé par Artemus24 Voir le message
    d) si j'ai bien compris, l'utilisation du condensateur sert à forcer au démarrage la led qui sera allumée ou pas.
    Le condensateur se place en parallèle du bouton poussoir, sur le Reset et ainsi la led Q démarrera à zéro.
    Non, se principe de mémoire à condensateur est vraiment autre chose, rien à voir avec les bascules qui permettent elles aussi de faire des mémoires. C'est vraiment une autre manière de voir les choses. J'avais cité cette exemple, issue du lien plus haut pour montrer que les bascules c'est bien mais dans certaines mémoires, il y a longtemps qu'on a trouvé bien plus performant.


    Citation Envoyé par Artemus24 Voir le message
    f) la bascule D permet de résoudre le problème de l'état interdit en faisant l'alternance à chaque pulsion de l'horloge.
    Ainsi on peut les mettre en cascade et produire un compteur binaire, comme dans ce lien
    A moins de me tromper, une bascule JK nécessite plus de transistors qu'une bascule D. La bascule D est moins couteuse que la bascule JK et fait le même boulot.
    Oui probablement. Si la bascule D intègre quasiment tous les FPGA c'est qu'elle une polyvalence. Et même si on peut trouver, j'en suis sur des configurations à JK qui ferait économiser des bascules, les FPGA intègrent tellement de logique qu'on s'en moque un peu.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  15. #155
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2004
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2004
    Messages : 518
    Points : 715
    Points
    715
    Par défaut
    Citation Envoyé par Artemus24 Voir le message
    @ Jackk : peux tu nous dessiner une bascule Reset/Set avec des condensateurs à partir de ce montage ci-après :



    afin que je puisse comprendre leur intérêt ?
    Je ne comprends pas trop ce que tu me demandes

  16. #156
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 462
    Points : 19 449
    Points
    19 449
    Par défaut
    a) Je connais la signification des lettres comme exemple D pour Data, T pour Toggle, R pour Reset, S pour Set, H pour horloge (ou C pour Clock).

    je demandais une précision sur l'origine de ce J & K car selon ce que j'ai lu, cela n'a jamais la même signification. A bien comprendre, personne ne connaît l'origine de ce choix de lettre et encore moins leur signification.

    b) Je sais que j'ai fait une bascule RS (plutôt un verrou ou Latch car il n'y a pas d'entrée horloge) puisque je me suis inspiré du schéma que j'ai trouvé dans Wikipédia pour le faire.
    Je ne sais pas si le terme flip flop désigne le verrou le plus simple constitué de deux inverseurs afin de conserver l'information d'un bit.
    Chaque inverseur est constitué d'un transistor et d'un pull-up comme le montre le schéma suivant :



    Mon interrogation est de savoir comment est on passé de ce flip flop à la bascule Reset/Set ?

    c) j'ai découvert ce site où la question posée concerne l'état indéterminé au démarrage. Je ne sais pas si c'est la solution donnée, celle du schéma fait à la main, correspond au montage avec condensateur que je recherche, à savoir, forcer la sortie Q à 0 ou à 1 au démarrage.

    @ Jackk : en dehors du lien que j'ai donné en c), il me semble que les condensateurs servent à rendre la bascule plus stable. Est-ce le cas ? Si j'ai bien compris l'inconvénient des verrous (sans l'horloge), le passage d'un état à un autre ne se fait pas toujours dans de bonne condition et rend cela instable. D'où le fait d'avoir introduit l'horloge pour justement supprimer cette instabilité. Est-ce que les condensateurs peuvent résoudre ce problème ?
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  17. #157
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 758
    Points : 57 780
    Points
    57 780
    Billets dans le blog
    42
    Par défaut
    Citation Envoyé par Vincent PETIT Voir le message
    Dans la littérature généraliste les deux sont confondus mais la littérature plus pointue fait une différence entre un Latch (verrou) et Flip-flop (bascule du horloge suivi d'un verrou).
    La confusion fut même longuement entretenue en Verilog jusqu'à des clarifications plus récentes avec SystemVerilog...

    Avec always_latch, tu évoques un 'verrou' (on parle aussi de 'bascule asynchrone' ce qui renforce la confusion) pour maintenir un état, par exemple :
    Code SystemVerilog : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    module test (
    	output logic out,
    	input	 logic enable,
    	input  logic in1,
    	input  logic in2
    );
    
    always_latch begin	// verrouillage inféré
    
    	if (enable) begin
    		out = in1 & in2;
    	end
    	// sous-entendu : si enable=0, la sortie out maintient son état (verrou)
    
    end
    
    endmodule
    Nom : rtl-latch.png
Affichages : 66
Taille : 8,4 Ko
    Nom : simul-latch.png
Affichages : 64
Taille : 2,9 Ko

    avec always_ff (ff pour flip-flop), tu évoques une bascule (ou 'bascule synchrone') sensible aux fronts d'une horloge :
    Code SystemVerilog : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    module test2 (
    	output logic out,
    	input	 logic enable,
    	input  logic in1,
    	input  logic in2,
    	input  logic clk
    );
    
    always_ff @(posedge clk) begin	// ff=flip-flop, sensibilité sur front montant de l'horloge
    
    	if (enable) begin
    		out = in1 & in2;
    	end
    	// sous-entendu : si enable=0, la sortie out maintient son état
    
    end
    
    endmodule
    Nom : rtl-ff.png
Affichages : 66
Taille : 9,8 Ko
    Nom : simul-ff.png
Affichages : 65
Taille : 3,9 Ko

    Après, désolé pour mes réponses 'à côté', mais si j'utilise des FPGA c'est justement pour raisonner au niveau logique, et ne pas avoir besoin de descendre au niveau bassement matériel du transistor (ce qui n'empêche pas de réfléchir à certains problèmes matériels comme les problèmes de timing/métastabilité).

  18. #158
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 758
    Points : 57 780
    Points
    57 780
    Billets dans le blog
    42
    Par défaut
    Citation Envoyé par Artemus24 Voir le message
    [...] forcer la sortie Q à 0 ou à 1 au démarrage.
    Il se pourrait bien que j'ai dissimulé sous le tapis ce problème d'indétermination au démarrage du verrou de mon précédent message
    Ce qui est source de nombreuses heures de débogage quand la simulation prend des valeurs par défaut et donc ne répond pas à ce qui se passe en pratique :
    Nom : simul-latch-undef.png
Affichages : 64
Taille : 4,5 Ko

    D'où la nécessité de mettre en oeuvre une entrée supplémentaire clear/reset :
    Code SystemVerilog : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ...
    always_latch begin	// verrouillage inféré
    
    	if (clr) begin
    		out = 1'h0;
    	end 
    	else if (enable) begin
    		out = in1 & in2;
    	end
    	// sous-entendu : si enable=0, la sortie out maintient son état (verrou)
    
    end

    Nom : rtl-latch-clear.png
Affichages : 66
Taille : 8,7 Ko
    Nom : simul-latch-def.png
Affichages : 64
Taille : 5,4 Ko

  19. #159
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 462
    Points : 19 449
    Points
    19 449
    Par défaut
    @ Jackk : j'ai trouvé la solution pour placer le condensateur.
    J'ai bien une incertitude au démarrage, sur la led (Q ou NON Q) qui va s'allumer en premier.
    Il faut le mettre sur les bornes du BP. J'ai trouvé un autre lien que celui que j'ai donné, qui explique cela.

    @ F-leb : merci pour tes schémas, mais cela ne m'aide pas.
    Je suis dans une démarche plus que basique et j'essaye de comprendre à mon niveau comment fonctionne l'électronique.

    Comme je l'ai dit précédemment, le schéma issu de Wikipedia, celui avec les BP reliés au GND fonctionne comme je l'attendais.
    L'autre schéma, celui avec les deux diodes (que j'avais pris pour des leds), j'ai refait le test mais cela ne fonctionne pas comme je l'attendais.
    En partant du schéma de Wikipedia, comment remplacer les BP par des entrées pouvant prendre les valeurs GND ou VCC ?

    L'idée est de simuler, comme sur le schéma, l'ouverture ou la fermeture du BP, en utilisant des transistors.
    Là où il me semble que je n'ai pas bien compris le fonctionnement des transistors, je désire bloquer le flux.
    Jusqu'à présent, j'utilisais les transistors pour protéger les GPIO de la Raspberry Pi.
    Coté Raspberry Pi, du 3V3 avec un ampérage assez faible. Coté montage, du 5Vcc avec un ampérage plutôt élevé.
    Et peu importe le type de transistor que j'utilisais (NPN ou PNP), ça fonctionnait bien.
    Juste parfois un problème dans le sens émetteur / collecteur que je n'ai toujours pas bien compris comment appliquer.
    Il me faudrait un montage basique pour montrer le sens du flux selon le type de transistor (PNP ou NPN).

    Maintenant, ce n'est ni du 3V3 ou du 5Vcc que je désire faire passer ou bloquer mais le GND.
    Là où ça se complique, j'ai comme un courant résiduel qui passe quand l'un des BP est enfoncé et pas l'autre.
    Franchement, je ne comprends pas ce courant résiduel.

    Peux tu dans ta sagesse infinie me communiquer le montage du remplacement des BP du schéma Wikipédia, s'il te plait ?
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

+ Répondre à la discussion
Cette discussion est résolue.
Page 8 sur 8 PremièrePremière ... 45678

Discussions similaires

  1. carte fox-lx832, question électronique
    Par IgiXphp dans le forum Embarqué
    Réponses: 4
    Dernier message: 23/02/2010, 09h34
  2. Divers questions
    Par Freakazoid dans le forum DirectX
    Réponses: 2
    Dernier message: 06/08/2002, 21h57
  3. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11
  4. Question de faisabilité
    Par lisarasu dans le forum CORBA
    Réponses: 3
    Dernier message: 14/05/2002, 11h26
  5. [HyperFile] 2 questions de débutant
    Par khan dans le forum HyperFileSQL
    Réponses: 2
    Dernier message: 29/04/2002, 23h18

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