本文將就使用FSMC可能遇到的問(wèn)題進(jìn)行說(shuō)明。希望能對(duì)大家的學(xué)習(xí)有所幫助。
一、端口配置
1、 由于FSMC寫(xiě)NOR時(shí)序與8080接口的時(shí)序十分相識(shí),因此我們采用模擬8080時(shí)序,
2、 STM32的引腳圖如圖所示。
3、根據(jù)上圖我們可以得出,F(xiàn)SMC的數(shù)據(jù)端口D[15:0]如下
4、我們使用的是 FSMC 的信號(hào)線(xiàn) NE1 作為控制 8080 的 CSX 片選信號(hào),所以我們把本成配置為 FSMC_Bank1_NORSRAM1 (NE1 片選BANK1)。由上圖得FSMC-NE1 ==PD7 ---------LCD-CS
5、數(shù)據(jù)地址的選擇
本成員用于設(shè)置 FSMC 接口的數(shù)據(jù)寬度,可被設(shè)置為 8Bit 或 16bit。對(duì)于16 位寬度的外部存儲(chǔ)器。在 STM32 地址映射到 FSMC 接口的結(jié)構(gòu)中,HADDR信號(hào)線(xiàn)是需要轉(zhuǎn)換到外部存儲(chǔ)器的內(nèi)部 AHB 地址線(xiàn),是字節(jié)地址。
若存儲(chǔ)器的數(shù)據(jù)線(xiàn)寬為 8Bit,F(xiàn)SMC 的 26 條地址信號(hào)線(xiàn) FSMC_A[25:0]直接可以引入到與 AHB 相連HADDR[25:0],26 條字節(jié)地址信號(hào)線(xiàn)最大尋址空間為 64MB。見(jiàn)圖 0-9。
若存儲(chǔ)器的數(shù)據(jù)線(xiàn)寬 16Bit,則存儲(chǔ)器的地址信號(hào)線(xiàn)是半字地址(16Bit) 。為了使 HADDR 的字節(jié)地址信號(hào)線(xiàn)與存儲(chǔ)器匹配,F(xiàn)SMC 的 25 條地址信號(hào)線(xiàn)FSMC_A[24:0]與 HADDR[25:1]相連,由于變成了半字地址(16Bit),僅需要 25條半字字地址信號(hào)線(xiàn)就達(dá)到最大尋址空間 64MB。正因地址線(xiàn)的不對(duì)稱(chēng)相連,16bit 數(shù)據(jù)線(xiàn)寬下,實(shí)際的訪(fǎng)問(wèn)地址為右移一位之后的地址。
如下,我的地址選擇FSMC_A16, 只需在命令地址上左移(16+1)位。
6、FSMC寄存器的配置
7、如果我們需要改動(dòng)端口,只需注意以下幾個(gè)要點(diǎn)即可
(1)我們需要改動(dòng)BANK1_SRAM[X],,如我改成BANK1_EN4,需改動(dòng)
因?yàn)镋N4的地址是0X6C000000,
(2)如需改動(dòng)命令地址,F(xiàn)SMC_A[25:0],如我選擇A16
只需將命令地址改為0x6c000000+(16+1)
-
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7518瀏覽量
164079 -
STM32
+關(guān)注
關(guān)注
2270文章
10915瀏覽量
356751
原文標(biāo)題:STM32之FSMC的液晶使用
文章出處:【微信號(hào):mcugeek,微信公眾號(hào):MCU開(kāi)發(fā)加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論