一種新型的LCD驅(qū)動(dòng)電路IP核的總體設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
LCD因具有工作電壓低、功耗小、顯示信息量大、壽命長、易集成、方便攜帶和電磁輻射污染小等優(yōu)點(diǎn),在顯示技術(shù)中異軍突起,被廣泛應(yīng)用于手機(jī)、PDA產(chǎn)品、手持式儀器儀表等便攜式電子產(chǎn)品與設(shè)備中。
LCD驅(qū)動(dòng)電路是液晶顯示系統(tǒng)的重要組成部分,是一種計(jì)算機(jī)(或MCU)和液晶屏之間的接口電路,其主要功能是通過調(diào)制輸出到液晶顯示器件電極上的電位信號的相位、峰值、頻率等參數(shù)來建立交流驅(qū)動(dòng)電場。由于LCD的規(guī)格相差較大,常規(guī)的方法是針對每一種LCD開發(fā)專門的驅(qū)動(dòng)電路,這樣的設(shè)計(jì)浪費(fèi)時(shí)間,而且復(fù)用性較差。為此,設(shè)計(jì)一種可用于多數(shù)小規(guī)模LCD驅(qū)動(dòng)電路的IP核,通過復(fù)用該IP核來解決這個(gè)問題是非常必要的。目前,國際上只有I-Shou大學(xué)的Yu-Jung Huang等人設(shè)計(jì)了可驅(qū)動(dòng)不同規(guī)模LCD的驅(qū)動(dòng)電路IP核,通過在系統(tǒng)中植入嵌入式微處理器來實(shí)現(xiàn)這一功能。但是,這種嵌入式微處理器使系統(tǒng)更復(fù)雜,而且成本更高。本文設(shè)計(jì)的可驅(qū)動(dòng)不同規(guī)模LCD的驅(qū)動(dòng)電路IP核是采用FPGA來實(shí)現(xiàn)的,能有效克服電路系統(tǒng)復(fù)雜和高成本這兩個(gè)缺點(diǎn)。
圖1 IP核系統(tǒng)結(jié)構(gòu)
圖2 IP核級聯(lián)排列圖(24)
圖3 行控制功能仿真結(jié)果
圖4 列控制功能仿真結(jié)果
設(shè)計(jì)規(guī)范
為了滿足當(dāng)今大多數(shù)較小規(guī)模的LCD顯示應(yīng)用的實(shí)際需要,本文所設(shè)計(jì)的LCD驅(qū)動(dòng)電路IP核芯片具有64個(gè)COM(行)和64個(gè)SEG(列)輸出,有高速的8位并行MCU接口及串行接口,芯片內(nèi)含有存儲(chǔ)顯示數(shù)據(jù)的RAM,并專門設(shè)計(jì)了10個(gè)控制端,可以方便靈活地進(jìn)行控制。它主要有以下幾個(gè)主要功能:
1、為液晶顯示屏提供掃描時(shí)序信號和顯示信號數(shù)據(jù);
2、支持以總線形式直接與MCU相連;
3、可驅(qū)動(dòng)不同規(guī)模的LCD(n×m),n可以連續(xù)取值(n=0~63),m只可取8的倍數(shù)(m=8k,k取自然數(shù));
4、支持IP核之間的級聯(lián)以驅(qū)動(dòng)較大規(guī)模的LCD,最大分別支持4個(gè)IP核行間級聯(lián)和列間級聯(lián);
5、可以提供較寬的驅(qū)動(dòng)輸出電壓范圍以適應(yīng)不同的LCD器件;
6、提供畫中畫、分屏顯示等功能。
IP核的設(shè)計(jì)
本文按照“自頂向下”的設(shè)計(jì)方法,首先對芯片進(jìn)行層次化功能劃分,同時(shí)參照已有的LCD驅(qū)動(dòng)芯片的設(shè)計(jì)經(jīng)驗(yàn), 并結(jié)合“自底向上”的設(shè)計(jì)方法對部分模塊進(jìn)行設(shè)計(jì), 最后根據(jù)系統(tǒng)設(shè)計(jì)框架對各模塊進(jìn)行協(xié)調(diào), 并進(jìn)行芯片的整體功能驗(yàn)證, 從而達(dá)到了設(shè)計(jì)規(guī)范的要求。
系統(tǒng)結(jié)構(gòu)
本文設(shè)計(jì)的IP核系統(tǒng)結(jié)構(gòu)如圖1所示。該IP核主要由下列幾個(gè)模塊組成:行掃描和列信號驅(qū)動(dòng)模塊、電平轉(zhuǎn)換器、可預(yù)置數(shù)環(huán)形計(jì)數(shù)器、數(shù)據(jù)鎖存模塊、控制邏輯模塊、顯示數(shù)據(jù)RAM與地址譯碼模塊、MCU接口模塊。其中有的大模塊還可細(xì)分為若干子模塊。
各模塊設(shè)計(jì)
MCU接口模塊
MCU接口模塊是IP核與外部控制器(MCU)通信的接口,是數(shù)據(jù)傳輸?shù)耐ǖ?。MCU通過該接口對LCD驅(qū)動(dòng)芯片寫入命令、讀出狀態(tài)或顯示數(shù)據(jù)。同時(shí)該接口也接受命令譯碼器的控制,從而使讀寫與內(nèi)部操作相結(jié)合。該芯片由較為復(fù)雜的內(nèi)部組合邏輯和時(shí)序邏輯電路實(shí)現(xiàn),可以兼容目前兩種主流的MCU控制信號,支持串/并行兩種數(shù)據(jù)操作方式。
該模塊內(nèi)部除了包含現(xiàn)有常用LCD驅(qū)動(dòng)電路的MCU接口模塊中常用的幾個(gè)子模塊,如數(shù)據(jù)總線(8位)子模塊、忙狀態(tài)檢測子模塊、讀寫控制子模塊、MCU釋放子模塊外,新加入了一個(gè)行級聯(lián)和列級聯(lián)控制子模塊。數(shù)據(jù)總線主要用于內(nèi)外部數(shù)據(jù)交換;忙狀態(tài)檢測子模塊用于判斷MCU狀態(tài),產(chǎn)生系統(tǒng)忙標(biāo)志信號來協(xié)調(diào)信號的讀寫操作和接收內(nèi)/外部復(fù)位信號;讀寫控制子模塊用于產(chǎn)生正確的讀寫控制時(shí)序;MCU釋放子模塊的功能則為通過邏輯組合,在芯片執(zhí)行“讀-修改-寫”過程時(shí),釋放MCU,以便MCU可以同時(shí)執(zhí)行其它操作;而新加入的級聯(lián)控制子模塊的主要功能是實(shí)現(xiàn)IP核之間的行級聯(lián)和列級聯(lián),最多可支持16個(gè)IP級聯(lián)(行列各4級),CS0~CS1是行級聯(lián)控制端,CS2~CS3是列級聯(lián)控制端。舉例說明,假設(shè)有一種LCD(128×256),可用8個(gè)IP核來驅(qū)動(dòng),設(shè)置時(shí)分別令CS為0000、0001、0010、0011、0100、0101、0110、0111,就可以構(gòu)成2×4的驅(qū)動(dòng)IP核陣列,其排列示意圖如圖2所示。[!--empirenews.page--]
顯示數(shù)據(jù)RAM與地址譯碼模塊
該模塊主要用于存放將要顯示的數(shù)據(jù),在MCU接口和信號驅(qū)動(dòng)電路之間起緩沖器的作用,以保證顯示數(shù)據(jù)的穩(wěn)定輸出。
該模塊包括存儲(chǔ)顯示數(shù)據(jù)的RAM陣列和地址譯碼器兩個(gè)子模塊。首先,由列地址電路提供列地址,通過列地址譯碼器選中一列8位的RAM存儲(chǔ)單元,MCU通過接口對其進(jìn)行讀/寫;然后,由行地址譯碼器對RAM以行為單位進(jìn)行掃描,結(jié)合顯示數(shù)據(jù)鎖存電路可以實(shí)現(xiàn)整行數(shù)據(jù)的輸出,通過電極驅(qū)動(dòng)電路輸出到液晶顯示器以供顯示。
數(shù)據(jù)鎖存模塊
該模塊包含兩個(gè)子模塊:列數(shù)控制鎖存子模塊和驅(qū)動(dòng)鎖存子模塊。列數(shù)控制鎖存子模塊由k個(gè)并聯(lián)的8位數(shù)據(jù)鎖存器構(gòu)成,主要作用是鎖存數(shù)據(jù)總線上的數(shù)據(jù),在控制邏輯模塊的控制信號和時(shí)鐘信號作用下把從RAM上輸出到8位數(shù)據(jù)總線上的顯示數(shù)據(jù)信號分別鎖存在相應(yīng)的8位數(shù)據(jù)鎖存器中,64位數(shù)據(jù)需要8次,每次8位輸入。驅(qū)動(dòng)鎖存器子模塊是一個(gè)由64個(gè)1位鎖存器并聯(lián)而成的64位驅(qū)動(dòng)鎖存器,它的作用是在控制邏輯模塊的控制信號和時(shí)鐘信號作用下把上面8個(gè)8位數(shù)據(jù)鎖存器里傳輸來的m位數(shù)據(jù)一次全部鎖存起來,然后輸入到后面的列信號電極驅(qū)動(dòng)模塊。
控制邏輯模塊
該模塊的主要作用是控制信號數(shù)據(jù)傳輸和選擇列信號線的數(shù)目??梢酝ㄟ^列數(shù)控制輸入端M來控制列數(shù)控制鎖存器子模塊、驅(qū)動(dòng)鎖存器子模塊和時(shí)鐘發(fā)生器來實(shí)現(xiàn)適用于不同規(guī)模LCD的功能。根據(jù)需要,通過向列數(shù)控制輸入端M輸入不同的數(shù)值,來控制有多少位列數(shù)控制鎖存器處于工作狀態(tài),其他的鎖存器單元?jiǎng)t置為空閑態(tài)。在工作周期內(nèi)把顯示數(shù)據(jù)RAM中的數(shù)據(jù)通過8位數(shù)據(jù)總線鎖存到對應(yīng)的列數(shù)控制鎖存器中,然后在一個(gè)時(shí)鐘信號控制下一次鎖存到驅(qū)動(dòng)鎖存器中,以作為電極驅(qū)動(dòng)模塊的輸入信號。這樣,IP核可以實(shí)現(xiàn)控制選擇驅(qū)動(dòng)列數(shù)的功能。當(dāng)M為“000”時(shí),列數(shù)控制鎖存器的低8位(第一個(gè)鎖存器)工作,其它的全置閑,對應(yīng)的列電極是SEG0~SEG7;當(dāng)M為“001”時(shí),列數(shù)控制鎖存器的低16位(第一和第二個(gè)鎖存器)工作,其它的全置閑,對應(yīng)的列電極是SEG0~SEG15;依次類推,直到列數(shù)控制鎖存器64位寄存器全部工作,對應(yīng)的列電極是SEG0~SEG63.
電極驅(qū)動(dòng)模塊
該模塊主要含有四個(gè)子模塊:行掃描電極驅(qū)動(dòng)子模塊、列信號電極驅(qū)動(dòng)子模塊、電平轉(zhuǎn)換器和可預(yù)置數(shù)環(huán)形計(jì)數(shù)器。
電平轉(zhuǎn)換器的作用是根據(jù)實(shí)際應(yīng)用的需要,通過外加的控制信號將邏輯信號的電壓轉(zhuǎn)換為實(shí)際的LCD驅(qū)動(dòng)電壓,并輸出到驅(qū)動(dòng)模塊;行掃描電極驅(qū)動(dòng)子模塊的作用是給行電極提供一定周期的掃描信號脈沖;列信號電極驅(qū)動(dòng)子模塊的作用是把來自鎖存器的數(shù)據(jù)施加到相應(yīng)的列電極,與行電極的掃描信號來建立交流驅(qū)動(dòng)電場,從而驅(qū)動(dòng)LCD器件的顯示??深A(yù)置數(shù)環(huán)形計(jì)數(shù)器可以通過行數(shù)控制端N(S0~S5)來控制行掃描電極數(shù),以適應(yīng)不同規(guī)模的LCD屏,根據(jù)實(shí)際的需要通過向行數(shù)控制端N輸入不同的數(shù)值,來控制具體工作的行數(shù),其它的電極全部置閑。在行驅(qū)動(dòng)時(shí)鐘信號控制下,逐行掃描,循環(huán)往復(fù),直到行數(shù)控制端N輸入新的數(shù)值,再在新數(shù)目的行電極進(jìn)行循環(huán)逐行掃描。例如,當(dāng)外加信號N為“011011”時(shí),掃描電極的數(shù)目為27,行掃描驅(qū)動(dòng)子模塊在行電極COM0~COM26上產(chǎn)生逐行掃描信號,其它行電極COM27~COM63全部都置為低電平,循環(huán)往復(fù),若施加了新的外加信號N為“100011”,掃描電極驅(qū)動(dòng)子模塊就在行電極COM0~COM34上產(chǎn)生循環(huán)的逐行掃描信號。
IP核系統(tǒng)實(shí)現(xiàn)
首先,根據(jù)上面對整個(gè)系統(tǒng)功能定義和劃分及對各個(gè)模塊的設(shè)計(jì),對各功能模塊分別用VHDL語言進(jìn)行建模;其次,在Xilinx公司的FPGA器件上,用其EDA工具ISE進(jìn)行仿真和綜合調(diào)試,并優(yōu)化設(shè)計(jì);然后,用VHDL定義頂層模塊將各模塊連接起來,并進(jìn)行相應(yīng)的系統(tǒng)調(diào)試和驗(yàn)證;最后,得到一個(gè)LCD的驅(qū)動(dòng)電路,具有64個(gè)COM(行)和64個(gè)SEG(列) 輸出,有高速的8位并行MCU接口及串行接口,芯片內(nèi)含有存儲(chǔ)顯示數(shù)據(jù)的RAM,并且可以通過級聯(lián)控制端CS來進(jìn)行級聯(lián)擴(kuò)展以滿足較大的LCD,通過列數(shù)控制端M和行數(shù)控制端N來適應(yīng)不同規(guī)模的LCD.
仿真和驗(yàn)證
本文利用Xilinx公司的仿真軟件ISE作為仿真工具,分兩步對所設(shè)計(jì)的IP核進(jìn)行了驗(yàn)證。
首先,本文先對IP核的各個(gè)模塊(包括內(nèi)部的子模塊)進(jìn)行了初步的功能驗(yàn)證。然后,參照芯片的工作過程,對整個(gè)芯片進(jìn)行了整體仿真。圖3和圖4是利用ISE對整個(gè)IP核的行和列控制功能進(jìn)行仿真而得到的仿真結(jié)果。圖中CLK和CLK1分別是MCU接口模塊的數(shù)據(jù)傳輸控制時(shí)鐘和行電極掃描脈沖;M和N分別為列電極與行電極數(shù)目選擇控制端; CS的低兩位和高兩位分別為行級聯(lián)與列級聯(lián)控制端。
圖3和圖4的仿真結(jié)果說明:
1. 當(dāng)RESET為高電平時(shí),IP核處于初態(tài)或清零態(tài);當(dāng)WRITE為高電平時(shí),IP核處于工作態(tài),可以接收顯示數(shù)據(jù)。
2. 在時(shí)鐘CLK的上升沿,MCU通過接口向IP核的RAM并行寫入8位顯示數(shù)據(jù);在時(shí)鐘CLK1的上升沿,行掃描驅(qū)動(dòng)電極依次輸出掃描脈沖,列信號電極會(huì)把RAM里的數(shù)據(jù)從SEG上輸出。
3. 行數(shù)控制端可以改變行掃描的電極數(shù)目。當(dāng)行數(shù)選擇控制端N為“3E”時(shí),在COM0~COM61輸出掃描信號。如圖3所示,在第1個(gè)行時(shí)鐘信號時(shí),電極COM61上輸出掃描信號,在行驅(qū)動(dòng)時(shí)鐘控制下,逐行遞減對行電極進(jìn)行掃描;第7個(gè)行時(shí)鐘信號時(shí),N變?yōu)?ldquo;22”,掃描信號變成在行電極COM33上輸出,逐行遞減對COM0~COM33進(jìn)行逐行掃描。
4. 列數(shù)控制端可以改變列信號的電極數(shù)目。當(dāng)列數(shù)選擇控制端M為“110”時(shí),SEG電極為48位輸出;當(dāng)M為“010”時(shí),SEG的輸出變?yōu)?6位;當(dāng)M為“101”,SEG的輸出變?yōu)?0位;當(dāng)M為“100”,SEG的輸出變?yōu)?2位。
本文對該IP核的列數(shù)控制、行數(shù)控制、核間級聯(lián)等功能分別進(jìn)行了功能驗(yàn)證,并都通過了驗(yàn)證。此處限于篇幅只介紹了列數(shù)與行數(shù)控制功能。
結(jié)語
本文討論了一種LCD顯示驅(qū)動(dòng)芯片IP核的設(shè)計(jì),根據(jù)自頂向下的設(shè)計(jì)思想,將芯片進(jìn)行了層次化功能劃分,并對芯片的整體功能進(jìn)行了驗(yàn)證。在芯片的功能驗(yàn)證中,本文采用了VHDL硬件描述語言對電路的邏輯功能和時(shí)序關(guān)系進(jìn)行了仿真驗(yàn)證。該LCD顯示驅(qū)動(dòng)器由于采用了參數(shù)化設(shè)計(jì),具有很好的移植性,可方便地應(yīng)用于便攜式儀器及PDA等有關(guān)產(chǎn)品的各種不同規(guī)模的平板顯示系統(tǒng)應(yīng)用中。