楊志佳,陳小平
(蘇州大學 電子信息學院,蘇州 215000)
?
STM32F429的TFTLCD顯示驅動方案的研究
楊志佳,陳小平
(蘇州大學 電子信息學院,蘇州 215000)
顯示器作為人機交流的界面,承載著大量信息傳遞的功能。隨著TFTLCD液晶屏在各行各業中的需求量日益增加,關于LCD的顯示設計方案也成為了各電子產品開發過程中的重要組成部分。對此,ST公司推出了一款基于ARM Cortex-M4內核的處理器STM32F429,其自帶Chrom-ART圖像加速器和LCD-TFT顯示控制器,方便用戶設計出高集成度、高分辨率以及高畫質的電子產品。
TFTLCD;STM32F49;Chrom-ART
隨著工業技術的提高,TFTLCD液晶器件在各類消費電子以及工業上的應用越來越廣泛,但通常TFTLCD不帶驅動控制器,單片機往往通過串行或并行總線接口與外加的TFT控制器模塊連接,再掛接TFTLCD液晶面板。受限于連接數據總線的傳輸速度,這樣的LCD顯示方案很難支持高分辨率和高顯示質量的圖片。因此,本文提出了基于STM32F429的顯示方案,圍繞STM32F429微控制器完成液晶顯示的硬件設計,并介紹了基于該硬件平臺的軟件設計。
STM32F429在中高端圖像顯示系統中有著廣泛的應用,設計者使用STM32F429集成的Chrom-ART圖像加速器、片上或片外存儲器作為幀緩沖、LTDC接口連接顯示屏。其LCD顯示系統架構如圖1所示。

圖1 LCD顯示系統架構
Chrom-ART圖像加速器能在存儲區內建立圖形元素,這些圖形元素在經過處理之后會進入內部RAM,并進一步在外部SDRAM中建立并更新幀緩沖區,之后TFTLCD控制器將SDRAM中的數據流通過RGB接口傳輸給TFTLCD顯示屏。
STM32F429微控制器與低級別微控制器相比,主要增加了Chrom-ART圖像加速器、支持最高分辨率可達800×600的LCD-TFT顯示控制器以及支持32位數據寬度的SDRAM接口。
Chrom-ART圖像加速器其實就是專門用來傳送數據的DMA控制器和圖形處理模塊的結合。它支持原始數據拷貝、帶像素格式轉換的圖形拷貝,以及帶透明特性的圖像疊加。
由于Chrom-ART圖形加速器與系統DMA相互獨立,并且作為AHB總線主設備的Chrom-ART圖形加速器可以對任何存儲區進行突發訪問,所以極大地加快了對圖像的操作和設計。Chrom-ART圖像加速器還可對存儲區內的位圖設定高度、寬度和起始地址,目標圖形的輸出起始地址和像素格式也可以靈活地設定。
本文提出的LCD的顯示方案就能夠充分利用Chrom-ART圖形加速器的功能,在降低CPU工作量的同時提高顯示效率。
STM32F429內部自帶高度集成的LCD-TFT顯示控制器,LCD-TFT顯示控制器和TFTLCD顯示屏之間通過24位的并行RGB數據線、同步時鐘信號CLK、行同步信號HS、場同步信號VS以及數據使能信號DE連接。
LCD-TFT顯示控制器具有兩個顯示層,且每層都有專用的FIFO,每層有多達8種的顏色輸入形式可以選擇,且每一層的配置參數靈活可變。
LCD-TFT顯示控制器的結構如圖2所示。LCD-TFT顯示控制器作為主線控制器,每層都有各自專用的FIFO,用來從存儲器中傳輸顯示圖像,并且每層都有各自獨立的像素格式轉換單元PFC,有8種像素格式可供選擇,包括ARGB8888、RGB888、RGB565、ARGB1555、ARGB4444、L8、AL44和AL88。在經過像素轉換處理之后,LCD-TFT控制器會將相同格式的兩層圖像疊加在一起,在經過抖動處理之后配合同步時序將顯示數據傳輸給液晶屏。

圖2 LCD-TFT控制器的結構示意圖
根據上文介紹可知,整個LCD硬件方案主要由主芯片、外部存儲器SDRAM以及TFTLCD顯示屏組成。
3.1 外部存儲器SDRAM
若所需的顯示屏較大,在高速圖像采集和存儲系統中需要臨時存儲大量數據,就必須使用片外存儲器SDRAM作為幀緩沖,采用SDRAM作為數據緩存是一種非常有效的方法。SDRAM不僅存儲量大,而且傳輸速度快。本文以IS42S16400為例,對SDRAM進行充分論述。
IS42S16400的單片容量為64 Mb,數據寬度為32位,最高時鐘頻率可達133 MHz,內部有4個Bank,每個Bank由2 048個行和256個列組成。STM32F429使用FMC接口與SDRAM相連,其SDRAM接口可靈活配置,時鐘速度、數據寬度、時序等都可以靈活配置,以滿足不同SDRAM對于TRCD、TCAS和刷新率的要求,并且還有自動刷新模式和掉電模式可供選擇。
值得一提的是,STM32F429集成了專業FIFO優化讀寫操作,在寫操作或者預充電操作時,FIFO會被清空;在讀取SDRAM操作時,SDRAM控制器會提前讀出后續地址數據存儲在FIFO中,再次進行讀操作時,控制器會先查看FIFO中是否有可用的數據,如果有則直接使用FIFO中的數據,避免了再次讀寫。這樣一來,對數據的讀取起到加速的作用。該芯片含有12位地址信號A[0…11]和16位數據信號D[0…15],以及兩位Bank選擇信號BA0和BA1,另外還包括片選信號SDNE1、寫使能信號SDNWE、行地址鎖存信號SDNRAS、列地址鎖存信號SDNCAS、時鐘信號SDCLK、時鐘使能信號SDCKE、字節選擇信號NBL0和NBL1。
該SDRAM芯片的讀寫時序如圖3、圖4所示。值得注意的是:為了提高SDRAM信號的準確性,在畫PCB板的時候,SDRAM的數據線和地址線應做等長處理。

圖3 讀時序

圖4 寫時序
3.2 TFTLCD顯示屏
本文以型號為AT070TN92的7寸TFTLCD作為研究對象,其硬件連接如圖5所示。AT070TN92有50個引腳,需要3.3 V、-7 V、10.4 V、16 V的電源供電,R[0:7]、G[0:7]、B[0:7]、DE、VS、HS、DCLK直接與STM32F429的LCD-TFT顯示控制器相連。

圖5 顯示屏硬件連接圖
背光驅動電路如圖6所示,其主芯片采用的是MP3302,它是一款專門用于驅動TFTLCD的升壓轉換芯片。MP3302使用電流模式和固定的頻率結構,來調節通過外部檢測電阻測得的LED電流。正常工作時,FB的反饋輸入端BL_GND輸入200 mV的電壓,這個200 mV的低反饋電壓在一定程度上可以減少電源損耗,提高工作效率。4腳EN端是控制端口,EN端的輸入電壓必須高于0.6 V才能驅動芯片,當EN端的電壓在0.7~1.4 V之間時,反饋電壓會在0~200 mV之間調節,使得輸出電壓符合要求。

圖6 背光驅動電路
電源部分以24 V直流供電為例,由于需要3.3 V、-7 V、10.4 V、16 V,所以采用的方案是先通過LM2575芯片將電壓從24 V降至5 V,再通過TPS61040芯片將5 V電壓升高至10.4 V。TPS61040可輸出的電壓最高可以達到28 V,且輸出穩定,專門用于給各類液晶供電。生成10.4 V之后,再通過肖特基二極管BAT54S、穩壓二極管ZMM3V9和ZMM4V7將10.4 V整流成16 V和-7 V。3.3 V直接采用LD1117-3.3芯片將5 V直接降至3.3 V,給各類芯片和顯示屏供電。其電路圖如圖7所示。

圖7 電源模塊電路
本方案的所有功能都是在微控制器內部實現,軟件部分主要是對系統時鐘、SDRAM、TFTLCD部分的初始化以及LTDC時序及層參數的配置。
4.1 系統初始化
STM32F429的主頻最高可達180 MHz,本系統為了保證SDRAM的數據穩定,將主頻定為160 MHz,將TFTLCD的RGB端口配置成普通復用推換輸出。LCD顯示內容可通過兩種方式存儲:一種是以數組的形式直接存儲在微控制器的內部Flash中,但考慮到本例使用的是7寸800×480分辨率的顯示屏,其數據量高達1 MB多,如果想采用本方案,則最好選擇2 MB的主芯片,對于小尺寸TFTLCD來說,數據占用量小,采用該方案可方便快捷,大大降低了成本;另一種是將要顯示的圖片存儲在TF卡中,如果顯示的圖片較多,采用TF卡的方案則更加妥當一些。
4.2 掃描時序配置
關于LCD-TFT控制器的掃描時序配置只需結合圖8理解即可,這部分內容需要根據所采用的TFTLCD顯示屏的手冊嚴格配置。

圖8 掃描時序配置參考圖
各參數含義如表1所列。

表1 時序參數含義
4.3 層參數配置
LCD-TFT顯示控制器共有三層,從下到上分別為Background、Layer1和Layer2。LCD的顯示結果都是這三層疊加之后的結果,疊加運算公式為:BC=BF1×C+BF2×Cs。其中BC為疊加色,BF1和BF2為層一和層二的疊加系數,且有BF1+BF2 = 100%,C為當前層顏色,Cs為下一層顏色,在等于本層的透明色時用0來代替。
LCD-TFT顯示控制器的層顯示窗口參數的配置圖如圖9所示。

圖9 層參數配置參考圖
其中,WHSTPOS為窗口起點行坐標,WVSTOPS為窗口起點場坐標,WHSPPOS為顯示窗口的高度和寬度,為了保證圖像能夠正確顯示,一般都將顯示區域的大小配置成與顯存中圖像大小一致的參數。

[1] ST.STM32F405xx/07xx,STM32F415xx/17xx,STM32F42xxx and STM32F43xxx advanced ARM-based 32-bit MCUs reference manual,2014.
[2] 黃智偉,于紅利,寧志剛,等. 基于STM32F417的圖像采集系統設計[J]. 單片機與嵌入式系統應用, 2012, 12(10): 48-51.
[3] 蘇海冰, 吳欽章. 用SDRAM在高速數據采集和存儲系統中實現海量緩存[J]. 光學精密工程, 2002, 10(5):462- 465.
[4] 孫俊喜.LCD驅動電路、驅動程序設計及典型應用[M].北京:人民郵電出版社,2009:64-72.
楊志佳(碩士研究生)、陳小平(教授),主要研究方向為嵌入式系統應用。
Research of TFTLCD Display Driver Based on STM32F429
Yang Zhijia,Chen Xiaoping
(School of Electronic and Information Engineering,Soochow University,Suzhou 215000,China)
As a communication interface between people and machines,the LCD carries a large amount of information.With the rapid development of TFTLCD screen,the design of LCD display also becomes an important part of developing process of electronic product in all work of life.So the ST company launches the STM32F429 with Chrom-ART accelerator and LCD-TFT display controller based on the cortex-M4 kernel.It is convenient for users to design the high-integration,high-resolution and high-quality electronic products.
TFTLCD;STM32F429;Chrom-ART
TP36
A
?迪娜
2016-06-17)