引言
隨著工業(yè)技術(shù)的不斷發(fā)展,人機界面的開發(fā)及應用空前火熱,,為了具有比較友好的人機界面,,TFT數(shù)字彩屏被廣泛的應用,但是TFT彩屏通常都不帶有控制器,,所以現(xiàn)在驅(qū)動彩屏的方案大致有2種:
①采用ARM9或者更高級別的平臺,,芯片上帶有TFT控制器,可以直接掛接TFT數(shù)字屏,。
②采用低端CPU處理器平臺,,外加TFT控制器模塊,,再掛接TFT數(shù)字屏。
對于方案①來說,,系統(tǒng)的復雜度會莫名地增加,,再加上該類的平臺中主MCU多為BGA封裝,對于需求很多小量多樣化產(chǎn)品的客戶來說,,較難以接受這樣的方案,;而 ②方案平白無故添加了一個LCD控制器。這兩種方案無論哪一種都增加了硬件成本,,本文提出了一種由STM32的FSMC總線直接掛載RGB接口屏的方案,,直接由一片 CPU(STM32F103VC)來完成TFT屏的顯示而且不會占用全部的CPU時間,從而節(jié)約了產(chǎn)品的成本,。
1 總體方案與硬件整體架構(gòu)
現(xiàn)在,,TFT屏的價格與傳統(tǒng)的單色液晶模塊的價格幾乎相當,甚至比一些尺寸差不多的單色屏還要便宜,;而從客戶和廠商的角度來看,,很多設備/儀器/小型工業(yè)裝備的制造商也紛紛尋求彩色TFT的設計方案,以提升產(chǎn)品的競爭力和顯示效果,?;谝陨显颍P者以STM32處
理器的FSMC接口掛載RGB接口數(shù)字屏并結(jié)合DMA傳輸?shù)姆绞皆O計出了一種驅(qū)動RGB數(shù)字屏的方法,。DMA即直接存儲器,,存取用來提供在外設和存儲器之間或者存儲器和存儲器之間的高速數(shù)據(jù)傳輸。無須CPU干預,,數(shù)據(jù)可以通過DMA快速地移動,,這就節(jié)省了CPU的資源來做其他操作,。本文采用STM32F103VCT6外部掛接ISSI的25616 SRAM 512 KB的靜態(tài)RAM用作顯存,,再使用DMA的Memory to Memory模式從外部顯存往FSMC的數(shù)據(jù)線不停地送數(shù)據(jù)來刷新彩屏,無需CPU的干預,。其整體硬件方案如圖1所示,。
2 軟件部分設計及實現(xiàn)
本方案的所有功能都是在STM32內(nèi)部實現(xiàn),軟件部分主要是對系統(tǒng),、FSMC,、DMA、定時器部分的初始化以及參數(shù)的設置,,同時為了滿足RGB數(shù)字屏對接口時序的嚴格要求,,本方案采用STM32自帶的定時器來產(chǎn)生精確的定時,滿足屏接口對時序的嚴格要求,。由DMA的MEMORY TO MEMORY模式完成從SRAM到屏數(shù)據(jù)接口的數(shù)據(jù)傳輸以完成對屏的刷新,。
2.1 系統(tǒng)初始化
Syslemlnit(),;
GPIOInit();
2.2 FSMC模塊介紹以及初始化程序
FSMC即靈活的靜態(tài)存儲控制器,,是內(nèi)置有大容量STM32F10XXX的外部存儲控制器,。使用這個控制器,STM32F10XXX微控制器可以與許多存儲器連接,,包括SRAM,、NOR閃存和NAND閃存等。FSMC模塊如圖2所示,。
本文FSMC同時掛載SRAM和RGB接口屏,,并且數(shù)據(jù)接口復用,因此對程序中數(shù)據(jù)總線的時間配置提出了嚴格的要求,,以防止數(shù)據(jù)總線使用沖突,。
FSMC初始化部分代碼如下:
2.3 DMA模塊介紹及初始化代碼
本文采用存儲器到存儲器之間的數(shù)據(jù)傳輸模式,由外部顯存SRAM傳輸數(shù)據(jù)到FSMC接口來完成數(shù)據(jù)更新,。DMA部分初始化代碼如下所示:
2.4 屏接口時序的實現(xiàn)
由于RGB接口數(shù)字屏對時序要求相對來說比較苛刻,,所以采用STM32103VCT6的高級定時器來產(chǎn)生精確的時間單位,并以此為最小的時間單位來產(chǎn)生相應的接口時序,,STM32由定時器來控制對TFT的掃描,,以保證足夠的刷新率。掃描時,,STM32的CPU僅僅參與對DMA的設置和顯存的操作,,由DMA控制器來直接從顯存中讀取顯示數(shù)據(jù)并送至連接RGB數(shù)字總線上,不停地讀寫,。這都是由DMA控制器來完成的,,占用CPU的時間是有限的,從而有足夠的時間來實現(xiàn)用戶程序代碼,。
結(jié)語
經(jīng)實際證明,,本方案是可行的,能保證320×240點陣的TFT的刷新率,,且留有足夠CPU時間給用戶程序,。但是對于分辨率較高的彩屏,由于STM32主頻的限制,,刷屏速度會很慢,,達不到應用要求,但是對于一些分辨率適當?shù)牟势吝€是能勝任的,。