Conception Compteur Modulo-12 à Décalage avec Bascules JK
Construction Compteur Diviseur-par-12 Asynchrone
Un compteur modulo-12 (mod-12) séquence à travers 12 états (0–11) avant réinitialisation. Puisque 24 = 16 > 12, quatre bascules JK sont requises. L'architecture asynchrone (à décalage) est simple mais présente accumulation délais propagation — adaptée aux vitesses d'horloge basses à modérées.
Étapes Conception
- Nombre États : 12 états → 4 bascules (Q3 Q2 Q1 Q0, Q0 = LSB).
- Séquence Binaire Naturelle : 0000 (0) → 1011 (11) → Réinitialisation à 0000.
- Condition Réinitialisation : État 12 (1100) doit déclencher clear asynchrone. Détecter Q3·Q2 (puisque 1100 = Q3=1, Q2=1, Q1=0, Q0=0). Mieux : détecter 1100 (12) ou 1101 (13) pour réinitialisation sans glitch. Pratique standard : Détecter 1100 (Q3Q2) via porte ET → Clear toutes bascules.
Logique Entrées JK pour Comptage Montant Binaire
Pour un compteur à décalage montant, chaque étage bascule quand tous étages inférieurs sont HAUT.
- BQ0 (Q0) : J=1, K=1 (bascule chaque horloge)
- BQ1 (Q1) : J=Q0, K=Q0 (bascule quand Q0=1)
- BQ2 (Q2) : J=Q0·Q1, K=Q0·Q1
- BQ3 (Q3) : J=Q0·Q1·Q2, K=Q0·Q1·Q2
Connexion Simplifiée (Utilisant Fonction Bascule)
Puisque J=K=T pour mode bascule, connecter chaque J/K au ET de tous Q inférieurs. Pour compteur 4 bits :
CLK ───►|BQ0|──► Q0 J=1, K=1 Q0 ────►|BQ1|──► Q1 J=Q0, K=Q0 Q0·Q1 ──►|BQ2|──► Q2 J=Q0·Q1, K=Q0·Q1 Q0·Q1·Q2►|BQ3|──► Q3 J=Q0·Q1·Q2, K=Q0·Q1·Q2 RESET: Q3·Q2 ──► ET ──► CLR (toutes BQ)
Implémentation Logique Réinitialisation
Une porte ET surveillant Q3 et Q2 assert CLEAR asynchrone quand compte atteint 12 (1100). Le compteur visite brièvement état 12 avant clear — largeur glitch = délai propagation par BQ3 + porte ET (~10–20 ns pour 74LS/HC). Pour sortie sans glitch, utiliser réinitialisation synchrone (décoder état 11 → charger 0 horloge suivante) ou compteur synchrone (ex: 74LS161/163).
Considérations Temporelles
- Fréquence Horloge Max : fmax ≈ 1 / (n × tpd). Pour 4× 74HC74 (tpd≈15ns) : fmax ~ 16 MHz. Pour 74LS : ~25 MHz.
- Décalage Propagation : Q3 change ~3×tpd après Q0. Sortie pas simultanément valide — éviter usage comme bus adresse sans synchronisation.
- Réinitialisation Mise Sous Tension : Ajouter réseau RC sur broches CLR pour démarrage déterministe.
Options Implémentation CI
- Discret : 4× 74HC76 / 74HC112 (JK double) + 74HC08 (ET).
- Puce Unique Synchrone : 74HC161 (compteur binaire 4 bits synchrone, clear asynchrone) + ET externe sur Q3Q2 pour mod-12. Préféré pour fiabilité.
- Programmable : 74HC163 (clear synchrone) ou GAL/PLD/FPGA.
Applications
- Diviseurs horloge (12 MHz → 1 MHz).
- Compteur décimal BCD (mod-10) + mod-12 → horloge 12h.
- Synthétiseurs fréquence, générateurs baud rate.
