基于FPGA的圖形點(diǎn)陣液晶顯示模塊的應(yīng)用設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:提出了一種基于FPGA和T6963C模塊來(lái)控制液晶顯示的實(shí)現(xiàn)方法。介紹了液晶顯示控制器T6963C的性能特點(diǎn),給出了FPGA與液晶顯示屏WG240128B的硬件接口電路、軟件設(shè)計(jì)流程和液晶顯示程序。
關(guān)鍵詞:FPGA;圖形液晶顯示;T6963C;LCM
O 引言
由于液晶顯示具有可編程驅(qū)動(dòng)、接口控制方便、體積小、功耗低、具有良好的可視化人機(jī)界面等優(yōu)點(diǎn)。因而在移動(dòng)通信終端、便攜計(jì)算機(jī)、GPS衛(wèi)星定位系統(tǒng)等領(lǐng)域,尤其是便攜式儀器儀表中得到了廣泛應(yīng)用。FPGA的超大規(guī)模集成優(yōu)勢(shì)和內(nèi)部邏輯單元的可重復(fù)配置特點(diǎn)。使得其在芯片控制和接口設(shè)計(jì)中成為一種頗具吸引力的高性?xún)r(jià)比控制器件。本文給出了一種基于FPGA控制WG240128B顯示屏工作的液晶顯示模塊的設(shè)計(jì)方法。該方法通過(guò)VHDL語(yǔ)言編程來(lái)控制液晶顯示器的顯示,在實(shí)際應(yīng)用中有一定的參考價(jià)值。
1 硬件系統(tǒng)
本設(shè)計(jì)采用Altera公司的Cyclone III系列FPGA芯片EP3C25和內(nèi)置T6963C液晶控制器的WG240128B顯示模塊組成硬件系統(tǒng)。
1.1 液晶顯示模塊簡(jiǎn)介
液晶顯示模塊(LCM)WG240128B是WINSTAR公司生產(chǎn)的、內(nèi)置T6963C液晶控制器的240128圖形點(diǎn)陣顯示模塊。內(nèi)置T6963C控制器的液晶顯示模塊是目前應(yīng)用比較多的顯示模塊,其驅(qū)動(dòng)控制系統(tǒng)由液晶顯示控制器T6963C及其周邊電路、行驅(qū)動(dòng)器組、列驅(qū)動(dòng)器組以及液晶驅(qū)動(dòng)偏壓電路組成。WG240128B主要由1片LCM控制器T6963C、2片行驅(qū)動(dòng)器T6A40 (第二片只用前60路)、3片列驅(qū)動(dòng)器T6A39、1片32kB的顯示存儲(chǔ)器CMOS SRAM BS62LV25和1塊240x128點(diǎn)陣液晶顯示屏組成。該顯示模塊的特性實(shí)際就是T6963C的電路特性。T6963C的初始化在上電時(shí)已通過(guò)引腳電平設(shè)置完畢,所以,軟件操作主要集中在顯示操作上。T6963C顯示緩沖區(qū)RAM單元主要包括文本顯示區(qū)、圖形顯示區(qū)(包含文本特性區(qū))、2kB CGRAM區(qū)。該模塊在液晶上的顯示過(guò)程,也就是把對(duì)應(yīng)的數(shù)據(jù)寫(xiě)入相應(yīng)的3個(gè)顯示緩沖區(qū)的過(guò)程。
WG240128B的邏輯電源由VSS和VDD兩個(gè)引腳來(lái)提供;驅(qū)動(dòng)電源由V0和VEE提供;背光電源則由LEDA和LEDK提供。VSS和LEDK接地,VDD和LEDA接+5 V,DD-VO<21.7V,根據(jù)具體環(huán)境可選擇VEE是否外接負(fù)壓來(lái)驅(qū)動(dòng)顯示屏。其管腳功能如表1所列。
1.2 FPGA控制器簡(jiǎn)介
通過(guò)編程可配置FPGA內(nèi)部的邏輯單元,從而用軟件實(shí)現(xiàn)液晶顯示控制器的設(shè)計(jì)。本方案中的FPGA主要負(fù)責(zé)液晶顯示模塊的系統(tǒng)時(shí)序、讀寫(xiě)控制和顯示數(shù)據(jù)的存取。其內(nèi)部的嵌入式陣列塊EAB是輸入端口和輸出端口都帶有觸發(fā)器的RAM塊,可實(shí)現(xiàn)小容量的FIFO、ROM和RAM,使用時(shí),通過(guò)調(diào)用這些EAB即可實(shí)現(xiàn)字符的存儲(chǔ),并通過(guò)地址值讀取數(shù)據(jù)以供LCD顯示器顯示。
為了滿(mǎn)足FPGA的工作條件,設(shè)計(jì)時(shí)還必須完成外部電路的設(shè)計(jì),如外部存儲(chǔ)器、工作電源以及外部輸入時(shí)鐘(即晶振)電路的設(shè)計(jì),圖1所示是FPGA電路的組成框圖。
l.3 液晶顯示模塊與FPGA的接口設(shè)計(jì)
通常計(jì)算機(jī)和內(nèi)嵌T6963C的液晶顯示器都有兩種連接方式,即直接和間接方式。直接方式是把LCM直接掛在計(jì)算機(jī)總線(xiàn)上,模塊的數(shù)據(jù)線(xiàn)接計(jì)算機(jī)的數(shù)據(jù)總線(xiàn),片選和寄存器信號(hào)由計(jì)算機(jī)的地址總線(xiàn)提供,讀和寫(xiě)操作由計(jì)算機(jī)的讀寫(xiě)操作信號(hào)控制,這種方式可廣泛用于單片機(jī)控制的液晶顯示系統(tǒng)。間接方式是將計(jì)算機(jī)的8位并行口與模塊的數(shù)據(jù)線(xiàn)連接,另外3個(gè)并行I/O接口作為L(zhǎng)CM的時(shí)序控制線(xiàn),這樣,由于并行口是專(zhuān)用的,所以片選信號(hào)可以直接接地。由于VEE可以提供LCD驅(qū)動(dòng)負(fù)壓,設(shè)計(jì)中可采用外接負(fù)壓的方式:將VO接變阻器的調(diào)節(jié)端,然后調(diào)節(jié)適當(dāng)電壓,并驅(qū)動(dòng)液晶顯示從而達(dá)到最好的對(duì)比度效果:C/D和DO~D7分別由FPGA分配通用I/O接口,F(xiàn)S接地是為了選用8x8的顯示字體,其硬件接口連接圖如圖2所示。
2 軟件實(shí)現(xiàn)
本系統(tǒng)的軟件設(shè)計(jì)可基于VHDL語(yǔ)言編寫(xiě)。軟件設(shè)計(jì)的關(guān)鍵在控制器時(shí)序的基礎(chǔ)上完成液晶顯示器與FPGA之間數(shù)據(jù)和指令的讀寫(xiě)和狀態(tài)的檢測(cè)。對(duì)液晶顯示器的顯示控制實(shí)際上就是FPGA與T6963C控制器的數(shù)據(jù)交換。T6963C的部分指令如表2所列。
對(duì)狀態(tài)字的標(biāo)志位而言,經(jīng)常判斷的是S0和Sl。在寫(xiě)指令和一次讀寫(xiě)數(shù)據(jù)時(shí),S0和S1要同時(shí)有效,即都要為1,否則表示控制器忙。根據(jù)地址指針指令,可以設(shè)置光標(biāo)地址、CGRAM偏置地址和顯示地址。顯示區(qū)域設(shè)置指令則可設(shè)置字符和圖形顯示區(qū)首地址和寬度。顯示區(qū)域設(shè)置指令用于設(shè)置文本和圖形合成顯示的邏輯關(guān)系。位操作指令可對(duì)當(dāng)前顯示地址指針?biāo)傅娘@示單元中的數(shù)據(jù)的任一位寫(xiě)“0”或?qū)?ldquo;1”。數(shù)據(jù)寫(xiě)操作就是向數(shù)據(jù)通道里寫(xiě)數(shù)據(jù)。一次寫(xiě)數(shù)據(jù)或參數(shù)時(shí),數(shù)據(jù)將寫(xiě)入數(shù)據(jù)棧中,再由緊接寫(xiě)入的指令代碼決定該數(shù)據(jù)是寫(xiě)入當(dāng)前顯示地址指針?biāo)傅膯卧獌?nèi),還是寫(xiě)入相應(yīng)的寄存器中。數(shù)據(jù)讀操作就是從數(shù)據(jù)通道里讀取數(shù)據(jù)。
完成FPGA與液晶控制器的數(shù)據(jù)交換必須建立在T6963C接口操作的時(shí)序之上,其操作時(shí)序如圖3所示。
控制時(shí)序和讀寫(xiě)顯示程序部分代碼如下:
圖4所示是其控制系統(tǒng)原理如圖。
3 結(jié)束語(yǔ)
利用硬件描述語(yǔ)言VHDL可編程設(shè)計(jì)FPGA以控制LCM顯示。本液晶顯示控制器與FPGA組成顯示系統(tǒng)后,即可先由FPGA將顯示數(shù)據(jù)寫(xiě)入FPGA內(nèi)部設(shè)計(jì)的FIFO寄存器中,當(dāng)FPGA與LCM控制器進(jìn)行數(shù)據(jù)交換后,再將顯示數(shù)據(jù)讀出并與控制信號(hào)同步送到LCM中,從而實(shí)現(xiàn)圖形的顯示。