一種基于ARM9的彩色TFT-LCD模塊設(shè)計(jì)及實(shí)現(xiàn)
LQ080V3DG01液晶顯示屏的數(shù)據(jù)線共18bit,對(duì)于24bit的彩色圖像以及24bit的ARM9S3C2440X的TFT-LCD控制器而言,其接口并不兼容。設(shè)計(jì)中為了適應(yīng)LQ080V3DG01液晶顯示屏的接口,分別舍棄了8bit R、G、B 值的低2位,測(cè)試結(jié)果顯示效果良好。如果選用的TFTLCD是24bit數(shù)據(jù)線,則可以直接連接到LCD控制器相應(yīng)的數(shù)據(jù)線。
3 模塊設(shè)計(jì)方案的實(shí)現(xiàn)
3.1 工作流程
在ARM9執(zhí)行初始化后,主程序就等待外部模塊通過串口發(fā)送指令。外接模塊通過RS232串口與本模塊通信,根據(jù)通信協(xié)議發(fā)送不同的指令,實(shí)現(xiàn)相應(yīng)的功能。在約定的串口波特率下,通信協(xié)議如下:顯示圖像時(shí)首先發(fā)送指令0x55,然后再發(fā)送圖像在圖像庫中的編號(hào);顯示字符時(shí)首先發(fā)送指令0x56,然后再發(fā)送字符在字符庫中的編號(hào),最后發(fā)送字符在液晶屏上顯示的橫軸及縱軸坐標(biāo)。需要說明的是,在NAND Flash存儲(chǔ)空間中的圖像庫及字符庫是自己定義的,可以重新下載更新。軟件流程圖如圖3示。
圖3 軟件流程圖
3.2 彩色圖像顯示
所設(shè)計(jì)的模塊支持24bit彩色RGB及JPEG兩種格式的圖像顯示。因?yàn)橄袼財(cái)?shù)據(jù)可以直接送到液晶接口控制模塊顯示,而JPEG格式的圖像則必須經(jīng)過解碼之后才能顯示,所以圖像在顯示前,需要先判斷圖像數(shù)據(jù)是什么格式。如果圖像數(shù)據(jù)是JPEG格式,則必須經(jīng)過圖像解碼,解碼后得到原始彩色圖像的像素?cái)?shù)據(jù)值R、G、B,這些數(shù)據(jù)經(jīng)過顯示控制單元送到液晶屏顯示。如果圖像是原始圖像的數(shù)據(jù),則可以直接送到液晶控制模塊進(jìn)行顯示。
由于要顯示的圖像存儲(chǔ)在NAND Flash的圖像庫存儲(chǔ)空間,所以在將彩色圖像輸出到TFT-LCD顯示時(shí),首先要將需要顯示的圖像數(shù)據(jù)從NAND Flash中讀取出來,得到一幅24bit彩色圖像的完整原始圖像數(shù)據(jù)。原始圖像數(shù)據(jù)中,一個(gè)像素占用3byte,其中R、G、B 各占1byte。將數(shù)據(jù)輸出給TFT-LCD 顯示前,需要根據(jù)LCD接收的數(shù)據(jù)格式將圖像數(shù)據(jù)進(jìn)行轉(zhuǎn)換,然后才能輸出顯示,圖像數(shù)據(jù)按照從上到下,自左向右的順序輸出[9]。同樣,將TFT-LCD按照相同的順序進(jìn)行掃描,最終完成整幅圖像的顯示。
NAND Flash存儲(chǔ)著大量的圖像數(shù)據(jù),為了區(qū)分不同的圖像數(shù)據(jù),將相應(yīng)的圖像輸出顯示,模塊采用RS232串口與外界通信。通過發(fā)送不同的指令,可以將在NAND Flash上存儲(chǔ)的相應(yīng)圖像讀取出來,輸出在TFT-LCD上,最終實(shí)現(xiàn)各種彩色圖像的顯示。
3.3 字符顯示
字符采用16×16點(diǎn)陣,由于每個(gè)像素占用3byte,所以每個(gè)字符占用768byte??梢詫⒊S米址鎯?chǔ)在NAND Flash中,作為字符庫使用,需要時(shí)調(diào)用即可。當(dāng)顯示字符時(shí),首先要確認(rèn)相應(yīng)字符在存儲(chǔ)器中的位置,然后根據(jù)地址信息對(duì)相應(yīng)字符進(jìn)行操作,最后根據(jù)字符要顯示的位置在液晶屏上輸出,實(shí)現(xiàn)字符在液晶屏上的顯示。
實(shí)驗(yàn)過程中為字符庫分配8Mbyte空間,可以存儲(chǔ)10 922個(gè)字符。字符庫還可以實(shí)現(xiàn)更新,只需將存儲(chǔ)器NAND Flash對(duì)應(yīng)地址空間的內(nèi)容替換即可。
4 實(shí)驗(yàn)結(jié)果
為了測(cè)試模塊的正確性,將一幅分辨率為640×480的圖像AutumnLeaves下載到NANDFlash存儲(chǔ)器中,它在圖像庫中的編號(hào)為0x01。
根據(jù)串口通信協(xié)議,向液晶顯示模塊發(fā)送指令0x55,然后再發(fā)送圖像在圖像庫中的編號(hào)0x01。
顯示模塊接收到指令后,液晶屏顯示效果如圖4所示。測(cè)試結(jié)果表明,模塊工作正常,發(fā)送顯示其他圖像及字符的指令同樣效果良好,運(yùn)行可靠,達(dá)到了模塊方案設(shè)計(jì)要求。
圖4 液晶屏顯示圖像測(cè)試結(jié)果。
5 結(jié) 論
提出了一種基于ARM9的24bit彩色TFTLCD液晶顯示模塊設(shè)計(jì)方案。圖像及字符庫存儲(chǔ)在NAND Flash固態(tài)閃存中,保證了圖像及字符的實(shí)時(shí)顯示,同時(shí)還能實(shí)現(xiàn)對(duì)圖像庫及字符庫的更新。提供了串口通信方式,可以方便地實(shí)現(xiàn)與其他外接系統(tǒng)交互。該模塊設(shè)計(jì)簡(jiǎn)化了彩色TFT-LCD顯示圖像的設(shè)計(jì)難度,提高了開發(fā)效能。模塊可以兼容不同類型的彩色TFT-LCD,為液晶顯示模塊的彩色圖像顯示提供了一種新的方法。
評(píng)論