STM32 的FSMC接口驅(qū)動TFT彩屏的設(shè)計(jì)方案_第1頁
STM32 的FSMC接口驅(qū)動TFT彩屏的設(shè)計(jì)方案_第2頁
STM32 的FSMC接口驅(qū)動TFT彩屏的設(shè)計(jì)方案_第3頁
STM32 的FSMC接口驅(qū)動TFT彩屏的設(shè)計(jì)方案_第4頁
STM32 的FSMC接口驅(qū)動TFT彩屏的設(shè)計(jì)方案_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、【W(wǎng)ord版本下載可任意編輯】 STM32 的FSMC接口驅(qū)動TFT彩屏的設(shè)計(jì)方案 0 引言 隨著電子產(chǎn)品的不斷更新,各種顯示界面的開發(fā)越來越多,由于TFT彩屏的性價比高,因而被廣泛用在各種電子設(shè)備上作為顯示屏。目前驅(qū)動TFT彩屏的方案有很多,可以用底端單片機(jī)驅(qū)動一個終端類型的液晶模組,這種模組價格比較貴,當(dāng)然用起來還是很方便的。 只要單片機(jī)通過串口或并行口向TFT發(fā)送幾個字節(jié)的命令,就能在屏幕上顯示你需要的效果。本設(shè)計(jì)利用STM32 的FSMC 總線直接驅(qū)動TFT 數(shù)字彩屏。這種方案對相應(yīng)的存放器開展配置后就可以自動向TFT數(shù)字彩屏發(fā)送數(shù)據(jù),無需CPU參與,讓CPU有足夠時間來處理其他程序。

2、 1 STM32 簡介 STM32 是基于ARM 內(nèi)核Cortex-M3 的32 位微控制器系列。Cortex-M3內(nèi)核是為低功耗和價格敏感的應(yīng)用而專門設(shè)計(jì)的,具有突出的能效比和處理速度。通過采用Thumb-2 *度指令集,Cortex-M3 內(nèi)核降低了系統(tǒng)存儲要求,同時快速的中斷處理能夠滿足控制領(lǐng)域的高實(shí)時性要求,使基于該內(nèi)核設(shè)計(jì)的STM32 系列微控制器能夠以更優(yōu)越的性價比,面向更廣泛的應(yīng)用領(lǐng)域。 STM32系列微控制器為用戶提供了豐富的選擇,可適用于工業(yè)控制、智能家電、建筑安防、醫(yī)療設(shè)備以及消費(fèi)類電子產(chǎn)品等多方位嵌入式系統(tǒng)設(shè)計(jì)。STM32系列采用一種新型的存儲器擴(kuò)展技術(shù)FSMC,在外部存

3、儲器擴(kuò)展方面具有獨(dú)特的優(yōu)勢,可根據(jù)系統(tǒng)的應(yīng)用需要,方便地開展不同類型大容量靜態(tài)存儲器的擴(kuò)展。 2 TFT彩屏模塊工作原理 本設(shè)計(jì)采用3.2 寸分辨率為320240 的液晶屏,并使用ILI9341芯片控制液晶屏。 液晶屏的控制芯片電路非常復(fù)雜。GRAM 中一個存儲單元對應(yīng)顯示屏的一個像素點(diǎn)。芯片內(nèi)部有電路把GRAM存儲單元的數(shù)據(jù)轉(zhuǎn)化成液晶屏的控制信號,使每個點(diǎn)呈現(xiàn)特定的亮度和顏色,而這些點(diǎn)組合起來則成為顯示界面。ILI9341 里有主要配置引腳和控制信號線,可以根據(jù)它的設(shè)置使芯片工作在不同的模式;使用8080 接口或SPI接口與MCU 開展通信;使用8080 接口的什么模式。MUC通過SPI或8

4、080接口與ILI9341開展通信,從而訪問它的地址計(jì)數(shù)器(AC)、控制存放器(CR)、GRAM及一個LED控制器。LCD本身不會發(fā)光,它需要借助背光源才實(shí)現(xiàn)顯示功能,LED控制器就是用來控制液晶屏模塊中發(fā)光二級管的背光源。LI9341使用8080通信時序工作,ILI9341的8080接口有5條控制信號線:寫使能信號線WRX,讀使能信號線RDX,復(fù)位信號線RESX,片選信號線CSX,區(qū)分?jǐn)?shù)據(jù)和命令信號線D/CX.除了控制信號,還有數(shù)據(jù)信號線。 3 總體方案的硬件設(shè)計(jì) 本文以STM32F103VE 芯片的FSMC接口連接RGB接口數(shù)字屏,并利用DMA 從片外FLASH 讀取顯示數(shù)據(jù)。DMA即直接

5、內(nèi)存存取,CPU只需配置DMA相關(guān)的存放器后,DMA 控制器就會自動將數(shù)據(jù)從一個地址傳送到另外一個地址,不占用CPU 時間。本文采用STM32F103VE 芯片外部連接FLASH 用作顯存,其整體硬件方案如圖1所示。 由于圖片的數(shù)據(jù)太大需要外接FLASH存儲器用來存儲圖片數(shù)據(jù),電路如圖2 所示。 本設(shè)計(jì)使用的AT25DF041A芯片是一個串行接口的閃存設(shè)備,靈活的架構(gòu)AT25DF041A擦掉、消除粒度小至4 KB,使它非常適合數(shù)據(jù)存儲,不再需要額外數(shù)據(jù)存儲E2PROM設(shè)備。 4 軟件設(shè)計(jì) 本設(shè)計(jì)的軟件主要有硬件層配置和顯示驅(qū)動函數(shù)。硬件層配置主要是對STM32 的I/O 口的輸入/輸出和FSM

6、C 相關(guān)的存放器配置。顯示驅(qū)動函數(shù)主要是向TFT彩屏發(fā)送控制命令和數(shù)據(jù),另外還有一些簡單的畫圖函數(shù)。 4.1 FSMC簡介 FSMC是靈活靜態(tài)存儲控制器。STM32芯片可利用FSMC 控制NOR FLASH、PSRAM 和NAND FLASH 存儲芯片.這里,只使用FSMC 的NOR/PSRAM 模式控制LCD,所以只需分析NOR FLASH 控制信號線部分。 STM32 尋址空間的地址映射中的060000000 0 x6FFFFFFF 是分配給PSRAM、NOR FLASH 這類可直接尋址的器件。當(dāng)外部接了NOR FLASH,并且FSMC外設(shè)被設(shè)置為正常工作,當(dāng)向060000000 地址寫入

7、數(shù)據(jù)0 xFFFF,FSMC會自動把數(shù)據(jù)轉(zhuǎn)化成各信號線上相應(yīng)的電平信號寫入數(shù)據(jù)。 4.2 用FSMC模擬8080時序 FSMC寫NOR 時序跟8080接口的時序是十分相似的,對它們的信號線比照如下表1所示。 為了模擬出8080 時序,把FSMC 地址線中的A0 連接8080的DCX,當(dāng)A0為低電平時,數(shù)據(jù)線D的信號會被理解為ILI9341命令,若A0為高電平時,傳輸?shù)男盘杽t會被理解為數(shù)據(jù)。所以傳送數(shù)據(jù)時只需向地址為0 x6xxxxxx1,0 x6xxxxxx3,0 x6xxxxxx5 這些奇數(shù)地址寫入數(shù)據(jù),此時地址線A0(D/CX)會為高電平;需要發(fā)送命令時向0 x6xxxxxx0,0 x6x

8、xxxxx2,0 x6xxxxxx4 這些偶數(shù)地址寫入數(shù)據(jù)時,地址線A0(D/CX)會為低電平,這個數(shù)據(jù)會被理解為命令。在代碼中利用指針變量,向不同的地址單元寫入數(shù)據(jù),就能夠由FSMC 模擬出8080 接口向ILI9341寫入控制命令或GRAM的數(shù)據(jù)了。 4.3 部分代碼設(shè)計(jì) (1)初始化液晶屏 初始化液晶屏是對液晶控制器ILI9341 用到的I/O口、FSMC 接口開展初始化,并且向該控制器寫入了命令參數(shù),配置好LCD液晶屏的基本功能。除了復(fù)位、背光用的PD11和PD0設(shè)置為通用推挽輸出外,其他的與FSMC 接口相關(guān)的控制信號、地址信號、數(shù)據(jù)信號的端口全部設(shè)置為復(fù)用推挽輸出。代碼如下: (2

9、)初始化FSMC模式 LCD_Init()函數(shù)調(diào)用LCD_FSMC_Config()設(shè)置FSMC的模式使它模擬出8080接口,函數(shù)主要作用是設(shè)置各個信號的產(chǎn)生時間,使FSMC接口的時序與8080接口匹配。LCD_FSMC_Config()設(shè)置FSMC模式的代碼如下: 以上主要使用FSMC_NORSRAMInitTypeDef類型的構(gòu)造體和FSMC_NORSRAMTimingInitTypeDef類型的構(gòu)造體對FSMC 開展配置。種類型構(gòu)造體主要配置存儲器類型,數(shù)據(jù)寬度等用于NOR FLASH 的模式配置;另一種類型構(gòu)造體用于配置FSMC 的NOR FLASH模式下讀/寫時序中的地址建立時間、地

10、址保持時間等。 (3)FSMC模擬8080讀/寫參數(shù)、命令 初始化完成FSMC 接口后,就可以使用FSMC 向ILI9341發(fā)送數(shù)據(jù)了。在LCD_Ini(t )中調(diào)用Lcd_init_conf()函數(shù)向ILI9341寫入一系列的控制參數(shù): 限于篇幅,以上只是該函數(shù)其中的一部分,省略部分的代碼只是寫入的參數(shù)和命令有些不一樣,這些命令和參數(shù)設(shè)置了像素點(diǎn)顏色格式、屏幕掃描方式、橫屏/豎屏等初始化配置,可以從ILI9341的datasheet命令列表中查到這些命令的意義。函數(shù)LCD_ILI9341_CMD()的作用是寫入命令,函數(shù)LCD_ILI9341_Parameter()的作用是寫入命令參數(shù)。 5 結(jié)語 本文對基于STM32的TFT液晶顯示模塊的驅(qū)動方法開

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論