Cvičení předmětu A4B38NVS Návrh vestavěných systémů, kat. měření, ČVUT FEL, Praha, 2011
Úloha č. 4. Připojení 7-segmentového zobrazovače LED s posuvným registrem, připojení tlačítek Úkol: K STM32F100 připojte pomocí sério-paralelního posuvného registru 7-segmetový zobrazovač s LED a dále tři tlačítka, pomocí nichž se bude v módu nastavení zadávat velikost doby časovače tzap . Doplní se tak a rozšíří funkce programovatelného časovače z předchozí úlohy. Tlačítka budou mít funkci „zvyš“ (+) , „sniž“( -) , „potvrdit“, (=) Po spuštění programu se bude testovat stav nastavovacích tlačítek, pomocí nichž se nastaví velikost doby tzap v sekundách. Tato hodnota tzap se bude využívat až do přepsání v novém nastavení. Rozsah nastavení bude 5 až 90 sekund. V úloze je nutno programem zajistit, aby se rušivě neprojevovalo působení odskoků tlačítek.Po ukončení nastavení velikosti tzap je možno aktivovat časovač tlačítkem na PA0 s funkcí dle minulé úlohy. Zobrazovač bude v módu nastavení indikovat velikost nastaveného času tzap. V módu běhu časovače bude indikovat tvyp velikost času zbývajícího do vypnutí. Program bude spolu se zakomponovanými částmi z programu z úlohy 3 tvořit celek zajišťující funkci programovatelného časovače. Pro zjednodušení lze v programu vypustit funkci předběžného zhasínání před konečným vypnutím. V rámci domácí přípravy vytvořte schéma zapojení vnějších obvodů (připojení zobrazovače a tlačítek) včetně čísel jednotlivých použitých vývodů, navrhněte zjednodušený vývojový diagram programu a jednotlivé části programu. Úloha navazuje na úlohu č. 3 a využívá její části. K úloze vypracujte zprávu, jejíž součástí bude zjednodušené schéma, popis funkce, zjednodušené vývojové diagramy vysvětlující funkci programu a vlastní komentovaný program. 1. hodnocená úloha, kompletní realizace včetně zprávy -hodnocení 5 bodů, Čas na řešení úlohy 2 týdny. Povinný termín odevzdání úlohy je 7. platné cvičení - tedy pro čtvrteční cvičení v 7. týdnu semestru - (3.11.2011) , příp. v 8. týdnu (9.11.2011) semestru pro středeční cvičení. Posun je z důvodu svátku 28.9.2011. Odevzdání dokumentace je na následujícím cvičení. Vysvětlení: V úloze se pro jednoduchost obvodové realizace připojí pouze jediný 7-segmentový zobrazovač LED s využitím posuvného registru 74164, případně 74HC595. ( V případě zájmu lze zapojit i dva zobrazovače a příslušně upravit funkci zařízení). Po rozlišení, který digit výsledné hodnoty času zobrazovaný údaj představuje, se využije pravá desetinná tečka (rdp). Rozsvícená desetinná tečka indikuje jednotky, zhasnutá desetinná tečka indikuje desítky sekund. Stisk tlačítka + nastavuje hodnotu od 5 sekund v pořadí 6, 7, . . 9, 10, 20, 30, 40 ....až 90. Další stisky tlačítka + výsledek neovlivňují. Následným stiskem „ - “ se hodnota snižuje, nejdříve po jednotkách, pak po desítkách sekund. Indikace nastavené hodnoty po se děje přepínáním zobrazení horního a dolního digitu čísla s rozlišení jednotek pravou desetinnou tečkou rdp. Funkce zobrazení musí být nezávislá na funkci testu tlačítek, není tedy možné, aby se při stisku tlačítka zastavilo zobrazení.
1
Cvičení předmětu A4B38NVS Návrh vestavěných systémů, kat. měření, ČVUT FEL, Praha, 2011
Stiskem tlačítka (=) se hodnota uloží do paměti. (Zde by bylo žádouicí ukládat hodnotu do paměti Flash tak, aby se zařízení chovalo jako reálný přístroj -nastavená hodnota se vždy načte). Informace o programování paměti Flash jsou v [1]. Při dalším stisku tlačítek + nebo - se vychází z poslední nastavené hodnoty, nejdříve po sekundách, než se dojde na celistvý násobek desítek, následně po desítkách sekund. Rytmus střídání horního a dolního místa lze zvolit, může to být po 0,5 sekundě, ale konkrétní realizace záleží na autorovi. Stiskem tlačítka PA0 se aktivuje funkce časovacího relé (schodišťový automat) z minulé úlohy. V době funkce běhu časovače se bude na zobrazovači znázorňovat zbývající čas. Vhodné zobrazení je opět formou přepínání horního a dolního digitu. Pokud by to při realizaci činilo potíže, je možno připustit (po dohodě se cvičícím) zjednodušení na formu zobrazení bez multiplexování indikací nejdříve desítek sekund, následně jednotek sekund, opět s rozlišením pomocí desetinné tečky. Indikaci běžícího času je vhodné indikovat periodickým krátkým zhasnutím zobrazovače (na dobu řádu desetin sekundy) v intervalu sekund. Tam, kde by bylo potřeba zadání ještě dále specifikovat si, autor sám stanoví způsob modifikace a implementaci. Funkce programu však musí být jednoznačná, detereministická a zachycená v dokumentaci. Kriteriem pro modifikace funkce je vstřícnost uživateli vyvíjeného zařízení tak, aby ovládání bylo intuitivní. Obvodové řešení, použité součástky: Jako zobrazovač je použit typ se společnou anodou LTC3401VE firmy Liteon, ekvivalent obvodu HDSP3401.
a f
g
e ldp
b c
d
rdp
Obr. 1. 7- segmentový zobrazovač LED, rozložení vývodů zobrazovače LTS3401
Na obr. 2 je zachyceno možné zobrazení jednotlivých číslic a znaků. V programu se proto musí vytvořit tzv. generátor znaků, který bude převádět číslice a znaky z vnitřní reprezentace do reprezentace ve formě 7- segmentového zobrazení. Pro ovládání LED zobrazovače se využije se obvod MH54164, přímý ekvivalent obvodu SN54164 firmy Texas Instruments. Jedná se o tzv. „military“ verzi (s velkým teplotním rozsahem) standardního obvodu 74164, který je funkčním analogem obvodu 74LS164 a má shodnou logickou funkci jako obvod CMOS 74HC164 a 74HCT164. Pro popis logické funkce obvodu je tak možno využít katalogové listy pro 74HCT164. Obvod 74164 je v provedení TTL a tomu odpovídají stejnosměrné parametry.
2
Cvičení předmětu A4B38NVS Návrh vestavěných systémů, kat. měření, ČVUT FEL, Praha, 2011
Jeden ze vstupů ( A, B) se připojí na úroveň H a druhý bude složit jako datový vstup. Vstupy 54164 (UiHmin) jsou úrovňově kompatibilní s výstupními úrovněmi STM32F100. Mezi výstupy STM32F100 a vstupy 54164 je možné vložit ochranné rezistory 470 Ohmů. Zjistěte výpočtem s využitím s využitím znalosti velikosti vstupního proudu 54164, zda použití rezistorů 470 Ohmů je korektní z hlediska vstupních napěťových úrovní 54164.
Obr. 2 Možné způsoby zobrazení znaků a číslic
Na místě rezistorů R určujících prou LED segmentů se využijí rezistory s odporem 470 Ohmů. Určete přibližnou velikost proudu segmentem a celkový maximální proud obvodem 74164. Velikost proudu též zkontrolujte měřením ( Měření napětí na R= 470 Ohmů a výpočet.) Společná anoda zobrazovače se připojí na + 5 V, jednotlivé katody se přes rezistory připojí na výstupy Q0 až Q7 posuvného registru 74164.
UCC R
R QA
R QB
A B CLK CLR s. data posun
s. data
QH SR1 74LS164
posun
nul.
Obr. 3 Připojení zobrazovače k posuvnému registru, způsob ovládání posuvného registru
Obr. 4 Vnitřní struktura obvodu 74164
3
Cvičení předmětu A4B38NVS Návrh vestavěných systémů, kat. měření, ČVUT FEL, Praha, 2011
Obr. 5 Funkční tabulka, logický diagram a rozložení vývodů 74164
K dispozici jsou též (v menším počtu) posuvné registry s výstupním záchytným registrem typu 74HC595. výstupní obvody přepis s. data posun
RCLK
QA QB výst. reg. pos. reg.
SER SRCLK
SRCLR
nul.
SRR1
výstupní záchytný registr
QH QH´
posuvný registr
74HC595
Obr.6 Použití pos. reg. 74HC595 s výstupním záchytným registrem jako výstupního obvodu
Obr. 7 Logický diagram a rozložení vývodů 74HC595
K STM32F100 se připojí tlačítka obdobně, jako tomu je na obr. 8. Na místě rezistoru Rp se využije se vnitřní pull up rezistor v STM32. +5V (+ 3,3 V) tlač .
RP vst. brána
Obr. 8 Připojení tlačítka 4
Cvičení předmětu A4B38NVS Návrh vestavěných systémů, kat. měření, ČVUT FEL, Praha, 2011
Literatura: [1] STMicroelectronics: PM0042 Programming manual STM32F10xxx Flash programming ( informace o programovaní interní Flash aplikačním programem) [2] ARM, DUI0473C , ARM® Compiler toolchain, Using the Assembler, Version 4.1
5