>> Technologie Électronique >  >> Téléphones portables et accessoires >> Téléphones 4G

Conception compteur Mod-5 : Pourquoi 3 bascules sont requises

Fondamentaux compteur Mod-5

Un compteur modulo-5 (Mod-5) séquence à travers 5 états distincts (0, 1, 2, 3, 4) avant de recycler à 0. Le nombre minimum de bascules est déterminé par le nombre d'états.

Calcul nombre bascules

Nombre d'états = 2n où n = nombre bascules

  • 2 bascules → 4 états (0-3) — insuffisant
  • 3 bascules → 8 états (0-7) — suffisant
  • 4 bascules → 16 états — superflu

Encodage d'états binaire

ComptageQ₂ Q₁ Q₀Décimal
00 0 00
10 0 11
20 1 02
30 1 13
41 0 04
5 (reset)0 0 0→ 0

États 5 (101), 6 (110), 7 (111) sont inutilisés/dont-care — doit assurer auto-correction si compteur y entre.

Approches implémentation

Synchrone (Recommandé)

  • Toutes bascules horlogées par horloge commune
  • Logique état suivant : D₂ = Q₂'Q₁'Q₀' + Q₂Q₁'Q₀' (simplifiée via Karnaugh)
  • Logique reset : Détecter état 5 (101) → clear synchrone
  • Avantages : Pas glitches, timing prévisible, STA plus facile

Asynchrone (Ripple)

  • Bascule 0 horloge bascule 1 horloge bascule 2
  • Reset : NAND(Q₂, Q₀) → clear asynchrone toutes bascules
  • Inconvénients : Délai ripple, risque glitch, conditions course reset

Alternative Johnson / Anneau

  • 3 bascules compteur Johnson = 6 états (en utiliser 5, détecter état 5 pour reset)
  • Auto-décodage — pas logique décodage externe nécessaire
  • Requiert initialisation état valide

Design logique reset

Reset synchrone au comptage 5 (101) :

Reset = Q₂ · Q₁' · Q₀

Ceci s'active quand compteur atteint 5, forçant prochaine horloge charger 000.

Checklist vérification

  • Compte 0→1→2→3→4→0 ✓
  • Pas blocage états inutilisés (5,6,7) — ajouter logique auto-correction
  • Setup/hold respectés toutes bascules à fréquence horloge cible
  • Largeur impulsion reset ≥ spec minimum
  • Fan-out signal reset dans limites

Extrait VHDL (Synchrone)

 process(clk, rst) begin if rst = '1' then count <= "000"; elsif rising_edge(clk) then if count = "100" then -- 4 count <= "000"; else count <= count + 1; end if; end if; end process; 

Réponse : 3 bascules minimum. 2 bascules donnent seulement 4 états ; 3 bascules donnent 8 états, permettant 5 utilisés + 3 inutilisés avec logique reset appropriée.

Téléphones 4G