STM32-FSMC機(jī)制的NOR Flash存儲(chǔ)器擴(kuò)展技術(shù)
引 言
STM32是ST(意法半導(dǎo)體)公司推出的基于ARM內(nèi)核Cortex-M3的32位微控制器系列。Cortex-M3內(nèi)核是為低功耗和價(jià)格敏感的應(yīng)用而專(zhuān)門(mén)設(shè)計(jì)的,具有突出的能效比和處理速度。通過(guò)采用Thumb-2高密度指令集,Cortex-M3內(nèi)核降低了系統(tǒng)存儲(chǔ)要求,同時(shí)快速的中斷處理能夠滿(mǎn)足控制領(lǐng)域的高實(shí)時(shí)性要求,使基于該內(nèi)核設(shè)計(jì)的STM32系列微控制器能夠以更優(yōu)越的性?xún)r(jià)比,面向更廣泛的應(yīng)用領(lǐng)域。
STM32系列微控制器為用戶(hù)提供了豐富的選擇,可適用于工業(yè)控制、智能家電、建筑安防、醫(yī)療設(shè)備以及消費(fèi)類(lèi)電子產(chǎn)品等多方位嵌入式系統(tǒng)設(shè)計(jì)。STM32系列采用一種新型的存儲(chǔ)器擴(kuò)展技術(shù)――FSMC,在外部存儲(chǔ)器擴(kuò)展方面具有獨(dú)特的優(yōu)勢(shì),可根據(jù)系統(tǒng)的應(yīng)用需要,方便地進(jìn)行不同類(lèi)型大容量靜態(tài)存儲(chǔ)器的擴(kuò)展。
1 FSMC機(jī)制
FSMC(Flexihie Static Memory Controller,可變靜態(tài)存儲(chǔ)控制器)是STM32系列中內(nèi)部集成256 KB以上Flash,后綴為xC、xD和xE的高存儲(chǔ)密度微控制器特有的存儲(chǔ)控制機(jī)制。之所以稱(chēng)為“可變”,是由于通過(guò)對(duì)特殊功能寄存器的設(shè)置,F(xiàn)SMC能夠根據(jù)不同的外部存儲(chǔ)器類(lèi)型,發(fā)出相應(yīng)的數(shù)據(jù)/地址/控制信號(hào)類(lèi)型以匹配信號(hào)的速度,從而使得STM32系列微控制器不僅能夠應(yīng)用各種不同類(lèi)型、不同速度的外部靜態(tài)存儲(chǔ)器,而且能夠在不增加外部器件的情況下同時(shí)擴(kuò)展多種不同類(lèi)型的靜態(tài)存儲(chǔ)器,滿(mǎn)足系統(tǒng)設(shè)計(jì)對(duì)存儲(chǔ)容量、產(chǎn)品體積以及成本的綜合要求。
1.1 FSMC技術(shù)優(yōu)勢(shì)
①支持多種靜態(tài)存儲(chǔ)器類(lèi)型。STM32通過(guò)FSMC町以與SRAM、ROM、PSRAM、NOR Flash和NANDFlash存儲(chǔ)器的引腳直接相連。
②支持豐富的存儲(chǔ)操作方法。FSMC不僅支持多種數(shù)據(jù)寬度的異步讀/寫(xiě)操作,而且支持對(duì)NOR/PSRAM/NAND存儲(chǔ)器的同步突發(fā)訪問(wèn)方式。
③支持同時(shí)擴(kuò)展多種存儲(chǔ)器。FSMC的映射地址空間中,不同的BANK是獨(dú)立的,可用于擴(kuò)展不同類(lèi)型的存儲(chǔ)器。當(dāng)系統(tǒng)中擴(kuò)展和使用多個(gè)外部存儲(chǔ)器時(shí),F(xiàn)SMC會(huì)通過(guò)總線懸空延遲時(shí)間參數(shù)的設(shè)置,防止各存儲(chǔ)器對(duì)總線的訪問(wèn)沖突。
④支持更為廣泛的存儲(chǔ)器型號(hào)。通過(guò)對(duì)FSMC的時(shí)間參數(shù)設(shè)置,擴(kuò)大了系統(tǒng)中可用存儲(chǔ)器的速度范圍,為用戶(hù)提供了靈活的存儲(chǔ)芯片選擇空間。
⑤支持代碼從FSMC擴(kuò)展的外部存儲(chǔ)器中直接運(yùn)行,而不需要首先調(diào)入內(nèi)部SRAM。
1.2 FSMC內(nèi)部結(jié)構(gòu)
STM32微控制器之所以能夠支持NOR Flash和NAND Flash這兩類(lèi)訪問(wèn)方式完全不同的存儲(chǔ)器擴(kuò)展,是因?yàn)镕SMC內(nèi)部實(shí)際包括NOR Flash和NAND/PC Card兩個(gè)控制器,分別支持兩種截然不同的存儲(chǔ)器訪問(wèn)方式。在STM32內(nèi)部,F(xiàn)SMC的一端通過(guò)內(nèi)部高速總線AHB連接到內(nèi)核Cortex-M3,另一端則是面向擴(kuò)展存儲(chǔ)器的外部總線。內(nèi)核對(duì)外部存儲(chǔ)器的訪問(wèn)信號(hào)發(fā)送到AHB總線后,經(jīng)過(guò)FSMC轉(zhuǎn)換為符合外部存儲(chǔ)器通信規(guī)約的信號(hào),送到外部存儲(chǔ)器的相應(yīng)引腳,實(shí)現(xiàn)內(nèi)核與外部存儲(chǔ)器之間的數(shù)據(jù)交互。FSMC起到橋梁作用,既能夠進(jìn)行信號(hào)類(lèi)型的轉(zhuǎn)換,又能夠進(jìn)行信號(hào)寬度和時(shí)序的調(diào)整,屏蔽掉不同存儲(chǔ)類(lèi)型的差異,使之對(duì)內(nèi)核而言沒(méi)有區(qū)別。
評(píng)論