Les registres de décalage sont utiles dans les systèmes numériques car ils contrôlent la manière dont les données sont stockées et transférées. Parmi eux, le registre de décalage Serial-In Parallel-Out (SIPO) offre un moyen efficace de convertir l’entrée série en sortie parallèle. Cet article explique sa structure, son fonctionnement au niveau du signal et son comportement de synchronisation.

Qu’est-ce que le registre de décalage SIPO ?
Un registre de décalage Serial-In Parallel-Out (SIPO) est un circuit numérique qui accepte les données binaires un bit à la fois via une seule entrée série et stocke chaque bit dans une chaîne de bascules. Une fois stockés, tous les bits peuvent être lus ensemble via plusieurs sorties parallèles. Sa fonction principale est de convertir les données série en données parallèles.
Principe de fonctionnement et conversion des données d’un registre de décalage SIPO

Un registre de décalage SIPO fait circuler les données à travers une série de bascules à l’aide de transitions contrôlées par l’horloge, permettant de stocker et d’accéder simultanément à des bits d’entrée séquentiels aux sorties.
Entrée série (SI)
L’entrée série fournit un bit à la fois au premier bascule du registre. Avant que le bord d’horloge actif ne se produise, le bit d’entrée doit être stable afin de pouvoir être capturé correctement. Lorsque le bord de l’horloge arrive, le nouveau bit entre dans la première étape, tandis que les bits déjà stockés passent aux étapes suivantes. Cela crée un transfert étape par étape des données à travers le registre.
Sorties parallèles (Q0, Q1, Q2, ...)
Chaque bascule possède une sortie qui reflète en continu le bit stocké à cette étape. Ces sorties représentent différentes positions de bits, permettant de lire les données stockées sous forme parallèle. Après chaque arête d’horloge, les sorties reflètent les valeurs mises à jour après un court délai de propagation, permettant d’accéder simultanément à tous les bits.
Signal d’horloge (CLK)
Le signal d’horloge contrôle le passage des données dans le registre. Les données ne se déplacent que sur le bord d’horloge défini (montant ou descendant, selon la conception). Puisque toutes les tongs partagent la même horloge, elles réagissent au même événement chronométrage. Entre les bords de l’horloge, les valeurs stockées restent inchangées.
Modes de fonctionnement

Alors qu’un registre SIPO de base fonctionne par décalage série, certaines conceptions incluent des fonctionnalités de contrôle supplémentaires qui modifient la manière dont les données sont chargées ou mises à jour.
Mode de changement
En mode décalage, les données entrent dans le registre un bit à la fois via l’entrée série. À chaque impulsion d’horloge, les bits stockés passent étape par étape d’un flip-flop à l’autre tout en maintenant leur séquence. Ce déplacement continu permet de stocker et transférer des données séquentielles dans l’ordre.
Capacité de charge parallèle (dépendante de l’appareil)
Les registres de décalage SIPO standards n’incluent généralement pas de charge parallèle. Cependant, certaines conceptions étendues ou hybrides (comme les registres à décalage universels) permettent de charger des données simultanément dans tous les bascules. Lorsque cette fonctionnalité est présente, un signal de contrôle permet de capturer tous les bits lors d’un seul événement d’horloge, offrant un accès immédiat à l’ensemble complet des données sans plusieurs cycles de décalage.
Exemple étape par étape et comportement de transfert de données
Considérons un registre de décalage SIPO 4 bits commençant à 0000. Une séquence d’entrée série 1011 est appliquée bit par bit. Dans cet exemple, les bits se déplacent vers la position la plus significative, tandis que la position la moins significative contient les données saisies les plus récemment.
| Impulsion d’horloge | Bit d’entrée | État d’enregistrement |
|---|---|---|
| Initial | — | 0000 |
| 1 | 1 | 0001 |
| 2 | 0 | 0010 |
| 3 | 1 | 0101 |
| 4 | 1 | 1011 |
Après chaque impulsion d’horloge :
Le nouveau bit d’entrée entre dans la première étape
Les bits précédemment stockés avancent d’une position
Les bits antérieurs se dirigent vers l’étape finale de sortie
Après quatre impulsions, les données complètes 4 bits sont disponibles en parallèle
La continuité de la fréquence remplace les anciens bits stockés par de nouvelles données d’entrée
Après quatre impulsions d’horloge, le registre stocke 1011, et les quatre bits sont disponibles aux sorties parallèles.
Contraintes de timing et problèmes liés au timing
Paramètres de synchronisation
| Paramètre | Description |
|---|---|
| Temps de mise en place | L’entrée doit être stable avant le bord d’horloge |
| Temps d’attente | L’entrée doit rester stable après le bord d’horloge |
| Délai de propagation | Temps nécessaire pour que les sorties se mettent à jour |
| Période d’horloge | Doit permettre un stabilisation complète du signal |
Effets des violations du calendrier
| Issue | Résultat |
|---|---|
| Violation de configuration | Capture incorrecte des données |
| Violation de retenue | Sorties instables |
| Fréquence d’horloge excessive | Déplacement incomplet |
Erreurs courantes de synchronisation
| Erreur | Impact |
|---|---|
| Ignorer les exigences de configuration/maintien | Fonctionnement peu fiable |
| Utilisation de signaux d’horloge trop rapides | Violations du timing |
| Tremblement d’horloge | Déclenchement involontaire |
Bonnes pratiques de timing
| Pratique | Bénéfice |
|---|---|
| Utiliser une source d’horloge stable | Comportement de synchronisation cohérent |
| Respecter les limites de configuration/maintien | Prévient les erreurs de données |
| Gardez la fréquence d’horloge dans des limites sûres | Fonctionnement fiable |
| Minimiser les délais de chemin | Amélioration de la stabilité du calage |
Verrouillage de sortie et cascade
Verrouillage de sortie (contrôle amélioré)

Certains registres de décalage SIPO incluent un étage de verrouillage de sortie séparé qui permet des mises à jour contrôlées des sorties.
| Opération | Signal | Effet / Bénéfice |
|---|---|---|
| Transfert de données via des bascules internes | Aiguille à décalage (SH_CP) | Déplace les données étape par étape sans affecter la sortie |
| Données stockées transférées à l’étape de sortie | Horloge à loquet (ST_CP) | Met à jour toutes les sorties en même temps |
| Entrée de données série | Saisie de données (SER) | Fournit un flux de bits d’entrée |
Cette structure empêche l’apparition de données intermédiaires aux sorties et permet des mises à jour synchronisées.
Cascade de plusieurs registres SIPO

La cascade étend le nombre de sorties en connectant plusieurs registres.
| Aspect | Comportement | Considération de conception | Application |
|---|---|---|---|
| Chaîne en série | La sortie de un alimente la prochaine entrée | Le timing devient plus critique | Broches de sortie expansives |
| Horloge partagée | Tous les registres utilisent la même horloge | Augmentation du délai de propagation | Réseaux ou écrans LED |
| Remplissage séquentiel | Remplissages de données étape par étape | Plus de cycles d’horloge requis | Systèmes de contrôle multi-lignes |
SIPO vs. Sortie en série (SISO)

| Fonctionnalité | SIPO | SISO |
|---|---|---|
| Type d’entrée | Série | Série |
| Type de sortie | Parallèle | Série |
| Accès aux données | Tous les bits stockés disponibles en même temps | Un bit à la fois |
| Mouvement des données | Entrer en bascule, lire en parallèle | Passage via une seule sortie |
| Utilisation typique | Conversion de données | Retard ou transfert de données |
| Minutage de sortie | Disponible après chargement | Apparaît après un quart complet |
Applications des registres à décalage SIPO

Les registres de décalage SIPO sont utilisés lorsque des données série doivent être stockées, converties ou envoyées à plusieurs lignes de sortie simultanément.
• Stockage temporaire des données série avant utilisation parallèle – Ils retiennent les bits série entrants jusqu’à ce qu’un mot de données complet soit disponible.
• Conversion de données série-parallèle – Ils convertissent une entrée bit à la fois en sortie parallèle multi-bits.
• Expansion de sortie pour les signaux de commande numériques – Ils permettent à un système de contrôler plusieurs lignes de sortie en utilisant moins de broches d’entrée.
• Prise en charge du décodage d’adresses – Ils peuvent aider à fournir des bits d’adresse ou de contrôle parallèles pour sélectionner les emplacements mémoire, les dispositifs ou les sections de circuits.
Dispositifs courants de registre à décalage SIPO

• SN74ALS164A – registre de décalage SIPO de base sans verrouillage de sortie ; Mises à jour de sortie immédiate

• SN74AHC594 – Inclut un loquet de sortie pour des mises à jour contrôlées

• SN74AHC595 – Registres à décalage populaires avec sorties à registre de stockage et tri-états

• CD4094 – Dispositif basé sur CMOS avec prise en charge du loquet et de la cascade
Foire aux questions [FAQ]
Comment le délai de propagation affecte-t-il la cascade de plusieurs registres de décalage SIPO ?
Le délai de propagation s’accumule entre les étapes en cascade, ce qui peut provoquer un désalignement temporel entre les données série et l’horloge. À mesure que la longueur de la chaîne augmente, les concepteurs doivent réduire la fréquence d’horloge ou ajouter des marges de temporisation afin d’assurer un bon déplacement des données et une synchronisation stable en sortie.
Pourquoi certains registres de décalage SIPO incluent-ils un loquet de sortie, et quand est-ce nécessaire ?
Un loquet de sortie isole le décalage interne des sorties externes, empêchant l’apparition de données intermédiaires lors des transitions d’horloge. Elle est nécessaire dans des applications telles que le contrôle des LED ou la conduite par affichage, où toutes les sorties doivent se mettre à jour simultanément sans bugs visibles.
Quelles sont les principales limites de l’utilisation d’un registre de décalage SIPO au lieu d’un extenseur GPIO ?
Un registre de décalage SIPO nécessite une horloge continue et un chargement séquentiel des données, ce qui augmente la latence à mesure que la largeur de sortie augmente. Il manque également d’adressabilité et de capacité de lecture en arrière, ce qui le rend moins adapté au contrôle complexe ou bidirectionnel comparé aux expanseurs GPIO utilisant I²C ou SPI.
Comment les contraintes de temps de configuration et de temps de maintien impactent-elles la fiabilité du registre de déplacement SIPO ?
Si les exigences de temps d’installation ou de maintien sont violées, les données d’entrée peuvent ne pas être correctement capturées au bord d’horloge, ce qui entraîne des erreurs de bits ou des sorties instables. Un fonctionnement fiable nécessite un signal d’entrée stable avant et après la transition d’horloge ainsi qu’une fréquence d’horloge permettant un stabilisement complet du signal.
Quand un concepteur doit-il éviter d’utiliser un registre à décalage SIPO dans un système numérique ?
Un registre de décalage SIPO doit être évité lorsqu’un accès aléatoire rapide aux sorties est requis, lorsque la communication bidirectionnelle est requise, ou lorsque les contraintes de synchronisation sont strictes. Dans de tels cas, les interfaces parallèles ou les expanseurs basés sur la communication offrent de meilleures performances et une meilleure flexibilité.