Apr 27, 2018 Legg igjen en beskjed

Et nytt design av LCD-stasjon Circuit IP Core

LCD har mange fordeler som lav arbeidsspenning, lavt strømforbruk, stor mengde skjerminformasjon, lang levetid, enkel integrering, enkel portabilitet og lav elektromagnetisk stråling forurensning. Det har dukket opp i displayteknologi og er mye brukt i mobiltelefoner, PDA-produkter og håndholdte instrumenter. Instrumenter og andre bærbare elektroniske produkter og enheter.


LCD-stasjonen kretsen er en viktig del av flytende krystall display system og er en grensesnitt krets mellom datamaskinen (eller MCU) og flytende krystall panel. Hovedfunksjonen er å modulere fase- og toppverdien til det potensielle signalet som sendes ut til elektrodene i flytende krystall-displayenheten. Frekvens og andre parametere for å etablere elektrisk stasjon. På grunn av den store forskjellen i LCD-spesifikasjoner, er den konvensjonelle metoden å utvikle en dedikert kjørekrets for hver type LCD. Et slikt design spilder tid og har dårlig gjenbruk. Av denne grunn er det nødvendig å designe en IP-kjerne som kan brukes til de fleste småskala LCD-stasjonskretser, og det er nødvendig å løse dette problemet ved å multiplexere IP-kjernen. Foreløpig har bare Yu-Jung Huang og andre fra I-Shou University designet IP-kjerner som kan kjøre LCD-skjermer i forskjellige størrelser for å oppnå denne funksjonen ved å integrere innebygde mikroprosessorer i systemet. Imidlertid gjør denne innebygde mikroprosessoren systemet mer komplekst og dyrere. IP-kjernen i stasjonskretsen som er designet for å kjøre LCD-skjermene i forskjellige størrelser, er implementert ved hjelp av FPGA, som effektivt kan overvinne ulempene ved kretssystemets kompleksitet og høye kostnader.


IP kjerne system struktur


Figur 1 IP-kjerne systemstruktur


IP kjerne kaskade arrangement diagram


Figur 2 IP-kjerne-kaskadearrangement


Linjestyringsfunksjon simuleringsresultater


Figur 3 Row Control Funksjon Simuleringsresultater


Kolonnekontrollfunksjon simuleringsresultater


Figur 4 kolonnekontrollfunksjons simuleringsresultater


Design spesifikasjon


For å møte de faktiske behovene til de fleste av dagens mindre LCD-skjermprogrammer, har LCD-driverkretsens IP-kjernebrikke designet i dette papiret 64 COM (rad) og 64 SEG (kolonne) utganger, og har en høyhastighets 8-bits parallelt MCU-grensesnitt. Og det serielle grensesnittet, brikken inneholder RAM som lagrer skjermdataene, og har spesialdesignet 10 kontrollender, kan styre enkelt og fleksibelt. Den har hovedsakelig følgende hovedfunksjoner:


1. Gi skanningstidssignal og visningsdata for flytende krystallskjerm;


2, støtte direkte forbindelse med MCU i form av buss;


3, kan kjøre forskjellige skalaer av LCD (n & TImes; m), n kan være en kontinuerlig verdi (n = 0 ~ 63), m kan bare ta et flertall på 8 (m = 8k, k ta et naturlig tall);


4. Støtter kaskade mellom IP-kjerner for å kjøre større LCD-skjermer, som støtter opptil 4 IP-kjerne-inter-bank cascading og inter-column cascading;


5, kan gi et bredere spekter av drivutgangsspenning for å tilpasse seg forskjellige LCD-enheter;


6, for å gi bilde-i-bilde, skjermdisplay og andre funksjoner.


IP kjerne design


I dette papiret, i henhold til "topp-ned" designmetoden, deles du først inn i hierarkiske funksjoner, mens du refererer til eksisterende LCD-driverchipsdesignerfaring, og kombinerer "bottom-up" designmetoden for å designe noen moduler. Til slutt, i henhold til systemdesignrammen, er hver modul koordinert og den overordnede funksjonelle verifikasjonen av brikken utføres for å oppfylle kravene til designspesifikasjonen.


systemstruktur


Strukturen til IP-kjerneanlegget som er utformet i dette papiret, er vist i figur 1. IP-kjerne består hovedsakelig av følgende moduler: linjeskanning og kolonne signaldrivermodul, nivåforskyver, forhåndsinnstillbar nummerringsteller, datalåsmodul, kontrolllogikk modul, display data RAM og adresse dekoder modul, MCU Interface modul. Noen av disse store modulene kan også deles inn i flere delmoduler.


Hver modul design


MCU-grensesnittmodul


MCU-grensesnittmodulen er et grensesnitt for kommunikasjon mellom en IP-kjerne og en ekstern kontroller (MCU) og er en kanal for dataoverføring. MCU skriver kommandoer, leser status, eller viser data på LCD-driverbrikken gjennom dette grensesnittet. Samtidig aksepterer grensesnittet også kommandokodekontrollen, slik at lese og skrive og interne operasjoner kombineres. Brikken er implementert av mer komplekse interne kombinasjonslogikk og sekventielle logikk kretser, som kan være kompatible med de to mainstream MCU kontrollsignalene og støtte serielle / parallelle to dataoperasjonsmoduser.


Modulen inneholder flere delmoduler som ofte brukes i MCU-grensesnittmodulen til den eksisterende felles LCD-kjørekretsen, for eksempel en databuss (8-biters) delmodul, en opptatt tilstandsdeteksjonsundermodul, en lese / skrive-kontrolldel -modul, og en MCU-utgivelsesundermodul. En ny radkaskade og kolonnekaskadekontroll submodule er lagt til. Databussen brukes hovedsakelig til interne og eksterne datautvekslinger; Den opptatte status deteksjons submodule brukes til å bestemme statusen til MCU, genererer et system opptatt signal for å koordinere signalleste og skrive operasjoner og motta interne / eksterne tilbakestillingssignaler; lese- og skrivekontroll submodulen brukes til å generere korrekt lese- og skrivekontrollsekvensen; MCU-utgivelsesmodulfunksjonen er gjennom logisk kombinasjon, i brikken for å utføre "read-modify-write" -prosessen, slipp MCUen slik at MCU kan utføre andre operasjoner samtidig; og den nye kaskadekontrolleren Hovedfunksjonen til modulen er å oppnå radkonsatasjon og kolonnekontekst mellom IP-kjerner. Opptil 16 IP-sammenkoblinger (4 rader og 4 rangeringer hver) kan støttes. CS0 ~ CS1 er kaskadekontrollporter, og CS2 ~ CS3 er kolonne nivåer. Felles kontroll. For eksempel, anta at det er en LCD (128 & TIMES; 256), som kan drives av 8 IP-kjerner. Når innstillingene er laget, er CS 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, som kan utgjøre 2 og TImes; Kjør IP-kjernefeltet. Det skjematiske diagrammet av arrangementet er vist i figur 2.


Vis data RAM og adresse dekodingsmodul


Denne modulen brukes hovedsakelig til å lagre dataene som skal vises, og fungerer som en buffer mellom MCU-grensesnittet og signaldriverkretsen for å sikre stabil utgang av skjermdataene.


Modulen inneholder to delmoduler: en RAM-array og en adressekoder for lagring av skjermdata. Først er kolonneadressen tilveiebrakt av kolonneadressekretsen, en kolonne med 8-biters RAM-minneceller velges av kolonneadressedekoder, og MCU leser / skriver gjennom grensesnittet; da skanner radadresseavkoderen RAM-en i enheter av rader. I kombinasjon med skjermlåsekretsen kan hele raden av data utgis og sendes ut til flytskjermdisplayet for visning av elektrodkjøringskretsen.


Datalåsmodul


Modulen inneholder to undermoduler: Søylemodulens kontrolllås-undermodul og underdelmodulen for drivlås. Kolonne nummer kontroll låse submodule er sammensatt av k parallelle 8-bit datalåser. Hovedfunksjonen er å låse dataene på databussen og sende den fra RAM til RAM under styresignalet og klokkesignalet til kontrolllogikkmodulen. Skjermdatasignalene på bitdatabussen er hver for seg låst i de tilsvarende 8-bits datalåser. 64-bits data krever 8 ganger og 8 biter hver gang. Driverens låsemodul er en 64-biters drivlås dannet av 64 1-bits låsekoblinger koblet parallelt. Dens rolle er å sette de øvre 8 8-bits dataene under styresignalet og klokke signalet til kontrolllogikkmodulen. M-bitsdataene som sendes i låsen, låses alle samtidig, og deretter legges inn i kolonnens signalelektroddrivermodul.


Kontrolllogikkmodul


Hovedrollen i denne modulen er å kontrollere signaldataoverføring og velge antall kolonnesignallinjer. Kolonne nummer kontroll latch sub-modul, sub-modul for drivlås og klokke generator kan styres av kolonne nummer kontroll inngang M for å oppnå funksjonene som gjelder for forskjellige størrelser på LCD-skjermer. I henhold til behov, ved å legge inn forskjellige verdier til kolonne nummerkontrollinngang M, styrer det hvor mange bitnummerkontrollsperre som er i arbeidstilstand, og de andre sperreenhetene er satt til tomgangstilstanden. Dataene i skjermdatalammen låses inn i den korresponderende kolonnekontrolllåsen gjennom 8-bits databussen under driftssyklusen og låses deretter inn i drivlåseren for elektrodestasjonen om gangen under styring av et klokkesignal. Modulinngangssignal. På denne måten kan IP-kjernen implementere funksjonen til å kontrollere antallet utvalgte kolonner. Når M er "000", opererer de nedre 8 bitene (første sperren) til kolonnekontrolllåsen, og den andre er tomgang, og de tilsvarende kolonneelektroder er SEG0 ~ SEG7; når M er "001" De nedre 16 bitene (første og andre låsene) til kolonnekontrolllåsen virker. Alle andre kolonner er gratis. Tilsvarende kolonneelektroder er SEG0 ~ SEG15; og så videre, til kolonnekontrollen låses 64. Bit registrerer alt arbeid, den tilsvarende kolonneelektroden er SEG0 ~ SEG63.


Elektrodemodul


Modulen består hovedsakelig av fire delmoduler: En rad-skanneelektroddrift-undermodul, en kolonne-signalelektroddrift-undermodul, en nivåveksler og en forhåndsinnstilt nummerringsteller.


Funksjonen til nivåveksleren er å konvertere spenningen til det logiske signalet til en faktisk LCD-kjørespenning med et påført styresignal og utgang til drivmodulen i henhold til de aktuelle applikasjonsbehovene. rollen for rad-skanneelektroddriver-submodulen er å tilveiebringe radelektroder med en viss periode av skanne-signalpulsen; Funksjonen til kolonne-signalelektroddrivende undermodulen er å påføre dataene fra sperren til den tilhørende kolonneelektroden og skanningssignalet for radelektroden for å etablere det elektriske elektrisk drivfelt, og derved dirigere displayet på LCD-enheten. Antall ringteller som kan forhåndsinnstilles, kan styre antall radskanneelektroder gjennom radnummerkontrolterminalen N (S0 ~ S5) for å tilpasse seg LCD-skjermer av forskjellige størrelser, og angi forskjellige verdier til radnummerkontrollterminalen N i henhold til til faktiske behov. Kontroller antall rader for en bestemt jobb og alle andre elektroder er inaktive. Under kontrollen av linjedrevets klokkesignal utføres skanning linje for linje, og syklusen gjentas inntil en ny verdi legges inn til linjenummerkontrollterminalen N og et nytt linjenummer av linjelektroder skannes i en linje- by-line måte. For eksempel, når det påførte signal N er "011011", er antall skanneelektroder 27. Rannsøkingsdriver-submodulen genererer et progressivt skannesignal på radelektroder COM0 COMCOM26, og de andre radelektroder COM27 COMCOM63 er alle satt til et lavt nivå. Hvis det nye påførte signalet N er "100011", genererer skanneelektroddriver-undermodulen et sirkulerende progressivt skannesignal på radelektroder COM0 COMCOM34.


IP kjernesystem implementering


For det første, i henhold til den ovennevnte definisjonen og delingen av hele systemfunksjonen og utformingen av hver modul, blir hver funksjonsmodul separat modellert av VHDL-språk; For det andre, på Xilinx-selskapets FPGA-enhet, er EDA-verktøyet ISE brukt til simulering og syntese. Feilsøk og optimaliser design; Bruk deretter VHDL til å definere toppmodulen for å koble til hver modul og utføre tilsvarende systemfeil og verifisering; Til slutt får du en LCD-driverkrets med 64 COM (rader) og 64 SEG (kolonner) Utgang, 8-bits parallelt MCU-grensesnitt og serielt grensesnitt, høyhastighets 8-bits grensesnitt, RAM for skjermdata, og kan bli kaskad for å styre CS for å utvide kaskaden for å møte den større LCD-skjermen, gjennom kolonnekontrollen M og antall radkontroller N for å tilpasse seg forskjellige LCD-størrelser.


Simulering og verifisering


Denne artikkelen bruker Xilinx-simuleringsprogramvare ISE som et simuleringsverktøy for å verifisere den utformede IP-kjerne i to trinn.


Først utfører dette papiret først en foreløpig funksjonell verifisering av hver modul i IP-kjerne (inkludert interne delmoduler). Deretter, under henvisning til arbeidsprosessen til brikken, blir hele brikken simulert som en helhet. Figur 3 og 4 viser simuleringsresultater ved hjelp av ISE for å simulere rad- og kolonnekontrollfunksjonene i hele IP-kjerne. I figuren er CLK og CLK1 dataoverføringskontrollklokker og radelektrodeskanningspulser av henholdsvis MCU-grensesnittmodulen; M og N er utvalgskontrollterminaler for henholdsvis kolonne- og radelektroder; De lave to og høye to bitene av CS er cascaded henholdsvis. Kaskadekontroll slutter med kolonner.


Simuleringen resulterer i Figur 3 og Figur 4 illustrerer:


1. Når RESET er høy, er IP-kjerne i opprinnelig tilstand eller klar tilstand; når WRITE er høy, er IP-kjerne i arbeidstilstand og kan motta skjermdata.


2. På den økende kanten av klokken CLK skriver MCU 8-bits skjermdata til IP-kjerneens RAM parallelt gjennom grensesnittet; På den stigende kanten av klokken CLK1 utfører de horisontale skanningsdriftselektroder sekvensielt skanneimpulser, og kolonnesignalelektroder vil sette dataene i RAM. Utgang fra SEG.


3. Antall rader med kontrollterminaler kan endre antall rader av elektroder som er skannet. Når radnummervalgskontrollterminalen N er "3E", sendes et skannesignal på COM0 ~ COM61. Som vist i fig. 3, i det første rad klokke signal, sendes skanningssignalet på elektroden COM61, og radelektroden blir skannet rad etter rad under kontrollen av radkjøringen; Når det syvende radklokkesignalet er skrevet inn, blir N "22", blir skanningssignalet utført på radelektroden COM33, og gradvis redusert. Den progressive skanning av COM0 ~ COM33 utføres.


4. Kolonnekontrollterminalen kan endre antall elektroder av kolonnesignalet. Når kontrollterminal M er "110", er SEG-elektroden en 48-bits utgang; når M er "010", blir utgangen av SEG 16 bits; når M er "101", blir utgangen av SEG 40 bits. ; Når M er "100", blir utgangen av SEG 32 bits.


I dette papiret har funksjonene til kolonnekontroll, radnummerkontroll og inter-core-kaskading av IP-kjerne blitt funksjonelt verifisert og verifisert. Det begrensede rommet her beskriver bare kolonne- og radnummerkontrollfunksjonene.


Konklusjon


Dette papiret omhandler utformingen av en LCD-skjerm driverchip IP-kjerne. I henhold til topp-down design ideen, er brikken delt inn i lag og den generelle funksjonen av brikken er verifisert. I den funksjonelle verifikasjonen av brikken vedtar dette papiret VHDL-maskinvarebeskrivelsesspråk for å verifisere logikkfunksjonen og tidsforholdet til kretsen. LCD-skjermdriveren vedtar en parametrisk design og har god portabilitet, og kan enkelt brukes til forskjellige flatskjerm-systemprogrammer av bærbare instrumenter og PDAer og andre relaterte produkter.


Sende bookingforespørsel

whatsapp

teams

E-post

Forespørsel