楊志佳,陳小平
(蘇州大學(xué) 電子信息學(xué)院,蘇州 215000)
?
STM32F429的TFTLCD顯示驅(qū)動方案的研究
楊志佳,陳小平
(蘇州大學(xué) 電子信息學(xué)院,蘇州 215000)
顯示器作為人機交流的界面,承載著大量信息傳遞的功能。隨著TFTLCD液晶屏在各行各業(yè)中的需求量日益增加,關(guān)于LCD的顯示設(shè)計方案也成為了各電子產(chǎn)品開發(fā)過程中的重要組成部分。對此,ST公司推出了一款基于ARM Cortex-M4內(nèi)核的處理器STM32F429,其自帶Chrom-ART圖像加速器和LCD-TFT顯示控制器,方便用戶設(shè)計出高集成度、高分辨率以及高畫質(zhì)的電子產(chǎn)品。
TFTLCD;STM32F49;Chrom-ART
隨著工業(yè)技術(shù)的提高,TFTLCD液晶器件在各類消費電子以及工業(yè)上的應(yīng)用越來越廣泛,但通常TFTLCD不帶驅(qū)動控制器,單片機往往通過串行或并行總線接口與外加的TFT控制器模塊連接,再掛接TFTLCD液晶面板。受限于連接數(shù)據(jù)總線的傳輸速度,這樣的LCD顯示方案很難支持高分辨率和高顯示質(zhì)量的圖片。因此,本文提出了基于STM32F429的顯示方案,圍繞STM32F429微控制器完成液晶顯示的硬件設(shè)計,并介紹了基于該硬件平臺的軟件設(shè)計。
STM32F429在中高端圖像顯示系統(tǒng)中有著廣泛的應(yīng)用,設(shè)計者使用STM32F429集成的Chrom-ART圖像加速器、片上或片外存儲器作為幀緩沖、LTDC接口連接顯示屏。其LCD顯示系統(tǒng)架構(gòu)如圖1所示。
圖1 LCD顯示系統(tǒng)架構(gòu)
Chrom-ART圖像加速器能在存儲區(qū)內(nèi)建立圖形元素,這些圖形元素在經(jīng)過處理之后會進(jìn)入內(nèi)部RAM,并進(jìn)一步在外部SDRAM中建立并更新幀緩沖區(qū),之后TFTLCD控制器將SDRAM中的數(shù)據(jù)流通過RGB接口傳輸給TFTLCD顯示屏。
STM32F429微控制器與低級別微控制器相比,主要增加了Chrom-ART圖像加速器、支持最高分辨率可達(dá)800×600的LCD-TFT顯示控制器以及支持32位數(shù)據(jù)寬度的SDRAM接口。
Chrom-ART圖像加速器其實就是專門用來傳送數(shù)據(jù)的DMA控制器和圖形處理模塊的結(jié)合。它支持原始數(shù)據(jù)拷貝、帶像素格式轉(zhuǎn)換的圖形拷貝,以及帶透明特性的圖像疊加。
由于Chrom-ART圖形加速器與系統(tǒng)DMA相互獨立,并且作為AHB總線主設(shè)備的Chrom-ART圖形加速器可以對任何存儲區(qū)進(jìn)行突發(fā)訪問,所以極大地加快了對圖像的操作和設(shè)計。Chrom-ART圖像加速器還可對存儲區(qū)內(nèi)的位圖設(shè)定高度、寬度和起始地址,目標(biāo)圖形的輸出起始地址和像素格式也可以靈活地設(shè)定。
本文提出的LCD的顯示方案就能夠充分利用Chrom-ART圖形加速器的功能,在降低CPU工作量的同時提高顯示效率。
STM32F429內(nèi)部自帶高度集成的LCD-TFT顯示控制器,LCD-TFT顯示控制器和TFTLCD顯示屏之間通過24位的并行RGB數(shù)據(jù)線、同步時鐘信號CLK、行同步信號HS、場同步信號VS以及數(shù)據(jù)使能信號DE連接。
LCD-TFT顯示控制器具有兩個顯示層,且每層都有專用的FIFO,每層有多達(dá)8種的顏色輸入形式可以選擇,且每一層的配置參數(shù)靈活可變。
LCD-TFT顯示控制器的結(jié)構(gòu)如圖2所示。LCD-TFT顯示控制器作為主線控制器,每層都有各自專用的FIFO,用來從存儲器中傳輸顯示圖像,并且每層都有各自獨立的像素格式轉(zhuǎn)換單元PFC,有8種像素格式可供選擇,包括ARGB8888、RGB888、RGB565、ARGB1555、ARGB4444、L8、AL44和AL88。在經(jīng)過像素轉(zhuǎn)換處理之后,LCD-TFT控制器會將相同格式的兩層圖像疊加在一起,在經(jīng)過抖動處理之后配合同步時序?qū)@示數(shù)據(jù)傳輸給液晶屏。
圖2 LCD-TFT控制器的結(jié)構(gòu)示意圖
根據(jù)上文介紹可知,整個LCD硬件方案主要由主芯片、外部存儲器SDRAM以及TFTLCD顯示屏組成。
3.1 外部存儲器SDRAM
若所需的顯示屏較大,在高速圖像采集和存儲系統(tǒng)中需要臨時存儲大量數(shù)據(jù),就必須使用片外存儲器SDRAM作為幀緩沖,采用SDRAM作為數(shù)據(jù)緩存是一種非常有效的方法。SDRAM不僅存儲量大,而且傳輸速度快。本文以IS42S16400為例,對SDRAM進(jìn)行充分論述。
IS42S16400的單片容量為64 Mb,數(shù)據(jù)寬度為32位,最高時鐘頻率可達(dá)133 MHz,內(nèi)部有4個Bank,每個Bank由2 048個行和256個列組成。STM32F429使用FMC接口與SDRAM相連,其SDRAM接口可靈活配置,時鐘速度、數(shù)據(jù)寬度、時序等都可以靈活配置,以滿足不同SDRAM對于TRCD、TCAS和刷新率的要求,并且還有自動刷新模式和掉電模式可供選擇。
值得一提的是,STM32F429集成了專業(yè)FIFO優(yōu)化讀寫操作,在寫操作或者預(yù)充電操作時,F(xiàn)IFO會被清空;在讀取SDRAM操作時,SDRAM控制器會提前讀出后續(xù)地址數(shù)據(jù)存儲在FIFO中,再次進(jìn)行讀操作時,控制器會先查看FIFO中是否有可用的數(shù)據(jù),如果有則直接使用FIFO中的數(shù)據(jù),避免了再次讀寫。這樣一來,對數(shù)據(jù)的讀取起到加速的作用。該芯片含有12位地址信號A[0…11]和16位數(shù)據(jù)信號D[0…15],以及兩位Bank選擇信號BA0和BA1,另外還包括片選信號SDNE1、寫使能信號SDNWE、行地址鎖存信號SDNRAS、列地址鎖存信號SDNCAS、時鐘信號SDCLK、時鐘使能信號SDCKE、字節(jié)選擇信號NBL0和NBL1。
該SDRAM芯片的讀寫時序如圖3、圖4所示。值得注意的是:為了提高SDRAM信號的準(zhǔn)確性,在畫PCB板的時候,SDRAM的數(shù)據(jù)線和地址線應(yīng)做等長處理。
圖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 顯示屏硬件連接圖
背光驅(qū)動電路如圖6所示,其主芯片采用的是MP3302,它是一款專門用于驅(qū)動TFTLCD的升壓轉(zhuǎn)換芯片。MP3302使用電流模式和固定的頻率結(jié)構(gòu),來調(diào)節(jié)通過外部檢測電阻測得的LED電流。正常工作時,F(xiàn)B的反饋輸入端BL_GND輸入200 mV的電壓,這個200 mV的低反饋電壓在一定程度上可以減少電源損耗,提高工作效率。4腳EN端是控制端口,EN端的輸入電壓必須高于0.6 V才能驅(qū)動芯片,當(dāng)EN端的電壓在0.7~1.4 V之間時,反饋電壓會在0~200 mV之間調(diào)節(jié),使得輸出電壓符合要求。
圖6 背光驅(qū)動電路
電源部分以24 V直流供電為例,由于需要3.3 V、-7 V、10.4 V、16 V,所以采用的方案是先通過LM2575芯片將電壓從24 V降至5 V,再通過TPS61040芯片將5 V電壓升高至10.4 V。TPS61040可輸出的電壓最高可以達(dá)到28 V,且輸出穩(wěn)定,專門用于給各類液晶供電。生成10.4 V之后,再通過肖特基二極管BAT54S、穩(wěn)壓二極管ZMM3V9和ZMM4V7將10.4 V整流成16 V和-7 V。3.3 V直接采用LD1117-3.3芯片將5 V直接降至3.3 V,給各類芯片和顯示屏供電。其電路圖如圖7所示。
圖7 電源模塊電路
本方案的所有功能都是在微控制器內(nèi)部實現(xiàn),軟件部分主要是對系統(tǒng)時鐘、SDRAM、TFTLCD部分的初始化以及LTDC時序及層參數(shù)的配置。
4.1 系統(tǒng)初始化
STM32F429的主頻最高可達(dá)180 MHz,本系統(tǒng)為了保證SDRAM的數(shù)據(jù)穩(wěn)定,將主頻定為160 MHz,將TFTLCD的RGB端口配置成普通復(fù)用推換輸出。LCD顯示內(nèi)容可通過兩種方式存儲:一種是以數(shù)組的形式直接存儲在微控制器的內(nèi)部Flash中,但考慮到本例使用的是7寸800×480分辨率的顯示屏,其數(shù)據(jù)量高達(dá)1 MB多,如果想采用本方案,則最好選擇2 MB的主芯片,對于小尺寸TFTLCD來說,數(shù)據(jù)占用量小,采用該方案可方便快捷,大大降低了成本;另一種是將要顯示的圖片存儲在TF卡中,如果顯示的圖片較多,采用TF卡的方案則更加妥當(dāng)一些。
4.2 掃描時序配置
關(guān)于LCD-TFT控制器的掃描時序配置只需結(jié)合圖8理解即可,這部分內(nèi)容需要根據(jù)所采用的TFTLCD顯示屏的手冊嚴(yán)格配置。
圖8 掃描時序配置參考圖
各參數(shù)含義如表1所列。
表1 時序參數(shù)含義
4.3 層參數(shù)配置
LCD-TFT顯示控制器共有三層,從下到上分別為Background、Layer1和Layer2。LCD的顯示結(jié)果都是這三層疊加之后的結(jié)果,疊加運算公式為:BC=BF1×C+BF2×Cs。其中BC為疊加色,BF1和BF2為層一和層二的疊加系數(shù),且有BF1+BF2 = 100%,C為當(dāng)前層顏色,Cs為下一層顏色,在等于本層的透明色時用0來代替。
LCD-TFT顯示控制器的層顯示窗口參數(shù)的配置圖如圖9所示。
圖9 層參數(shù)配置參考圖
其中,WHSTPOS為窗口起點行坐標(biāo),WVSTOPS為窗口起點場坐標(biāo),WHSPPOS為顯示窗口的高度和寬度,為了保證圖像能夠正確顯示,一般都將顯示區(qū)域的大小配置成與顯存中圖像大小一致的參數(shù)。
[1] ST.STM32F405xx/07xx,STM32F415xx/17xx,STM32F42xxx and STM32F43xxx advanced ARM-based 32-bit MCUs reference manual,2014.
[2] 黃智偉,于紅利,寧志剛,等. 基于STM32F417的圖像采集系統(tǒng)設(shè)計[J]. 單片機與嵌入式系統(tǒng)應(yīng)用, 2012, 12(10): 48-51.
[3] 蘇海冰, 吳欽章. 用SDRAM在高速數(shù)據(jù)采集和存儲系統(tǒng)中實現(xiàn)海量緩存[J]. 光學(xué)精密工程, 2002, 10(5):462- 465.
[4] 孫俊喜.LCD驅(qū)動電路、驅(qū)動程序設(shè)計及典型應(yīng)用[M].北京:人民郵電出版社,2009:64-72.
楊志佳(碩士研究生)、陳小平(教授),主要研究方向為嵌入式系統(tǒng)應(yīng)用。
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)