Sadržaj:

Kako napraviti statički LCD upravljački program s I²C sučeljem: 12 koraka
Kako napraviti statički LCD upravljački program s I²C sučeljem: 12 koraka

Video: Kako napraviti statički LCD upravljački program s I²C sučeljem: 12 koraka

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

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 valova trebali bi biti AC (izmjenične struje), 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 upravljanje pojedinačnim segmentima, te multipleksirani, s više stražnjih ploča i više segmenata spojenih za svaki pin.

Ovaj Instructable predstavit će 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 napajanja i nudio I²C sučelje za kontrolu.

U sljedećim odjeljcima bit će prikazani:

● osnovne informacije o LCD -ima;

● detaljno dizajn upravljačkog programa LCD -a SLG46537V GreenPAK;

● kako upravljati sedmosegmentnim, 4-znamenkasti statičkim LCD-om s 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 s I²C sučeljem. Međutim, ako samo želite dobiti rezultat programiranja, preuzmite GreenPAK softver kako biste vidjeli već dovršenu datoteku za dizajn GreenPAK. Priključite GreenPAK Development Kit na svoje računalo i hit program za stvaranje statičkog LCD upravljačkog programa s I²C sučeljem.

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 prolazak vanjskog izvora svjetlosti. Ovaj vanjski izvor svjetla može biti dostupno ambijentalno svjetlo, u reflektirajućem tipu zaslona, ili svjetlo s pozadinskim osvjetljenjem ili svjetlom, u prozirnom tipu zaslona. 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, Primjena napomene AN-005-Zaslon Modes, Hitachi). Polarizator je svjetlosni filter za svjetlosno elektromagnetsko polje. Kroz polarizator prolaze samo svjetlosne komponente u desnom smjeru elektromagnetskog polja, dok su ostale komponente blokirane.

Tekući kristal je organski materijal koji rotira elektromagnetsko polje svjetlosti za 90 stupnjeva 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 zaslona, moguće je kontrolirati kada svjetlo prolazi, a kada ne, s vanjskim izvorom električnog polja. Slika 1 (vidi napomenu o primjeni AN-001-Osnove LCD tehnologije, Hitachi) gore prikazuje 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, a 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 istosmjernim (DC) izvorom napona. 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 u primjeni izmjeničnog napona (AC) u elektrodama LCD -a.

U statičkim LCD -ima elektroda na stražnjoj ploči ugrađena je u jedno staklo, a pojedini segmenti ili pikseli LCD -a stavljeni su u drugo staklo. Ovo je jedna od najjednostavnijih vrsta LCD -a i ona s najboljim omjerom kontrasta. Međutim, ova vrsta prikaza obično zahtijeva previše pinova za kontrolu svakog pojedinog segmenta.

Općenito, upravljački upravljački program zajedno šalje signal sata kvadratnog vala za stražnju ploču i signal sata za segmente u prednjoj ravnini. Kad 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. Inače, ako je RMS napon veći od praga LCD ON -a, segment postaje taman. Oblici valova za stražnju ploču, segment za uključivanje i isključivanje prikazani su na slici 2. Kao što se može vidjeti na slici, segment UKLJUČENO je izvanfazan u odnosu na signal matične ploče. Off segment je u fazi u odnosu na signal na matičnoj ploči. 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 sustava. Sustav sastavljen od LCD -a i upravljačkih programa trošio bi malo struje, po redu mikroampera. To ih čini savršeno prikladnim za aplikacije izvora napajanja male snage i baterije.

U sljedećim odjeljcima detaljno je predstavljen dizajn statičkog upravljačkog programa LCD -a s GreenPAK uređajem koji može generirati signal sata sa stražnje ploče i pojedinačni segmentni signal sata 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 ilustrira GreenPAK dizajn prikazan je na slici 3. Osnovni blokovi dizajna su I²C sučelje, upravljački program izlaznog segmenta, unutarnji oscilator i birač izvora na stražnjoj ploči.

Blok sučelja I²C kontrolira svaki izlaz pojedinačnog segmenta i izvor takta LCD zaslona na matičnoj ploči. Blok sučelja I²C jedini je ulaz sustava za upravljanje segmentnim izlazom.

Kad je postavljena unutarnja kontrolna linija segmenta (visoka razina), odgovarajući LCD segment je tamno neproziran. Kada se resetira unutarnja kontrolna linija segmenta (niska razina), odgovarajući LCD segment je proziran.

Svaka unutarnja upravljačka linija segmenta 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 prozirne segmente. Za tamne segmente, ovaj signal je izvan faze u odnosu na sat na stražnjoj ploči.

Izvor sata na matičnoj ploči odabran je i s I²C sučeljem. Kad je odabran izvor unutarnjeg sata na stražnjoj ploči, unutarnji oscilator se uključuje. Unutarnji 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).

Kad je odabran vanjski izvor takta na stražnjoj ploči, unutarnji oscilator se isključuje. Referenca upravljačkog programa izlaznog segmenta je ulaz vanjskog sata na stražnjoj ploči (GreenPAK pin 2). U tom bi se slučaju izlazni pin sata na stražnjoj ploči mogao koristiti kao dodatna kontrolna linija segmenta, segment OUT15.

Na istoj liniji I²C moglo bi se koristiti više od jednog uređaja GreenPAK. Da biste to učinili, svaki uređaj mora biti programiran s drugom I²C adresom. Na ovaj način moguće je povećati broj upravljanih LCD segmenata. Jedan je uređaj konfiguriran za generiranje izvora takta na matičnoj ploči, upravljajući 14 segmenata, a drugi su konfigurirani za korištenje 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 spojiti 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 se ideja koristi za upravljanje 29 segmenata LCD -a s 2 GreenPAK uređaja. Funkcija 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 unutarnjeg 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 frekvenciji takta. Procijenjena maksimalna potrošnja struje za ovu izvedbu niža je od 15 µA kada je unutarnji oscilator uključen i 10 µA kada je unutarnji oscilator isključen. Mjerena 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 će shema biti opisana korištenjem osnovnih blok dijagrama kao referenca.

Korak 5: I²C sučelje

I²C sučelje
I²C sučelje
I²C sučelje
I²C sučelje

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

Ovaj blok je spojen na PIN 8 i PIN 9, odnosno I²C SCL i SDA pinove. 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 upravljačke linije. Ove upravljačke linije odgovaraju segmentnom izlazu 1 do segmentnom izlazu 7 i spojene su na upravljački program izlaznog segmenta. Virtualni ulaz OUT7 koristi se kao kontrola linije za odabir izvora sata na stražnjoj ploči, s neto nazivom BCKP_SOURCE. Ovu će mrežu koristiti drugi blokovi u dizajnu. Kontrolni kôd I²C konfiguriran je s različitom vrijednošću za svaki IC u projektu.

Na izlazu asinhronog stanja stroja (ASM) dostupno je još 8 unutarnjih upravljačkih linija za segment, kao što je prikazano na gornjoj slici 6. Izlazni redak 8 segmenta (SEG_OUT_8 u prozoru svojstava) preko izlaznog retka segmenta 15 (SEG_OUT_15) kontrolira izlaz 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 u biti je tablica za pretraživanje (LUT) konfigurirana kao XOR logički port. Za svaki izlazni segment, to mora biti XOR port spojen na upravljačku liniju segmenta i sat na stražnjoj ploči (BCKP_CLOCK). XOR port odgovoran je za generiranje faznog i izvanfaznog signala na izlaznom segmentu. Kad je segmentna kontrolna linija na visokoj razini, izlaz porta XOR će invertirati signal sata na matičnoj ploči i generirati signal izvan faze na segmentni pin. Razlika napona između stražnje ploče LCD -a i LCD segmenta u ovom će slučaju LCD segment postaviti kao tamni segment. Kad je segmentna kontrolna linija na niskoj razini, izlaz XOR porta slijedit će signal sata pozadinske ploče, a zatim 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: Upravljanje unutarnjim oscilatorom i pozadinskom pločom

Upravljanje unutarnjim oscilatorom i pozadinskom pločom
Upravljanje unutarnjim oscilatorom i pozadinskom pločom

Unutarnji oscilator koristi se kada je signal BCKP_CLOCK sa sučelja I²C postavljen na visoku razinu. Pogled izbliza na dijagram kontrole izvora sata 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 prikazana je u prozoru svojstava prikazanom na slici 7. Na taj će način unutarnji oscilator generirati frekvenciju takta od 48 Hz.

Oscilator je aktivan samo ako je signal BCKP_SOURCE na visokoj razini zajedno s signalom POR. Ova se kontrola vrši spajanjem ova dva signala na NAND priključak 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 s 3-L10 LUT-om. Kad je signal BCKP_SOURCE na niskoj razini, izvor takta matične ploče dolazi s PIN2. Kad je ovaj signal na visokoj razini, izvor takta matične ploče dolazi iz unutarnjeg oscilatora.

Korak 8: Izlaz sata na stražnjoj ploči ili segment 15 Kontrola izlaznog pina

Izlaz sata na stražnjoj ploči ili segment 15 Kontrola izlaznog pina
Izlaz sata na stražnjoj 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. S 4-bitnim LUT-om, moguće je povezati rad XOR porta s izlaznim MUX-om. Kad je signal BCKP_SOURCE na visokoj razini, izlaz LUT će slijediti unutarnji sat oscilatora. Zatim pin 20 djeluje kao izlaz sata na stražnjoj ploči. Kad je signal BCKP_SOURCE na niskoj razini, izlaz LUT bit će operacija XOR između SEG_OUT_15, iz izlaza ASM -a i signala sata na stražnjoj ploči. 4-bitna LUT konfiguracija za obavljanje ove operacije prikazana je na slici 8.

Korak 9: Prototip LCD sustava

Prototip LCD sustava
Prototip LCD sustava
Prototip LCD sustava
Prototip LCD sustava

Kako bi se pokazala uporaba dizajnerskog rješenja GreenPAK, prototip LCD sustava sastavljen je na ploči. Za prototip, sedmosegmentni, 4-znamenkasti statički LCD upravljaju dva GreenPAK uređaja na DIP ploči. Jedan uređaj (IC1) koristi unutarnji oscilator za pogon stražnje ploče LCD -a, a drugi uređaj (IC2) koristi ovaj signal kao referencu ulaza na matičnoj ploči. Oba IC -a kontroliraju se 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 zaslona i MCU ploče. Na shemi, GreenPAK uređaj s U1 (IC1) referentnom jedinicom pokreće LCD znamenku jedan i dva (LCD lijeva strana). Uređaj GreenPAK s referentnom U2 (IC2) pokreće LCD znamenke tri i četiri, plus segment COL (LCD desna strana). Napajanje za oba uređaja dolazi iz regulatora na razvojnoj ploči mikrokontrolera. Dva izmjenjiva kratkospojnika između napajanja i VDD pinova svakog GreenPAK uređaja dodana su za mjerenje struje s multimetrom.

Slika sastavljenog prototipa prikazana je na slici 10.

Korak 10: I²C naredbe za upravljanje LCD -om

I²C naredbe za upravljanje LCD -om
I²C naredbe za upravljanje LCD -om
I²C naredbe za upravljanje LCD -om
I²C naredbe za upravljanje LCD -om
I²C naredbe za upravljanje LCD -om
I²C naredbe za upravljanje LCD -om

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

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;

● Zaustavi.

Sve naredbe za upisivanje I²C izrađene su u Word Address 0xF4 (I²C Virtualni ulazi) i 0xD0 (ASM izlaz za stanje 0). Naredbe za upisivanje u IC1 i kontrolne LCD znamenke 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 upravljačkih segmenata LCD -a znamenke 1 i znamenke 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 tablice za pretraživanje trebaju se pomiješati operacijom bitova ILI, a zatim poslati u IC. Tablica 4 prikazuje vrijednosti Byte0 i Byte1 za svaku numeričku vrijednost koju treba upisati u svaku znamenku prikaza.

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

Naredba za upisivanje u IC2 i upravljanje znamenkama 3 i 4 opisane su u tablici 5.

Kontrolna logika znamenki 3 i 4 slična je kontroli znamenki 1 i 2. Tablica 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 bitova ILI između Byte1 i vrijednosti 0x40.

Korak 11: I²C naredbe za LCD test

I²C naredbe za LCD test
I²C naredbe 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 zaslonu sažete su u gornjoj tablici 7.

Korak 12: Rezultati ispitivanja

Rezultati ispitivanja
Rezultati ispitivanja
Rezultati ispitivanja
Rezultati ispitivanja

Test prototipa sastoji se od provjere prikazanih vrijednosti nakon naredbe MCU -a i mjerenja odvoda struje po svakom IC -u tijekom 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, tijekom pokretanja i normalnog rada, prikazane su u gornjoj tablici 9.

Zaključci i rezultati Rasprava

Predstavljen je dizajn statičkog LCD upravljačkog programa male snage s GreenPAK uređajem. Ovaj dizajn jasno pokazuje jednu od najvećih značajki GreenPAK uređaja: njihovu nisku struju mirovanja. Budući da su uređaji GreenPAK hardversko rješenje, 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 povremeno kratke vremenske periode, a zatim će trošiti više energije. Uspoređujući GreenPAK uređaj s 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 bi se ovaj dizajn mogao lako izmijeniti kako bi se bolje uklopio u zahtjeve određenog projekta. Dobar primjer je isticanje kontrola segmenata. Mogli bi se lako promijeniti kako bi se pojednostavila tiskana ploča i razvoj softvera u isto vrijeme. Ovo je zanimljiva značajka kada se uređaj uspoređuje s ASIC-om (Integrirani krug specifičan za aplikaciju). Obično su ASIC -ovi dizajnirani tako da odgovaraju širokom rasponu aplikacija, a početnu softversku rutinu treba napisati kako bi se IC ispravno konfigurirao prije operacije. Uređaj koji se može konfigurirati mogao bi 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čeni: