孫林軍,賀鋒濤
(西安郵電學(xué)院電子工程系,陜西西安710061)
基于ARM的TFT—LCD液晶顯示圖像控制系統(tǒng)研究
孫林軍,賀鋒濤
(西安郵電學(xué)院電子工程系,陜西西安710061)
本文針對(duì)ILI9320型號(hào)的TFT-LCD液晶,設(shè)計(jì)了基于ARM的液晶圖像顯示控制系統(tǒng)。對(duì)液晶顯示模塊的接口、指令、工作模式進(jìn)行了詳細(xì)介紹。通過(guò)對(duì)ARM及液晶初始化、寫(xiě)入圖像程序,實(shí)現(xiàn)了在液晶上顯示240*320大小的圖像信息,驗(yàn)證了基于ARM顯示圖像控制系統(tǒng)的正確性。此系統(tǒng)可廣泛應(yīng)用于便攜式設(shè)備及光學(xué)領(lǐng)域。
TFT—LCD;ILI9320;ARM;驅(qū)動(dòng)電路
隨著人類(lèi)進(jìn)入信息時(shí)代,平面顯示技術(shù)被廣泛應(yīng)用于人們的日常生活當(dāng)中,而液晶顯示(LCD:LiquldcrystalDisplay)器件以其體積小、重量輕、低電壓、低功耗、低輻射等特點(diǎn)具有十分廣闊的市場(chǎng)前景。其中TFT-LCD以其大容量、高清晰和全色彩視頻等優(yōu)點(diǎn)成為當(dāng)前顯示領(lǐng)域的主流[1]。
Thin Film Transistor(薄膜場(chǎng)效應(yīng)晶體管),是指液晶顯示器上的每一液晶象素點(diǎn)都是由集成在其后的薄膜晶體管來(lái)驅(qū)動(dòng)。這個(gè)場(chǎng)效應(yīng)管制作在液晶顯示器件的玻璃上。每個(gè)場(chǎng)效應(yīng)管獨(dú)立驅(qū)動(dòng)一個(gè)像素,從而實(shí)現(xiàn)高速,高亮度,高對(duì)比度的顯示效果[2]。
TFT液晶顯示器件結(jié)構(gòu)如圖1所示。TFT液晶顯示器件的后玻璃上有薄薄的一層硅膠,在硅層內(nèi)光刻又許多場(chǎng)效應(yīng)管,每個(gè)場(chǎng)效應(yīng)管的源極S連接到一個(gè)像素的驅(qū)動(dòng)電極。
一個(gè)像素行的所有場(chǎng)效應(yīng)管柵極G都連接起來(lái),形成行驅(qū)動(dòng)級(jí);一個(gè)像素列的所有場(chǎng)效應(yīng)管源極S連接起來(lái),形成列驅(qū)動(dòng)電極,構(gòu)成對(duì)像素的驅(qū)動(dòng)矩陣電路[2]。
由于一般TFT-LCD的點(diǎn)陣畫(huà)面的數(shù)據(jù)比較大,所以發(fā)送圖像數(shù)據(jù)時(shí)間按照時(shí)間分解。當(dāng)柵極驅(qū)動(dòng)器掃描到某一行時(shí),掃描脈沖電壓將其該行上的所有TFT導(dǎo)通;同時(shí)源極驅(qū)動(dòng)器將每個(gè)像素顯示的信號(hào)送入到液晶的像素上,并且對(duì)Cs電容進(jìn)行充電。然后選通下一行像素點(diǎn),傳送下一次像素信號(hào)。依次執(zhí)行,從第一行起到最后一行,就完成一幀圖像的傳送。所有像素電壓都要保持一段時(shí)間,即一幀的時(shí)間。如果刷信頻率為60Hz,則一幀的時(shí)間約為16.7ms。
圖1 TFT液晶顯示陣列圖
ILI9320是一個(gè)262144色240RGB*320分辨率的TFT液晶驅(qū)動(dòng)芯片,由720通道源驅(qū)動(dòng)器,320通道門(mén)極驅(qū)動(dòng)器,172800字節(jié)RAM的圖像數(shù)據(jù)。其原理圖可參考參考文獻(xiàn)3。
其芯片基本功能有[3]:
(1)支持高速RAM寫(xiě)入功能。(2):支持四種接口模式。
i80系統(tǒng)接口-8-/9-/16-/18-bit總線寬度
串行外設(shè)接口(SPI)
RGB接口-6-/16-/18-bit總線寬度(接口引腳:VSYNC,HSYNC,DOTCLK,ENABLE,DB[17:0])
VSYNC接口(接口引腳:系統(tǒng)接口 +VSYNC)
(3)圖像尺寸改變功能(*1/2,*1/4)。(4)γ校正電路。
在本文中通過(guò)設(shè)置IM[3:0]=0010選擇i80系統(tǒng)接口16-Bit模式,其引腳與單片機(jī)連接方式如圖2所示[4]。
引腳功能說(shuō)明:RESET—液晶硬件復(fù)位引腳;CS—液晶選中端口,低電平有效;RS,WR,RD功能如表1。
表1 RS、WR和RD引腳功能
圖2 系統(tǒng)接口
ILI9320對(duì)應(yīng)的功能比較多,針對(duì)主要的參數(shù)進(jìn)行說(shuō)明。
(1)GRAM的與液晶屏的對(duì)應(yīng)關(guān)系。通過(guò)分別設(shè)置01H的SS,03H的BGR,60H的GS。通過(guò)設(shè)置這三個(gè)參數(shù)可得到對(duì)應(yīng)的對(duì)應(yīng)的關(guān)系,分別如下表2的(a)、(b)。
表2 GRAM與液晶屏對(duì)應(yīng)關(guān)系
看上圖可知通過(guò)設(shè)置參數(shù)可得到GRAM與液晶屏對(duì)應(yīng)不同關(guān)系,其中G1、G2…G319、G320是液晶屏的顯示行,S1、S2…S719、S720是液晶屏的列,像素點(diǎn)每行240個(gè),而一個(gè)像素點(diǎn)包含RGB三種色,所以S數(shù)據(jù)線就有720根。
(2)GRAM的水平/垂直地址設(shè)置(20H,21H)
R/W RS D15 …D8 D7 D6 D5 D4 D3 D2 D1 D0 W 1 0 …AD16 AD15 AD14 AD13 AD12 AD11 AD10 AD9 AD8 0 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 W 1 0 …
設(shè)置此兩個(gè)寄存器就可以寫(xiě)入對(duì)應(yīng)的GRAM單元的數(shù)據(jù),我們定義為地址寄存器AC,21H中數(shù)據(jù)代表320行中的一行,20H中數(shù)據(jù)代表240列中的一列,這樣我們可以通過(guò)坐標(biāo)設(shè)置選出液晶屏中一個(gè)像素點(diǎn)的地址。這樣就可以對(duì)選中的GARM單元進(jìn)行讀/寫(xiě)操作。
(3)寫(xiě)/讀入GRAM的寄存器(22H)
R/W RS D17 D16 D15 …D5 D4 D3 D2 D1 D0 W 1寫(xiě)數(shù)據(jù)R 1讀數(shù)據(jù)
按照上面設(shè)置的GRAM地址,根據(jù)對(duì)應(yīng)的時(shí)序操作22H單元就是讀/寫(xiě)相應(yīng)的GRAM。
(4)顯示區(qū)域地址設(shè)置(50H,51H,52H,53H)
HSA[7:0],HEA[7:0]分別是行顯示開(kāi)始和結(jié)束的行數(shù),VSA[8:0],HEA[8:0]分別表示列顯示開(kāi)始和結(jié)束列數(shù),當(dāng)我們?cè)O(shè)置 HSA[7:0]=10h,HEA[7:0]=3FhVSA[8:0]=20h,HEA[8:0]=4Fh,AM=0,I/D[1:0]=11??梢缘玫饺鐖D3的液晶屏顯示區(qū)域和地址寄存器增長(zhǎng)方式。
R/W RS D15 …D8 D7 D6 D5 D4 D3 D2 D1 D0 W 1 0 …0 Hsa7 Hsa6 Hsa5 Hsa4 Hsa3 Hsa2 Hsa1 Hsa0 W 1 0 …0 Hea7 Hea6 Hea5 Hea4 Hea3 Hea2 Hea1 Hea0 W 1 0 …Vsa8 Vsa7 Vsa6 Vsa5 Vsa4 Vsa3 Vsa2 Vsa1 Vsa0 W 1 0 …Vea8 Vea7 Vea6 Vea5 Vea4 Vea3 Vea2 Vea1 Vea0
圖3 液晶屏顯示區(qū)域和地址寄存器增長(zhǎng)方式
(5)地址寄存器(AC)的增長(zhǎng)方式設(shè)置
R/W RS D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 W 1 TRI DMF 0 BGR 0 0 HWM 0 ORG 0 I/D1 AM 0 0 0 0
而在03H寄存器中HWM是是否開(kāi)啟快速寫(xiě)GRAM功能,ORG是設(shè)置AC是自己動(dòng)增加/減小,設(shè)置AM和I/D可控制AC的增長(zhǎng)方式,如圖4所示。TR1/DFM是設(shè)置數(shù)據(jù)傳送格式,在本文中我們?cè)O(shè)置TR1=0,DFM=0采用565傳輸數(shù)據(jù)格式。
圖4 AC的增長(zhǎng)方式
上面列出ILI9320主要寄存器設(shè)置,同時(shí)支持四種系統(tǒng)接口,γ校正功能等。
ARM與液晶的系統(tǒng)接口如圖2.3所示,查看硬件接口我們可以編寫(xiě)對(duì)應(yīng)的驅(qū)動(dòng)程序。
(1)向液晶屏寫(xiě)入命令
(2)向液晶屏寫(xiě)入數(shù)據(jù)
(3)寫(xiě)入控制字
由此三個(gè)函數(shù)就可以寫(xiě)入數(shù)據(jù)到液晶之中,比如我們想寫(xiě)入51H單元0000h我們就可以寫(xiě)成LCD_WriteReg(0x50,0x00000)就完成操作,其它寄存器也是按照這個(gè)方法操作。
(4)設(shè)置光標(biāo)函數(shù)
(Xpos,Ypos)為要寫(xiě)入或讀取的像素點(diǎn)坐標(biāo),這里的設(shè)置其實(shí)就是利用了20H,21H這兩個(gè)命令,在前面寄存器介紹的時(shí)候已經(jīng)介紹過(guò)了。
(5)畫(huà)點(diǎn)點(diǎn)函數(shù)
有了上面五個(gè)基本函數(shù)我就可以顯示基本的圖像。
(6)ARM程序的基本流程
寫(xiě)好上面的函數(shù)后就完成基本操作,對(duì)ARM與液晶進(jìn)行設(shè)置可以達(dá)到要求。ARM程序的流程圖如圖5所示。
圖5 ARM程序的流程圖
(7)編寫(xiě)程序顯示240*320的圖片顯示
圖片顯示程序,在實(shí)際制作中我們借助軟件把240*320的圖片轉(zhuǎn)化成Pic[153600]的數(shù)組,并且以.h文件形式保存,在主程序中通過(guò)include包含就可以使用了。下面程序是顯示240*320的圖片功能函數(shù)。(如果讀者想查看全部程序和圖片效果請(qǐng)與作者聯(lián)系:E-mail:sunlinjunchen@163.com)。
本文提出基于ARM的ILI9320的液晶控制,說(shuō)明了ILI9320液晶的工作原理和重要的寄存器配置,同時(shí)也給出了ARM驅(qū)動(dòng)液晶的基本函數(shù)和流程圖?;诨镜尿?qū)動(dòng)程序我們可以顯示幾何圖像和圖片,得到預(yù)期效果。
[1]蔣慶全.彩色TFT-LCD技術(shù)的發(fā)展[J].現(xiàn)代顯示,2003,20(1):29-32.
[2]郭強(qiáng).液晶顯示模塊應(yīng)用與調(diào)試[M].北京:電子工業(yè)出版社,2010:10.
[3]On Semiconductor.ILI3920Datasheet[Z].2006.
[4]劉金星,李洪文.基于高速單片機(jī)的液晶顯示模塊控制[J].液晶與顯示,2011,26(1):88-91.
ARM-based TFT-LCD liquid crystal display image contral system
SUN Lin-jun,HE Feng-tao
(Department of Electical Engineering,Xi’an University of Posts and Telecommuinications,Xi’an 710061,Shanxi,China)
Aiming at TFT-LCD liquid crystal of ILI9320 model,this paper,based on ARM,designs a liquid crystal display system,and give a detailed introduction in the interface,instuctions and operating modes of liquid crystal display module.Through the initialization of ARM and LCD and the written image program,the size of 240*320 image can be displayed in liquid crystal display and this verifies the correction of the image display control system based on ARM.The results show that the system can be widely used in protable device and optical field.
TFT-LCD;ILI9320;ARM;driver circuit
TN27
A
1003-8078(2012)03-0041-05
2012-05-06 doi10.3969/j.issn.1003-8078.2012.03.12
孫林軍,男,湖北黃岡人,碩士研究生,主要從事數(shù)字信號(hào)處理研究.
(張所濱)