娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年03月08日(星期六)

2021年03月08日 | STM32-FSMC機制的NOR Flash存儲器擴展技術

發布者:聲慢慢 來源: eefocus關鍵字:NOR  Flash  存儲器  擴展技術 手機看文章 掃描二維碼
隨時隨地手機看文章

引言

STM32是ST推出的基于ARM內核Cortex-M3的32位微控制器系列。Cortex-M3內核是為低功耗和價格敏感的應用而專門設計的,具有突出的能效比和處理速度。通過采用Thumb-2高密度指令集,Cortex-M3內核降低了系統存儲要求,同時快速的中斷處理能夠滿足控制領域的高實時性要求,使基于該內核設計的STM32系列微控制器能夠以更優越的性價比,面向更廣泛的應用領域。


STM32系列微控制器為用戶提供了豐富的選擇,可適用于工業控制、智能家電、建筑安防、醫療設備以及消費類電子產品等多方位嵌入式系統設計。STM32系列采用一種新型的存儲器擴展技術——FSMC,在外部存儲器擴展方面具有獨特的優勢,可根據系統的應用需要,方便地進行不同類型大容量靜態存儲器的擴展。


1FSMC機制

FSMC(Flexible Static Memory Controller,可變靜態存儲控制器)是STM32系列中內部集成256 KB以上Flash,后綴為xC、xD和xE的高存儲密度微控制器特有的存儲控制機制。之所以稱為“可變”,是由于通過對特殊功能寄存器的設置,FSMC能夠根據不同的外部存儲器類型,發出相應的數據/地址/控制信號類型以匹配信號的速度,從而使得STM32系列微控制器不僅能夠應用各種不同類型、不同速度的外部靜態存儲器,而且能夠在不增加外部器件的情況下同時擴展多種不同類型的靜態存儲器,滿足系統設計對存儲容量、產品體積以及成本的綜合要求。


1.1FSMC技術優勢

①支持多種靜態存儲器類型。STM32通過FSMC可以與SRAM、ROM、PSRAM、NOR Flash和NANDFlash存儲器的引腳直接相連。


②支持豐富的存儲操作方法。FSMC不僅支持多種數據寬度的異步讀/寫操作,而且支持對NOR/PSRAM/NAND存儲器的同步突發訪問方式。


③支持同時擴展多種存儲器。FSMC的映射地址空間中,不同的BANK是獨立的,可用于擴展不同類型的存儲器。當系統中擴展和使用多個外部存儲器時,FSMC會通過總線懸空延遲時間參數的設置,防止各存儲器對總線的訪問沖突。


④支持更為廣泛的存儲器型號。通過對FSMC的時間參數設置,擴大了系統中可用存儲器的速度范圍,為用戶提供了靈活的存儲芯片選擇空間。


⑤支持代碼從FSMC擴展的外部存儲器中直接運行,而不需要首先調入內部SRAM。


1.2FSMC內部結構

STM32微控制器之所以能夠支持NOR Flash和NAND Flash這兩類訪問方式完全不同的存儲器擴展,是因為FSMC內部實際包括NOR Flash和NAND/PC Card兩個控制器,分別支持兩種截然不同的存儲器訪問方式。在STM32內部,FSMC的一端通過內部高速總線AHB連接到內核Cortex-M3,另一端則是面向擴展存儲器的外部總線。內核對外部存儲器的訪問信號發送到AHB總線后,經過FSMC轉換為符合外部存儲器通信規約的信號,送到外部存儲器的相應引腳,實現內核與外部存儲器之間的數據交互。FSMC起到橋梁作用,既能夠進行信號類型的轉換,又能夠進行信號寬度和時序的調整,屏蔽掉不同存儲類型的差異,使之對內核而言沒有區別。


1.3FSMC映射地址空間

FSMC管理1 GB的映射地址空間。該空間劃分為4個大小為256 MB的BANK,每個BANK又劃分為4個64 MB的子BANK,如表1所列。FSMC的2個控制器管理的映射地址空間不同。NOR Flash控制器管理第1個BANK,NAND/PC Card控制器管理第2~4個BANK。由于兩個控制器管理的存儲器類型不同,擴展時應根據選用的存儲設備類型確定其映射位置。



其中,BANK1的4個子BANK擁有獨立的片選線和控制寄存器,可分別擴展一個獨立的存儲設備,而BANK2~BANK4只有一組控制寄存器。


2FSMC擴展NOR Flash配置

SRAM/ROM、NOR Flash和PSRAM類型的外部存儲器都是由FSMC的NOR Flash控制器管理的,擴展方法基本相同,其中NOR Flash最為復雜。通過FSMC擴展外部存儲器時,除了傳統存儲器擴展所需要的硬件電路外,還需要進行FSMC初始化配置。FSMC提供大量、細致的可編程參數,以便能夠靈活地進行各種不同類型、不同速度的存儲器擴展。外部存儲器能否正常工作的關鍵在于:用戶能否根據選用的存儲器型號,對配置寄存器進行合理的初始化配置。


(1)確定映射地址空間


根據選用的存儲器類型確定擴展使用的映射地址空間。NOR Flash只能選用BANK1中的4個子BANK。選定映射子BANK后,即可確定以下2方面內容:


①硬件電路中用于選中該存儲器的片選線FSMC_NEi(i為子BANK號,i=1,…,4);


②FSMC配置中用于配置該外部存儲器的特殊功能寄存器號(如表1所列)。


(2)配置存儲器基本特征


通過對FSMC特殊功能寄存器FSMC_BCRi(i為子BANK號,i=1,…,4)中對應控制位的設置,FSMC根據不同存儲器特征可靈活地進行工作方式和信號的調整。根據選用的存儲器芯片確定需要配置的存儲器特征,主要包括以下方面:


①存儲器類型(MTYPE)是SRAM/ROM、PSRAM,還是NOR Flash;


②存儲芯片的地址和數據引腳是否復用(MUXEN),FSMC可以直接與AD0~AD15復用的存儲器相連,不需要增加外部器件;


③存儲芯片的數據線寬度(MWID),FSMC支持8位/16位兩種外部數據總線寬度;


④對于NOR Flash(PSRAM),是否采用同步突發訪問方式(BURSTEN);


⑤對于NOR Flash(PSRAM),NWAIT信號的特性說明(WAITEN、WAITCFG、WAITPOL);


⑥對于該存儲芯片的讀/寫操作,是否采用相同的時序參數來確定時序關系(EXTMOD)。


(3)配置存儲器時序參數


FSMC通過使用可編程的存儲器時序參數寄存器,拓寬了可選用的外部存儲器的速度范圍。FSMC的NORFlash控制器支持同步和異步突發兩種訪問方式。選用同步突發訪問方式時,FSMC將HCLK(系統時鐘)分頻后,發送給外部存儲器作為同步時鐘信號FSMC_CLK。此時需要的設置的時間參數有2個:


①HCLK與FSMC_CLK的分頻系數(CLKDIV),可以為2~16分頻;


②同步突發訪問中獲得第1個數據所需要的等待延遲(DATLAT)。


對于異步突發訪問方式,FSMC主要設置3個時間參數:地址建立時間(ADDSET)、數據建立時間(DATAST)和地址保持時間(ADDHLD)。FSMC綜合了SRAM/ROM、PSRAM和NOR Flash產品的信號特點,定義了4種不同的異步時序模型。選用不同的時序模型時,需要設置不同的時序參數,如表2所列。在實際擴展時,根據選用存儲器的特征確定時序模型,從而確定各時間參數與存儲器讀/寫周期參數指標之間的計算關系;利用該計算關系和存儲芯片數據手冊中給定的參數指標,可計算出FSMC所需要的各時間參數,從而對時間參數寄存器進行合理的配置。



3STM32擴展S29GL系列NOR Flash實例

3.1S29GL系列NOR Flash簡介

Spansion公司的S29GL系列芯片是采用90 nm技術制造的高集成度NOR Flash存儲芯片,提供16~128 MB可選容量,支持最快25 ns的頁訪問速度和110 ns的隨機訪問速度,帶有最大64字節的寫緩沖區,以提供更快、更高效的編程,是嵌入式系統設計中大容量存儲器擴展的理想選擇。本文選用的型號為S29GL512P,容量為512×64K字(總容量64 MB),擴展到NOR Flash控制器管理的BANK1的第2個子BANK。


3.2 STM32與S29GL512P的電路連接

S25GL512P可通過控制引腳BYTE選擇對芯片的訪問單位(字/字節),區別在于:


①對于芯片引腳DQ15,字模式時傳送最高數據位D15;字節模式時傳送最低地址A-1。


②字模式時,數據引腳D0~D15上傳送數據信號;字節模式時,只有D0~D7上有信號。


此處,將BYTE上拉到高電平,選擇16位的字訪問單位。FSMC數據線FSMC_D[15:0]與S29GL512P的D15~D0對應連接;FSMC地址線FSMC_A[25:0]的低25根與S29GL512P的地址線A[24:0]對應連接。


由于S29GL512P芯片映射到BANK1的子BANK2,可確定其片選線應連接FSMC片選控制線FSMC_NE2。S29GL512P的RY/BY引腳連接FSMC的FSMC_NWAIT引腳,提供等待信號。


3.3 FSMC的配置

根據S29GL512P的映射位置,需要對FSMC_BCR2和FSMC_BTR2/BWTR2寄存器進行配置。


(1)FSMC_BCR2


配置S29GL512P的讀/寫采用統一時間參數,只需要設置時問寄存器FSMC_BTR2。配置存儲器類型為NOR Flash,數據總線寬度為16位(字),不采用地址/數據復用,使能BANK1的子BANK2。


(2)FSMC_BTR2


由表2可知,異步NOR Flash時序模型Mode2/B需要設置時問參數DATAST和ADDSET。根據時序圖,兩個參數的計算公式如下:



式中:Twc和Trc為所選存儲芯片的寫周期長度和讀操作周期長度;Twp為所選存儲芯片的寫信號持續長度。


根據S29GL512P用戶手冊,可知參數Twc=Trc=130 ns,Twp=35 ns。設STM32微控制器采用72 MHz主頻,則HCLK=(1/72×10-6)s。通過上述公式計算,可取值為:DATAST=2,ADDSET=5。


為了達到更好的控制效果,還應考慮FSMC自身延遲問題,使用校正公式:



式中:TAVQV為所選存儲芯片訪問過程中,從地址有效至數據有效的時間域;Tsu(Data_NE)為STM32特征參數,從數據有效到FSMC_NE(片選)失效時間域;Ttv(A_NE)為STM32特征參數,從FSMC_NE有效至地址有效的時間域。


TAVQV=130 ns,Tsu(Data_NE)+Ttv(A_NE)=36 ns,對DATAST參數進行校正,可得DATAST=3。


3.4應用STM32固件對FSMC進行初始化配置

ST公司為用戶開發提供了完整、高效的工具和固件庫,其中使用C語言編寫的固件庫提供了覆蓋所有標準外設的函數,使用戶無需使用匯編操作外設特性,從而提高了程序的可讀性和易維護性。


STM32固件庫中提供的FSMC的NOR Flash控制器操作固件,主要包括2個數據結構和3個函數。數據結構FSMC_NORSRAMTimingInitTypeDef對應時間參數寄存器FSMC_BTR和FSMC_BWTR的結構定義;FSMC_NORSRAMInitTypeDef對應特征配置寄存器FSMC_BCR的結構定義,并包含2個指向對應BANK的FSMC_BTR和FSMC_BWTR寄存器的FSMC_NORSRAMTimingInitTypeDef結構指針。


針對上述S29GL512P芯片擴展要求,利用固件庫進行的主要初始化操作如下:




結語

STM32作為新一代ARM Cortex-M3核處理器,其卓越的性能和功耗控制能夠適用于廣泛的應用領域;而其特殊的可變靜態存儲技術FSMC具有高度的靈活性,對于存儲容量要求較高的嵌入式系統設計,能夠在不增加外部分立器件的情況下,擴展多種不同類型和容量的存儲芯片,降低了系統設計的復雜性,提高了系統的可靠性。


關鍵字:NOR  Flash  存儲器  擴展技術 引用地址:STM32-FSMC機制的NOR Flash存儲器擴展技術

上一篇:基于STM32單片機的大扭矩永磁同步電機驅動系統
下一篇:STM32 IIC難點易錯點

推薦閱讀

  如今,要說人們最離不開的東西是什么,相信有很多人都會說是手機。吃飯要看手機、走路要看手機、上廁所也要拿著手機……稍微不拿會兒手機就會各種不舒服。而人們之所以會如此沉迷于手機,除了可以娛樂之外,最主要還是因為通過手機我們可以解決許多生活中的問題,手機已經成為人們生活中的剛需物品。下面就隨手機便攜小編一起來了解一下相關內容吧。 ...
一、概述  1、I2C總線只有兩根雙向信號線。一根是數據線SDA,另一根是時鐘線SCL。 SCL:上升沿將數據輸入到每個EEPROM器件中;下降沿驅動EEPROM器件輸出數據。(邊沿觸發)  SDA:雙向數據線,為OD門,與其它任意數量的OD與OC門成\線與\關系?! 2C總線通過上拉電阻接正電源。當總線空閑時,兩根線均為高電平(SDL=1;SCL=1)。連到總線...
之前一直感覺定時器有點難,但其實后來發現更多的是中斷那塊沒太懂,中斷以后會說的。先簡單看下定時器吧。一、基本1.在user’s guide上看到的5529其實有3種定時器,ABD,這三種好像確實有些區別的,但是目前就只看A感覺就夠了。2.Timer_A是具有四種操作模式的16位定時器,7個比較器/捕獲器3.能夠輸出PWM波,具有8中PWM波形,但是要注意的是,這種輸出只...
特斯拉(上海)有限公司經營范圍新增 “新能源汽車換電設施銷售”等項目,這意味著特斯拉在中國市場已經有資格為自家車型推出換電服務選裝包。之后,特斯拉相關負責人否認做換電業務。當日,特斯拉對外事務副總裁陶琳對 “特斯拉到底會不會啟動換電業務”進行了回應,稱堅信充電模式是大規模民用電動車最好的補能方式。 早在 2013 年,特斯拉就嘗試過...

史海拾趣

問答坊 | AI 解惑

關于RasSetEntryProperties不能把我的參數設置到新建的entry

最近一直在跳sim700的自動撥號上網,遇到個問題。就是在用RasSetEntryProperties建立我的entry的時候,有些參數不知到怎么就設置不對,         wcscpy(RasEntry.szLocalPhoneNumber, __PHONE_NUMBER__);   & ...…

查看全部問答∨

急,請求幫忙!

在VC程序中,有一個自定義資源文件IDR_JEPG 與 圖片文件 .\\\\res\\\\test.jpg 相關聯. 通過 HRSRC hRes= FindResource(hInstance, MAKEINTRESOURCE(IDR_JEPG), TEXT("JPEG")); HGLOBAL hGbl = LoadResource(hInstance, hRes); LPVOID pfi ...…

查看全部問答∨

有沒有wince的繪制GPS地圖高手阿?

本公司是一家集“研發,生產,銷售”為一體的高科技企業,主要從事GPS導航儀、車載多媒體娛樂系統等高 端電子產品研究、開發、生產及信息數據庫的開發等業務領域。本公司以信息服務為發展方向,目標建立一支業務水平精湛、富有團 隊精神、銳意創新 ...…

查看全部問答∨

明天第一次參加面試,前輩們給點建議

明天第一次參加面試,關于單片機編程的,前輩們給點建議吧…

查看全部問答∨

關于HT3226濕度傳感器的問題.

大家好:   傳感器輸出9440赫茲代表10%的濕度,以后每下降80赫茲就增加5%的濕度.請問用51單片機怎么編寫程序呢...                             此致                     ...…

查看全部問答∨

STC-isp的燒錄軟件問題,求助啊,求助吖!!!

stc-isp燒錄軟件突然偶爾才可以燒盡程序,很苦惱! 情況大概是這樣: 1、條件:因為板子是用串口燒錄,我用了一條USB轉串口的線;燒錄軟件是STC_ISP_V479;冷啟動燒錄(點擊燒錄--冷啟動--自動燒錄) 2、上上星期還是好好的,只出現過兩次在燒錄 ...…

查看全部問答∨

談談用過阿迪老師的DMAVR-128開發板及評價……

本帖最后由 gh131413 于 2014-3-13 11:10 編輯 用了兩個星期的阿迪老師的這塊AVR開發板,忍不住評價一下: 說實話,DMAVR-128適用于學過AVR的人并且有一定的基礎,一點都不適合剛入門的初學者,拿他的例程程序來說吧,本來一個很簡單的1602和128 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 志丹县| 郴州市| 怀化市| 绵竹市| 吉木萨尔县| 调兵山市| 霍州市| 夏河县| 闵行区| 左贡县| 常熟市| 南部县| 家居| 吉安市| 施甸县| 托克托县| 资源县| 凉山| 淮安市| 梅州市| 道真| 温泉县| 平定县| 濮阳县| 麻栗坡县| 香河县| 莱西市| 竹溪县| 榕江县| 咸阳市| 皮山县| 广平县| 东台市| 彩票| 大同县| 乃东县| 南阳市| 绥滨县| 永泰县| 浙江省| 彭阳县|