• 15 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 13/03/2020

Concevez différents types de registres

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Ce chapitre décrit l'architecture de différents registres couramment utilisés dans la conception de circuits numériques.

Conversion série-parallèle

Les registres à décalage sont utilisés dans de nombreux circuits intégrés pour convertir des données logiques séries en données parallèles. Dans de nombreux cas, les liaisons de données séries sont préférées pour la communication entre blocs, car elles réduisent le nombre de broches et la taille des bus, ce qui a un impact positif sur le coût d’interconnexion. Cependant, la liaison série est plus lente que l'interface parallèle. Les cellules Dreg sensibles sur front sont très utiles pour convertir un flux de données série en un flux de données parallèles.

Registre à décalage permettant la conversion série parallèle
Registre à décalage permettant la conversion série-parallèle

Dans le circuit ci-dessus, les données séries entrent par l'entrée "DataIn". Quatre cellules Dreg sont chaînées en connectant la sortie Q à l'entrée D du prochain étage.  À chaque front descendant de l’horloge "Shift", le registre copie l’entrée sur la sortie. Au bout de quatre fronts actifs, les données séries de DataIn se retrouvent en parallèle sur D0..D3. On nomme ce circuit "Serial IN - Parallel OUT".

Vous trouverez ci-dessous un exemple de simulation de conversion de données séries en parallèles avec DSCH :

En supposant que l'on souhaite transformer la donnée 0,1,11 de série en parallèle, au bout de 4 fronts actifs sur "Shift", D0=0, D1=1, D2=1 et D3=1.

Conversion série parallèle
Conversion série-parallèle

Conversion parallèle-série

La conversion parallèle-série fait appel à un circuit un peu plus complexe que le circuit précédent, car il faut une logique de contrôle un peu plus sophistiquée.

Séquence de conversion :

  1. Phase d'initialisation : on envoie une impulsion positive sur Reset pour mettre les 4 sorties Q à 0.

  2. Sélection de la donnée sur le clavier : les 4 sorties du clavier forment la combinaison binaire qui correspond au chiffre sélectionné.

  3. Sélection du mode chargement : Shift/Load est mis à 0, ce qui active le mode "chargement" et permet d'appliquer un 1 sur une des entrées de chaque porte AND, dont l'autre entrée est connectée au clavier. Cela a pour conséquence d'acheminer la combinaison binaire vers les entrées D des bascules.

  4. Mémorisation des données dans les bascules D : un front d'horloge descendant permet de transférer les données des entrées des bascules vers leur sortie Q.

  5. Décalage en série : Shift/Load est mis à 1 (mode "décalage" activé). Cela inhibe les portes AND véhiculant les données du clavier. En revanche, cela permet d'activer la deuxième série de porte AND, dont l'une des entrées est connectée à la sortie de la bascule précédente, transférant ainsi la sortie de la bascule précédente sur l'entrée D de la suivante. Un premier décalage de 1 bit est ainsi réalisé.

  6. Soit on continue à décaler avec Shift/Load à 1, soit on charge une nouvelle donnée de 4 bits avec Shift/Load à 0.

Exemple : charger et décaler le chiffre 6

Après une impulsion positive sur Reset, toutes les sorties Q0..Q3 sont remises à 0.

"Shift/Load" est mis à 0, donc "Load" est au niveau 1 actif, ce qui fixe à 1 une entrée de chaque porte AND, dont l'autre entrée est connectée au clavier. Ceci a pour effet de transmettre la donnée du clavier en entrée des portes OU. La deuxième entrée de ces portes OU est mise à 0 par l'intermédiaire du signal Shift/Load qui est à 0. Il en résulte que le nombre binaire (image du chiffre entré au clavier) est directement disponible sur les entrées D des 4 bascules.

Ici, on rentre "6" au clavier soit 0110. Avec Shift/Load à 0 et après un front d'horloge actif, la combinaison des sorties des bascules représente la donnée 0110.

En positionnant ensuite Shift/load à 1, trois fronts d'horloge permettent de transférer les données 0110 vers "SerialOut".

Circuit de conversion parallèle-série
Circuit de conversion parallèle-série

Dans ce chapitre, vous avez découvert l'architecture de différents types de registres et vous avez appris à concevoir un circuit permettant de charger et décaler une valeur numérique.

Dans le chapitre suivant, vous réutiliserez ces concepts pour créer une horloge qui compte les heures.

Exemple de certificat de réussite
Exemple de certificat de réussite