Sadržaj:

Kako napraviti statički LCD upravljački program sa I²C interfejsom: 12 koraka
Kako napraviti statički LCD upravljački program sa I²C interfejsom: 12 koraka

Video: Kako napraviti statički LCD upravljački program sa I²C interfejsom: 12 koraka

Video: Kako napraviti statički LCD upravljački program sa I²C interfejsom: 12 koraka
Video: Mobile Pixels Dual Duex Pro Upgraded 2.0 Portable Monitor Laptops 12.5" inch Full HD USB Screen 2024, Juli
Anonim
Kako napraviti statički LCD upravljački program sa I²C interfejsom
Kako napraviti statički LCD upravljački program sa I²C interfejsom

Zasloni s tekućim kristalima (LCD) široko se koriste u komercijalnim i industrijskim aplikacijama zbog svojih dobrih vizualnih svojstava, niske cijene i niske potrošnje energije. Ova svojstva čine LCD standardnim rješenjem za uređaje na baterije, poput prijenosnih instrumenata, kalkulatora, satova, radija itd.

Međutim, za pravilnu kontrolu prikaza LCD -a, elektronički upravljački program LCD -a mora generirati odgovarajuće valne oblike napona na LCD pinovima. Oblici talasa bi trebali biti AC (izmjenične struje) po prirodi jer će istosmjerni (istosmjerni) naponi trajno oštetiti uređaj. Odgovarajući upravljački program napajao bi te signale LCD -u uz minimalnu potrošnju energije.

Postoje dvije vrste LCD -a, statički, sa samo jednom stražnjom pločom i jednim pinom za kontrolu pojedinačnih segmenata, te multipleksirani, s više stražnjih ploča i više segmenata spojenih za svaki pin.

Ovaj Instructable će predstaviti dizajn jednog statičkog LCD upravljačkog programa sa SLG46537V GreenPAK ™ uređajem. Dizajnirani upravljački program za LCD upravljao bi do 15 LCD segmenata, koristeći nekoliko mikroampera struje iz izvora napajanja i nudio I²C sučelje za kontrolu.

U sljedećim odjeljcima bit će prikazani:

● osnovne informacije o LCD ekranima;

● detaljno dizajn upravljačkog programa za LCD monitor SLG46537V GreenPAK;

● kako upravljati sedmosegmentnim, četvorocifrenim statičkim LCD-om sa dva GreenPAK uređaja.

U nastavku smo opisali korake potrebne za razumijevanje načina na koji je rješenje programirano za stvaranje statičkog LCD upravljačkog programa sa I²C sučeljem. Međutim, ako samo želite dobiti rezultat programiranja, preuzmite GreenPAK softver da biste vidjeli već završenu GreenPAK datoteku za dizajn. Priključite GreenPAK Development Kit na računar i pritisnite program za kreiranje statičkog LCD upravljačkog programa sa I²C interfejsom.

Korak 1: Osnove prikaza s tekućim kristalima

Osnove prikaza s tekućim kristalima
Osnove prikaza s tekućim kristalima
Osnove prikaza s tekućim kristalima
Osnove prikaza s tekućim kristalima

Zasloni s tekućim kristalima (LCD) tehnologija je koja ne emitira svjetlost, već samo kontrolira prolaz vanjskog izvora svjetlosti. Ovaj vanjski izvor svjetlosti može biti dostupno ambijentalno svjetlo, u tipu reflektirajućeg ekrana, ili svjetlo LED diode ili lampe sa pozadinskim osvjetljenjem, u transmisivnom tipu prikaza. LCD-i su izrađeni od dvije staklene ploče (gornja i donja), tankog sloja tekućeg kristala (LC) između njih i dva svjetlosna polarizatora (Napomena o primjeni AN-001-Osnove LCD tehnologije, Hitachi, Napomena o primjeni AN-005-Zaslon Režimi, Hitachi). Polarizator je svjetlosni filter za svjetlo elektromagnetsko polje. Samo svjetlosne komponente u desnom smjeru elektromagnetskog polja prolaze kroz polarizator, dok su ostale komponente blokirane.

Tečni kristal je organski materijal koji rotira elektromagnetsko polje svjetlosti za 90 stepeni ili više. Međutim, kada se na LC primijeni električno polje, svjetlo više ne rotira. Dodavanjem prozirnih elektroda u gornje i donje staklo ekrana, moguće je kontrolirati kada svjetlost prolazi, a kada ne, s vanjskim izvorom električnog polja. Slika 1 (vidi napomenu o primjeni AN-001-Osnove LCD tehnologije, Hitachi) gore ilustrira ovu kontrolu rada. Na slici 1, zaslon je taman kada nema električnog polja. To je zato što oba polarizatora filtriraju svjetlost u istom smjeru. Ako su polarizatori ortogonalni, zaslon će biti taman kada je prisutno električno polje. Ovo je najčešća situacija za reflektirajuće zaslone.

Minimalno električno polje ili napon za upravljanje LCD -om naziva se prag UKLJUČENJA. Na LC utječe samo napon i jedva da ima struje u LC materijalu. Elektrode u LCD -u tvore mali kapacitet i to je jedino opterećenje za upravljački program. To je razlog što je LCD uređaj male snage za prikazivanje vizualnih informacija.

Međutim, važno je napomenuti da LCD ne može predugo raditi s izvorom istosmjerne struje (DC). Primjena istosmjernog napona uzrokovat će kemijske reakcije u LC materijalu, koje će ga trajno oštetiti (Napomena o primjeni AN-001-Osnove LCD tehnologije, Hitachi). Rješenje je primijeniti izmjenični napon (AC) na elektrode LCD -a.

Kod statičkih LCD -a, elektroda na stražnjoj ploči ugrađena je u jedno staklo, a pojedini segmenti LCD -a ili pikseli stavljeni su u drugo staklo. Ovo je jedan od najjednostavnijih tipova LCD -a i najbolji s omjerom kontrasta. Međutim, za ovu vrstu prikaza obično je potrebno previše pinova za kontrolu svakog pojedinog segmenta.

Općenito, upravljački kontroler zajedno proizvodi signal kvadratnog vala za stražnju ploču i signal sata za segmente u prednjoj ravnini. Kada je sat na matičnoj ploči u fazi sa segmentnim satom, srednji kvadratni (RMS) napon između obje ravnine je nula, a segment je proziran. U suprotnom, ako je RMS napon veći od praga LCD ON -a, segment postaje taman. Talasni oblici za matičnu ploču, segment za uključivanje i isključivanje prikazani su na slici 2. Kao što se može vidjeti na slici, segment ON je van faze u odnosu na signal zadnje ploče. Off segment je u fazi u odnosu na signal sa zadnje ploče. Primijenjeni napon može biti između 3 i 5 volti za jeftine zaslone male snage.

Signal takta za pozadinsku ploču i segmente LCD -a obično je u rasponu od 30 do 100 Hz, minimalna frekvencija kako bi se izbjegao vizualni efekt treperenja na LCD -u. Izbjegavaju se veće frekvencije kako bi se smanjila potrošnja energije cjelokupnog sistema. Sistem sastavljen od LCD -a i upravljačkih programa trošio bi malo struje, po redoslijedu mikroampera. To ih čini savršeno prikladnim za aplikacije male snage i izvora napajanja iz baterije.

U sljedećim odjeljcima detaljno je predstavljen dizajn statičkog upravljačkog programa LCD -a sa GreenPAK uređajem koji može generirati signal sata sa pozadinske ploče i signal pojedinačnog segmenta za komercijalni LCD.

Korak 2: Osnovni blok dijagram GreenPAK Design

Osnovni blok dijagram GreenPAK Design
Osnovni blok dijagram GreenPAK Design
Osnovni blok dijagram GreenPAK Design
Osnovni blok dijagram GreenPAK Design

Blok dijagram koji ilustruje GreenPAK dizajn prikazan je na slici 3. Osnovni blokovi dizajna su I²C interfejs, upravljački program izlaznog segmenta, unutrašnji oscilator i birač izvora za pozadinsku ploču.

Blok interfejsa I²C kontroliše svaki izlaz pojedinačnog segmenta i izvor takta pozadinske ploče LCD ekrana. Blok sučelja I²C jedini je sistemski ulaz za upravljanje segmentnim izlazom.

Kada je postavljena interna kontrolna linija segmenta (visoki nivo), odgovarajući LCD segment je tamno neproziran. Kada se upravljačka linija unutrašnjeg segmenta resetuje (nizak nivo), odgovarajući LCD segment je providan.

Svaka interna segmentna kontrolna linija spojena je na izlazni upravljački program. Blok upravljačkog programa izlaznog segmenta generirat će signal takta u fazi u odnosu na sat matične ploče za transparentne segmente. Za tamne segmente ovaj signal je izvan faze u odnosu na sat na pozadinskoj ploči.

Izvor sata na matičnoj ploči je takođe odabran sa I²C interfejsom. Kada je izabran izvor unutrašnjeg sata na matičnoj ploči, unutrašnji oscilator je uključen. Unutrašnji oscilator generirat će frekvenciju takta od 48Hz. Ovaj signal će koristiti blok upravljačkog programa izlaznog segmenta i bit će upućen na izlaznu iglu sata na matičnoj ploči (GreenPAK pin 20).

Kada je izabran izvor vanjskog sata na matičnoj ploči, unutrašnji oscilator je isključen. Referenca upravljačkog programa izlaznog segmenta je ulaz sa vanjske satne ploče (GreenPAK pin 2). U ovom slučaju, izlazni pin sata na matičnoj ploči mogao bi se koristiti kao dodatna kontrolna linija segmenta, segment OUT15.

Na istoj liniji I²C moglo bi se koristiti više od jednog GreenPAK uređaja. Da biste to učinili, svaki uređaj mora biti programiran s drugom I²C adresom. Na ovaj način moguće je proširiti broj upravljanih LCD segmenata. Jedan uređaj je konfiguriran za generiranje izvora takta na matičnoj ploči, upravljajući 14 segmenata, a drugi su konfigurirani za upotrebu vanjskog izvora sata na matičnoj ploči. Svaki dodatni uređaj mogao bi voziti više od 15 segmenata na ovaj način. Moguće je povezati do 16 uređaja na istu I²C liniju, a zatim je moguće kontrolirati do 239 segmenata LCD -a.

U ovom Instructable -u, ova ideja se koristi za kontrolu 29 segmenata LCD -a sa 2 GreenPAK uređaja. Funkcionalnost isticanja uređaja sažeta je u Tablici 1.

Korak 3: Projektirajte trenutnu potrošnju

Važna briga u ovom dizajnu je trenutna potrošnja, koja bi trebala biti što je moguće manja. Procijenjena struja mirovanja uređaja GreenPAK iznosi 0,75 µA za rad napajanja od 3,3 V i 1,12 µA za rad napajanja od 5 V. Trenutna potrošnja internog oscilatora iznosi 7,6 µA i 8,68 µA za rad napajanja od 3,3 V odnosno 5 V. Ne očekuje se značajno povećanje trenutne potrošnje zbog prekidačkih gubitaka, jer ovaj dizajn radi na niskoj taktnoj frekvenciji. Procijenjena maksimalna potrošnja struje za ovaj dizajn manja je od 15 µA kada je unutrašnji oscilator uključen i 10 µA kada je unutrašnji oscilator isključen. Izmjerena struja potrošena u obje situacije prikazana je u odjeljku Rezultati ispitivanja.

Korak 4: Shema uređaja GreenPAK

Shema uređaja GreenPAK
Shema uređaja GreenPAK

Projekt osmišljen u softveru GreenPAK prikazan je na slici 4. Ova shema će biti opisana korištenjem osnovnih blok dijagrama kao referenca.

Korak 5: I²C sučelje

I²C interfejs
I²C interfejs
I²C interfejs
I²C interfejs

Blok sučelja I²C koristi se kao glavni kontrolni blok kontrole rada uređaja. Pogled izbliza na blokovske veze i konfigurirana svojstva prikazan je na slici 5.

Ovaj blok je povezan sa PIN 8 i PIN 9, odnosno I²C SCL i SDA pinovima. Unutar uređaja, blok I²C nudi 8 virtualnih ulaza. Početna vrijednost za svaki virtualni ulaz prikazana je u prozoru svojstava (vidi sliku 5). Virtualni ulazi od OUT0 do OUT6 koriste se kao segmentne kontrolne linije. Ove upravljačke linije odgovaraju segmentnom izlazu 1 do segmentnog izlaza 7 i povezane su sa upravljačkim programom za segmentni izlaz. Virtualni ulaz OUT7 se koristi kao kontrola linije za odabir izvora sata na matičnoj ploči, s mrežnim imenom BCKP_SOURCE. Ovu mrežu će koristiti drugi blokovi u dizajnu. Kontrolni kôd I²C konfiguriran je s različitim vrijednostima za svaki IC u projektu.

Na izlazu asinhrone državne mašine (ASM) dostupno je još 8 internih kontrolnih linija za segment, kao što je prikazano na slici 6 gore. Izlazna linija segmenta 8 (SEG_OUT_8 u prozoru svojstava) preko izlazne linije 15 segmenta (SEG_OUT_15) kontrolira se izlazom ASM -a u stanju 0. Ne postoji nikakav prijelaz stanja u bloku ASM -a, on je uvijek u stanju 0. Izlazi ASM -a su spojeni na upravljačke programe za segmentne izlaze.

Izlazni upravljački programi za segment generirat će izlazni signal uređaja.

Korak 6: Upravljački program izlaznog segmenta

Upravljački program izlaznog segmenta je u osnovi tablica za pretraživanje (LUT) konfigurirana kao XOR logički port. Za svaki izlazni segment, to mora biti XOR port spojen na kontrolnu liniju segmenta i sat na matičnoj ploči (BCKP_CLOCK). XOR port je odgovoran za generiranje faznog i izvanfaznog signala na izlaznom segmentu. Kada je segmentna kontrolna linija na visokom nivou, izlaz porta XOR će invertirati signal takta pozadinske ploče i generirati signal izvan faze na segmentni pin. Razlika napona između pozadinske ploče LCD -a i LCD segmenta u ovom slučaju će LCD segment postaviti kao tamni segment. Kad je segmentna kontrolna linija na niskom nivou, izlaz porta XOR će slijediti signal takta pozadinske ploče, a zatim će generirati signal u fazi prema segmentnom pinu. Budući da u ovom slučaju nema napona između pozadinske ploče LCD -a i segmenta, segment je proziran prema svjetlu.

Korak 7: Kontrola izvora unutrašnjeg oscilatora i pozadinske ploče

Kontrola izvora unutrašnjeg oscilatora i pozadinske ploče
Kontrola izvora unutrašnjeg oscilatora i pozadinske ploče

Interni oscilator se koristi kada je signal BCKP_CLOCK sa I²C sučelja postavljen na visoki nivo. Pogled izbliza na dijagram kontrole izvora takta prikazan je na slici 7 gore.

Oscilator je konfiguriran kao 25 kHz RC frekvencija, s najvećim izlaznim djeliteljem dostupnim na oscilatoru OUT0 (8/64). Cijela konfiguracija je prikazana u prozoru svojstava prikazanom na slici 7. Na ovaj način, unutrašnji oscilator će generirati taktnu frekvenciju od 48 Hz.

Oscilator je aktivan samo kada je signal BCKP_SOURCE na visokom nivou zajedno sa signalom POR. Ova kontrola se vrši povezivanjem ova dva signala na NAND port 4-L1 LUT-a. Izlaz NAND -a je zatim spojen na ulaz upravljačkog pina za isključivanje oscilatora.

Signal BCKP_SOURCE kontrolira MUX izgrađen sa 3-L10 LUT. Kada je signal BCKP_SOURCE na niskom nivou, izvor takta matične ploče dolazi sa PIN2. Kada je ovaj signal na visokom nivou, izvor takta matične ploče dolazi iz unutrašnjeg oscilatora.

Korak 8: Izlaz sata na pozadinskoj ploči ili segment 15 Kontrola izlaznog pina

Izlaz sa sata na pozadinskoj ploči ili segment 15 Kontrola izlaznog pina
Izlaz sa sata na pozadinskoj ploči ili segment 15 Kontrola izlaznog pina

Pin 20 u ovom dizajnu ima dvostruku funkciju koja ovisi o odabranom izvoru sata na matičnoj ploči. Rad ovog pina kontrolira se s jednim 4 ulaznim LUT-om, kao što je prikazano na slici 8. Sa 4-bitnim LUT-om, moguće je povezati rad XOR porta s izlaznim MUX-om. Kada je signal BCKP_SOURCE na visokom nivou, izlaz LUT -a slijedi interni sat oscilatora. Zatim pin 20 radi kao izlaz sata na matičnoj ploči. Kada je signal BCKP_SOURCE na niskom nivou, izlaz LUT će biti operacija XOR između SEG_OUT_15, iz ASM izlaza i signala sata na pozadinskoj ploči. 4-bitna LUT konfiguracija za izvođenje ove operacije prikazana je na slici 8.

Korak 9: Prototip LCD sistema

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

Kako bi se pokazala upotreba dizajnerskog rješenja GreenPAK, prototip LCD sistema sastavljen je na ploči. Za prototip, četverocifreni statički LCD sa sedam segmenata upravlja sa dva GreenPAK uređaja na DIP ploči. Jedan uređaj (IC1) koristi unutrašnji oscilator za pogon pozadinske ploče LCD -a, a drugi uređaj (IC2) koristi ovaj signal kao referentnu ulaznu ploču na matičnoj ploči. Oba IC -a se kontroliraju preko I²C sučelja pomoću STM32F103C8T6 mikrokontrolera (MCU) u minimalnoj razvojnoj ploči.

Slika 9 prikazuje shemu veza između dva GreenPAK IC -a, LCD ekrana i MCU ploče. Na shemi, GreenPAK uređaj sa U1 (IC1) referentnom jedinicom pokreće LCD broj jedan i dva (LCD lijeva strana). GreenPAK uređaj sa U2 (IC2) referentnom jedinicom pokreće LCD cifru tri i četiri, plus COL segment (LCD desna strana). Napajanje za oba uređaja dolazi iz regulatora na razvojnoj ploči mikrokontrolera. Dva izmjenjiva kratkospojnika između pinova za napajanje i VDD na svakom GreenPAK uređaju dodana su za mjerenje struje pomoću multimetra.

Slika sastavljenog prototipa prikazana je na slici 10.

Korak 10: I²C naredbe za LCD kontrolu

I²C komande za LCD kontrolu
I²C komande za LCD kontrolu
I²C komande za LCD kontrolu
I²C komande za LCD kontrolu
I²C komande za LCD kontrolu
I²C komande za LCD kontrolu

Dva GreenPAK uređaja na matičnoj ploči programirana su istim dizajnom, osim vrijednosti kontrolnog bajta. Kontrolni bajt IC1 je 0 (I²C adresa 0x00), dok je I²C kontrolni bajt 1 (I²C adresa 0x10). Veze između segmenata ekrana i upravljačkih programa uređaja sažete su u gornjoj tabeli.

Veze su odabrane na ovaj način kako bi se stvorila jasnija shema i pojednostavilo sastavljanje veza na matičnoj ploči.

Kontrola izlaza segmenta vrši se pomoću I²C naredbi za upisivanje u I²C virtualne ulaze i ASM izlazne registre. Kao što je opisano u napomeni o primjeni AN-1090 Jednostavni I²C IO kontroleri sa SLG46531V (pogledajte napomenu o primjeni AN-1090 Jednostavni I²C IO kontroleri sa SLG46531V, dijaloški poluvodič), naredba za upisivanje I²C strukturirana je na sljedeći način:

● Start;

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

● Adresa riječi;

● Podaci;

● Stop.

Sve naredbe za upisivanje I²C napravljene su prema Word adresi 0xF4 (I²C virtualni ulazi) i 0xD0 (ASM izlaz za stanje 0). Komande za upisivanje u IC1 i kontrolne LCD cifre 1 i 2 sažete su u Tablici 3. U prikazu slijeda naredbi, otvorena zagrada “[“označava startni signal, a zatvorena zagrada “]” označava signal Stop.

Dva bajta iznad kontrolnih segmenata LCD cifre 1 i cifre 2 zajedno. Ovdje je pristup korištenje pojedinačne tablice za pretraživanje (LUT) u softveru za svaku znamenku, uzimajući u obzir segmente u oba bajta. Vrijednosti bajtova iz tabele za traženje treba miješati pomoću bitovne operacije ILI, a zatim poslati IC -u. Tablica 4 prikazuje vrijednosti Byte0 i Byte1 za svaku numeričku vrijednost koju treba upisati u svaku cifru prikaza.

Na primjer, za pisanje u znamenku 1 broj 3, a u znamenku 2 broj 4, Byte0 je 0xBD (0x8D bitovno ILI sa 0xB0), a bajt 1 je 0x33 (0x30 bitovno ILI sa 0x03).

Naredba za pisanje u IC2 i kontroliranje znamenki 3 i 4 opisane su u tablici 5.

Kontrolna logika cifara 3 i 4 je poput kontrole cifara 1 i 2. Tabela 6 prikazuje LUT za ove dvije znamenke.

Razlika u IC2 je COL segment. Ovim segmentom upravlja Byte1. Za postavljanje ovog segmenta na tamno, potrebno je izvršiti operaciju bitovanja ILI između Byte1 i vrijednosti 0x40.

Korak 11: I²C naredbe za LCD test

I²C komande za LCD test
I²C komande za LCD test

Za LCD test razvijen je firmver na C jeziku za MCU ploču. Ovaj firmver će poslati niz naredbi na oba IC -a na matičnoj ploči. Izvorni kod za ovaj firmver nalazi se u odjeljku Dodatak. Cijelo rješenje razvijeno je pomoću Atollic TrueStudio za STM32 9.0.1 IDE.

Slijed naredbi i odgovarajuće vrijednosti prikazane na ekranu sažete su u gornjoj tablici 7.

Korak 12: Rezultati testa

Rezultati testa
Rezultati testa
Rezultati testa
Rezultati testa

Test prototipa sastoji se od provjere prikazanih vrijednosti nakon naredbe MCU -a i mjerenja odvoda struje po svakom IC -u tokom rada.

Slike LCD -a za svaku vrijednost naredbe prikazane su u gornjoj tablici 8.

Trenutni slivnik za svaki uređaj mjeren je multimetrom, u njegovom najnižem rasponu struje od 200 µA. Slike izmjerene struje za svaki uređaj, tokom pokretanja i normalnog rada, prikazane su u gornjoj tabeli 9.

Zaključak i diskusija o rezultatima

Predstavljen je dizajn statičkog LCD upravljačkog programa male snage sa GreenPAK uređajem. Ovaj dizajn jasno pokazuje jednu od najvećih karakteristika GreenPAK uređaja: njihovu nisku struju mirovanja. Budući da su GreenPAK uređaji rješenje zasnovano na hardveru, moguće je raditi na niskofrekventnom radu, u ovom slučaju na 48 Hz. Rješenje zasnovano na MCU -u zahtijevat će veću radnu frekvenciju, čak i za periodično kratke vremenske periode, a zatim će trošiti više energije. Upoređujući GreenPAK uređaj sa CPLD -om (složeni programibilni logički uređaj), jasno je vidjeti da CPLD obično ima struju mirovanja veću od 20 µA.

Zanimljivo je napomenuti da se ovaj dizajn može lako izmijeniti kako bi se bolje uklopio u zahtjeve određenog projekta. Dobar primjer je isticanje kontrola segmenata. Oni se lako mogu promijeniti kako bi se pojednostavila štampana ploča i razvoj softvera u isto vrijeme. Ovo je zanimljiva karakteristika kada se uređaj uporedi sa ASIC-om (Integrisani krug specifičan za aplikaciju). Obično su ASIC -ovi dizajnirani tako da se uklapaju u širok raspon aplikacija, a početnu softversku rutinu treba napisati za pravilno konfiguriranje IC -a prije operacije. Uređaj koji se može konfigurirati može biti dizajniran za početak rada nakon uključivanja. Na ovaj način moguće je skratiti vrijeme razvoja softvera za početnu konfiguraciju IC -a.

Izvorni kod aplikacije možete pronaći ovdje u Dodatku A.

Preporučuje se: