徐暢
渤海大學(xué)工學(xué)院
?
基于FPGA的LCD顯示控制系統(tǒng)的設(shè)計(jì)
徐暢
渤海大學(xué)工學(xué)院
本文主要介紹了關(guān)于LCD的視頻控制芯片設(shè)計(jì)方案,介紹了系統(tǒng)功能的實(shí)現(xiàn),以及FPGA的實(shí)現(xiàn)原理,LCD驅(qū)動(dòng)原理,解決了DSP,LCD和FPGA,之間的協(xié)同合作的難題。
LCD FPGA LCD驅(qū)動(dòng)
隨著電子工程的不斷發(fā)展,嵌入式系統(tǒng)的應(yīng)用不斷擴(kuò)展,實(shí)現(xiàn)人機(jī)信息相互交互的界面已經(jīng)是社會的趨勢。通過研究發(fā)現(xiàn)以往的發(fā)光二極管已經(jīng)無法滿足市場的需要。發(fā)光二極管的顯示控制部分比較簡單,功能太少,無法對復(fù)雜的信息進(jìn)行顯示,而且控制起來也不方便。相于是LCD液晶顯示器應(yīng)運(yùn)而生,代替了傳統(tǒng)意義上的發(fā)光二極管,并且LCD在智能儀器的應(yīng)用極為寬廣。
很多的LCD是靜態(tài)顯示的,LCD的控制器大部分是以單片機(jī)為主,并且只能進(jìn)行顯示而不能實(shí)現(xiàn)實(shí)時(shí)交互。程序在執(zhí)行的過程中只能一步一步進(jìn)行,不能進(jìn)行多任務(wù)并發(fā)進(jìn)行。本論文是基于FPGA的LCD顯示控制,硬件描述語言選擇的是Verilog,SPARTAN系列選擇的是XC2S50。通過Verilog進(jìn)行語言文字的顯示和控制。
液晶顯示的LCD做為一種目前比較流行的平板顯示器件,它的形成是在電場存在的情況下從而導(dǎo)致液晶材料的位置進(jìn)行了改變,最后透光性能進(jìn)行了遮蔽。
根據(jù)商品的形式不同可以將LCD分為以下幾種:
1.1液晶顯示模塊
該顯示模塊簡稱為LCM,該模塊由三部分組成,分別是IC驅(qū)動(dòng),組裝線路板和其它之類的商品。
1.2液晶顯示屏
顯示屏通常又可以稱為LCD屏,該屏中的設(shè)備驅(qū)動(dòng)程序是由使用者自己設(shè)計(jì)的。
根據(jù)LCD顯示的形式不同,可以分為以下幾種:
(1)單色顯示。
顧名思義指的就是只有白色和黑色兩種顏色,要么背景是黑色的,文字是白色的,要么背景是白色的,文字是黑色的。兩種顏色相互間隔。
(2)彩色顯示。
其中的彩色顯示又可以分為兩種,單彩色以及多彩色,并且這個(gè)多彩色中還分為真彩色以及偽彩色,他們的區(qū)分是根據(jù)顯示的顏色總數(shù)進(jìn)行的,8到32色的稱為偽彩色,而256種顏色的稱為真彩色。
LCD的器件分為TN,STN和TFT三種型號,這三種型號的性能是不斷提高的,同時(shí)相對著相關(guān)的成本也就會增多。單色LCD制作中通常選擇的型號是STN和TN兩種,真彩色的LCD通常選擇TFT。
LCD的顯示離不開由LCD控制組成的驅(qū)動(dòng)電路,這是LCD實(shí)現(xiàn)顯示功能的首要前提,該基本的驅(qū)動(dòng)電路是由背光電路,震蕩電路以及供電電路等組成的。LCD的LCD的驅(qū)動(dòng)程序中往往采用的是匯編或者C語言進(jìn)行編程,這些驅(qū)動(dòng)程序通常涉及到的有初始化,管理和數(shù)據(jù)處理程序。
隨著信息時(shí)代的到來,工程領(lǐng)域的不斷發(fā)展,可編程邏輯技術(shù)在電子工程領(lǐng)域的應(yīng)用越來越廣,一些新型的嵌入式產(chǎn)品的不斷誕生,表明現(xiàn)代的工程技術(shù)將會不斷的走向系統(tǒng)化,集成化以及電子化的發(fā)展道路。
FPGA是Field Programable Gate Array的縮寫,從英文名稱介紹可以知道指的是現(xiàn)場可編程的門陣列的意思,F(xiàn)PGA是以GAL,PAL和EPLD為發(fā)展基礎(chǔ)的,在系統(tǒng)設(shè)計(jì)中得到了廣泛的應(yīng)用,其特點(diǎn)是系統(tǒng)的功耗比較低,邏輯容量的密度比較大。目前生產(chǎn)研發(fā)FPGA知名度比較高的公司主要有Lattis公司,Altera公司和Ximlinx公司等等。同時(shí)FPGA的前進(jìn)目標(biāo)是軟件開發(fā),工具開發(fā)和工藝器件方向這兩個(gè)方向。FPGA在20世紀(jì)90年代進(jìn)入了發(fā)展的黃金時(shí)代,2000年可控端口的數(shù)量相比于1990年增加了將近200倍。FPGA的硬件語言大體分為VHDL和Verilog HDL這兩種。FPGA在發(fā)展的初步階段使用的就是VHDL,而Verilog語言的前身是從C語言來的,因此大部分的編程者更傾向于用VHDL語言進(jìn)行編程,VHDL的發(fā)展歷程悠久,所以語法規(guī)范性,結(jié)構(gòu)性都比較強(qiáng),功能比較強(qiáng)大,Verilog語言的發(fā)展時(shí)間還不是很長,所以語法掌握起來比較容易,比較適合入學(xué)者。
FPGA模塊部分擁有很多的功能,如下所示:
(1)產(chǎn)生驅(qū)動(dòng)時(shí)序。因?yàn)椴煌愋偷腖CD,其顯示面板上的刷新頻率也不同,所以相應(yīng)著他的分辨率參數(shù)也不相同。參數(shù)不同也就會導(dǎo)致產(chǎn)生不同的時(shí)序。所以FPGA電路模塊的核心功能是如何使得時(shí)序的驅(qū)動(dòng)程序是正確的。
(2)FPGA芯片中還包括了調(diào)節(jié)亮度,調(diào)節(jié)對比度等等。FPGA選擇主要是以器件的功耗,性能,速度等因素進(jìn)行選擇。
3.1驅(qū)動(dòng)分類
(1)靜態(tài)驅(qū)動(dòng)
靜態(tài)驅(qū)動(dòng)的基本原理是在相對應(yīng)的一對電極間連續(xù)外加電場或者是連續(xù)不加電場。其中驅(qū)動(dòng)的波形指的是當(dāng)同相時(shí)液晶上沒有電場,當(dāng)反向是時(shí)液晶的上面就會添加一個(gè)矩形的波形。當(dāng)這個(gè)添加的矩形波形的電壓比液晶所設(shè)置的閥值還要高的時(shí)候,此時(shí)LCD就可以認(rèn)為是選通的狀態(tài)了。
(2)多路驅(qū)動(dòng)
當(dāng)電極是沿著X和Y的方向形成矩陣的時(shí)候,根據(jù)順序依次把選通的波形給X電極,Y電極上施加的選通波形或者是非選通的波形和X電極上是同步的。
從多路驅(qū)動(dòng)的原理中分析可以知道,電壓會施加給選通相素也會施加給非選通的相素,為了實(shí)現(xiàn)選通的相素受選通電壓的控制,非選通的相素受非選通的電壓控制,LCD在光電性能方面的閥值必須要越大越好。
根據(jù)系統(tǒng)的要求,本論文中選擇LCD液晶顯示的器件是MTG-F32240X,該器件的像素是320*240,LCD的器件型號是FSTN,顯示的方式是圖形。
圖1 LCD接口時(shí)序
3.2LCD顯示驅(qū)動(dòng)原理
該類型的液晶顯示器的接口時(shí)序中所用到的驅(qū)動(dòng)信號為CL1,CL2和FRM,目前該信號的工作頻率可以參考如下:CL2=1.28MHz,CL1=16KHz,F(xiàn)RM=66Hz。LCD的驅(qū)動(dòng)過程主要是首先移位脈沖CL2發(fā)出80個(gè)后,緊接著發(fā)出行頻脈沖CL1,當(dāng)CL1發(fā)出累計(jì)到240個(gè)后FRM信號就會跟著發(fā)出,當(dāng)FRM信號發(fā)出結(jié)束后,這個(gè)過程是不斷的進(jìn)行循環(huán),循環(huán)結(jié)束后液晶的顯示控制過程也就結(jié)束了。接口時(shí)序圖如圖1所示。
顯示數(shù)據(jù)以及處理數(shù)據(jù)的相關(guān)性不能太高,必須盡可能降低,可以通過把數(shù)據(jù)緩存的設(shè)備加入到系統(tǒng)設(shè)計(jì)中,從而讓主處理器擺脫了操作上的單一性。目前數(shù)據(jù)緩存區(qū)的介質(zhì)主要有兩類,分別是FPGA內(nèi)部雙口和SRAM。本文采用的是FPGA內(nèi)部雙口RAM作為緩存區(qū)的存儲介質(zhì)。因?yàn)槿绻捎肧RAM,可編程資源損耗過多,而且系統(tǒng)的穩(wěn)定性受控制單元的直接影響。
該系統(tǒng)選擇了前者作為存儲介質(zhì)的考慮因素,主要體現(xiàn)在:1、數(shù)據(jù)顯示的連續(xù)性得到了實(shí)現(xiàn);2、完成了16bitsDSP與LCD 4bits的數(shù)據(jù)格式的相互轉(zhuǎn)化。本系統(tǒng)的顯示數(shù)據(jù)緩存是2Kbytes的存儲單元。
LCD的驅(qū)動(dòng)實(shí)現(xiàn)離不開驅(qū)動(dòng)信號CL1,CL2以及FRM。緩存區(qū)端口地址是驅(qū)動(dòng)信號決定的,當(dāng)顯示數(shù)據(jù)之前需要把中斷數(shù)據(jù)的請求提交給DSP,然后DSP收到請求后就就繼續(xù)進(jìn)行下一幀數(shù)據(jù)的傳送。
圖2 LCD驅(qū)動(dòng)結(jié)構(gòu)圖
從圖中可以看出,當(dāng)?shù)刂肥窃贓00H之后時(shí)幀的數(shù)目就會發(fā)生改變,BUS-ARBITOR單元專門是記錄幀的數(shù)目,接收到幀數(shù)目后中斷傳送的通知就會停止。緩存BUS-ARBITOR單元的顯示是通過DSP進(jìn)行刷新實(shí)現(xiàn)的。
由于定時(shí)中斷的原因,所以DSP數(shù)據(jù)處理部分需要進(jìn)行打斷,通過資源占有率來指明部分功能對其他流程的影響情況。資源占有率用POC表示,是中斷一次響應(yīng)的時(shí)間ti與中斷兩次的時(shí)間tii之間的比值,如公式(1-1)所示:
這個(gè)模塊采用了VHDL描述語言,硬件資源占用情況如表1所示。
本論文實(shí)現(xiàn)了基于FPGA的LCD顯示控制器,介紹了LCD的相關(guān)理論知識,LCD的驅(qū)動(dòng)原理以及FPGA的實(shí)現(xiàn)原理。本文論述了通過結(jié)合DSP。FPGA以及LCD的相互結(jié)合可以增強(qiáng)主要器件的工作性能,為工作的順利完成提供了保證,也為軟件硬件的設(shè)計(jì)提供了方案。
[1]周鵬,李圓圓. 基于FPGA的LCD液晶動(dòng)態(tài)顯示驅(qū)動(dòng)程序的設(shè)計(jì)[J].電子質(zhì)量,2014(11): 34-42.
[2]廖超平.基于FPGA的信號發(fā)生器按鍵LCD模塊設(shè)計(jì)[J].科技資訊,2013 (26): 1-2.
表1