GD32F3開(kāi)發(fā)進(jìn)階教程 課件 ch01EXMC與LCD顯示實(shí)驗(yàn)_第1頁(yè)
GD32F3開(kāi)發(fā)進(jìn)階教程 課件 ch01EXMC與LCD顯示實(shí)驗(yàn)_第2頁(yè)
GD32F3開(kāi)發(fā)進(jìn)階教程 課件 ch01EXMC與LCD顯示實(shí)驗(yàn)_第3頁(yè)
GD32F3開(kāi)發(fā)進(jìn)階教程 課件 ch01EXMC與LCD顯示實(shí)驗(yàn)_第4頁(yè)
GD32F3開(kāi)發(fā)進(jìn)階教程 課件 ch01EXMC與LCD顯示實(shí)驗(yàn)_第5頁(yè)
已閱讀5頁(yè),還剩49頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

EXMC與LCD顯示實(shí)驗(yàn)“《GD32F3開(kāi)發(fā)進(jìn)階教程——基于GD32F303ZET6》第一章01實(shí)驗(yàn)內(nèi)容本章的主要內(nèi)容是學(xué)習(xí)GD32F3蘋(píng)果派開(kāi)發(fā)板上的LCD顯示模塊,包括LCD顯示控制芯片NT35510和驅(qū)動(dòng)NT35510芯片的EXMC外設(shè)的工作原理握動(dòng)LCD顯示模塊顯示的原理和方法后,基于GD32F3蘋(píng)果派開(kāi)發(fā)板設(shè)計(jì)一個(gè)EXMC與LCD顯示實(shí)驗(yàn),在LCD顯示模塊上繪制出DAC實(shí)驗(yàn)的正波。實(shí)驗(yàn)內(nèi)容02實(shí)驗(yàn)原理LCD顯示模塊開(kāi)發(fā)板上的LCD顯示模塊接口電路原理圖如圖1-1所示。GD32F3蘋(píng)果派開(kāi)發(fā)板配套的LCD顯示模塊采用16位的8080并行接口來(lái)傳輸數(shù)據(jù)8080接口方式用到4條控制線(LCDCSLCDWRLCDRD和LCDRS)和16條雙向數(shù)據(jù)線LCD顯示模塊接口定義如表1-1所示。LCD顯示模塊LCD顯示模塊LCD顯示模塊通過(guò)8080并行接口傳輸?shù)臄?shù)據(jù)有兩種,分別為NT35510芯片的控制指令和LCD像素點(diǎn)顯示的RGB顏色數(shù)據(jù)。這兩種數(shù)據(jù)都涉及寫(xiě)入和讀取,下面根據(jù)LCD的信號(hào)線來(lái)簡(jiǎn)單介紹LCD讀/寫(xiě)指今和RGB數(shù)據(jù)的時(shí)序圖。讀/寫(xiě)數(shù)據(jù)首先需要拉低片選信號(hào)LCD_CS,然后根據(jù)是寫(xiě)入還是讀取數(shù)據(jù),配置LCD_WR和LCD_RD的電平。如果是寫(xiě)入數(shù)據(jù),則將LCD_WR拉低LCD_RD拉高:讀數(shù)據(jù)則相反。數(shù)據(jù)通過(guò)EXMCD的16位雙向數(shù)據(jù)線進(jìn)行傳輸。LCD顯示模塊0102寫(xiě)入數(shù)據(jù):在LCD_WR的上升沿,將數(shù)據(jù)寫(xiě)入NT35510。讀取數(shù)據(jù):在LCD_RD的上升沿,讀取數(shù)據(jù)線上的數(shù)據(jù)(EXMC_D[0:15])。LCD顯示模塊LCD顯示模塊LCD顯示模塊液晶控制器NT35510芯片自帶顯存,顯存大小為1152000字節(jié)(480x800x24/8字節(jié))即24位模式下的顯存量。在16位模式下,NT35510采用RGB565格式存儲(chǔ)顏色數(shù)據(jù),此時(shí)NT35510的24位數(shù)據(jù)線、GD32F30x系列微控制器的16位數(shù)據(jù)線和LCDGRAM的對(duì)應(yīng)關(guān)系如表1-2所示。NT35510的顯存NT35510的顯存NT35510在16位模式下,使用到的數(shù)據(jù)線為D17~D13和D11~D1D0和D12未使用NT35510的D17~D13和D11~D1分別對(duì)應(yīng)GD32F303ZET6微控制器上的16個(gè)GPIO。RGB的16位顏色數(shù)據(jù)低5位代表藍(lán)色,中間6位為綠色,高5位為紅色。數(shù)值越大,表示該顏色越深。注意,NT35510的所有指令均為16位,且讀/寫(xiě)GRAM時(shí)也是16位。NT35510的顯存0102030xDA00~0xDC00指令0xDA00~0xDC00為讀ID指令,分別用于讀取LCD產(chǎn)品的D、控制器版本的ID及控制器的ID。0x3600指令0x3600為存儲(chǔ)訪問(wèn)控制指令,用于控制NT35510存儲(chǔ)器的讀/寫(xiě)方向。0x2A00~0x2A03指令0x2A00~0x2A03各帶有一個(gè)參數(shù),用于設(shè)置兩個(gè)坐標(biāo)值。NT35510常用指令NT35510常用指令NT35510常用指令NT35510常用指令NT35510常用指令NT35510常用指令0405060x2B00~0x2B03與列地址設(shè)置指令類(lèi)似,指令0x2B00~0x2B03為行地址設(shè)置指令。0x2C00指令0x2C00為寫(xiě)GRAM指令,在向NT35510發(fā)送該指令之后,即可向LCD的GRAM中寫(xiě)入顏色數(shù)據(jù),該指令支持連續(xù)寫(xiě)。0x2E00指令0x2E00為讀GRAM指令,如表1-8所示。NT35510常用指令NT35510常用指令NT35510常用指令1.EXMC功能框圖EXMC是外部存儲(chǔ)器控制器,主要用于訪問(wèn)各種外部存儲(chǔ)器,通過(guò)配置寄存器,EXMC可以把AMBA協(xié)議轉(zhuǎn)換為專(zhuān)用的片外存儲(chǔ)器通信協(xié)議。GD32F30x系列微控制器的EXMC可訪問(wèn)的存儲(chǔ)器包括SRAM、ROM、NORFlash、NANDFlash和PC卡等。用戶還可以調(diào)整配置寄存器中的時(shí)間參數(shù)來(lái)提高通信效率。EXMC的訪問(wèn)空間被劃分為多個(gè)塊(Bank),每個(gè)塊支持特定的存儲(chǔ)器類(lèi)型,用戶可以通過(guò)配置Bank的控制寄存器來(lái)控制外部存儲(chǔ)器。GD32F30x系列微控制器的EXMC由5部分組成:AHB總線接口、EXMC配置寄存器NORFlash/PSRAM控制器、NANDFlash/PCCard控制器和外部設(shè)備接口,如圖1-4所示。EXMC簡(jiǎn)介EXMC簡(jiǎn)介2.AHB總線接口EXMC是AHB總線至外部設(shè)備協(xié)議的轉(zhuǎn)換接口。如圖1-5所示,EXMC由AHB總線控制AHB總線同時(shí)也由微控制器控制,如果需要對(duì)芯片內(nèi)某個(gè)地址進(jìn)行讀/寫(xiě)操作,則通過(guò)圖1-4中的通用共享引腳EXMCA[25:0]即可完成對(duì)外部存儲(chǔ)器的尋址。EXMC簡(jiǎn)介EXMC簡(jiǎn)介3.NORFlash/PSRAM控制器EXMC將外部存儲(chǔ)器分成4個(gè)Bank:Bank0~Bank3,每個(gè)Bank占256MB,其中Bank0又分為4個(gè)Region,每個(gè)Region占64MB。每個(gè)Bank或Region都有獨(dú)立的片選控制信號(hào),也都能進(jìn)行獨(dú)立的配置。本實(shí)驗(yàn)通過(guò)EXMC來(lái)驅(qū)動(dòng)LCD顯示模塊具體使用的存儲(chǔ)區(qū)域范圍為Bank0的Region1區(qū)(即0x64000000~0x67FFFFFF)。這里的HADDR為內(nèi)部AHB地址總線,其中,HADDR[25:0]來(lái)自外部存儲(chǔ)器地址EXMCA[25:0],而HADDR[27:26]對(duì)4個(gè)Region區(qū)進(jìn)行尋址。EXMC簡(jiǎn)介EXMC簡(jiǎn)介EXMC簡(jiǎn)介EXMC簡(jiǎn)介EXMC簡(jiǎn)介0405外部設(shè)備接口EXMC驅(qū)動(dòng)外部SRAM時(shí),外部SRAM的控制信號(hào)線一般有:地址線(如EXMCA[0:25])數(shù)據(jù)線(如EXMCD[0:15])寫(xiě)信號(hào)(EXMCWE)讀信號(hào)(EXMCOE)和片選信號(hào)(EXMCNEx):如果SRAM支持字節(jié)控制,那么還有UB/LB信號(hào)。EXMC寄存器對(duì)于NORFlash/PSRAM控制器(Bank0)可以通過(guò)EXMCSNCTLXEXMCSNTCFGx和EXMCSNWTCFGx這3個(gè)寄存器進(jìn)行配置(其中x-0~3,對(duì)應(yīng)4個(gè)Region),包括設(shè)置EXMC訪問(wèn)外部存儲(chǔ)器的時(shí)序參數(shù)等,拓寬了可選用的外部存儲(chǔ)器的速度范圍。EXMC簡(jiǎn)介6.EXMC部分固件庫(kù)函數(shù)(1)exmc_norsram_deinitexmc_norsram_deinit函數(shù)的功能是復(fù)位NOR/SRAMRgion。(2)exmc_norsram_enableexmc_norsram_enable函數(shù)的功能是使能EXMCNOR/SRAMRegion。EXMC簡(jiǎn)介EXMC簡(jiǎn)介EXMC簡(jiǎn)介L(zhǎng)CD顯示模塊的驅(qū)動(dòng)流程如圖1-10所示。其中,硬件復(fù)位即初始化LCD模塊,初始化序列的代碼由LCD廠家提供,不同廠家不同型號(hào)都不相同,硬件復(fù)位和初始化序列只需要執(zhí)行一次即可。下面以畫(huà)點(diǎn)和讀點(diǎn)的流程為例進(jìn)行介紹。LCD驅(qū)動(dòng)流程LCD驅(qū)動(dòng)流程LCD顯示模塊的驅(qū)動(dòng)流程如圖1-10所示。03實(shí)驗(yàn)代碼解析1.EXMC.h文件在EXMCh文件的“API函數(shù)聲明”區(qū),聲明了1個(gè)API函數(shù)。InitEXMC函數(shù)用于初始化外部存儲(chǔ)控制模塊。2.EXMC.c文件在EXMC.c文件的“內(nèi)部函數(shù)聲明”區(qū),聲明了內(nèi)部函數(shù)ConfigEXMCGPIO和ConfigBank0Region1。ConfigEXMCGPIO函數(shù)用于配置EXMC的相關(guān)GPIO,ConfigBank0Region1函數(shù)用于配置外部存儲(chǔ)Bank0的Region1。EXMC文件對(duì)下面按照順序解釋說(shuō)明CongBank0Region1函數(shù)中的語(yǔ)句:(1)第8行代碼:EXMC通過(guò)GPIO發(fā)送和接收數(shù)據(jù),ConfigEXMCGPIO函數(shù)已經(jīng)使能了與EXMC相關(guān)的GPIO的時(shí)鐘,還需要使能EXMC的時(shí)鐘。(2)第10至26行代碼:對(duì)讀時(shí)序和寫(xiě)時(shí)序?qū)?yīng)的結(jié)構(gòu)體進(jìn)行賦值,由于對(duì)NT35510讀數(shù)據(jù)和寫(xiě)數(shù)據(jù)是分開(kāi)進(jìn)行的,所以EXMC的儲(chǔ)存器訪問(wèn)模式設(shè)置為模式A,異步訪問(wèn)SRAM配置過(guò)程涉及的寄存器有SRAMRFlash時(shí)序寄存器(EXMC_SNTCFG1)SRAMR

Flash寫(xiě)時(shí)序寄存器(EXMC_SNWTCFG1)和NOR/PSRAM控制寄存器(EXMC_SNCTL1)。EXMC文件對(duì)下面按照順序解釋說(shuō)明CongBank0Region1函數(shù)中的語(yǔ)句:(3)第28至46行代碼對(duì)存放NORSRAM參數(shù)配置的結(jié)構(gòu)體進(jìn)行賦值選擇使能EXMC的Region1,并通過(guò)exmc_norsram_init函數(shù)初始化Regionl。EXMC文件對(duì)1.LCD.h文件在LCD.h文件的“宏定義”區(qū),進(jìn)行了如程序清單1-6所示的變量定義。第13行代碼中的宏定義LCD_BASE必須根據(jù)外部電路的連接來(lái)確定本實(shí)驗(yàn)使用Bank0的regionl即是從地址0x64000000開(kāi)始的。LCD文件對(duì)LCD文件對(duì)LCD文件對(duì)2.LCD.c文件在LCD.c文件的“內(nèi)部函數(shù)實(shí)現(xiàn)”區(qū),首先實(shí)現(xiàn)了LCDWriteCMD函數(shù),如程序清單1-9所示。LCDWriteCMD函數(shù)的功能是向LCD寫(xiě)指令,LCD-cmd的地址為0x64000000,對(duì)應(yīng)A[0]的狀態(tài)為0(即LCDRS=0),即給LCD讀/寫(xiě)指令。函數(shù)輸入?yún)?shù)cmd為對(duì)NT35510輸入的指令。LCD文件對(duì)LCD文件對(duì)在LCDShowNum函數(shù)實(shí)現(xiàn)區(qū)后為L(zhǎng)CDShowString函數(shù)的實(shí)現(xiàn)代碼。LCDShowString函數(shù)的功能是在指定位置顯示字符串。該函數(shù)調(diào)用了LCDShowChar來(lái)實(shí)現(xiàn)字符串的顯示。LCD文件對(duì)LCD文件對(duì)ProclmsTask函數(shù)的實(shí)現(xiàn)代碼如程序清單1-18所示,第1112行代碼用于從PA1引腳獲取從PA4引腳發(fā)送的正

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論