基于SPIFI外設的Cortex-M MCU嵌入式閃存選型解決方案
恩智浦新開(kāi)發(fā)的SPI閃存接口(SPIFI)可以徹底解決并行/串行閃存的選型困擾。已申請專(zhuān)利的SPIFI外設可以將低成本SPI和新型四通道SPI閃存映像到ARM Cortex-M3內存中。與外部并行閃存方案相比,使用SPI外部閃存的MCU性能損失非常小。由于外部SPI閃存完整的內存空間可以映像到MCU內存中,微控制器對外部閃存直接訪(fǎng)問(wèn),無(wú)需使用軟件API或庫。
例如,使用四通道SPI閃存,SPIFI外設傳輸速率可達40Mb/s。設計人員可以選擇更便宜的SPI閃存器件,在保證性能的基礎上縮小腳位尺寸,簡(jiǎn)化配置。由于系統無(wú)需針對外部并行閃存使用龐大的接口設計,設計人員還可以選擇體積更小、成本更低的微控制器。嵌入式系統采用SPIFI外設可以提高內存資源利用率,縮小尺寸,提高效率,降低系統總成本。
SPIFI外設是恩智浦LPC1800系列ARM Cortex-M3微控制器率先采用的一種專(zhuān)用技術(shù)。此外,即將面市的新產(chǎn)品還包括低成本Cortex-M0系列和Cortex M4數字符串行控制器(DSC)。
SPIFI支持目前市場(chǎng)上大部分串行閃存器件(含四通道讀/寫(xiě)產(chǎn)品),配置編程非常簡(jiǎn)便,采用4/6引腳設計(取決于串行閃存類(lèi)型),支持小型寄存器組,優(yōu)化內存事務(wù),其軟件指令可降低CPU開(kāi)銷(xiāo),提高內存數據交換效率。
SPIFI工作原理
圖2給出了SPIFI外設的功能框圖。SPIFI功能塊與微控制器應用的高速總線(xiàn)(AHB)矩陣連接,后者主要用于處理器內核和片上內存。SPIFI將外部SPI閃存內容映射到微控制器內存中。當片上ROM啟動(dòng)代碼激活SPIFI接口后,外部SPI內存與核心處理單元上的片上內存功能完全相似。

圖2:SPIFI外設功能框圖。
初始化序列
SPFI接口的所有驅動(dòng)程序全部保存在ROM中。對于讀取操作,只需一個(gè)例程調用指令即可啟動(dòng)SPIFI外設。初始化序列結束后,整個(gè)SPI閃存可以象正常內存一樣由處理器和/或DMA通道按字節、半字、整字訪(fǎng)問(wèn)。擦除和編程通過(guò)簡(jiǎn)單的API指令訪(fǎng)問(wèn)ROM命令調用即可,因此,使用外部SPI閃存與片上內存幾乎沒(méi)有差別。
從SPIFI啟動(dòng)
對于需要微控制器從外部串行閃存啟動(dòng)的系統,恩智浦LPC1800微控制器已配置了SPIFI啟動(dòng)功能。啟動(dòng)源的選擇有兩種方法:第一種是使用微控制器引腳確定啟動(dòng)源的接口;第二種由用戶(hù)在非易失性?xún)却嬷芯幊踢x擇啟動(dòng)接口。使用非易失性?xún)却婢幊炭杀A粢_的雙重功能。
物理接口
圖3給出了SPIFI外設的物理接口。本示例對于傳統SPI閃存采用了標準的4引腳配置,如果是四信道SPI閃存,還需要增加兩個(gè)引腳以支持四信道功能。

圖3:SPIFI外設物理接口。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論