本文將就使用FSMC可能遇到的問題進行說明。希望能對大家的學(xué)習(xí)有所幫助。
一、端口配置
1、 由于FSMC寫NOR時序與8080接口的時序十分相識,因此我們采用模擬8080時序,
2、 STM32的引腳圖如圖所示。
3、根據(jù)上圖我們可以得出,F(xiàn)SMC的數(shù)據(jù)端口D[15:0]如下
4、我們使用的是 FSMC 的信號線 NE1 作為控制 8080 的 CSX 片選信號,所以我們把本成配置為 FSMC_Bank1_NORSRAM1 (NE1 片選BANK1)。由上圖得FSMC-NE1 ==PD7 ---------LCD-CS
5、數(shù)據(jù)地址的選擇
本成員用于設(shè)置 FSMC 接口的數(shù)據(jù)寬度,可被設(shè)置為 8Bit 或 16bit。對于16 位寬度的外部存儲器。在 STM32 地址映射到 FSMC 接口的結(jié)構(gòu)中,HADDR信號線是需要轉(zhuǎn)換到外部存儲器的內(nèi)部 AHB 地址線,是字節(jié)地址。
若存儲器的數(shù)據(jù)線寬為 8Bit,F(xiàn)SMC 的 26 條地址信號線 FSMC_A[25:0]直接可以引入到與 AHB 相連HADDR[25:0],26 條字節(jié)地址信號線最大尋址空間為 64MB。見圖 0-9。
若存儲器的數(shù)據(jù)線寬 16Bit,則存儲器的地址信號線是半字地址(16Bit) 。為了使 HADDR 的字節(jié)地址信號線與存儲器匹配,F(xiàn)SMC 的 25 條地址信號線FSMC_A[24:0]與 HADDR[25:1]相連,由于變成了半字地址(16Bit),僅需要 25條半字字地址信號線就達到最大尋址空間 64MB。正因地址線的不對稱相連,16bit 數(shù)據(jù)線寬下,實際的訪問地址為右移一位之后的地址。
如下,我的地址選擇FSMC_A16, 只需在命令地址上左移(16+1)位。
6、FSMC寄存器的配置
7、如果我們需要改動端口,只需注意以下幾個要點即可
(1)我們需要改動BANK1_SRAM[X],,如我改成BANK1_EN4,需改動
因為EN4的地址是0X6C000000,
(2)如需改動命令地址,F(xiàn)SMC_A[25:0],如我選擇A16
只需將命令地址改為0x6c000000+(16+1)
-
存儲器
+關(guān)注
關(guān)注
38文章
7653瀏覽量
167423 -
STM32
+關(guān)注
關(guān)注
2293文章
11032瀏覽量
365028
原文標(biāo)題:STM32之FSMC的液晶使用
文章出處:【微信號:mcugeek,微信公眾號:MCU開發(fā)加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
stm32cubumx使用1.28.0固件包無法初始化fsmc怎么解決?
stm32cubumx使用1.28.0固件包無法初始化fsmc怎么解決?
PCB設(shè)計中容易遇到的問題
在EVK上啟用Spread Spectrum時遇到問題,求解答 EVKSpread
在EVK上啟用Spread Spectrum時遇到問題,求解答
OTDR測試中常遇到的問題及解決
芯片的失效性分析與應(yīng)對方法

SSM開發(fā)中的常見問題及解決方案
STM32F407 MCU使用SD NAND?不斷電初始化失效解決方案

HAL庫在STM32開發(fā)中的重要性
FPGA與STM32通過FSMC總線通信的實驗

評論