- Qu'est-ce que Shift Register:
- Types de registres en électronique numérique
- 1. Serial in - Serial out Shift Registers
- 2. Entrée série - Registre à décalage parallèle
- 3. Parallel in - Serial out Shift Register
- 4. Parallel in - Registre à décalage parallèle
- 5. Registres à décalage bidirectionnel
- 6. Compteurs
- Applications des registres à décalage
Qu'est-ce que Shift Register:
Les registres à décalage sont des circuits logiques séquentiels, capables de stocker et de transférer des données. Ils sont constitués de bascules qui sont connectées de telle sorte que la sortie d'une bascule puisse servir d'entrée de l'autre bascule, en fonction du type de registres à décalage créés.
Les registres à décalage sont essentiellement un type de registre qui a la capacité de transférer («décalage») des données. Les registres sont génériquement des dispositifs de stockage qui sont créés en connectant un nombre spécifique de bascules ensemble en série et la quantité de données (nombre de bits) qui peut être stockée par le registre est toujours directement proportionnelle au nombre de bascules, comme chaque bascule flop est capable de stocker un seul bit à la fois. Lorsque les bascules d'un registre sont connectées de telle sorte que la sortie d'une bascule devienne l'entrée de l'autre, un registre à décalage est créé.
Les bascules sont des appareils dont le fonctionnement est similaire à celui d'un verrou. Il peut être appelé un vibrateur bistable qui peut se déplacer entre deux états (0 ou 1) et est capable de stocker des données en bits. Les nouvelles données sont lues dans une bascule à chaque cycle d'horloge et les données précédentes sont envoyées en sortie.
Shift Registers Comprennent de quelles bascules?
Cela dépend cependant du type de bascule, car les relations entre les bascules d'entrée, de sortie et de cycle d'horloge varient. Il existe différents types de bascules, mais les plus couramment utilisées dans la création de registres à décalage sont les bascules D (Delay).
Pour le fonctionnement des bascules D qui les rend si désirables pour les registres à décalage, chaque fois qu'il y a un changement sur l'horloge d'une bascule D (front montant ou descendant, selon les spécifications de la bascule). Les données de la sortie «Q» deviennent les mêmes données que celles de l'entrée «D». La sortie «Q» de la bascule restera à cette valeur jusqu'au prochain cycle d'horloge, où elle reviendra alors à la valeur (haute ou basse, 1 ou 0) à l'entrée.
Maintenant que nous savons ce que sont les registres de tamisage, nous allons procéder à une plongée plus profonde dans les types de bascule et leurs applications. Mais avant cela, pour donner une idée plus pratique de l'utilisation des registres à décalage, jetons un coup d'œil au registre à décalage populaire 74HC595 que nous avons utilisé avec différents microcontrôleurs pour interfacer un affichage ou une séquence de LED.
- Shift Register avec 74HC595 avec Arduino pour contrôler une séquence de LED
- Registre à décalage avec ESP32 pour interfacer l'affichage à 7 segments
- Shift Register avec Raspberry Pi pour contrôler plusieurs LED
- Shift Register avec PIC pour contrôler la séquence des LED
Types de registres en électronique numérique
Les registres à décalage sont classés en types principalement en fonction de leur mode de fonctionnement, en série ou en parallèle.
Il existe six (6) types de base de registres à décalage qui sont énumérés ci-dessous, bien que certains d'entre eux puissent être divisés davantage en fonction de la direction du flux de données, soit un décalage vers la droite, soit un décalage vers la gauche.
1. Serial in - Serial out Shift Register (SISO)
2. Serial In - Parallel Out Shift Register (SIPO)
3. Parallel in - Parallel out Shift Register (PIPO)
4. Parallel in - Serial out Shift Register (PISO)
5. Registres à décalage bidirectionnel
6. Compteurs
1. Serial in - Serial out Shift Registers
Serial in - Les registres à décalage Serial out sont des registres à décalage qui diffusent les données en série (un bit par cycle d'horloge) et les diffusent également de la même manière, les uns après les autres.
Un simple registre à décalage série 4 bits en entrée série est illustré ci-dessus, le registre se compose de 4 bascules et la répartition de son fonctionnement est expliquée ci-dessous;
Au démarrage, le registre à décalage est d'abord effacé, forçant les sorties de toutes les bascules à zéro, les données d'entrée sont ensuite appliquées à l'entrée en série, un bit à la fois.
Il existe deux méthodes de base pour transférer des données via un registre à décalage SISO;
- Lecture non destructive
- Lecture destructrice
- Lecture non destructive
Basés sur la lecture non destructive, les registres à décalage ont toujours un mode de fonctionnement en lecture / écriture avec une ligne supplémentaire ajoutée pour permettre le basculement entre les modes de fonctionnement de lecture et d'écriture.
Lorsque l'appareil est en mode opérationnel «écriture», le registre à décalage décale chaque donnée un bit à la fois en se comportant exactement comme la version de lecture destructive et les données sont ainsi perdues, mais lorsque le mode opérationnel est commuté sur «lecture», qui sont décalés à l'entrée retourne dans le système et servent d'entrée au registre à décalage. Cela permet de garantir que les données restent plus longtemps (tant qu'elles restent en mode lecture)
- Lecture destructrice
Pour les lectures destructives, les données sont complètement perdues car la bascule ne fait que déplacer les informations. En supposant que pour le registre à décalage 4 bits ci-dessus, nous voulons envoyer le mot «1101». Après avoir effacé le registre à décalage, la sortie de toutes les bascules passe à 0, donc pendant le premier cycle d'horloge lorsque nous appliquons ces données (1101) en série, les sorties des bascules ressemblent au tableau ci-dessous.
Premier cycle d'horloge:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
0 |
0 |
0 |
Deuxième cycle d'horloge:
FF0 |
FF1 |
FF2 |
FF3 |
0 |
1 |
0 |
0 |
Troisième cycle d'horloge:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
0 |
1 |
0 |
Quatrième cycle d'horloge:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
1 |
0 |
1 |
2. Entrée série - Registre à décalage parallèle
Le deuxième type de registre à décalage que nous allons considérer est le registre à décalage série entrée - sortie parallèle également connu sous le nom de registre à décalage SIPO. Ces types de registres à décalage sont utilisés pour la conversion de données de série en parallèle. Les données arrivent l'une après l'autre par cycle d'horloge et peuvent être décalées et remplacées ou être lues à chaque sortie. Cela signifie que lorsque les données sont lues, chaque bit lu devient disponible simultanément sur leur ligne de sortie respective (Q0 - Q3 pour le registre à décalage de 4 bits illustré ci-dessous).
Un registre à décalage d'entrée série 4 bits - Sortie parallèle est illustré dans l'image ci-dessous.
Un tableau montrant comment les données sont décalées hors du registre à décalage série en sortie parallèle à 4 bits est présenté ci-dessous, avec les données entrées comme 1001.
Clair |
FF0 |
FF1 |
FF2 |
FF3 |
1001 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
|
0 |
1 |
0 |
0 |
|
0 |
0 |
1 |
0 |
|
1 |
0 |
0 |
1 |
Le registre à décalage 74HC164, qui est un registre à décalage de 8 bits , est un bon exemple de registre à décalage série entrée-sortie parallèle.
L'appareil dispose de deux entrées de données série (DSA et DSB), huit sorties de données parallèles (Q0 à Q7). Les données sont entrées en série via DSA ou DSB et l'une ou l'autre des entrées peut être utilisée comme validation HIGH active pour la saisie de données via l'autre entrée. Les données sont décalées sur les transitions LOW-to-HIGH de l'entrée d'horloge (CP). Un LOW sur l'entrée de réinitialisation générale (MR) efface le registre et force toutes les sorties à LOW, indépendamment des autres entrées. Les entrées comprennent des diodes de serrage. Cela permet l'utilisation de résistances de limitation de courant pour connecter les entrées à des tensions supérieures à VCC.
3. Parallel in - Serial out Shift Register
Dans le registre à décalage Parallel in - Serial out, les données sont fournies en parallèle, par exemple, considérez le registre à 4 bits illustré ci-dessous.
Ce registre peut être utilisé pour stocker et décaler un mot de 4 bits, l'entrée de commande d'écriture / décalage (WS) contrôlant le mode de fonctionnement du registre à décalage. Lorsque la ligne de contrôle WS est au niveau bas (mode d'écriture), les données peuvent être écrites et synchronisées via D0 à D3. Pour décaler les données en série, la ligne de commande WS est amenée HIGH (mode Shift), le registre décale alors les données sur l'entrée d'horloge. Le Parallel in Serial notre Shift Register est également appelé PISO Shift Register.
Un bon exemple de registre à décalage parallèle entrée - sortie série est le registre à décalage 8 bits 74HC165 bien qu'il puisse également être utilisé comme registre à décalage série entrée - sortie série.
L'appareil dispose d'une entrée de données série (DS), de huit entrées de données parallèles (D0 à D7) et de deux sorties série complémentaires (Q7 et Q7 '). Lorsque l'entrée de charge parallèle (PL) est FAIBLE, les données de D0 à D7 sont chargées dans le registre à décalage de manière asynchrone. Lorsque PL est HIGH, les données entrent dans le registre en série à DS. Lorsque l'entrée d'activation d'horloge (CE) est BASSE, les données sont décalées sur les transitions BASSE-HAUTE de l'entrée CP. Un HAUT sur CE désactivera l'entrée CP. Les entrées sont tolérantes aux surtensions jusqu'à 15 V. Cela permet à l'appareil d'être utilisé dans des applications de décalage de niveau HAUT à BAS.
Le schéma fonctionnel du registre à décalage est illustré ci-dessous;
Le chronogramme du système est illustré dans l'image ci-dessous;
4. Parallel in - Registre à décalage parallèle
Pour un registre à décalage parallèle en parallèle, les données de sortie sur les sorties parallèles apparaissent simultanément lorsque les données d'entrée sont introduites. Ce type de registre à décalage est également appelé registre à décalage PIPO.
Les données d'entrée à chacune des broches d'entrée de D0 à D3 sont lues en même temps lorsque l'appareil est cadencé et en même temps, les données lues à partir de chacune des entrées sont transmises à la sortie correspondante (de Q0 à Q3).
Le registre à décalage 74HC195 est un registre à décalage polyvalent qui est capable de fonctionner dans la plupart des modes décrits par tous les types dont nous avons parlé jusqu'à présent, en particulier en tant que registre à décalage parallèle en parallèle.
5. Registres à décalage bidirectionnel
Les registres à décalage peuvent effectuer un décalage de données à droite ou à gauche, ou les deux selon le type de registre à décalage et leur configuration. Dans les opérations de décalage à droite, les données binaires sont divisées par deux. Si cette opération est inversée, les données binaires sont multipliées par deux. Avec une application appropriée de la logique combinatoire, un registre à décalage série peut être configuré pour effectuer les deux opérations.
Considérez le registre 4 bits dans l'image ci-dessous. Quelques portes NAND sont configurées comme des portes OU et sont utilisées pour contrôler la direction du décalage, à droite ou à gauche.
La ligne de contrôle gauche / écriture est utilisée pour déterminer la direction dans laquelle les données sont décalées, à droite ou à gauche.
Le registre à décalage bidirectionnel 74HC194 en est un bon exemple. Le registre peut fonctionner dans tous les modes et variations d'entrée ou de sortie série et parallèle. Le schéma fonctionnel du 74HC194 mettant en évidence la ligne de commande, l'horloge, les broches d'entrée et de sortie est illustré ci-dessous.
Le chronogramme de l'appareil est également présenté ci-dessous. Cela vous aidera à mieux comprendre comment la ligne de contrôle contrôle les actions du registre.
6. Compteurs
Les compteurs, parfois appelés registres à décalage de rotation, sont essentiellement des registres à décalage dont les sorties sont réinjectées dans l'appareil en tant qu'entrées de manière à créer un motif particulier. Ces types de registres sont appelés compteurs en raison du modèle et de la séquence qu'ils présentent. Le type le plus courant de compteurs de registre à décalage sont les compteurs à sonnerie.
Compteur de sonneries
Les compteurs en anneau sont essentiellement un type de compteur dans lequel la sortie du bit le plus significatif est renvoyée en tant qu'entrée au bit le moins significatif. Un compteur en anneau à 4 bits est illustré dans le diagramme ci-dessous en utilisant des bascules D.
Lorsque l'impulsion d'horloge est appliquée, la sortie de chaque étage est décalée vers la suivante et le cycle continue. Lorsque clear est activé, toutes les bascules sauf la première (qui est mise à 1) sont remises à zéro.
Applications des registres à décalage
Les registres à décalage sont utilisés dans de nombreuses applications dont certaines le sont;
1. Conversion parallèle à série, où ils sont utilisés pour réduire le nombre de fils ou de lignes nécessaires pour la communication entre deux appareils, car la communication série ne nécessite généralement que deux fils par rapport au parallèle qui dépend du nombre de bits envoyés.
2. Extension IO pour microcontrôleurs. Dans l'électronique moderne, les broches IO des microcontrôleurs sont appelées biens immobiliers et il faut autant que possible pour certaines applications comme allumer 100 leds ou lire 100 commutateurs Reed avec quelque chose comme un microcontrôleur Arduino ou Atmeg328p. Par exemple, le schéma de circuit ci-dessous illustre comment un registre à décalage série-parallèle peut être utilisé pour contrôler 8 LED, en utilisant seulement trois des broches IO du microcontrôleur.
3. Ils sont utilisés dans les registres d'état qui sont utilisés dans les dispositifs séquentiels. Comme une machine à mémoire finie, l'état suivant de l'appareil est toujours déterminé en décalant et en insérant une nouvelle donnée dans la position précédente.
4. Une autre application principale se trouve dans Délais de temps. Les registres à décalage sont utilisés pour la temporisation dans les dispositifs, l'heure étant ajustée par l'horloge, ou augmentée par des registres à décalage en cascade ou réduite en prenant la sortie d'un bit de poids faible.
Le délai est généralement calculé à l'aide de la formule;
t = N * (1 / fc)
N est le nombre d'étages de bascule auquel la sortie est prise, Fc est la fréquence du signal d'horloge et t qui est la valeur en cours de détermination est la durée pendant laquelle la sortie sera retardée.
Lors de la sélection d'un registre à décalage pour une tâche particulière en raison de la large plage et du type, il est important de sélectionner celui qui correspond à votre besoin particulier, en tenant compte de choses comme le mode de fonctionnement, la taille de bits (nombre de bascules), droite ou gauche bidirectionnel etc.
Certains des registres à décalage les plus populaires sont;
- Registre à décalage universel bidirectionnel 4 bits 74HC 194
- Registre à décalage universel bidirectionnel 8 bits 74HC 198
- Registre à décalage série-en-parallèle-sortie 74HC595
- Registre à décalage 74HC165 Parallel-In-Serial-Out
- IC 74291 Registre à décalage universel 4 bits, compteur binaire haut / bas, synchrone.
- IC 74395 Registre à décalage universel 4 bits avec sorties à trois états.
- IC 74498 Registre à décalage bidirectionnel 8 bits avec entrées parallèles et sorties à trois états.
- IC 74671 Registre à décalage bidirectionnel 4 bits.
- IC 74673 Registre à décalage série entrée série 16 bits avec registres de stockage de sortie.
- IC 74674 Registre à décalage de sortie série à entrée parallèle 16 bits avec sorties à trois états.
Il y en a plusieurs autres, il vous suffit de trouver celle qui correspond le mieux à votre application.
Merci d'avoir lu, jusqu'à la prochaine fois.