Aplikace vestavných systémů A4M38AVS Před. 3 (4) 2014, kat. měření, ČVUT - FEL, Praha J. Fischer 1
Náplň Enkodér, funkce, použití Čítače, struktura, použití LCD zobrazovač, princip funkce, uspořádání Grafický zobrazovač LCD Řadič grafického zobrazovače LCD Rozhraní pro spolupráci s řadičem 2
Enkodér Enkodér snímač polohy rotační, příp. lineární Primárně použití optoelektronické inkrementální snímače polohy impulsní signál ve dvou stopách dva kanály A, B kvadraturní signál quadrature signal Směr podle sledu fází, posun podle počtu hran, v 1 periodě - 4 hrany počítání hran Optoel. snímač s 1000 impulsy na otáčku má rozlišení 4000 poloh (0,1) B=1 (1,1) A B A= 0 A= 1 1 2 3 4 5 hrany (0,0) B=0 (1,0) stavy - kvadraturní signál Odolné proti odskokům při změně signálu v jedné stopě (posuv do dalšího stavu a nazpět -způsobí pouze přičtení a následné odečtení jednoho impulsu) 3
.Enkodér Enkodér - určení směru pohybu Sled fází signálů ve stopě A a B určení směru otáčení, využití v reverzibilním čítači (čítání nahoru dolu), podle směru otáčení A B A B inkrementovat č. dekrementovat č. A B běh +, klid, běh - běh, klid, běh v opačném směru 4
Enkodér - realizace Enkodéry- realizace jako oproelektronické snímače Rotační, lineární, Rotační rastry jsou naneseny v kruhu Lineární rastr je nanesen v lineárním úseku ( viz též - snímač polohy v inkoustové tiskárně) Výstupy ve dvou stopách (zde stopy A, B), u snímačů pro obráběcí stroje, též nulový impuls pro nastavení nulové polohy. Výstupy s rozhraním RS 422, (frekvence impulsů i několik set khz) Použití u číslicově řízených polohovacích mechanismů, obráběcích strojů lineární snímače. Rozlišení až 1 um i 0,1 um s interpolací (Princip enkodéru viz též PC- myš s kuličkou) Použití též jako rotační ovládač ve spotřební elektronice, jednoduchá realizace pomocí dvou spínacích kontaktů ( viz ovládání hlasitosti rot. ovladačem v zvukové domácí sestavě) 5
Zpracování signálu enkodéru Zpracování signálu enkodéru procesor bez podpory vstupu kvadraturního signálu, možno programově (pozor- problém volby dostatečné frekvence vzorkování signálů programem), programově s podporou HW signalizace, že došlo ke změně signálu ve stopě A nebo B čítačem s podporou vstupu kvadraturního signálu Pozor. problém. použití čítače se vstupem. kvadraturního signálu U některých mikrořadičů - omezení délky čítače 16 bitů, možné řetězení čítače, ale pouze čítání přetečení, problém kaskádního řazení pro správné čítání kvadraturního signálu při změně směru Odměřování polohy- např. po 1 um, na délku 500 mm, - 500 000 impulsů, nepostačuje 16 bitů. (potřeba podpory SW pro přepínání směru čítání čítače horních 16 bitů Vhodnější typy s 32 bitovými čítači pro podporu kvadraturního signálu 6
Připojení enkodéru na SC kitu Enkodér na SC kitu Enkodér vnitřní realizace pomocí dvou spínacích kontaktů, mechanická aretace mezipoloh připojen na PD12, PD13 vstupy TIM 4 CH1 a TIM 4 CH2 Možno realizovat i prosté funkce čítání impulsů, hradlování čítače, funkce input capture,.. signálem enkodéru 7
Struktura STM32F207 Struktura STM32F207 viz str. 17, datasheet 8
Čítače Tim 2 až 7 v STM32F207. 9
.Čítač Tim 4 v STM32F207, použití pro ekodér Podpora zpracování signálu enkodéru, 16 bitový čítač 10
Blok čítačů 2 až 5, 12 až 14. 11
. Blok advanced čítačů 1 a 8. 12
Čítače obecný přehled funkcí čítače v STM32F207 Čítač, časovač (Counter, Timer) čítač counter míní se, že čítá vnější impulsy, časovač timer míní se, že čítá vnitřní synchronně přicházející impulsy základem čítač, obvykle binární, 16-b, 24-b, 32-b, (podle impl. danéhovýrobce) volba CLK signálu, hradlování, signalizace přetečení, možné vázat na další čítače, nebo generovat přerušení CPU přednastavení obsahu čítačem ( nulování, hodnota) čtení stavu programově řízené hradlování, HW řízené hradlování někdy řízení směru čítání nahoru (up), dolu (down) (v jednoduchých micro. často jeden směr čítání nahoru ) CLK hradlo čítač přetečení ext., int. CPU - čtení, zápis hodnoty 13
Záchytný režim čítače input capture Přepis obsahu čítače v okamžiku události do registru capture signalizace příznak, přerušení CPU (analogie stopky mezičas zachytí se čas 1. běž.ale stopky běží dále) Volba - input capture na náběžnou, spádovou nebo jakoukoliv hranu použití pro měření okamžiků, měření parametrů impulsů, určení střídy Přečtení hodnoty (zachyceného stavu čítače) programově CLK událost čítač hradlo přetečení přerušení, příznak pomocí DMA (DMA Direct memory Access registr CPU - čtení hodnoty přímý přístup do pamětiviz další před.) t 1 t 2 t 3 t 4 capture chan. 1 capture chan. 1 capture chan. 2 14
Čítač v režimu output compare Porovnání (compare) hodnoty čítače a registru, shoda - příznak, přerušení, případně i změna výstupního stavu nastavit 1 (set), nastavit 0 ( reset),nebo překlopit (toggle) změnit negovat minulý stav. Analogie budík, a) probuď mne a já půjdu zapnout (přerušení,.aktivace procesoru, v přerušení obsluha činnosti, ale je zpoždění programové obsluhy b) probuď se a sám zapni ( práci strojům ) analogie časový spínač světla a topení,. zapínání nahrávání televize, jednotka sama neprodleně (a bez zpoždění) změní stav výstupu použití řízení jednotek tyristorů IGBT v střídačích a měničích pro motory programování viz budík s jedním časem buzení, vždy nastavit další čas- aktivace (výklad) Možnost plnění další příští hodnotou času do registru programově pomocí DMA CLK čítač komparátor registr přetečení událost CPU - zápis hodnoty výst. OC1,.. CPU přerušení, příznak 15
Zobrazovač LCD Zobrazovač LCD, kapalné krystaly buzení střídavým napětím (nulová stejnosměrná složka napětí, (pod 100 mv) jinak dochází k elektrolytické degradaci LCD? jak dosáhnout střídavého napětí v obvodu s napájením 0 a + 5 V (+ 3,3 V)? Napětí na LCD segmentu jako rozdíl dvou napětí X 1 t U 1 t U 2 t U L t +U U LCD +U 1 U LCD 1 U 1 U 2 X 1 U U 1 2 X 2 16
Zobrazovač LCD Segmentový LCD vývody segmenty a BP back plain zadní společná elektroda jednotlivé segmenty (někdy v lit. označené front plain ) vůči společné elektrodě jako jednotlivé kapacitory LCD s jedním BP, potřeba tolik pinů, kolik je celkový počet segmentů ( hodně ) současné buzení všech segmentů tzv. statické buzeni, na segmentu je buď střídavé napětí (segment je opticky aktivní), nebo nulové napětí (seg. opt. neaktivní) Podobné buzení LCD lze realizovat i pomocí pinů mikrořadiče, který sám nemá budiče LCD. 17
Zobrazovač LCD Segmentový LCD, více segmentů, pro alfanumerické znaky, Potřeba zvýšení počtu segmentů LCD, které je možno budit, multiplexování analogie jako segmentové LED, společná anoda a multiplexování, v LCD, více společných elektrod backplain, označované jako COM (Common) Com 1, Com 2, (příp. Com 3, Com 4) viz. tabulka (část) přiřazení segmentu k Com x 18
Zobrazovač LCD Příklad segmentový LCD, 3 backplain, - COM 1, Com2, Com3 viz tabulka přiřazení, 19
Zobrazovač LCD.Náhradní schéma LCD segmentu s jedním backplain Com jednoduché řízení 20
Zobrazovač LCD Náhradní schéma LCD s dvěma backplain Com 1, Com2 složitější řízení, více napěťových úrovní, není možno docílit zcela nulového napětí pro neaktivní segment. Buzení nutno zohlednit vazbu kapacit elektrod díky propojení více Com. LCD - úroveň optické aktivity závisí na efektivní hodnotě napětí na segmentu LCD (střední hodnota je stále nulová) 21
Řízení LCD se dvěma Com elektrodami Com1, Com2 Rozlišení aktivní neaktivní element, podle efektivní hodnoty napětí malá hodnota opt. (téměř) neaktivní, velká ef. hodnota napětí. opt. aktivní (pozn. řízení stupně šedi LCD) Příklad řízení (jsou i jiné způsoby) frekvence budicích impulsů cca stovky Hz periody celého cyklu buzení jednotky, desítky ms. 22
Segmentový LCD se čtyřmi Com Vícefázové řízení, víceúrovňové řízení čím více BP, tím komplexnější řízení, 1 COM, úrovně 0, U CC 2 COM 0, ½ U CC, U CC 3 COM 0, 1/3 Ucc, 2/3 Ucc Ucc 4 COM 0, 1/4 Ucc, ½ Ucc/, 3/4 Ucc, Ucc 23
Specializované řadiče LCD Budič segmentových LCD často jako součást mikrořadiče viz. STM32Lxx, a další Obraz požadovaného stavu LCD v paměti SRAM, řadič zajistí řízení LCD bez účasti vlastního jádra procesoru 64 64 Grafický zobrazovač LCD ( černo bílý ) budič sloupců obsahuje bitový obraz obnovení informace po řádcích ( HD61202 a HD61203 příklad, často používané i po jiným označením, KSx. připojení řadičů paralelní, případně prostřednictvím SPI Řadič ST7565P Sitronix, použit v zobrazovači LCD typu RX12864D2 na SC kitu budič řádků HD61203 DB7 - DB0 R/W E D/I CS2 CS1 LCD MATICE budič sloupců HD61202 PANEL 128x64 budič sloupců HD61202 64 24
Semigrafický zobrazovač LCD Mozaikový semigrafický zobrazovač LCD 20 znaků x 2 řádky, 8 znaků 1 řádek řadič HD44780 (výrobce původně firma Hitachi) paralelní rozhraní (označované někdy také jako tzv. Motorola 6800 rozhraní) DB7 až DB0 obousměrné datové signály R / W Read/ Write 1 čtení, 0 zápis E Enable, určuje platnost dat na sběrnici RS Register Select RS = 1 data -, RS = 0 instrukce možné zjednodušení na potřebu pouze 6 vodičů na 4 bitová data, zápis 8 bitů po dvou 4-bitových datech Vypuštění čtení stavu - zápis a vložení dostatečně dlouhé doby čekání, za kterou se povel pro řadič LCD zaručeně vykoná, pro zjednodušení - vstup R/W připojit napevno na úroveň L. Detaily ovládání viz popis HD44780 25
HD44780 kódy znaků (LCD tabulka znaků generovaných HD44780 kódy pro číslice a písmena odpovídají kódům ASCII znaků Použití semigrafického zobr. LCD s řadičem HD4470- možnost definovat několik vlastních znaků s využitím generátoru znaků uložených v paměti RAM v HD4470 26
Zápis do HD44780 PW EH = min. 450 ns, t cyc = min. 1000 ns, t AS = min. 140 ns t AH = min. 10 ns, t DSW = min. 195 ns, t H = min. 10 ns pozor na časování, SW 27
Čtení z HD44780 PW EH = min. 450 ns, t cyc = min. 1000 ns, t AS = min. 140 ns t AH = min. 10 ns, t DDR = max. 320 ns (data delay), t DHR = min. 20 ns pozor na časování, SW 28
Čtení z HD44780 jiný obr. - 29
Zápis do HD44780 jiný obr. - 30
Vývody semigrafického zobrazovače LCD - 31
Oživení LCD Připojení DB7 DB0 a řídicích signálů RS, R/W, E, napájení možné použít i jen DB7 DB5 čtyřbitový mód, méně HW, více SW pomalejší komunikace pozor na kolize při použití různých zdrojů napájení s postupným zapínáním, ochranné odpory do série se signály, pozor U INmax!!! (Čekat alespoň 15 ms po zapnutí napájení LCD) 32
Připojení grafického řadiče LCD ST7565P na SC kitu. 33
Piny připojené k řadiči LCD. 34
. LCd zobrazovač RX12864D2 organizace 128x 64 bodů, monochomatický Zabudovaný řadič LCD typu ST7565P 65 x 132 Dot Matrix LCD Controller/Driver SEG 0 až SEG 131 COM 0 až Com 63 řadič pouzdro 290 pinů 35
Reprezentace informace v paměti řadiče LCD Zápis byte, do RAM řadiče, programová tvorba tvorba grafiky, textová forma zde pouze funkcí SW v up řádek (z hlediska funkce v demo příkladu, jako stránka- skupina 8 horizontálních linek ( Linka 0 až Linka 7) na LCD ) Linka0 D_0 řádek 0 řádek 1 Linka 7 D_7 řádek 7 Dynamické řízení 128 SEG- mentů připojených na sloupce 64 COM připojených na řádky 36
Způsob buzení LCD řadičem ST7565. 37
Pamět v řadiči. 38
.. 39
..Reprezentace znaku v grafice- v paměti 40
Volba rozhraní grafického řadiče LCD ST7565P. 41
Volba typu paralel. rozhraní graf. řadiče LCD ST7565P.Paralelní rozhraní 6800 dle procesoru Motorola MC 6800 Paralelní rozhraní 8080 dle procesoru Intel 8080 (Tyto procesory jsou historické, ale definovaly standard rozhraní- sběrnice pro spolupráci s pamětí a externími vstup. úvýst. obvody.) 42
Volba varanty paralelního rozhraní řadiče LCD. 43
Paralelní rozhraní vhodné pro spolupráci s řadičem Par. rozhraní. komp. s 8080 t WC ADR CS t CW t AS t WP WE vstupní data ( OE = H ) Z t DW platná data t DH 44
Cyklus zápisu do SRAM (STM32F207) Signály spolupráce se sběrnicí pro komunikaci s SRAM.A (25,0) adresa NWE write enable aktivní v L D(15, 0) data využitelné pro spolupr. s LCD řadičem v režimu 8080 Podstatné výstup adresy D výstup dat D signál zápisu NWE další - NEx - enable souč. (jako chip selesct) NOE povolení výstupu ( při zápisu, je výstup dat ze součástky zakázán) 45
Řízení podsvícení LCD vest. systému Posvícení LCD Vhodné mít možnost nastavit úroveň podsvícení LCD Ruční pevné nastavení uživatelem, nastavení podle okolního osvětlení Vhodnější automatické řízení úrovně podsvícení podle okolního osvětlení viz panel v autě- den, noc Použití - fototranzistoru, ADC, výklad. přednášce Podsvícení v SCkitu - spínací tranzistor ovládaný ( úroveň H) PC7. PWM. změna jasu Možná realizace- fototranzistor v obvodu, připojení na ADC1, podle signálu řídit PWM. Diskuse jak podsvícením LCD neovlivňovat měření osvětlení, multiplex. 46