《電子技術應用》
您所在的位置:首頁 > 電源技術 > 設計應用 > 一種基于ARM9的彩色TFT-LCD模塊設計及實現
一種基于ARM9的彩色TFT-LCD模塊設計及實現
摘要: 介紹了一種基于ARM9的彩色薄膜晶體管液晶顯示模塊(TFT-LCD)的設計和實現方法。為了解決圖像及字符在液晶模塊上的實時顯示,圖像庫及字符庫存儲在容量達64Mbyte的NAND Flash閃存中,可以根據不同需求對圖像庫及字符庫進行更新。模塊支持24bit彩色RGB格式圖像的顯示,還支持JPEG格式圖像的顯示,JPEG圖像的解碼功能在ARM9處理器上實現。模塊采用串口方式與其他外接主控系統通信,通過接收主控系統的不同指令,可以實現對庫中圖像及字符顯示的實時更改。在液晶屏LQ080V3DG01上已通過測試,運行可靠。該模塊已實際應用于圖像顯示設備中。
Abstract:
Key words :

  1 引  言

  TFT-LCD因其厚度薄且畫面質量優異,可以實現信息的高速度、高亮度及高對比度顯示,已廣泛應用于圖像顯示系統中。雖然TFT-LCD具有良好的顯示性能,但TFT-LCD的驅動信號非常復雜,同時外圍的控制單元需要處理的數據量非常大,以一個分辨率為640×480的彩色TFT-LCD為例,顯示一幅彩色圖像就需要處理900kbyte的數據量,這對于傳統的單片機等處理器顯得無能為力。由于圖像數據量大,目前圖像大都采用壓縮后再存儲,其中JPEG (Joint PhotographicExperts Group)格式的壓縮圖像應用最為廣泛。

  為了解決圖像等大容量數據在TFT-LCD顯示屏上的應用,本文提出了一種基于ARM9處理器S3C2440X的彩色液晶顯示模塊。模塊能夠實現對字符及彩色RGB格式圖像的顯示,同時還可以顯示JPEG格式的圖像。由于液晶顯示屏只能接收RGB格式的圖像數據,為了實現對JPEG格式的圖像顯示,必須對壓縮圖像進行解壓縮,JPEG格式圖像的解碼功能在ARM9處理器上實現。本文提出的方法簡化了彩色TFT-LCD圖像顯示的設計難度,同時為JPEG格式的解碼及液晶顯示提供了一種實現方法。液晶顯示模塊可以方便地與外接系統接口,實現圖像顯示模塊的功能。

  2 模塊結構設計與分析

  模塊硬件包括4個部分:ARM9S3C2440X處理器、數據存儲模塊、液晶顯示模塊及RS232串口通信模塊。模塊中使用了兩種非易失性閃存NAND Flash和NOR Flash。考慮到NOR Flash具有芯片內執行及可靠性高的特點,使用它來存儲ARM9處理器運行的程序代碼;存儲容量大且高單元密度的NAND Flash用來存儲海量數據,作為圖像庫及字符庫的存儲單元。SDRAM 作為外擴存儲器使用。TFT-LCD LQ080V3DG01作為模塊的顯示屏使用。與其他外部模塊通信采用RS232串口方式。

  模塊實現的主要功能有:JPEG 格式圖像的解碼;支持24bit彩色RGB圖像數據及JPEG兩種格式圖像的顯示;字符的顯示;數據存儲容量為64Mbyte,可以實現對圖像庫及字符庫的更新;可以設置不同的串口波特率。模塊功能框圖如圖1所示。

模塊功能框圖

圖1 模塊功能框圖。

  2.1 ARM9嵌入式處理器S3C2440X

  S3C2440X是一款基于ARM920T 內核、主頻最高達400MHz、適用于嵌入式應用的RISC處理器。它支持可配置的8,16,32bit數據總線寬度。在存儲器接口方面,最多可以擴展6個通道的ROM 或RAM 存儲器,以及2 個通道的SDRAM,同時它還支持NAND Flash、NORFlash存儲器擴展。

  它內部的ARM920T 內核具有高速微控制器總線(AMBA BUS)結構及哈佛結構的高速緩沖存儲器(Cache),高速緩沖分別是16kbyte程序及16kbyte數據存儲器,使其具有良好的高速性能[3];具有豐富的外圍設備,包括LCD控制器、UART、USB、SD 及SPI等接口,可以滿足不同的設計要求。

  2.1.1 LCD控制器

  S3C2440X內部LCD控制器接口支持STNLCD及TFT-LCD的無縫連接,它支持單色、調色板彩色及24bit真彩色的顯示。根據不同的設計要求,通過程序編程可以實現相應的LCD分辨率,數據格式及幀頻等設置,從而滿足各種類型的LCD模塊。S3C2440XLCD控制器用來傳輸視頻數據VD [23:0],同時產生相應的控制信號VSYNC、HSYNC、VDEN及LEND,時序圖如圖1所示。實現LCD 控制器功能的關鍵是根據LCD時序的要求,合理配置控制器寄存器。

TFT-LCD時序圖

圖2 TFT-LCD時序圖。

  圖1中的信號定義如下:

  VSYNC:LCD控制器和LCD之間的幀同步信號,高電平有效時表示一幀圖像的起始。

  HSYNC:行同步信號,由水平有效像素的大小決定。

  VCLK:LCD時鐘信號,在一個時鐘周期內數據送入LCD移位寄存器內。

  VDEN:數據使能信號,高電平表示數據有效。

  LEND:行結束信號。

  VD[23:0]:RGB數據信號線。對于24bitTFT-LCD,R、G、B各占8位;而對于16bit TFT屏有兩種方式:5∶6∶5及5∶5∶5+1,使用時需要注意要與相應TFT-LCD的信號相一致。

  2.1.2 數據存儲模塊

  NAND Flash是一種固態內存,與EEPROM相比,具有讀寫速度快的優勢;與SRAM 相比,具有非易失性等優勢。圖像尤其是彩色圖像數據量大,因此需要考慮使用大容量的存儲器來存儲圖像數據。另外,考慮到斷電后數據的非易失性,因此選擇NAND Flash作為存儲器件。

  數據存儲單元NAND Flash包括圖像庫及字符庫,其中字符庫存儲容量是8Mbyte,圖像庫存儲容量是56Mbyte。模塊選用NAND FlashK9F1216U0A作為圖像的存儲器件,它的容量大小為64M×8bit,其中每頁是(512+16)byte,塊大小是(16k+512)byte;隨機讀取一頁數據的最大時間是12μs,而向NAND Flash寫入一頁數據的典型時間是200μs。以分辨率為640×480的RGB 彩色圖像為例,圖像數據大小是900byte,因此將此圖像寫入Flash的最大時間是341μs,然后將此圖像從Flash讀出的最長時間是21μs。

  以分辨率為640×480的RGB格式彩色圖像為例,56Mbyte的圖像存儲容量可以存儲62幅圖像,完全可以滿足大容量存儲的要求。在存儲圖像數據的編程過程中,由于NAND Flash是以頁為單元進行數據存儲,這就意味著一幅圖像需要占用多個頁的存儲空間。需要注意的是,由于NAND Flash器件存在壞塊單元,而且壞塊是隨機分布的,因此需要對壞塊進行標記處理,對它們標記為不可用,這樣就避免了由于壞塊單元引起的數據存儲錯誤。

  2.1.3 JPEG圖像解碼

  JPEG是一種目前廣泛使用的靜態圖像壓縮標準,它以其顯著的壓縮效率和較低的圖像質量損失獲得了廣泛應用,成為國際通用的標準。

  JPEG的目的是提供一種使用于各種連續色調圖像的壓縮方法,并且能夠易于硬件實現,具有良好的性價比。為了滿足各種應用需求,它提供了兩種壓縮編碼技術:基于離散余弦變換(DCT)的有損壓縮編碼和基于DPCM 的無損編碼,這兩種編碼方式可以采用4種操作模式來實現:順序編碼、累進編碼、無損編碼及層次編碼。其中基于DCT變換的順序編碼方式最常用。

  以基于離散余弦變換的順序編碼方式來說明JPEG圖像解碼的過程。圖像解碼是壓縮編碼的反過程,解碼的碼流起始位置標志信息,解碼器根據JPEG壓縮圖像的文件頭信息,得到原始圖像的基本信息。得到原始圖像信息后,解碼器根據JPEG文件中的霍夫曼表進行解碼。由于熵編碼過程中使用霍夫曼編碼分別對DC及AC系數進行編碼,其中系數編碼的順序采用zig-zag序列,因此實現解碼時需要考慮這些相關實現過程,詳細信息請參考相關文獻[5]。根據量化系數表,經霍夫曼解碼后的系數與相應的量化值進行乘積,然后進行反余弦變換。需要注意的是,JPEG 圖像使用的是YCrCb模型,其中Y 是亮度分量,Cr及Cb是色度分量,需要將系數的色彩空間從YCrCb轉換到RGB空間,最終得到圖像的R、G、B 數據值,這些數據才可以在液晶顯示屏上顯示。

  根據JPEG 文件交換格式提供的資料文獻[6],YCrCb色彩空間到RGB色彩空間的轉換見公式(1)。


 

  考慮到延時應盡量小,程序在NOR Flash存儲器上執行效率低。圖像解碼算法中應合理安排在ARM9中的內存分配。設計過程中將頻繁訪問的程序代碼及數據搬運到ARM9內部高速緩沖存儲器中,從而提高編碼的效率。由于順序編碼方式最常用,它通常稱為JPEG 基本系統(BaseLine)。設計過程中,實現的JPEG 圖像解碼支持順序編碼,完全可以滿足應用要求。

  2.2 TFT-LCD LQ080V3DG01

  實驗中選用LQ080V3DG01彩色液晶顯示模塊測試設計效果。LQ080V3DG01 由彩色TFT-LCD面板、驅動電路、控制電路、供電電路及背光單元組成。它支持最大分辨率為640×480的圖形和文字顯示,數據輸入格式為18bit,其中紅綠藍各占6bit,提供的顏色共262 144種。

  TFT-LCD需要+3。3V或+5V供電電壓,背光需要交流電源供電。輸入的控制信號有4個:幀同步信號VSYNC、行同步信號HSYNC、數據使能信號ENAB及時鐘信號CK。數據線寬度是18bit,紅綠藍各占6bit,分別是R [0∶5]、G [0∶5]及B [0∶5],顏色配置信息如表1所示。

表1 輸入數據信號及顏色顯示配置

輸入數據信號及顏色顯示配置

  LQ080V3DG01液晶顯示屏的數據線共18bit,對于24bit的彩色圖像以及24bit的ARM9S3C2440X的TFT-LCD控制器而言,其接口并不兼容。設計中為了適應LQ080V3DG01液晶顯示屏的接口,分別舍棄了8bit R、G、B 值的低2位,測試結果顯示效果良好。如果選用的TFTLCD是24bit數據線,則可以直接連接到LCD控制器相應的數據線。

  3 模塊設計方案的實現

  3.1 工作流程

  在ARM9執行初始化后,主程序就等待外部模塊通過串口發送指令。外接模塊通過RS232串口與本模塊通信,根據通信協議發送不同的指令,實現相應的功能。在約定的串口波特率下,通信協議如下:顯示圖像時首先發送指令0x55,然后再發送圖像在圖像庫中的編號;顯示字符時首先發送指令0x56,然后再發送字符在字符庫中的編號,最后發送字符在液晶屏上顯示的橫軸及縱軸坐標。需要說明的是,在NAND Flash存儲空間中的圖像庫及字符庫是自己定義的,可以重新下載更新。軟件流程圖如圖3示。

圖3 軟件流程圖

  3.2 彩色圖像顯示

  所設計的模塊支持24bit彩色RGB及JPEG兩種格式的圖像顯示。因為像素數據可以直接送到液晶接口控制模塊顯示,而JPEG格式的圖像則必須經過解碼之后才能顯示,所以圖像在顯示前,需要先判斷圖像數據是什么格式。如果圖像數據是JPEG格式,則必須經過圖像解碼,解碼后得到原始彩色圖像的像素數據值R、G、B,這些數據經過顯示控制單元送到液晶屏顯示。如果圖像是原始圖像的數據,則可以直接送到液晶控制模塊進行顯示。

  由于要顯示的圖像存儲在NAND Flash的圖像庫存儲空間,所以在將彩色圖像輸出到TFT-LCD顯示時,首先要將需要顯示的圖像數據從NAND Flash中讀取出來,得到一幅24bit彩色圖像的完整原始圖像數據。原始圖像數據中,一個像素占用3byte,其中R、G、B 各占1byte。將數據輸出給TFT-LCD 顯示前,需要根據LCD接收的數據格式將圖像數據進行轉換,然后才能輸出顯示,圖像數據按照從上到下,自左向右的順序輸出[9]。同樣,將TFT-LCD按照相同的順序進行掃描,最終完成整幅圖像的顯示。

  NAND Flash存儲著大量的圖像數據,為了區分不同的圖像數據,將相應的圖像輸出顯示,模塊采用RS232串口與外界通信。通過發送不同的指令,可以將在NAND Flash上存儲的相應圖像讀取出來,輸出在TFT-LCD上,最終實現各種彩色圖像的顯示。

  3.3 字符顯示

  字符采用16×16點陣,由于每個像素占用3byte,所以每個字符占用768byte。可以將常用字符存儲在NAND Flash中,作為字符庫使用,需要時調用即可。當顯示字符時,首先要確認相應字符在存儲器中的位置,然后根據地址信息對相應字符進行操作,最后根據字符要顯示的位置在液晶屏上輸出,實現字符在液晶屏上的顯示。

  實驗過程中為字符庫分配8Mbyte空間,可以存儲10 922個字符。字符庫還可以實現更新,只需將存儲器NAND Flash對應地址空間的內容替換即可。

  4 實驗結果

  為了測試模塊的正確性,將一幅分辨率為640×480的圖像"AutumnLeaves"下載到NANDFlash存儲器中,它在圖像庫中的編號為0x01。

  根據串口通信協議,向液晶顯示模塊發送指令0x55,然后再發送圖像在圖像庫中的編號0x01。

  顯示模塊接收到指令后,液晶屏顯示效果如圖4所示。測試結果表明,模塊工作正常,發送顯示其他圖像及字符的指令同樣效果良好,運行可靠,達到了模塊方案設計要求。

液晶屏顯示圖像測試結果

圖4 液晶屏顯示圖像測試結果。

  5 結  論

  提出了一種基于ARM9的24bit彩色TFTLCD液晶顯示模塊設計方案。圖像及字符庫存儲在NAND Flash固態閃存中,保證了圖像及字符的實時顯示,同時還能實現對圖像庫及字符庫的更新。提供了串口通信方式,可以方便地實現與其他外接系統交互。該模塊設計簡化了彩色TFT-LCD顯示圖像的設計難度,提高了開發效能。模塊可以兼容不同類型的彩色TFT-LCD,為液晶顯示模塊的彩色圖像顯示提供了一種新的方法。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 成人午夜视频在线 | 在线观看免费播放网址成人 | 情人边吃奶边做好爽嗷嗷叫 | 男人女人的免费视频网站 | 一级特黄aaa大片在 一级特黄aaa大片在线观看 | 亚洲中午字幕 | 中文字幕一区二区三区免费视频 | 黄色免费看网站 | 成年人福利 | 黄黄的网站在线观看 | 能在线观看的一区二区三区 | 夜夜艹天天干 | 九色亚洲| 毛片基地免费视频a | 成人精品一区二区激情 | 午夜性刺激免费视频观看不卡专区 | 激情久久久久久久久久 | 成人免费一级毛片在线播放视频 | 久久免费看片 | 亚洲一区精品视频在线 | 久久99精品一级毛片 | 97人洗澡人人澡人人爽人人 | 日本一区二区在线播放 | 国产1区2区三区不卡 | 亚洲免费一区二区 | 国产满18av精品免费观看视频 | 欧美xxxx成人免费网站 | 韩国在线观看免费观看影院 | 欧美伊人久久 | 美腿丝袜在线 | 日韩欧美一区二区三区在线视频 | 国产精品视频久 | 91丝瓜视频最新版 | 播放一级特黄录像 | 国产日本欧美高清免费区 | 小明永久视频免费播放 | 黄色搞基网站 | 亚洲aⅴ在线 | 一级毛片女人喷潮 | 997在线观看视频国产 | 精品综合一区二区三区 |