Du er her: Forside » Guider » MC14027BCP-guide: JK-flipfloppen der tæller
Ethvert kredsløb der tæller, dividerer en klok eller går gennem tilstande, har brug for én ting som en logisk port ikke kan give det: en hukommelse om hvad der skete sidst. En flipflop er den hukommelse — én bit af den. MC14027BCP rummer to af dem i en 16-bens plastik-DIP, og JK-typen på denne chip kan noget som en ren D-flipflop ikke kan: bed den om at vippe, og den skifter til det modsatte af det den allerede holder, på hver eneste klokflanke. Netop den egenskab er oprindelsen til alle tællere.
En port har ingen fortid. Læg de samme niveauer på en NOR-port i dag og i morgen, og du får det samme svar — derfor kan en MC14002B fire-input NOR afgøre noget, men aldrig huske det. En flipflop gemmer én bit og ændrer den kun når den får besked. På denne kreds er det øjeblik den stigende flanke på klok-indgangen: databladet siger udtrykkeligt, at tilstanden holdes i det uendelige mens klokken ligger høj eller lav, og at information kun overføres til udgangen på den positivtgående flanke. Hver af de to flipflop giver dig både den gemte bit Q og dens nøjagtige modsætning Q-streg på hvert sit ben, hvilket intet koster og ofte sparer en inverter.
Det der gør den til en JK og ikke en D, er at J og K ikke sætter udgangen direkte; de vælger hvad den næste klokflanke skal gøre. Der er fire kombinationer, og de er værd at lære samlet. Med J=1 og K=0 gør den næste stigende flanke Q til 1, uanset hvad den var. Med J=0 og K=1 gør den næste flanke Q til 0. Med J=0 og K=0 ændrer flanken intet, så chippen ignorerer klokken og holder fast. Og med J=1 og K=1 vipper flanken: Q bliver det modsatte af hvad den var. Et D-register som MC74HC173N kan kun kopiere det du rækker det, så at få det til at vippe kræver, at man fører dets egen inverterede udgang udenom og tilbage. JK-typen gør det indbygget, og derfor er den det sædvanlige udgangspunkt for en tæller.
Set og Reset arbejder helt uden om klokken. Begge er aktiv høje og asynkrone: et højt niveau på Reset trækker Q til 0 med det samme, uden at der skal en klokflanke til, og et højt niveau på Set trækker Q til 1 på samme måde. Så længe en af dem holdes høj, tilsidesætter den J, K og klokken fuldstændigt, og derfor er en reset-puls ved opstart på R den normale måde at få en tæller til at starte fra et kendt nul. Én kombination skal undgås: med både Set og Reset høje viser databladet, at både Q og Q-streg går til 1, hvilket bryder løftet om at de to ben er modsætninger, og den tilstand chippen lander i når man slipper dem, er ikke defineret. Hold den ubrugte af dem lav. Ved 5 V skal en Set- eller Reset-puls være mindst 250 ns bred for at virke med sikkerhed.
Her er den komplette handel der gør denne chip til en deler. Forsyn den med VDD på ben 16 og VSS på ben 8; databladet tillader alt fra 3,0 til 18 V, og 5 V er det sædvanlige valg ved siden af 74HC-kredse. Tag den første flipflop og bind både JA (ben 6) og KA (ben 5) høje til VDD — det er vippe-instruktionen, og den forbindelse bliver siddende permanent. Bind SA (ben 7) og RA (ben 4) lave til VSS, så ingen af tilsidesættelserne er aktive. Før nu din klok ind på CA (ben 3) og hold øje med QA (ben 1). På den første stigende flanke går QA høj. Den bliver høj resten af den klokperiode og hen over den faldende flanke, fordi kun den positivtgående flanke betyder noget. På den anden stigende flanke går QA lav igen. To indgangsflanker har givet én komplet udgangsperiode, så QA er din klok divideret med to, og den kommer ud som en ren firkant uanset hvor skæv indgangen var. Ved 5 V garanterer databladet dette op til 1,5 MHz, med 3,0 MHz typisk, og klokken skal være høj i mindst 330 ns og lav i mindst 330 ns. Driver du J og K fra logik i stedet for at binde dem høje, skal de stå stabilt 140 ns før flanken og holdes 140 ns efter den. Regn med op til 350 ns fra klokflanken til en stabil udgang ved 5 V.
At kæde trin sammen er det der får den til at tælle i stedet for blot at dividere. Hvert trin halverer frekvensen igen, så efter to trin har du en fjerdedel, efter tre en ottendedel. Detaljen folk falder over, er hvilken udgang man kæder videre fra. Fordi denne kreds udløses på den stigende flanke, giver det en binær nedtæller at føre QA ind på næste trins CB — næste trin ser kun en stigende flanke når den foregående Q går fra 0 til 1, og det sker på de ulige tal. Fører du i stedet Q-streg A (ben 2) ind på CB (ben 13), tæller de samme to flipflop op i binært, med QA som laveste bit og QB som højeste: 00, 01, 10, 11 og tilbage til 00. Det er en komplet to-bit tæller i én kapsel, og binder man de to Reset-ben sammen, får man én ledning der nulstiller den. Fire bit betyder to af disse chips og giver de seksten tilstande, som en BCD-til-7-segment-dekoder som MC74HC4511N forventer på sin indgang — men et BCD-display kræver at tællingen standses ved ni i stedet for at løbe til femten. Bemærk at dette er en ripple-tæller: hvert trin venter på det foregående, så forsinkelserne lægger sig oven i hinanden ned gennem kæden, og udgangene er kortvarigt forkerte efter hver flanke. Det er fint til at dividere en klok eller blinke med en lysdiode, og det er netop grunden til at rigtig adresselogik bruger en klokket dekoder som 74HC138 på stabile udgange frem for at afkode en ripple-kæde direkte.
Figuren viser butikkens CP-suffiks 16-bens plastik-DIP ovenfra, med ben 1 ved hakket og nummerering mod urets retning. De to flipflop ligger næsten som spejlbilleder. Flipflop A optager ben 1 til 7: ben 1 er QA, ben 2 er Q-streg A, ben 3 er klokken CA, ben 4 er Reset A, ben 5 er KA, ben 6 er JA og ben 7 er Set A. Ben 8 er VSS, den negative forsyning. Flipflop B løber tilbage op ad den anden side: ben 9 er Set B, ben 10 er JB, ben 11 er KB, ben 12 er Reset B, ben 13 er klokken CB, ben 14 er Q-streg B og ben 15 er QB. Ben 16 er VDD. Bind hver ubrugt indgang til VSS eller VDD og lad aldrig en flyde — databladet formulerer det som et krav, ikke et forslag, fordi en flydende CMOS-indgang driver hen mod tærsklen og får chippen til at trække strøm og skifte tilfældigt. Har du kun brug for den ene af de to flipflop, skal dens ubrugte tvilling stadig have sine J-, K-, C-, S- og R-ben bundet et sted hen. Ubrugte udgange skal derimod stå åbne.
Dette er 4000B-serie CMOS, ikke 74HC, og forskellen viser sig så snart man forbinder den til noget andet. Fordelen er forsyningsområdet: 3,0 til 18 V, så den samme chip kører på et 9 V-batteri eller en 12 V-skinne hvor en 74HC-kreds ikke ville. Støjimmuniteten er typisk 45% af forsyningen, og hvilestrømmen er omkring 2,0 nA per kapsel ved 5 V, hvilket reelt er ingenting. Haken er drivevne og hastighed. Databladet specificerer udgangene til to low-power TTL-laster eller én enkelt low-power Schottky TTL-last, så dette er ikke en kreds til at drive en bus eller flere indgange rundt på et print — sæt en 74HCT541-buffer efter den hvis du har brug for det. Den anden vej kræver chippen ved 5 V forsyning mindst 3,5 V for at læse en indgang som høj, og en LSTTL-udgang garanterer kun 2,7 V, så at drive disse indgange fra ældre TTL kræver en pull-up-modstand; 74HC-udgange svinger tæt på forsyningen og kan forbindes direkte. Endelig er den benidentisk erstatning for CD4027B, så alt skrevet til den kreds gælder her, og CP-suffikset betyder den begrænsede temperaturklasse, −40 til +85 °C.
Chippen der beskrives her er på lager som en Motorola MC14027BCP i 16-bens plastik-DIP. Se MC14027BCP-produktet.
Kilder: onsemis datablad for MC14027B Dual J-K Flip-Flop (MC14027B/D, Rev 9, august 2025) for benforbindelser, sandhedstabel og timing, samt Motorola CMOS Data Book 1978, side 7-80, for CP-suffikset (plastikkapsel, Case 648) og temperaturklassen −40 til +85 °C. onsemi PDF · Motorola 1978 PDF.
Vi bruger cookies for at give dig den bedst mulige oplevelse på iMania.dk. De givers os også mulighed for at analysere hvordan brugere anvender siden, så vi kan forbedre den for dig. Persondatapolitik