Progettare un contatore Mod-8 con l'IC contatore decade 7490
Riutilizzo di un contatore decade BCD per Modulo-8
Il 7490 (SN7490, 74LS90, 74HC90) è un contatore ripple 4 bit internamente partizionato in una sezione ÷2 (QA) e una sezione ÷5 (QB, QC, QD). Sfruttando la sezione ÷2 e il rollover naturale della sezione ÷5, possiamo implementare pulitamente un contatore Mod-8 (÷8) con un'onda quadra a ciclo di lavoro 50%.
Riepilogo architettura interna
- Orologio A (Pin 14): Orologia il FF ÷2 (QA).
- Orologio B (Pin 1): Orologia la sezione ÷5 (QB, QC, QD).
- R0(1) (Pin 2), R0(2) (Pin 3): Reset a 0000 (Attivo Alto).
- R9(1) (Pin 6), R9(2) (Pin 7): Preset a 1001 (9) (Attivo Alto).
Configurazione Mod-8: ÷2 + ÷5 in cascata (÷10) → Reset forzato a 8
Concetto: Esegui il 7490 nella sua modalità nativa ÷10 (Orologio A → QA → Orologio B). La sequenza è 0,1,2,3,4,5,6,7,8,9. Forza reset quando conteggio = 8 (1000).
Connessioni del circuito
+------+ +------+ CLK ───>| 14 1| | 12 QD|──> (MSB) | 7490 | | 11 QC| | | | 9 QB|──> USCITA (Onda quadra Mod-8) | 2 3| | 8 QA|──> (LSB, 2x freq) | R0 R0| +------+ +------+ | | GND GND (Collega entrambi i pin R0 a GND per operazione normale) LOGICA RESET: QD (12) = 1, QC (11) = 0, QB (9) = 0, QA (8) = 0 → Stato 8 (1000) Usa NAND a 3 ingressi (QD, QC̅, QB̅) o AND a 4 ingressi (QD, QC̅, QB̅, QA̅) per portare R0(1), R0(2) ALTO.
Mod-8 più semplice: Usa solo ÷2 + primi due stadi di ÷5 (Non standard)
Non consigliato. La sezione ÷5 del 7490 non è binario-pesata (QB, QC, QD non sono Q1, Q2, Q3). La sequenza nativa è BCD. Il reset forzato a 8 è il metodo corretto.
Alternativa: 74HC161 / 74HC163 (Binario sincrono)
Per nuovi progetti, usa un contatore binario sincrono (74HC161 cancellazione async, 74HC163 cancellazione sync).
74HC163: CLR=H, LD=H, ENT=H, ENP=H, CLK → Conta 0-F. Mod-8: Collega Q3 (Pin 14) a CLR (Pin 1) [Attivo Basso? No, CLR 161/163 è Attivo Basso]. In realtà: Q3 (8) va ALTO a conteggio 8. Usa NAND(Q3, VCC) → CLR (Attivo Basso). Oppure: Carica 0000 a conteggio 8 tramite pin LD.
Vantaggi: Nessun glitch ripple, frequenza massima più alta (50 MHz vs 35 MHz per LS90), singolo ingresso orologio.
Diagramma di tempistica 7490 Mod-8
CLK: __/‾‾\_/‾‾\_/‾‾\_/‾‾\_/‾‾\_/‾‾\_/‾‾\_/‾‾\_ QA: ‾‾\___/‾‾\___/‾‾\___/‾‾\___/‾‾\___/‾‾\___ (f/2) QB: ‾‾‾‾\____/‾‾‾‾\____/‾‾‾‾\____/‾‾‾‾\____ (f/4) QC: ‾‾‾‾‾‾‾‾\________/‾‾‾‾‾‾‾‾\________ (f/8) <-- USA QUESTO (QB è f/4, QC è f/8? Aspetta.)
Correzione: Sequenza BCD 7490: QA=LSB, QB, QC, QD=MSB.
Conteggio 0: 0000
Conteggio 1: 1000 (QA)
Conteggio 2: 0100 (QB)
Conteggio 3: 1100
Conteggio 4: 0010 (QC)
Conteggio 5: 1010
Conteggio 6: 0110
Conteggio 7: 1110
Conteggio 8: 0001 (QD) ← RESET QUI
Conteggio 9: 1001
Uscita per Mod-8: QD (Pin 12) dà un impulso a conteggio 8. QC (Pin 11) commuta a conteggio 4 e 12 (non nel ciclo). La migliore "onda quadra" è derivata dalla logica di reset o usa QA (f/2) con ÷4 esterno.
Onda quadra Mod-8 pratica: Usa l'impulso QD (conteggio 8) per commutare un separato FF T (74HC74) → pulita f/8, ciclo 50%. Oppure usa 74HC163.
Sommario
Il 7490 può fare Mod-8 tramite reset forzato allo stato 8 (QD=1, QC=QB=QA=0), ma un contatore binario sincrono (74HC163) è superiore per nuovi progetti: forme d'onda più pulite, velocità più alta, logica reset più semplice.