FICHE 7

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

Sortie = f(Entrées)
  • Pas de mémoire
  • Réponse immédiate
  • Pas d’horloge
  • Table de vérité fixe

Circuit Séquentiel

Sortie = f(Entrées, État)
  • Possède une mémoire
  • Évolution dans le temps
  • Souvent synchronisé par horloge
  • Diagramme d’états
Élément clé :

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) Action
00QMaintien
1010Set (mise à 1)
0101Reset (mise à 0)
11XXInterdit !
État 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 = S̄ + R·Q (simplifiée)
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
00Copie D → Q
11Copie D → Q
0 ou 1XQMaintien
Avantage :

Pas d’état interdit ! La bascule D élimine le problème de la RS. Elle est la plus utilisée dans les circuits modernes.

7474
Dual D Flip-Flop

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
00QMaintien
010Reset
101Set
11Toggle (bascule)
Caractéristique unique :

Quand J=K=1, la bascule inverse son état (toggle). C’est très utile pour créer des compteurs !

7476
Dual JK Flip-Flop

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
0QMaintien
1Toggle (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 d’horloge :
  • 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.

74173
Registre 4 bits
74374
Registre 8 bits avec sortie 3 états

Registre à Décalage (Shift Register)

Les bits se déplacent d’une position à chaque front d’horloge.

Exemple : Décalage vers la droite
É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)
        
Applications des registres à décalage :
  • 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)
74164
Registre à décalage 8 bits (série → parallèle)
74165
Registre à décalage 8 bits (parallèle → série)
74595
Registre à décalage 8 bits avec sortie tampon

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)
        
Problème :

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 !

✨ Avantages :
  • Pas d’états transitoires (glitches)
  • Fonctionne à haute fréquence
  • Plus prévisible
7490
Compteur décade (0-9)
7493
Compteur binaire 4 bits
74161
Compteur synchrone 4 bits
74193
Compteur/décompteur BCD synchrone

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

1 Utiliser un 7490 (compteur décade 0-9)
2 Connecter un 7447 (décodeur BCD vers 7 segments)
3 Afficher sur un afficheur 7 segments
4 Ajouter un bouton poussoir pour incrémenter

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

Paramètres clés :
  • 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

6264
SRAM 8K×8
62256
SRAM 32K×8

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.

2764
EPROM 8K×8
27C256
EPROM 32K×8
28C256
EEPROM 32K×8

Mémoires dans un transceiver

  • ROM/Flash : Firmware du transceiver
  • EEPROM : Canaux mémoire, configuration
  • RAM : Buffer audio, traitement DSP

Signaux de contrôle

Signaux typiques d’une mémoire :
  • 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

1 Placer l’adresse sur le bus A0-An
2 Activer CS (Chip Select) = 0
3 Activer OE (Output Enable) = 0
4 Attendre le temps d’accès
5 Lire les données sur le bus D0-Dm

Temps Caractéristiques

⏱️ Paramètres temporels importants :

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
Important :

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
1 Générateur d’horloge

Utiliser un 555 en mode astable pour générer une horloge ~1 Hz

2 Registre à décalage

Connecter le 74164. L’entrée série A et B = 1

3 LEDs

Connecter 8 LEDs (+ résistances) aux sorties Q0-Q7

4 Boucle

Pour faire boucler : connecter Q7 à l’entrée série (inversée avec un NOT)

5 Test

Les LEDs s’allument l’une après l’autre en continu !

Variantes :
  • 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 ! 📡