Kazalo:
Video: Digitalna ura z uporabo kristalnega oscilatorja in japonk: 3 koraki
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
Ure se nahajajo v skoraj vseh vrstah elektronike, so srčni utrip vsakega računalnika. Uporabljajo se za sinhronizacijo vseh zaporednih vezij. uporabljajo se tudi kot števci za spremljanje časa in datuma. V tem navodilu boste izvedeli, kako računalniki štejejo in v bistvu, kako deluje digitalna ura z japonkami in kombinacijsko logiko. Projekt je razdeljen na več modulov, od katerih vsak opravlja določeno funkcijo.
Zaloge
Za ta pouk boste potrebovali nekaj predznanja:
- Koncepti digitalne logike
- Multisim simulator (neobvezno)
- Razumevanje električnih vezij
1. korak: Izdelava modula časovne baze
Koncept digitalne ure je, da v bistvu štejemo urne cikle. ura 1 Hz vsako sekundo ustvari impulz. v naslednjih korakih bomo videli, kako lahko te cikle štejemo, da sestavijo sekunde, minute in ure naše ure. Eden od načinov, kako lahko generiramo signal 1 Hz, je uporaba vezja s kristalnim oscilatorjem, ki generira signal 32,768 kHz (na primer tistega, ki sem ga oblikoval zgoraj, ki se imenuje prebodni oscilator), ki ga lahko nato razdelimo z verigo japonk. Razlog za uporabo 32,768 kHz je, ker je višji od naše največje slušne frekvence 20 kHz in je enak 2^15. Razlog, ki je pomemben, je, ker se izhod J-K flip flopa preklopi na pozitivni ali negativni rob (odvisno od FF) vhodnega signala, zato je izhod učinkovito na frekvenci, ki je polovica prvotnega vhoda. Na isti način, če povežemo 15 japonk, lahko razdelimo frekvenco vhodnega signala, da dobimo signal 1 Hz. Ravnokar sem uporabil 1 Hz impulzni generator za pospešitev simulacijskega časa v Multisimu. Vendar pa na krovu lahko zgradite vezje, ki ga imam zgoraj, ali uporabite modul DS1307.
2. korak: Ustvarjanje števca sekund
Ta modul je razdeljen na dva dela. Prvi del je 4-bitni števec navzgor, ki šteje do 9, kar sestavlja mesto 1 sekund. Drugi del je 3-bitni števec navzgor, ki šteje do 6, kar predstavlja 10 sekund.
Obstajata 2 vrsti števcev, sinhroni števec (kjer je ura povezana z vsemi FF) in asinhroni števec, kjer se ura napaja v prvi FF in izhod deluje kot ura naslednjega FF. Uporabljam asinhroni števec (imenovan tudi števec valov). Ideja je, da če pošljemo visok signal na vhode 'J' in 'K' FF, bo FF preklopil svoje stanje pri vsakem ciklu vhodne ure. To je pomembno, ker se za vsaka 2 preklopa prvega FF izvede preklop v zaporednem FF in tako naprej do zadnjega. Zato izdelamo binarno število, ki je enako številu ciklov vhodnega signala ure.
Kot je prikazano zgoraj, je levo moje vezje, ki naredi 4-bitni števec za mesto 1. Pod njim sem implementiral vezje za ponastavitev, v bistvu so vrata AND, ki pošiljajo visok signal na ponastavitveni zatič japonk, če je izhod števca 1010 ali 10 v decimalni vejici. Zato je izhod tega vhoda AND signal 1 impulz na 10 sekund, ki ga bomo uporabili kot vhodno uro za števec mest 10.
Korak: Združite vse skupaj
Po isti logiki lahko še naprej zlagamo števce, da sestavljamo zapisnike in ure. Lahko gremo celo dlje in štejemo dneve, tedne in celo leta. to lahko ustvarite na plošči, v idealnem primeru pa bi za udobje uporabili modul RTC (ura v realnem času). Če pa se počutite navdihnjeno, boste v bistvu potrebovali:
19 J-K japonk (ali 10 dvojnih J-K IC, kot je SN74LS73AN)
- 1 Hz vhodni vir (lahko uporabite modul DS1307, ki ustvarja kvadratni val 1 Hz)
- 6 binarnih do 7-segmentnih dekoderjev (na primer 74LS47D)
- 23 Razsmerniki, 7 3-vhodnih vrat AND, 10 2-vhodnih vrat IN, 3 4-vhodna vrata AND, 5 ALI vrat
- Šest 7-segmentnih šestkotnih zaslonov
Upam, da ste se iz tega navodila naučili, kako deluje digitalna ura. Vprašajte vas!