poslední úprava těchto stránek
29.listopad 2025



digitální minutka s CPLD obvodem



V předešlém příspěvku jsme si probrali konstrukci digitálních hodin s CMOS obvody. Tyto hodiny byly upraveny na digitální minutku. Vzniklé zapojení s logickými obvody bylo převedeno do jazyka VHDL, následně vygenerován JEDEC soubor a tím byl naprogramován CPLD obvod. Digitální minutka je pouze 4-místná. Její maximální rozsah je 99 minut a 59 sekund. Následující obrázek ukazuje blokové schema s logickými obvody.

blokové schema digitální minutky

Obr. 1 - blokové schema digitální minutky

Digitální minutka sestává z několika bloků. Podobně jako v digitálních hodinách je na počátku zdroj signálu 1 Hz (= 1sec). Protože minutka má rozsah jen 100 minut, nepotřebujeme příliš přesný zdroj signálu.

zdroje signálu 1 Hz

Následující obrázek ukazuje zdroj signálu 1Hz generovaný obvodem 555

zdroj signálu 1Hz z obvodu 555

Obr. 2 - zdroj signálu 1Hz z obvodu 555

V první verzi byl použit tento oscilátor. Ve druhé verzi byl signál 1Hz odvozen z externího osciláoru.

rotační dekodér a enkodér

Ovládání naší minutky je pomocí rotačního enkodéru s jedním tlačítkem. Rotační enkodér a dekodér je popsán podrobně v tomto článku. Knoflíkem rotačního enkodéru nastavíme požadovanou dobu tak, že enkodér vygeneruje impulzy a ty se načtou do čítače. Pak se čítač přepne a bude přednastavenou hodnotu odečítat po sekundách dolů, až dosáhne nuly. V tom okamžiku se čítači přeruší vstupní signál.

zapojení rotačního enkodéru

obr.3 - zapojení rotačního enkodéru

čítací dekády

čítací dekády jsou tvořeny obousměrnými synchronními čítači a jsou vytvořeny v hradlovém poli (CPLD). Následující obrázek ukazuje celé zapojení minutky s CPLD obvodem. Je použit obvod Atmel typ ATF1504AS. Tento obvod může pracovat s napětím +3.3V nebo +5V. Je dodáván v pouzdru s 44 vývody. Z nich je pouze 28 využitelných pro vstupy a výstupy. Zbývají vývody slouží k napájení a programování CPLD obvodu.

zapojení minutky s obvodem CPLD
Obr. 4 - zapojení minutky s obvodem CPLD

V našem zapojení máme na CPLD obvodu ještě 4 volné výstupy. Ty mohou být použity pro externí obvod, který spíná např. relé a/nebo zvukovou signalizaci na přivolání obsluhy.

displeje a dekodéry

Obvody řady CMOS 4000 pro řízení displejů byly probrány v příspěvku digitální hodiny s CMOS obvody. Obvod ATF1504AS je schopen přímo řídit LED displeje. Má však pouze 28 použitelných vývodů. Náš displej má 4 místa, každý displej má 8 vývodů, to je 32 linek. Z toho důvodu je výstup v BCD kódu a každý LED displej má vlastní dekodér CMOS 4511. Mezi dekodér a LED displej je zařazeno 8 odporů v pouzdře DIL. Když bychom chtěli, aby CPLD obvod přímo řídil LED displeje (odpory nutno zachovat v každém případě), museli bychom použít verzi ATF CPLD obvodu s 84 vývody.

schema zapojení LED displeje
Obr. 5 - schema zapojení LED displeje

V následujícím obrázku vidíme schema zapojení obvodu pro nastavení jasu displeje. Je použit obvod 555, který v závislosti na nastavení trimru generuje signál s frekvencí mezi 50 až 80 Hz. Tento signál se přivádí na vstupy "/BI" obvodů 4511 a tím řídí jas displeje.
zapojení obvodu 4511 pro řízení jasu LED displeje
Obr. 6 - obvod pro řízení jasu LED displeje

napájecí zdroj

Pro napájení minutky postačí USB napájecí zdroj +5V.

rozpis součástek


OSC oscilátor 1 ks
ATF1504AS CPLD obvod Atmel 1 ks
CMOS 4511 BCD dekodér + budič displeje 4 ks
LED displej displej LED se společnou katodou 4 ks
obvod 555 obvod pro řízení jasu 1 ks

Dále budeme potřebovat 32 kusů odporů pro segmenty LED displeje. Obvyklé hodnoty bývají mezi 300 až 600 Ohm.

ovládání minutky

používání minutky je velmi snadné. Po zapnutí minutky, pokud na displeji není stav "00.00" stiskneme hřídelku enkodéru. Tím dojde k resetu čítačů a na displeji se objeví "00.00". Dalším stiskem hřídelky se dostaneme do funkce nastavení minut. Chceme-li nastavit nějakou hodnotu na čítači minut, otáčíme knoflíkem rotačního enkodéru. Displej ukazuje aktuální hodnotu. Nechceme-li nastavovat minuty, anebo máme-li nastaveno, stiskneme opět hřídelku enkodéru. Dostaneme se do funkce nastavení sekund. Zde postupujeme stejně jako při nastavování minut. Buďto otáčením knoflíku nastavíme nějakou hodnotu nebo se spokojíme s hodnotou "00". Dalším stiskem hřídelky enkodéru se minutka přepne do režimu odčítání hodnot v nastavených čítačích. Na displeji vidíme, jak se nastavená hodnota snižuje postupně po 1 sec. k nule. Až čítače dopočítají k nule, počítání se zastaví. Když v průběhu počítání stiskneme hřídelku enkodéru, dostaneme se do funkce Resetu. Čítače se vynulují a odpočítávání se okamžitě zastaví.

vývoj projektu

Tento projekt byl odzkoušen a CPLD obvod otestován na vývojové destičce DK3-U firmy ATMEL (nyní Microchip):

vývojová deska DK3-U
Obr. 7 - vývojová deska DK3-U