基于STM32 的FSMC接口驅(qū)動(dòng)TFT彩屏的設(shè)計(jì)方案
0 引言
隨著電子產(chǎn)品的不斷更新,各種顯示界面的開發(fā)越來越多,由于TFT彩屏的性價(jià)比高,因而被廣泛用在各種電子設(shè)備上作為顯示屏。目前驅(qū)動(dòng)TFT彩屏的方案有很多,可以用底端單片機(jī)驅(qū)動(dòng)一個(gè)終端類型的液晶模組,這種模組價(jià)格比較貴,當(dāng)然用起來還是很方便的。
只要單片機(jī)通過串口或并行口向TFT發(fā)送幾個(gè)字節(jié)的命令,就能在屏幕上顯示你需要的效果。本設(shè)計(jì)利用STM32 的FSMC 總線直接驅(qū)動(dòng)TFT 數(shù)字彩屏。這種方案對(duì)相應(yīng)的寄存器進(jìn)行配置后就可以自動(dòng)向TFT數(shù)字彩屏發(fā)送數(shù)據(jù),無需CPU參與,讓CPU有足夠時(shí)間來處理其他程序。
1 STM32 簡(jiǎn)介
STM32 是基于ARM 內(nèi)核Cortex-M3 的32 位微控制器系列。Cortex-M3內(nèi)核是為低功耗和價(jià)格敏感的應(yīng)用而專門設(shè)計(jì)的,具有突出的能效比和處理速度。通過采用Thumb-2 高密度指令集,Cortex-M3 內(nèi)核降低了系統(tǒng)存儲(chǔ)要求,同時(shí)快速的中斷處理能夠滿足控制領(lǐng)域的高實(shí)時(shí)性要求,使基于該內(nèi)核設(shè)計(jì)的STM32 系列微控制器能夠以更優(yōu)越的性價(jià)比,面向更廣泛的應(yīng)用領(lǐng)域。
STM32系列微控制器為用戶提供了豐富的選擇,可適用于工業(yè)控制、智能家電、建筑安防、醫(yī)療設(shè)備以及消費(fèi)類電子產(chǎn)品等多方位嵌入式系統(tǒng)設(shè)計(jì)。STM32系列采用一種新型的存儲(chǔ)器擴(kuò)展技術(shù)---FSMC,在外部存儲(chǔ)器擴(kuò)展方面具有獨(dú)特的優(yōu)勢(shì),可根據(jù)系統(tǒng)的應(yīng)用需要,方便地進(jìn)行不同類型大容量靜態(tài)存儲(chǔ)器的擴(kuò)展。
2 TFT彩屏模塊工作原理
本設(shè)計(jì)采用3.2 寸分辨率為320×240 的液晶屏,并使用ILI9341芯片控制液晶屏。
液晶屏的控制芯片電路非常復(fù)雜。GRAM 中一個(gè)存儲(chǔ)單元對(duì)應(yīng)顯示屏的一個(gè)像素點(diǎn)。芯片內(nèi)部有電路把GRAM存儲(chǔ)單元的數(shù)據(jù)轉(zhuǎn)化成液晶屏的控制信號(hào),使每個(gè)點(diǎn)呈現(xiàn)特定的亮度和顏色,而這些點(diǎn)組合起來則成為顯示界面。ILI9341 里有主要配置引腳和控制信號(hào)線,可以根據(jù)它的設(shè)置使芯片工作在不同的模式;使用8080 接口或SPI接口與MCU 進(jìn)行通信;使用8080 接口的什么模式。MUC通過SPI或8080接口與ILI9341進(jìn)行通信,從而訪問它的地址計(jì)數(shù)器(AC)、控制寄存器(CR)、GRAM及一個(gè)LED控制器。LCD本身不會(huì)發(fā)光,它需要借助背光源才實(shí)現(xiàn)顯示功能,LED控制器就是用來控制液晶屏模塊中發(fā)光二級(jí)管的背光源。LI9341使用8080通信時(shí)序工作,ILI9341的8080接口有5條控制信號(hào)線:寫使能信號(hào)線WRX,讀使能信號(hào)線RDX,復(fù)位信號(hào)線RESX,片選信號(hào)線CSX,區(qū)分?jǐn)?shù)據(jù)和命令信號(hào)線D/CX.除了控制信號(hào),還有數(shù)據(jù)信號(hào)線。
3 總體方案的硬件設(shè)計(jì)
本文以STM32F103VE 芯片的FSMC接口連接RGB接口數(shù)字屏,并利用DMA 從片外FLASH 讀取顯示數(shù)據(jù)。DMA即直接內(nèi)存存取,CPU只需配置DMA相關(guān)的寄存器后,DMA 控制器就會(huì)自動(dòng)將數(shù)據(jù)從一個(gè)地址傳送到另外一個(gè)地址,不占用CPU 時(shí)間。本文采用STM32F103VE 芯片外部連接FLASH 用作顯存,其整體硬件方案如圖1所示。
由于圖片的數(shù)據(jù)太大需要外接FLASH存儲(chǔ)器用來存儲(chǔ)圖片數(shù)據(jù),電路如圖2 所示。
本設(shè)計(jì)使用的AT25DF041A芯片是一個(gè)串行接口的閃存設(shè)備,靈活的架構(gòu)AT25DF041A擦掉、消除粒度小至4 KB,使它非常適合數(shù)據(jù)存儲(chǔ),不再需要額外數(shù)據(jù)存儲(chǔ)E2PROM設(shè)備。
4 軟件設(shè)計(jì)
本設(shè)計(jì)的軟件主要有硬件層配置和顯示驅(qū)動(dòng)函數(shù)。硬件層配置主要是對(duì)STM32 的I/O 口的輸入/輸出和FSMC 相關(guān)的寄存器配置。顯示驅(qū)動(dòng)函數(shù)主要是向TFT彩屏發(fā)送控制命令和數(shù)據(jù),另外還有一些簡(jiǎn)單的畫圖函數(shù)。
模擬信號(hào)相關(guān)文章:什么是模擬信號(hào)
評(píng)論