Kazalo:

Kako narediti statični gonilnik LCD z vmesnikom I²C: 12 korakov
Kako narediti statični gonilnik LCD z vmesnikom I²C: 12 korakov

Video: Kako narediti statični gonilnik LCD z vmesnikom I²C: 12 korakov

Video: Kako narediti statični gonilnik LCD z vmesnikom I²C: 12 korakov
Video: SKR Pro v1.2 - Basics 2024, Julij
Anonim
Kako narediti statični gonilnik LCD z vmesnikom I²C
Kako narediti statični gonilnik LCD z vmesnikom I²C

Zasloni s tekočimi kristali (LCD) se zaradi svojih dobrih vizualnih lastnosti, nizkih stroškov in nizke porabe energije pogosto uporabljajo v komercialnih in industrijskih aplikacijah. Zaradi teh lastnosti je LCD standardna rešitev za naprave na baterije, kot so prenosni instrumenti, kalkulatorji, ure, radijski sprejemniki itd.

Vendar pa mora elektronski gonilnik LCD -ja za pravilen nadzor prikaza LCD prikazati ustrezne napetostne valovne oblike na zatiče LCD. Valovne oblike bi morale biti AC (izmenični tok) v naravi, ker enosmerne (enosmerne) napetosti trajno poškodujejo napravo. Ustrezen gonilnik bi te signale na LCD prikazoval pri minimalni porabi energije.

Obstajata dve vrsti LCD -prikazovalnikov, statični, z eno samo hrbtno ploščo in enim zatičem za upravljanje posameznih segmentov, in večplastni, z več stranskimi ploščami in več segmenti, povezanimi za vsak pin.

Ta navodila bodo predstavila zasnovo enega statičnega gonilnika LCD z napravo SLG46537V GreenPAK ™. Zasnovan gonilnik LCD bi poganjal do 15 segmentov LCD z uporabo nekaj mikroamperov toka iz napajalnika in ponujal vmesnik I²C za nadzor.

V naslednjih razdelkih bodo prikazani:

● osnovne informacije o LCD -jih;

● podrobno zasnova gonilnika LCD SLG46537V GreenPAK LCD;

● kako upravljati sedem segmentni, 4-mestni statični LCD z dvema napravama GreenPAK.

Spodaj smo opisali potrebne korake za razumevanje, kako je bila rešitev programirana za ustvarjanje statičnega gonilnika LCD z vmesnikom I²C. Če pa želite samo doseči rezultat programiranja, prenesite programsko opremo GreenPAK, če si želite ogledati že dokončano oblikovalsko datoteko GreenPAK. Priključite razvojni komplet GreenPAK v računalnik in pritisnite program, da ustvarite statični gonilnik LCD z vmesnikom I²C.

1. korak: Osnove zaslonov s tekočimi kristali

Osnove zaslonov s tekočimi kristali
Osnove zaslonov s tekočimi kristali
Osnove zaslonov s tekočimi kristali
Osnove zaslonov s tekočimi kristali

Zasloni s tekočimi kristali (LCD) so tehnologija, ki ne oddaja svetlobe, ampak samo nadzoruje, kako zunanji vir svetlobe prehaja. Ta zunanji vir svetlobe je lahko razpoložljiva zunanja svetloba, v tipu odsevnega zaslona, ali svetloba LED ali svetilke za osvetlitev ozadja v oddajnem tipu zaslona. LCD-zasloni so izdelani iz dveh steklenih plošč (zgornja in spodnja), tanke plasti tekočih kristalov (LC) med njima in dveh svetlobnih polarizatorjev (opomba o uporabi AN-001-osnove tehnologije LCD, Hitachi, opomba o uporabi AN-005-zaslon) Načini, Hitachi). Polarizator je svetlobni filter za svetlobno elektromagnetno polje. Skozi polarizator prehajajo le lahke komponente v desni smeri elektromagnetnega polja, ostale komponente pa so blokirane.

Tekoči kristal je organski material, ki vrti elektromagnetno polje svetlobe za 90 stopinj ali več. Ko pa na LC nanesemo električno polje, svetloba ne vrti več. Z dodatkom prozornih elektrod v zgornjem in spodnjem steklu zaslona je mogoče nadzorovati, kdaj svetloba prehaja, in kadar ne, z zunanjim virom električnega polja. Slika 1 (glej opombo o uporabi AN-001-Osnove tehnologije LCD, Hitachi) zgoraj prikazuje ta nadzor delovanja. Na sliki 1 je zaslon temen, če ni električnega polja. To je zato, ker oba polarizatorja filtrirata svetlobo v isti smeri. Če so polarizatorji pravokotni, bo zaslon ob prisotnosti električnega polja temen. To je najpogostejša situacija pri odsevnih zaslonih.

Najmanjše električno polje ali napetost za nadzor LCD -ja se imenuje prag vklopa. Na LC vpliva le napetost, v LC materialu pa skoraj ni toka. Elektrode v LCD -ju tvorijo majhno kapacitivnost in to je edina obremenitev za voznika. To je razlog, da je LCD naprava z nizko porabo energije, ki prikazuje vizualne informacije.

Vendar je pomembno omeniti, da LCD ne more predolgo delovati z enosmernim (DC) napetostnim virom. Uporaba enosmerne napetosti bo povzročila kemične reakcije v materialu LC, ki ga bo trajno poškodoval (opomba o uporabi AN-001-Osnove tehnologije LCD, Hitachi). Rešitev je v uporabi nadomestne napetosti (AC) v elektrodah LCD.

Pri statičnih LCD -zaslonih je elektroda na hrbtni plošči vgrajena v eno steklo, posamezni segmenti LCD ali slikovne pike pa v drugo steklo. To je ena najpreprostejših vrst LCD in tista z najboljšim kontrastnim razmerjem. Vendar ta vrsta prikaza običajno zahteva preveč nožic za nadzor vsakega posameznega segmenta.

Na splošno krmilnik voznika skupaj oddaja signal ure kvadratnega vala za hrbtno ploščo in signal ure za segmente v sprednji ravnini. Ko je ura hrbtne plošče v fazi z uro segmenta, je napetost korektno-kvadratnega (RMS) med obema ravninama nič, segment pa je prozoren. V nasprotnem primeru, če je RMS napetost višja od praga LCD ON, segment postane temen. Valovne oblike za hrbtno ploščo, segment za vklop in izklop so prikazane na sliki 2. Kot je prikazano na sliki, je segment VKLJUČEN v odnosu do signala hrbtne plošče. Odklopni segment je v fazi glede na signal zadnje plošče. Uporabljena napetost je lahko med 3 in 5 voltov za nizkocenovne zaslone z nizko porabo energije.

Signal ure za hrbtno ploščo in segmente LCD -ja je običajno v območju od 30 do 100 Hz, kar je najmanjša frekvenca, da se izognemo učinku vizualnega utripanja na LCD -ju. Izogibajte se višjim frekvencam, da zmanjšate porabo energije celotnega sistema. Sistem, sestavljen iz LCD -ja in gonilnikov, bi porabil malo toka v vrstnem redu mikroamperov. Zaradi tega so popolnoma primerni za aplikacije z nizko porabo energije in napajanje z baterijo.

V naslednjih razdelkih je podrobno predstavljena zasnova statičnega gonilnika LCD z napravo GreenPAK, ki lahko ustvari signal ure hrbtne plošče in signal posamezne segmenta za komercialni LCD.

Korak: Osnovni blokovni diagram GreenPAK Design

Osnovni blokovni diagram GreenPAK Design
Osnovni blokovni diagram GreenPAK Design
Osnovni blokovni diagram GreenPAK Design
Osnovni blokovni diagram GreenPAK Design

Blok diagram, ki ponazarja zasnovo GreenPAK, je prikazan na sliki 3. Osnovni bloki zasnove so vmesnik I²C, gonilnik izhodnega segmenta, notranji oscilator in izbirnik vira ure na zadnji plošči.

Vmesniški blok I²C nadzoruje vsak posamezen segmentni izhod in vir ure na hrbtni plošči LCD -ja. Vmesniški blok I²C je edini sistemski vhod za krmiljenje izhodnih segmentov.

Ko je nastavljena linija za nadzor notranjega segmenta (visoka raven), je ustrezen segment LCD temno neprozoren. Ko je krmilna linija notranjega segmenta ponastavljena (nizka raven), je ustrezen segment LCD prozoren.

Vsaka krmilna linija notranjega segmenta je povezana z izhodnim gonilnikom. Blok gonilnika izhodnega segmenta bo za transparentne segmente ustvaril signal fazne ure v razmerju do ure hrbtne plošče. Za temne segmente ta signal ni v fazi glede na uro hrbtne plošče.

Vir ure na hrbtni plošči je izbran tudi z vmesnikom I²C. Ko je izbran vir ure notranje hrbtne plošče, se vklopi notranji oscilator. Notranji oscilator bo ustvaril urno frekvenco 48Hz. Ta signal bo uporabil blok gonilnika izhodnega segmenta in je naslovljen na izhodni zatič ure na zadnji plošči (pin 20 GreenPAK).

Ko je izbran vir ure zunanje hrbtne plošče, se notranji oscilator izklopi. Referenca gonilnika izhodnega segmenta je vhod za zunanjo uro zunanje plošče (pin 2 GreenPAK). V tem primeru bi lahko izhodni pin na hrbtni plošči uporabili kot dodatno krmilno linijo segmenta, segment OUT15.

Na isti liniji I²C je mogoče uporabiti več kot eno napravo GreenPAK. Če želite to narediti, mora biti vsaka naprava programirana z drugačnim naslovom I²C. Na ta način je mogoče razširiti število segmentov LCD. Ena naprava je konfigurirana za ustvarjanje vira ure na hrbtni plošči, ki upravlja 14 segmentov, druge pa so nastavljene za uporabo zunanjega vira ure na hrbtni plošči. Vsaka dodatna naprava bi lahko na ta način vozila več kot 15 segmentov. Na isto linijo I²C je mogoče priključiti do 16 naprav, nato pa je mogoče upravljati do 239 segmentov LCD -ja.

V tem navodilu se ta ideja uporablja za nadzor 29 segmentov LCD -ja z dvema napravama GreenPAK. Funkcionalnost izločanja naprave je povzeta v tabeli 1.

3. korak: Oblikujte trenutno porabo

Pomembna skrb pri tej zasnovi je trenutna poraba, ki bi morala biti čim nižja. Ocenjeni tok mirovanja naprave GreenPAK je 0,75 µA za napajanje 3,3 V in 1,12 µA za delovanje 5 V napajanja. Poraba toka notranjega oscilatorja je 7,6 µA oziroma 8,68 µA za napajanje 3,3 V oziroma 5 V. Pričakuje se, da se zaradi izgube pri preklopu ne bo znatno povečala poraba toka, ker ta zasnova deluje pri nizki taktni frekvenci. Ocenjeni največji porabljeni tok za to zasnovo je nižji od 15 µA, ko je notranji oscilator vklopljen, in 10 µA, ko je notranji oscilator izklopljen. Izmerjeni tok, porabljen v obeh situacijah, je prikazan v razdelku Rezultati preskusov.

4. korak: Shema naprave GreenPAK

Shema naprave GreenPAK
Shema naprave GreenPAK

Projekt, zasnovan v programski opremi GreenPAK, je prikazan na sliki 4. Ta shema bo opisana z uporabo osnovnih blokov za referenco.

5. korak: Vmesnik I²C

I²C vmesnik
I²C vmesnik
I²C vmesnik
I²C vmesnik

Vmesniški blok I²C se uporablja kot glavni krmilni blok nadzora delovanja naprave. Podroben pogled na blokovne povezave in konfigurirane lastnosti je prikazan na sliki 5.

Ta blok je priključen na PIN 8 in PIN 9, to sta I²C SCL in SDA nožici. Znotraj naprave blok I²C ponuja 8 navideznih vhodov. Začetna vrednost za vsak navidezni vhod je prikazana v oknu lastnosti (glej sliko 5). Navidezni vhodi od OUT0 do OUT6 se uporabljajo kot segmentne krmilne linije. Te krmilne linije ustrezajo segmentnemu izhodu 1 do segmentnemu izhodu 7 in so povezane z izhodnim gonilnikom segmenta. Navidezni vhod OUT7 se uporablja kot krmiljenje vrstice izbirnika vira ure na hrbtni plošči z neto imenom BCKP_SOURCE. To mrežo bodo pri oblikovanju uporabljali drugi bloki. Krmilna koda I²C je konfigurirana z različno vrednostjo za vsako IC v projektu.

Na izhodu asinhronega stroja (ASM) je na voljo še 8 notranjih krmilnih segmentov, kot je prikazano na sliki 6 zgoraj. Izhodna vrstica segmenta 8 (SEG_OUT_8 v oknu lastnosti) skozi izhodno vrstico segmenta 15 (SEG_OUT_15) je nadzorovana z izhodom ASM v stanju 0. V bloku ASM ni nobenega prehoda stanja, vedno je v stanju 0. Izhodi ASM so priključen na izhodne gonilnike segmentov.

Izhodni gonilniki segmentov bodo ustvarili izhodni signal naprave.

6. korak: Gonilnik izhodnega segmenta

Gonilnik izhodnega segmenta je v bistvu iskalna tabela (LUT), konfigurirana kot logična vrata XOR. Za vsak izhodni segment morajo biti vrata XOR, povezana s krmilno linijo segmenta in uro na zadnji plošči (BCKP_CLOCK). Vrata XOR so odgovorna za generiranje signala v fazi in izven faze v izhodni segment. Ko je segmentna krmilna linija na visoki ravni, bo izhod vrat XOR obrnil signal ure hrbtne plošče in ustvaril signal zunaj faze na segmentni pin. Razlika napetosti med hrbtno ploščo LCD in segmentom LCD bo v tem primeru nastavila segment LCD kot temen segment. Ko je segmentna krmilna linija na nizki ravni, bo izhod vrat XOR sledil signalu ure na hrbtni plošči in nato ustvaril signal v fazi do segmentnega zatiča. Ker v tem primeru med hrbtno ploščo LCD in segmentom ne deluje napetost, je segment prozoren za svetlobo.

7. korak: Nadzor vira ure z notranjim oscilatorjem in hrbtno ploščo

Nadzor vira ure z notranjim oscilatorjem in hrbtno ploščo
Nadzor vira ure z notranjim oscilatorjem in hrbtno ploščo

Notranji oscilator se uporablja, ko je signal BCKP_CLOCK iz vmesnika I²C nastavljen na visoko raven. Podroben pregled diagrama krmiljenja vira ure je prikazan na sliki 7 zgoraj.

Oscilator je konfiguriran kot 25 kHz RC frekvenca, pri čemer je najvišji izhodni delitelj na voljo pri oscilatorju OUT0 (8/64). Celotna konfiguracija je prikazana v oknu lastnosti, prikazanih na sliki 7. Na ta način bo notranji oscilator ustvaril taktno frekvenco 48 Hz.

Oscilator je aktiven le, če je signal BCKP_SOURCE na visoki ravni skupaj s signalom POR. Ta nadzor se izvede s povezavo teh dveh signalov na vrata NAND na 4-L1 LUT. Izhod NAND je nato priključen na vhod kontrolnega zatiča za izklop oscilatorja.

Signal BCKP_SOURCE nadzoruje MUX, zgrajen s 3-L10 LUT. Ko je signal BCKP_SOURCE na nizki ravni, vir ure hrbtne plošče prihaja iz PIN2. Ko je ta signal na visoki ravni, vir ure na hrbtni plošči prihaja iz notranjega oscilatorja.

8. korak: Izhodna ura hrbtne plošče ali segment 15 Nadzor izhodnega zatiča

Ura izhoda zadnje plošče ali segment 15 Nadzor izhodnega zatiča
Ura izhoda zadnje plošče ali segment 15 Nadzor izhodnega zatiča

Pin 20 v tej zasnovi ima dvojno funkcijo, ki je odvisna od izbranega vira ure na hrbtni plošči. Delovanje tega zatiča je nadzorovano z enim 4 vhodnim LUT, kot je prikazano na sliki 8. S 4-bitnim LUT je mogoče povezati delovanje vrat XOR z izhodnim MUX. Ko je signal BCKP_SOURCE na visoki ravni, bo izhod LUT sledil notranji uri oscilatorja. Nato pin 20 deluje kot izhodna ura hrbtne plošče. Ko je signal BCKP_SOURCE na nizki ravni, bo izhod LUT operacija XOR med SEG_OUT_15, iz izhoda ASM in signala ure na zadnji plošči. 4-bitna konfiguracija LUT za izvedbo te operacije je prikazana na sliki 8.

9. korak: Prototip sistema LCD

Prototip sistema LCD
Prototip sistema LCD
Prototip sistema LCD
Prototip sistema LCD

Za prikaz uporabe oblikovalske rešitve GreenPAK je bil prototip sistema LCD sestavljen na plošči. Za prototip sedem segmentnega, 4-mestnega statičnega LCD zaslona poganjata dve napravi GreenPAK na plošči DIP. Ena naprava (IC1) uporablja notranji oscilator za pogon hrbtne plošče LCD, druga naprava (IC2) pa ta signal uporablja kot referenco vhoda na hrbtni plošči. Oba IC -ja nadzirata preko vmesnika I²C z mikrokrmilnikom STM32F103C8T6 (MCU) na minimalni razvojni plošči.

Slika 9 prikazuje shemo povezav med dvema IC -jema GreenPAK, LCD zaslonom in ploščo MCU. Na shemi naprava GreenPAK z referenco U1 (IC1) poganja eno in drugo številko LCD (LCD levo). Naprava GreenPAK z referenčno številko U2 (IC2) poganja tri in štiri številke LCD ter segment COL (LCD na desni strani). Napajanje za obe napravi prihaja iz regulatorja na razvojni plošči mikrokrmilnika. Za merjenje toka z multimetrom sta dodana dva odstranljiva mostička med napajalnim in VDD zatičem vsake naprave GreenPAK.

Slika sestavljenega prototipa je prikazana na sliki 10.

10. korak: Ukazi I²C za LCD nadzor

Ukazi I²C za LCD nadzor
Ukazi I²C za LCD nadzor
Ukazi I²C za LCD nadzor
Ukazi I²C za LCD nadzor
Ukazi I²C za LCD nadzor
Ukazi I²C za LCD nadzor

Dve napravi GreenPAK na plošči sta programirani z istim dizajnom, razen z vrednostjo kontrolnega bajta. Kontrolni bajt IC1 je 0 (naslov I²C 0x00), kontrolni bajt I²C pa 1 (naslov I²C 0x10). Povezave med segmenti zaslona in gonilniki naprav so povzete v zgornji tabeli.

Povezave so bile izbrane na ta način, da se ustvari jasnejša shema in poenostavi sestavljanje povezav na plošči.

Nadzor izhoda segmenta poteka z ukazi za zapis I²C v virtualne vhode I²C in izhodne registre ASM. Kot je opisano v opombi za uporabo AN-1090 Enostavni I²C krmilniki IO s SLG46531V (glejte opombo k uporabi AN-1090 Enostavni krmilniki IO I²C IO s SLG46531V, Dialogni polprevodnik), je ukaz za zapis I²C strukturiran na naslednji način:

● Začni;

● kontrolni bajt (R/W bit je 0);

● besedni naslov;

● Podatki;

● Ustavi.

Vsi ukazi za pisanje I²C so narejeni v Wordov naslov 0xF4 (navidezni vhodi I²C) in 0xD0 (izhod ASM za stanje 0). Ukazi za vnos v IC1 in kontrolni LCD -številki 1 in 2 so povzeti v tabeli 3. V predstavitvi zaporedja ukazov odprti oklepaj »[« označuje signal za zagon, zaklepni oklepaj »]« pa signal stop.

Dva bajta nad kontrolnima segmentoma LCD -številke 1 in števke 2 skupaj. Tu je pristop uporaba posamezne iskalne tabele (LUT) v programski opremi za vsako številko, pri čemer se upoštevajo segmenti v obeh bajtih. Vrednosti bajtov iz iskalne tabele je treba premešati z uporabo bitovne operacije OR in nato poslati v IC. Tabela 4 prikazuje vrednosti Byte0 in Byte1 za vsako številsko vrednost, ki jo je treba zapisati v vsako števko prikaza.

Na primer, če želite v številko 1 vnesti številko 3, v številko 2 pa številko 4, je Byte0 0xBD (0x8D bitovno OR z 0xB0) in bajt 1 je 0x33 (0x30 bitovno OR z 0x03).

Ukaz za pisanje v IC2 in krmiljenje številk 3 in 4 sta opisana v tabeli 5.

Krmilna logika števk 3 in 4 je podobna nadzoru števk 1 in 2. Tabela 6 prikazuje LUT za ti dve števki.

Razlika v IC2 je segment COL. Ta segment nadzira Byte1. Če želite ta segment nastaviti temno, je treba opraviti operacijo po bitju ALI med Byte1 in vrednostjo 0x40.

11. korak: Ukazi I²C za preizkus LCD

Ukazi I²C za test LCD
Ukazi I²C za test LCD

Za LCD -test je bila za ploščo MCU razvita vdelana programska oprema v jeziku C. Ta vdelana programska oprema bo poslala zaporedje ukazov v obe IC na matični plošči. Izvorna koda te vdelane programske opreme je v razdelku Dodatek. Celotna rešitev je bila razvita z uporabo Atollic TrueStudio za STM32 9.0.1 IDE.

Zaporedje ukazov in ustrezne vrednosti, prikazane na zaslonu, so povzete v zgornji tabeli 7.

12. korak: Rezultati testa

Rezultati testov
Rezultati testov
Rezultati testov
Rezultati testov

Preizkus prototipa je sestavljen iz preverjanja prikazanih vrednosti po ukazu MCU in merjenja trenutnega ponora vsakega IC med delovanjem.

Slike LCD za vsako vrednost ukaza so prikazane v zgornji tabeli 8.

Trenutni odtok za vsako napravo je bil izmerjen z multimetrom v najnižjem tokovnem območju 200 µA. Slike izmerjenega toka za vsako napravo med zagonom in normalnim delovanjem so prikazane v zgornji tabeli 9.

Zaključek in razprava

Predstavljena je bila zasnova statičnega gonilnika LCD z nizko porabo energije z napravo GreenPAK. Ta zasnova jasno prikazuje eno največjih lastnosti naprav GreenPAK: nizek tok mirovanja. Ker so naprave GreenPAK strojno zasnovana rešitev, je možno delovati pri nizkofrekvenčnem delovanju, v tem primeru 48 Hz. Rešitev, ki temelji na MCU, bo zahtevala višjo frekvenco delovanja, tudi za občasno kratka obdobja, nato pa bo porabila več energije. Če primerjamo napravo GreenPAK s CPLD (Complex Programmable Logic Device), je jasno videti, da ima običajno CPLD tok mirovanja višji od 20 µA.

Zanimivo je omeniti, da bi lahko to zasnovo zlahka spremenili, da bi bolje ustrezali zahtevam določenega projekta. Dober primer je izpis kontrolnikov segmentov. Z lahkoto jih je mogoče spremeniti, da poenostavite tiskano vezje in razvoj programske opreme hkrati. To je zanimiva lastnost, če napravo primerjamo s standardnim ASIC (Application Specific Integrated Circuit). Običajno so ASIC zasnovani tako, da se prilegajo širokemu spektru aplikacij, zato je treba pred operacijo napisati začetno programsko rutino za ustrezno konfiguracijo IC. Konfigurirano napravo bi lahko zasnovali tako, da je po vklopu pripravljena za uporabo. Na ta način je mogoče skrajšati čas razvoja programske opreme za začetno konfiguracijo IC.

Izvorno kodo aplikacije najdete tukaj v Dodatku A.

Priporočena: