Les Circuits Séquentiels et Mémoires
Bascules, registres, compteurs et mémoires : les circuits qui se souviennent
Circuit Séquentiel vs Combinatoire
Un circuit séquentiel possède une mémoire : sa sortie dépend non seulement des entrées actuelles, mais aussi de l’état précédent.
Circuit Combinatoire
- Pas de mémoire
- Réponse immédiate
- Pas d’horloge
- Table de vérité fixe
Circuit Séquentiel
- Possède une mémoire
- Évolution dans le temps
- Souvent synchronisé par horloge
- Diagramme d’états
La boucle de rétroaction permet au circuit de mémoriser son état. La sortie est réinjectée à l’entrée, créant ainsi une mémoire.
Les Bascules (Flip-Flops)
Une bascule est l’élément de mémoire de base. Elle peut stocker 1 bit d’information.
Bascule RS (Set-Reset)
La bascule RS est la plus simple. Elle a deux entrées : S (Set) et R (Reset).
| S | R | Q (sortie) | Q̄ | Action |
|---|---|---|---|---|
| 0 | 0 | Q | Q̄ | Maintien |
| 1 | 0 | 1 | 0 | Set (mise à 1) |
| 0 | 1 | 0 | 1 | Reset (mise à 0) |
| 1 | 1 | X | X | Interdit ! |
S=1 et R=1 simultanément créent un état instable. Cette combinaison doit être évitée !
Réalisation avec portes NOR
Deux portes NOR avec rétroaction croisée forment une bascule RS.
Q̄ = R̄ + S·Q̄
Bascule D (Data)
La bascule D capture la valeur de l’entrée D au moment du front d’horloge.
| CLK | D | Q (après CLK) | Action |
|---|---|---|---|
| ↑ | 0 | 0 | Copie D → Q |
| ↑ | 1 | 1 | Copie D → Q |
| 0 ou 1 | X | Q | Maintien |
Pas d’état interdit ! La bascule D élimine le problème de la RS. Elle est la plus utilisée dans les circuits modernes.
Application radio
Synchroniser des signaux de commande avec une horloge système pour éviter les états transitoires indésirables.
Bascule JK
La bascule JK est une amélioration de la RS qui élimine l’état interdit.
| J | K | Q (après CLK) | Action |
|---|---|---|---|
| 0 | 0 | Q | Maintien |
| 0 | 1 | 0 | Reset |
| 1 | 0 | 1 | Set |
| 1 | 1 | Q̄ | Toggle (bascule) |
Quand J=K=1, la bascule inverse son état (toggle). C’est très utile pour créer des compteurs !
Bascule T (Toggle)
La bascule T est une simplification de la JK. Elle a une seule entrée T.
| T | Q (après CLK) | Action |
|---|---|---|
| 0 | Q | Maintien |
| 1 | Q̄ | Toggle (inverse) |
Application typique
Division de fréquence par 2. À chaque front d’horloge avec T=1, la sortie change d’état.
Exemple : Horloge 1 MHz → Sortie 500 kHz
Synchrone vs Asynchrone
Bascule Asynchrone
Les entrées S et R agissent immédiatement, sans attendre l’horloge.
Usage : Initialisation, remise à zéro rapide
Bascule Synchrone
Les changements se font uniquement sur les fronts d’horloge.
Usage : Circuits numériques synchronisés
- Front montant (↑) : Transition de 0 vers 1
- Front descendant (↓) : Transition de 1 vers 0
La plupart des circuits modernes utilisent le front montant.
Les Registres
Un registre est un ensemble de bascules (généralement D) permettant de stocker plusieurs bits.
Registre Parallèle
Toutes les bascules sont chargées simultanément sur le même front d’horloge.
Registre 8 bits
8 bascules D en parallèle stockent un octet complet.
Application : Mémoriser temporairement une donnée pendant un traitement.
Registre à Décalage (Shift Register)
Les bits se déplacent d’une position à chaque front d’horloge.
État initial : [1][0][1][1]
Après CLK 1 : [0][1][0][1] (nouvelle donnée = 0)
Après CLK 2 : [1][0][1][0] (nouvelle donnée = 1)
Après CLK 3 : [0][1][0][1] (nouvelle donnée = 0)
- Conversion série ↔ parallèle
- Délai numérique (retard de N bits)
- Génération de séquences
- Multiplication/division par 2 (décalage = × ou ÷ 2)
Application : Transmission série
Les données de commande CAT vers le transceiver sont envoyées en série. Un registre à décalage convertit les 8 bits parallèles du microcontrôleur en flux série.
Les Compteurs
Un compteur est un circuit séquentiel qui parcourt une séquence d’états à chaque impulsion d’horloge.
Compteur Asynchrone (Ripple Counter)
Chaque bascule est déclenchée par la sortie de la bascule précédente. L’horloge se « propage » en cascade.
Compteur 4 bits asynchrone (modulo 16)
Compte : 0000 → 0001 → 0010 → 0011 → ... → 1111 → 0000
(0) (1) (2) (3) (15) (0)
Délai de propagation cumulatif. À haute fréquence, des états transitoires indésirables peuvent apparaître.
Compteur Synchrone
Toutes les bascules reçoivent la même horloge. Pas de délai cumulatif !
- Pas d’états transitoires (glitches)
- Fonctionne à haute fréquence
- Plus prévisible
Types de Compteurs
Compteur UP
Compte de manière croissante
0 → 1 → 2 → 3 → 4…
Compteur DOWN
Compte de manière décroissante
…4 → 3 → 2 → 1 → 0
Compteur UP/DOWN
Bidirectionnel selon un signal de contrôle
Signal DIR = montant ou descendant
Compteur Modulo N
Compte de 0 à N-1 puis revient à 0
Exemple : modulo 10 = 0-9
Application : Diviseur de fréquence
Un compteur modulo N divise la fréquence d’entrée par N.
Exemple : Compteur modulo 100 avec horloge 10 MHz → sortie 100 kHz
Utilisé dans les synthétiseurs de fréquence (PLL) des transceivers.
Projet : Compteur décimal avec affichage
Résultat : Compteur manuel de 0 à 9 !
Les Mémoires
Une mémoire est un circuit capable de stocker une grande quantité d’informations binaires.
Organisation d’une mémoire
- Capacité : Nombre de bits stockés (ex: 1 Ko = 8192 bits)
- Organisation : Nombre de mots × largeur (ex: 1024×8)
- Bus d’adresse : N bits → 2ᴺ adresses
- Bus de données : Largeur d’un mot (8, 16, 32 bits…)
Exemple : Mémoire 1K×8
- Capacité : 1024 mots de 8 bits = 8192 bits = 1 Ko
- Bus d’adresse : 10 bits (2¹⁰ = 1024 adresses)
- Bus de données : 8 bits
RAM (Random Access Memory)
Mémoire volatile : perd son contenu à la coupure de l’alimentation.
SRAM (Static RAM)
Utilise des bascules
- ✅ Très rapide
- ✅ Pas de rafraîchissement
- ❌ Plus coûteuse
- ❌ Moins dense
Usage : Mémoire cache
DRAM (Dynamic RAM)
Utilise des condensateurs
- ✅ Haute densité
- ✅ Moins coûteuse
- ❌ Nécessite rafraîchissement
- ❌ Plus lente
Usage : Mémoire principale
ROM (Read-Only Memory)
Mémoire non volatile : conserve les données sans alimentation.
ROM (Mask ROM)
Programmée en usine
Non modifiable. Coût élevé pour faibles volumes.
PROM
Programmable une fois
Fusibles « grillés ». Ancienne technologie.
EPROM
Effaçable aux UV
Fenêtre en quartz. Effacement 15-20 min.
EEPROM
Effaçable électriquement
Effacement octet par octet. Lente en écriture.
Flash
EEPROM par blocs
Rapide, haute densité. Technologie moderne.
Mémoires dans un transceiver
- ROM/Flash : Firmware du transceiver
- EEPROM : Canaux mémoire, configuration
- RAM : Buffer audio, traitement DSP
Signaux de contrôle
- A0-An : Bus d’adresse
- D0-Dm : Bus de données (bidirectionnel)
- CS (Chip Select) : Sélection du circuit
- OE (Output Enable) : Activation des sorties
- WE (Write Enable) : Autorisation d’écriture
📝 Lecture d’une mémoire
Temps Caractéristiques
Pour les bascules :
- Setup time (tsu) : Temps minimum avant le front d’horloge où l’entrée doit être stable
- Hold time (th) : Temps minimum après le front où l’entrée doit rester stable
- Propagation delay (tpd) : Délai entre front d’horloge et changement de sortie
Pour les mémoires :
- Access time (tacc) : Temps entre adresse valide et données valides
- Cycle time (tcyc) : Temps minimum entre deux accès
- Write time (twr) : Durée d’impulsion d’écriture nécessaire
Le non-respect des temps setup et hold peut causer des métastabilités : état indéterminé de la bascule entre 0 et 1. Cela peut bloquer tout le système !
Projet Pratique : Chenillard LED
Objectif
Créer un effet de chenillard avec 8 LEDs qui s’allument séquentiellement.
Matériel
- 1× Circuit 74164 (registre à décalage 8 bits)
- 1× Circuit 555 (générateur d’horloge) ou Arduino
- 8× LEDs + résistances 330Ω
- 1× Résistance 10kΩ, 1× condensateur 10µF (pour 555)
- Alimentation 5V
Utiliser un 555 en mode astable pour générer une horloge ~1 Hz
Connecter le 74164. L’entrée série A et B = 1
Connecter 8 LEDs (+ résistances) aux sorties Q0-Q7
Pour faire boucler : connecter Q7 à l’entrée série (inversée avec un NOT)
Les LEDs s’allument l’une après l’autre en continu !
- Changer la vitesse (ajuster R et C du 555)
- Faire un aller-retour (compteur UP/DOWN)
- Plusieurs patterns avec un multiplexeur
Applications Radio Amateur
Mémoires de fréquence
EEPROM pour sauvegarder canaux, CTCSS, modes
Buffer DSP
RAM rapide pour traitement audio numérique
Affichage de fréquence
Registres pour maintenir l’affichage stable
Timer/Watchdog
Compteur pour temporisation (TOT, squelch tail)
Contrôle de gain
Registre à décalage pour CAG numérique
Synthétiseur PLL
Compteurs programmables pour division de fréquence
Points à Retenir
- Les circuits séquentiels possèdent une mémoire
- Les bascules sont les éléments de mémoire de base (1 bit)
- La bascule D est la plus utilisée (pas d’état interdit)
- Les registres stockent plusieurs bits en parallèle
- Les registres à décalage convertissent série ↔ parallèle
- Les compteurs parcourent une séquence d’états
- La RAM est volatile, la ROM non volatile
- La Flash est la technologie moderne pour stocker firmware
- Respecter les temps setup et hold est crucial
73 de F4HXN – Prochaine fiche : Les machines à états ! 📡