Indholdsfortegnelse:

Digitalt ur ved hjælp af krystaloscillator og flip -flops: 3 trin
Digitalt ur ved hjælp af krystaloscillator og flip -flops: 3 trin

Video: Digitalt ur ved hjælp af krystaloscillator og flip -flops: 3 trin

Video: Digitalt ur ved hjælp af krystaloscillator og flip -flops: 3 trin
Video: Nokia Siemens W-CDMA 3G Power Distribution Data interface Teardown cell phone basestation 2024, November
Anonim
Digitalt ur ved hjælp af krystaloscillator og flip -flops
Digitalt ur ved hjælp af krystaloscillator og flip -flops

Ure findes i næsten alle former for elektronik, de er hjerteslag på enhver computer. De bruges til at synkronisere alle sekventielle kredsløb. de bruges også som tællere til at holde styr på tid og dato. I denne instruktive vil du lære, hvordan computere tæller og i det væsentlige, hvordan et digitalt ur fungerer ved hjælp af flip -flops og kombinationslogik. Projektet er opdelt i flere moduler, der hver udfører en bestemt funktion.

Forbrugsvarer

Til denne instruktive skal du have lidt forudgående viden inden for:

  • Digitale logikbegreber
  • Multisim -simulator (valgfri)
  • Forståelse af elektriske kredsløb

Trin 1: Opbygning af tidsbasemodulet

Opbygning af tidsbasemodulet
Opbygning af tidsbasemodulet

Konceptet bag et digitalt ur er, at vi i det væsentlige tæller urcyklusser op. et 1 Hz ur genererer en puls hvert sekund. i de næste trin vil vi se, hvordan vi kan tælle disse cyklusser til at udgøre sekunder, minutter og timer på vores ur. En måde, hvorpå vi kan generere et 1 Hz -signal, er ved at bruge et krystaloscillatorkredsløb, der genererer et 32.768 kHz signal (som det jeg er designet ovenfor, som kaldes en pierce -oscillator), som vi derefter kan dele ved hjælp af en kæde af flip -flops. Grunden til at 32.768 kHz bruges, er fordi den er højere end vores maksimale hørefrekvens, som er 20 kHz, og den er lig med 2^15. Grunden til det er vigtigt, fordi en JK flip-flop-udgang skifter ved den positive eller negative kant (afhænger af FF) af indgangssignalet, derfor er output effektivt med en frekvens, der er halvdelen af det originale input. På samme måde, hvis vi kæder 15 flip -flops, kan vi opdele input -signalfrekvensen for at få vores 1 Hz -signal. Jeg har lige brugt en 1 Hz pulsgenerator til at fremskynde simuleringstiden i Multisim. Men på et brødbræt er du velkommen til at bygge det kredsløb, jeg har ovenfor, eller bruge et DS1307 -modul.

Trin 2: Opbygning af sekundertælleren

Bygning af sekundertælleren
Bygning af sekundertælleren

Dette modul er opdelt i to dele. Den første del er en 4-bit op tæller, der tæller op til 9, der udgør 1'ernes plads i sekunder. Den anden del er en 3-bit op tæller, der tæller op til 6, som udgør 10'ernes plads i sekunder.

Der er 2 typer tællere, en synkron tæller (hvor uret er forbundet til alle FF) og en asynkron tæller, hvor uret føres til den første FF, og udgangen fungerer som uret for den næste FF. Jeg bruger en asynkron tæller (også kaldet en krusningstæller). Ideen er, at hvis vi sender et højt signal til 'J' og 'K' input fra FF, vil FF skifte tilstand ved hver cyklus af inputuret. Dette er vigtigt, fordi der for hver 2 skift af den første FF produceres en skifte i den på hinanden følgende FF og så videre indtil den sidste. Derfor producerer vi et binært tal, der svarer til antallet af cyklusser for input -urets signal.

Som vist ovenfor er til venstre mit kredsløb, der laver 4-bit op-tælleren til 1'eren. Nedenfor har jeg implementeret et nulstillingskredsløb, det er dybest set en AND -port, der sender et højt signal til nulstillingstappen på flip -flops, hvis tællerens output er en 1010 eller en 10 i decimal. Derfor er output fra denne AND -gate 1 puls pr. 10 sekunders signal, som vi vil bruge som inputur for vores 10'er stedstæller.

Trin 3: Sæt det hele sammen

Af samme logik kan vi fortsætte med at stable tællere for at udgøre minutter og timer. Vi kan endda gå længere og tælle dage, uger og endda år. du kan oprette dette på et brødbræt, ideelt set ville man dog bruge et RTC -modul (real time clock) bare for nemheds skyld. Men hvis du føler dig inspireret, ville du i det væsentlige få brug for:

19 J-K flip-flops (eller 10 dobbelte J-K IC'er såsom SN74LS73AN)

  • en 1 Hz input kilde (du kan bruge et DS1307 modul det genererer en 1 Hz firkantbølge)
  • 6 Binære til 7-segment dekodere (f.eks. 74LS47D)
  • 23 Invertere, 7 3-input AND-porte, 10 2-input AND-porte, 3 4-input AND-porte, 5 ELLER-porte
  • Seks 7-segment hex displayer

Jeg håber, at du har lært, hvordan et digitalt ur fungerer fra dette instruerbare, du er velkommen til at stille spørgsmål!

Anbefalede: