日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

STM32之FSMC-SRAM/NOR原理

發(fā)布時(shí)間:2025/3/15 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STM32之FSMC-SRAM/NOR原理 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

FSMC,即靈活的靜態(tài)存儲(chǔ)控制器,能夠與同步或異步存儲(chǔ)器和 16 位 PC 存儲(chǔ)器卡連接,STM32F4 的 FSMC 接口支持包括 SRAM、 NAND FLASH、 NOR FLASH 和 PSRAM 等存儲(chǔ)器。

所有的外部存儲(chǔ)器共享地址、數(shù)據(jù)和控制信號(hào),但有各自的片選信號(hào)。FSMC一次只能訪問一個(gè)外部器件。

?

STM32的FSMC主要功能:(詳情看手冊)

● 支持對同步器件(NOR Flash 和 PSRAM)的突發(fā)模式訪問

● 8 或 16 位寬的數(shù)據(jù)總線

● 每個(gè)存儲(chǔ)區(qū)域有獨(dú)立的片選控制

● 每個(gè)存儲(chǔ)區(qū)域可獨(dú)立配置

● 可對時(shí)序進(jìn)行編程,以支持各種器件

?

FSMC 包含四個(gè)主要模塊:

● AHB 接口(包括 FSMC 配置寄存器)

● NOR Flash/PSRAM 控制器

● NAND Flash/PC 卡控制器

● 外部器件接口

?

外部器件地址映射

從FSMC的角度,外部存儲(chǔ)器被劃分為4個(gè)固定大小的存儲(chǔ)區(qū)域,每個(gè)區(qū)域的大小為256MB,如下圖:

● 存儲(chǔ)區(qū)域 1 可連接多達(dá) 4 個(gè) NOR Flash 或 PSRAM 存儲(chǔ)器器件。此存儲(chǔ)區(qū)域被劃分為 4 個(gè)

NOR/PSRAM 區(qū)域,帶 4 個(gè)專用片選信號(hào)。

● 存儲(chǔ)區(qū)域 2 和 3 用于連接 NAND Flash 器件(每個(gè)存儲(chǔ)區(qū)域一個(gè)器件)

● 存儲(chǔ)區(qū)域 4 用于連接 PC 卡設(shè)備

從上圖可知FSMC總共管理1GB空間,擁有4個(gè)存儲(chǔ)塊(Bank),這里我們討論存儲(chǔ)塊1(Bank1),Bank1分為4個(gè)區(qū),每個(gè)區(qū)64M字節(jié)空間,每個(gè)區(qū)都有獨(dú)立的寄存器對所連接的存儲(chǔ)器進(jìn)行配置。Bank1的256M字節(jié)空間由28根地址線(HADDR[27:0])尋址。

這里HADDR是內(nèi)部AHB地址總線,其中HADDR[25:0]來自外部存儲(chǔ)器地址FSMC_A[25:0],而HADDR[26:27]對4個(gè)區(qū)進(jìn)行尋址,如下圖:

HARRD[25:0]包含外部存儲(chǔ)器地址,由于HARRD為字節(jié)地址,而存儲(chǔ)器按字尋址,所以根據(jù)存儲(chǔ)器數(shù)據(jù)的寬度的不同,實(shí)際向存儲(chǔ)器發(fā)送的地址也將有所不同,如下圖:

當(dāng) Bank1 接的是 16 位寬度存儲(chǔ)器的時(shí)候:HADDR[25:1]-->FSMC[24:0]。

當(dāng) Bank1 接的是 ?8 位寬度存儲(chǔ)器的時(shí)候:HADDR[25:0]-->FSMC[25:0]。

不論外部接 8 ?位/16 ?位寬設(shè)備,FSMC_A[0]?永遠(yuǎn)接在外部設(shè)備地址?A[0] 。
?

?

STM32的FSMC支持?jǐn)?shù)據(jù)與地址線復(fù)用或非復(fù)用兩種模式

非復(fù)用模式:16位數(shù)據(jù)線及26位地址線分開始用。推薦在144腳及以上的STM32產(chǎn)品上使用該模式。

復(fù)用模式:低16位數(shù)據(jù)/地址線復(fù)用。在該模式下,推薦使用地址鎖存器以區(qū)分?jǐn)?shù)據(jù)與地址。

若不使用鎖存器:當(dāng)NADV為低時(shí),ADx(x=0…15)上出現(xiàn)地址信號(hào)Ax,當(dāng)NADV變高時(shí),ADx上出現(xiàn)數(shù)據(jù)信號(hào)Dx。
若使用鎖存器:可同時(shí)在ADx上得到Ax和Dx。

?

?FSMC?綜合了?SRAM/ROM、?PSRAM?和?NOR Flash?產(chǎn)品的信號(hào)特點(diǎn),定義了不同的異步時(shí)序模型。選用不同的時(shí)序模型時(shí),需要設(shè)置不同的時(shí)序參數(shù)。在實(shí)際擴(kuò)展時(shí),根據(jù)選用存儲(chǔ)器的特征確定時(shí)序模型,從而確定各時(shí)間參數(shù)與存儲(chǔ)器讀/寫周期參數(shù)指標(biāo)之間的計(jì)算關(guān)系;利用該計(jì)算關(guān)系和存儲(chǔ)芯片數(shù)據(jù)手冊中給定的參數(shù)指標(biāo),可計(jì)算出?FSMC?所需要的各時(shí)間參數(shù),從而對時(shí)間參數(shù)寄存器進(jìn)行合理的配置。

模式1 —— SRAM/CRAM

模式A —— SRAM/PSRAM(CRAM)

模式2/B —— NOR閃存

模式C —— NOR閃存

模式D —— 帶地址擴(kuò)展的異步操作

復(fù)用模式—— 地址/數(shù)據(jù)復(fù)用的NOR閃存異步操作

?

?

對于NOR FLASH/PSRAM控制器-存儲(chǔ)塊1,可通過FSMC_BCRx、FSMC_BTRx和FSMC_BWTRx寄存器設(shè)置(其中x=1~4,對應(yīng)4個(gè)區(qū))。?
通過這3個(gè)寄存器,可以設(shè)置FSMC訪問外部存儲(chǔ)器的時(shí)序參數(shù),拓寬了可選用的外部存儲(chǔ)器的速度范圍。

1.SRAM/NOR閃存片選控制寄存器(FSMC_BCRx)

EXTMOD:擴(kuò)展模式使能位,控制是否允許讀寫不同的時(shí)序,需設(shè)置為1
WREN:寫使能位。我們要向TFTLCD寫數(shù)據(jù),需設(shè)置為1
MWID[1:0]:存儲(chǔ)器數(shù)據(jù)總線寬度。00,表示8位數(shù)據(jù)模式;01表示16位數(shù)據(jù)模式;10和11保留。
MTYP[1:0]:存儲(chǔ)器類型。00表示SRAM、ROM;01表示PSRAM;10表示NOR FLASH;11保留。
MBKEN:存儲(chǔ)塊使能位。需設(shè)置為1


2.SRAM/NOR閃存片選時(shí)序寄存器(FSMC_BTRx)-讀時(shí)序控制

ACCMOD[1:0]:訪問模式。00:模式A;01:模式B;10:模式C;11:模式D。
DATAST[7:0]:數(shù)據(jù)保持時(shí)間,等于: DATAST(+1)個(gè)HCLK時(shí)鐘周期,DATAST最大為255。
ADDSET[3:0]:地址建立時(shí)間。表示:ADDSET+1個(gè)HCLK周期,ADDSET最大為15。


3.SRAM/NOR閃存寫時(shí)序寄存器(FSMC_BWTRx)-寫時(shí)序控制

ACCMOD[1:0]:訪問模式。00:模式A;01:模式B;10:模式C;11:模式D。
DATAST[7:0]:數(shù)據(jù)保持時(shí)間,等于: DATAST(+1)個(gè)HCLK時(shí)鐘周期,DATAST最大為255。
ADDSET[3:0]:地址建立時(shí)間。表示:ADDSET+1個(gè)HCLK周期,ADDSET最大值為1111 = 15。
?

總結(jié)

以上是生活随笔為你收集整理的STM32之FSMC-SRAM/NOR原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。