基于SPIFI外設(shè)的Cortex-M MCU嵌入式閃存選型解決方案
恩智浦新開發(fā)的SPI閃存接口(SPIFI)可以徹底解決并行/串行閃存的選型困擾。已申請專利的SPIFI外設(shè)可以將低成本SPI和新型四通道SPI閃存映像到ARM Cortex-M3內(nèi)存中。與外部并行閃存方案相比,使用SPI外部閃存的MCU性能損失非常小。由于外部SPI閃存完整的內(nèi)存空間可以映像到MCU內(nèi)存中,微控制器對外部閃存直接訪問,無需使用軟件API或庫。
例如,使用四通道SPI閃存,SPIFI外設(shè)傳輸速率可達(dá)40Mb/s。設(shè)計(jì)人員可以選擇更便宜的SPI閃存器件,在保證性能的基礎(chǔ)上縮小腳位尺寸,簡化配置。由于系統(tǒng)無需針對外部并行閃存使用龐大的接口設(shè)計(jì),設(shè)計(jì)人員還可以選擇體積更小、成本更低的微控制器。嵌入式系統(tǒng)采用SPIFI外設(shè)可以提高內(nèi)存資源利用率,縮小尺寸,提高效率,降低系統(tǒng)總成本。
SPIFI外設(shè)是恩智浦LPC1800系列ARM Cortex-M3微控制器率先采用的一種專用技術(shù)。此外,即將面市的新產(chǎn)品還包括低成本Cortex-M0系列和Cortex M4數(shù)字符串行控制器(DSC)。
SPIFI支持目前市場上大部分串行閃存器件(含四通道讀/寫產(chǎn)品),配置編程非常簡便,采用4/6引腳設(shè)計(jì)(取決于串行閃存類型),支持小型寄存器組,優(yōu)化內(nèi)存事務(wù),其軟件指令可降低CPU開銷,提高內(nèi)存數(shù)據(jù)交換效率。
SPIFI工作原理
圖2給出了SPIFI外設(shè)的功能框圖。SPIFI功能塊與微控制器應(yīng)用的高速總線(AHB)矩陣連接,后者主要用于處理器內(nèi)核和片上內(nèi)存。SPIFI將外部SPI閃存內(nèi)容映射到微控制器內(nèi)存中。當(dāng)片上ROM啟動代碼激活SPIFI接口后,外部SPI內(nèi)存與核心處理單元上的片上內(nèi)存功能完全相似。
圖2:SPIFI外設(shè)功能框圖。
初始化序列
SPFI接口的所有驅(qū)動程序全部保存在ROM中。對于讀取操作,只需一個(gè)例程調(diào)用指令即可啟動SPIFI外設(shè)。初始化序列結(jié)束后,整個(gè)SPI閃存可以象正常內(nèi)存一樣由處理器和/或DMA通道按字節(jié)、半字、整字訪問。擦除和編程通過簡單的API指令訪問ROM命令調(diào)用即可,因此,使用外部SPI閃存與片上內(nèi)存幾乎沒有差別。
從SPIFI啟動
對于需要微控制器從外部串行閃存啟動的系統(tǒng),恩智浦LPC1800微控制器已配置了SPIFI啟動功能。啟動源的選擇有兩種方法:第一種是使用微控制器引腳確定啟動源的接口;第二種由用戶在非易失性內(nèi)存中編程選擇啟動接口。使用非易失性內(nèi)存編程可保留引腳的雙重功能。
物理接口
圖3給出了SPIFI外設(shè)的物理接口。本示例對于傳統(tǒng)SPI閃存采用了標(biāo)準(zhǔn)的4引腳配置,如果是四信道SPI閃存,還需要增加兩個(gè)引腳以支持四信道功能。
圖3:SPIFI外設(shè)物理接口。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論