Mikro-ohjaimeen integroitu LCD-näytönohjain tarjoaa suoraviivaisen tavan ohjata nestekidepaneelia. Sisäinen biasointi, kontrastinsäätö ja tehonsäästöpiirit poistavat ulkoisten komponenttien tarpeen. Suunnittelijat voivat joustavasti hyödyntää näitä ominaisuuksia tinkimättä näytön laadusta.
Artikkelin kirjoittajista Mary Tamar Tan toimii sovellusinsinöörinä Microchip Technology -yhtiössä. Rodger Richey puolestaan johtaa Microchipin teknologioiden ja uusien tuotteiden kehitysosastoa. |
Viime vuosina nestekidenäytöt (LCD) ovat jatkuvasti kasvattaneet suosiotaan muihin näyttötekniikoihin nähden lukuisten etujensa ansiosta. Näyttöjen ohjaus on myös käynyt entistä helpommaksi, koska markkinoille on tuotu runsaasti 8-bittisiä mikro-ohjaimia, joissa näytönohjain on valmiiksi integroituna. Näiden LCD-ohjainten näkyvimpiä piirteitä ovat kontrastinsäätö sekä useat ohjausaaltomuodot, biasointimenetelmät ja tehonsyöttömuodot.
Nämä piirit voivat suoraan ohjata segmentoituja näyttöjä, jotka sisältävät kirjaimia, numeroita sekä erilaisia merkkejä ja kuvakkeita. Ne soveltuvat erityisesti kustannustehokkaaseen suunnitteluun. Hyvä esimerkki on Microchipin PIC-mikro-ohjainten perhe, johon kuuluu 28-, 40-, 64-, 80- ja 100-nastaisia piirejä, jotka poistavat useiden ulkoisten oheiskomponenttien tarpeen.
LCD-näytönohjain tuottaa ajoitusohjauksen staattiselle tai multipleksoidulle nestekidepaneelille, jossa voi olla enimmillään 64 segmenttiä neljässä tai kahdeksassa ryhmässä. Kuva 1 esittää tyypillisen LCD-ohjaimen lohkokaaviota.
Kuva 1: Tyypillisen LCD-ohjaimen lohkokaavio.
Näytönohjaukseen tarvittavien LCD-rekisterien määrä vaihtelee riippuen segmenttien ja segmenttiryhmien yhteisten liitäntänastojen (common) lukumäärästä, joita näyttöön liitettävä laite enintään kykenee ohjaamaan.
Ajoituksen ohjauslohko
Kuten kuvasta 1 nähdään, ajoituksen ohjauslohko käsittää LCD-ohjausrekisterin (LCDCON), LCD-vaiherekisterin (LCDPS) ja LCD-segmenttien enable- eli sallintarekisterit (LCDSEx). LCDCON-rekisteri ohjaa yleisesti moduulin toimintaa. Kun moduuli on konfiguroitu, LCDEn-bittiä käytetään sallimaan tai estämään LCD-moduulin toiminta. Se voidaan asettaa myös lepotilaan nollaamalla SLPEn-bitti. Bitit määrittelevät näytölle syötettävän kellosignaalin lähteen, ja valitun konfiguraation tulee noudattaa näyttölevyn ohjauskaaviota.
LCDPS-rekisteri määrittää näytölle syötettävän kellosignaalin esiskaalauksen sekä aaltomuodon. Esiskaalauksen valintabitit vaikuttavat suoraan näytön kuvataajuuteen, joten ne on asetettava juuri oikealla tavalla näytön haamukuvien tai välkkymisen välttämiseksi.
LCDSEx-sallintarekisterit määrittävät liitäntänastojen toiminnot. Asettamalla tietyn segmentin sallintabitti ykköseksi määrätään kyseinen nasta LCD-ohjausta varten. Vastaavasti nollaamalla kyseisen segmentin sallintabitti nasta määrätään toimimaan IO-liitäntänä.
Datalohko
Ajastusohjauslohkon lisäksi kaikissa PIC LCD -moduuleissa on myös kuvassa 1 näkyvä datalohko, joka koostuu LCDDATAx-rekistereistä. Kun moduuli on alustettu nestekidepaneelia varten, näiden rekisterien yksittäiset bitit nollataan tai asetetaan ykköseksi edustamaan kirkasta tai tummaa pikseliä vastaavasti.
Erityisiä rekisteriryhmiä käytetään erillisiä segmenttejä ja segmenttiryhmien yhteisiä common-signaaleja varten. Kukin bitti edustaa ainutlaatuista yhdistelmää, jossa tietty segmentti kytketään tietyn ryhmän yhteiseen common-liitäntään.
Biasointilohko
Esiasetusjännitteiden eli biasoinnin muodostamiseksi on käytettävissä lähinnä kaksi menetelmää, tikapuumainen vastusketju tai varauspumppu, jotka kumpikin voidaan toteuttaa joko sisäisesti tai ulkoisesti. LCDref-rekisteri määrittää, onko käytössä sisäinen vai ulkoinen biasointi. LCDIRE-bitin asettaminen mahdollistaa sisäisen biasoinnin käytön.
Kun sisäinen referenssijännite on käytössä, näytön kontrastia voidaan säätää ohjelmallisesti konfiguroimalla LCDCST-bittejä, jotka joissakin piireissä on sijoitettu erilliseen rekisteriin. Kontrastisäädön tehonsyöttö voidaan valita LCDDIRS-bittien avulla. LCDref-rekisteri määrittää myös, mitä biasointinastoja käytetään sisäisesti tai ulkoisesti eri biasointitasojen muodostamiseksi.
LCDRL-rekisteri tarjoaa mahdollisuuden biasoinnin tehonsyötön eri muotojen ja niiden vaatimien aikavälien ohjaamiseen.
Varauspumpun käyttöönotto vaatii vain LCDreg-rekisterin konfiguroinnin. Kun varauspumpun käyttö on sallittu, näytön kontrastia voidaan säätää bias-bittien avulla. Regulaattori tukee joko staattista tai 1/3-biasointia, joka valitaan nollaamalla tai asettamalla kyseinen bitti. Regulaattorille tulee myös syöttää oma kellosignaalinsa CLKSEL-bittien kautta.
Kuvataajuus
LCD-näytön kuvataajuus tarkoittaa nopeutta, jolla segmenttejä ja yhteisnastoja ohjaavat lähdöt vaihtavat tilaansa. Kellosignaalilähteen valinta riippuu siitä, millaista konfiguraatiota kellon valintabiteissä käytetään. PIC-mikro-ohjaimilla on yleensä kolme eri kellovaihtoehtoa nestekidenäyttöjä varten.
Kuvataajuus voi periaatteessa vaihdella välillä 25 – 250 Hz, mutta yleensä se valitaan väliltä 50 – 150 Hz. Suuri taajuus lisää laitteen tehonkulutusta ja haamukuvien riskiä. Alimmat taajuudet puolestaan voivat aiheuttaa näytön välkkymistä.
Kellosignaalit
Tyypillisesti kolme vaihtoehtoista kellosignaalin lähdettä moduuleille ovat nopea RC-tyyppinen sisäinen oskillaattori FRC, kakkososkillaattori SOSC ja sisäinen LPRC-oskillaattori. Joillekin piireille kellolähteinä ovat kuitenkin järjestelmäkello, ykkösajastinoskillaattori sekä sisäinen RC-oskillaattori. Kuvasta 2 nähdään, kuinka kellosignaalit tyypillisesti generoidaan LCD-oheislaitetta varten.
Kuva 2: Kellosignaalien generointi LCD-oheislaitteelle.
Kullekin kellolähteelle valittu jakosuhde tuottaa noin yhden kilohertsin lähtösignaalin. Esimerkiksi jos lähteenä on 8 megahertsin FRC-oskillaattori, sen taajuus pitää jakaa luvulla 8192, jotta lähtöön saadaan noin 1 kHz signaali. Tämä jakajapiiri ei kuitenkaan ole ohjelmoitava. Sen sijaan LCDPS-rekisterin esiskaalausbittien avulla kellotaajuus voidaan asettaa oikeaksi. Nämä bitit määrittelevät skaalauksen jakosuhteen ja lopullisen kellotaajuuden halutuksi.
Tyypillisesti kahta kolmesta kellolähteestä voidaan pitää taustalla edelleen käynnissä, kun prosessori on lepotilassa.
Aaltomuodot
Käytettävä LCD-näyttö voidaan karakterisoida MUX-suhteen ja biasoinnin perusteella, mutta lisäksi tarvitaan informaatio näytönohjaukseen käytettävistä aaltomuodoista. LCD-aaltomuodot generoidaan niin, että vaihtojännite tumman pikselin yli maksimoidaan ja kirkkaan pikselin yli minimoidaan. Tasajännitteen tulisi olla kaikkien pikselien yli nolla volttia. LCD-näyttöjä voidaan ohjata A- tai B-tyyppisellä aaltomuodolla.
A-tyypin aaltomuodossa vaihe muuttuu kussakin segmenttiryhmässä, kun taas B-tyyppisen aaltomuodon vaihe muuttuu kunkin kuvataajuusjakson rajalla. Näin ollen A-tyyppinen aaltomuoto säilyttää 0 V tasajännitteen yhden kuvajakson yli ja B-aaltomuoto vaatii kaksi kuvajaksoa. Kuva 3 esittää molemmat aaltomuodot biasoinnin ja MUX-suhteen arvolla 1/3.
Kuva 3: Näytönohjauksen A- ja B-tyyppiset aaltomuodot.
Tietyn pikselin yli vaikuttava jännite on suuruudeltaan COM-nastan ja SEG-nastan jännitteiden erotus. Jos tämä jännite on yhtä suuri tai suurempi kuin kynnysarvo Von, niin pikseli on näkyvä. Jos jännite on yhtä suuri tai pienempi kuin kynnysarvo Voff, niin pikseli on näkymätön.
Näytön kontrasti voidaan määrittää laskemalla erottelusuhde, joka on näkyvän pikselin tehollisarvoisen jännitteen (RMS) suhde näkymättömän pikselin tehollisarvoiseen jännitteeseen. Segmenttikartta tarjoaa yksinkertaisen ja järjestelmällisen tavan määrittää, mitkä pikselit ovat näkyviä ja mitkä näkymättömiä.
Biasointi ulkoisilla vastuksilla
Tikapuumainen vastusketju on yleisin tapa muodostaa suuremmat VDD-jännitteet ulkoista biasointia varten. Siinä käytetään hinnaltaan edullisia vastuksia, joiden muodostaman tikasketjun avulla voidaan tuottaa monitasoiset LCD-jännitteet. Näytettävien pikselien lukumäärästä riippumatta virrankulutus pysyy vakiona.
Vastusten resistanssiarvot määritetään näyttötyypin ja sen tehonkulutuksen mukaan. Näytön laatu riippuu näytönohjaimen aaltomuodosta. Koska nestekidepaneeli edustaa kapasitiivista kuormaa, aaltomuoto säröytyy varaus- ja purkausvirtojen vaikutuksesta. Säröytymistä voidaan vähentää pienentämällä vastusketjussa käytettävien vastusten resistanssiarvoa.
Tämä muutos kuitenkin lisää näytön tehonkulutusta, koska vastusten läpi kulkeva virta kasvaa. Jos LCD-paneelin kokoa kasvatetaan, resistanssiarvoa on vastaavasti pienennettävä, jos kuvanlaatu halutaan säilyttää samalla tasolla.
Joskus varaus- ja purkausvirtojen aiheuttamaa näytön vääristymää voidaan vähentää kytkemällä ylimääräiset kondensaattorit vastusten rinnalle. Tämä menettely toimii rajoitetusti vain tiettyyn pisteeseen asti, minkä jälkeen suuri resistanssi ja suuri kapasitanssi yhdessä alkavat muuttaa jännitetasoa, mikä heikentää näytön laatua. Ulkoinen kontrastinsäätö voidaan muodostaa lisäämällä kytkentään potentiometri.
Sisäiset biasointivastukset
Jotta vältyttäisiin ulkoisten komponenttien lisäämiseltä ja voitaisiin samalla säästää jopa kolme liitäntänastaa, PIC-ohjaimet tarjoavat sisäiset biasointivastukset ja sisäisen kontrastinsäädön. Tässä toimintamuodossa ei käytetä erillisiä vastuksia, vaan hyödynnetään piirin sisäistä vastustikapuu-ketjua, joka on mitoitettu tuottamaan biasointiin tarvittavat esijännitteet.
Sisäistä vastustikapuuta voidaan käyttää jakamaan näytön biasointijännite kahteen tai kolmeen tasaväliseen jännitteeseen, jotka syötetään LCD-segmenttien nastoihin. Tämän saavuttamiseksi referenssiketju koostuu kolmesta sovitetusta resistanssista.
Kun biasointimuoto 1/2 on käytössä, vastustikkaiden keskimmäinen vastus on oikosuljettu, jolloin synnytetään vain kaksi jännitettä. Tämä muoto vähentää ketjun kokonaisresistanssia, mutta toisaalta lisää virrankulutusta vastaavasti.