RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何為MCU靈活選擇NOR Flash去量產(chǎn)?

痞子衡嵌入式 ? 來源:痞子衡嵌入式 ? 作者:痞子衡嵌入式 ? 2022-11-07 11:48 ? 次閱讀

大家好,我是痞子衡,是正經(jīng)搞技術的痞子。今天痞子衡給大家介紹的是一種靈活的i.MXRT下多串行NOR Flash型號選擇的量產(chǎn)方案。

對于以 i.MXRT 這類沒有內(nèi)部 NVM (Non-Volatile Memory) 的 MCU 為主控的項目來說,為其選配一顆 NVM 作為代碼存儲器是頭等大事,而串行 NOR Flash 是最常見的 NVM 選擇。串行 NOR Flash 要能被 i.MXRT 正常啟動,其固定偏移處(0x0/0x400)一般要求放置一個配套啟動頭(FDCB),系統(tǒng)上電 BootROM 會用 30MHz 1bit SPI SDR 時序模式去讀取這個啟動頭來獲取當前 Flash 的相關屬性(主要是用戶設定的時序模式)從而進一步配置片內(nèi) FlexSPI 模塊以指定的時序模式去啟動 Flash 里的固件應用程序。

到了項目量產(chǎn)階段,尤其是出貨量大的消費類產(chǎn)品,我們往往不會僅選擇某一 Flash 廠商產(chǎn)品(價格因素,供貨因素等),這時候就不得不考慮一個問題,如果選擇的是特性不完全一致的兩顆 Flash,那么下載進 Flash 的固件應用程序能不能保持一樣(其實主要就是下圖中的 FDCB1/2 差異問題怎么解決)?今天痞子衡就跟大家討論一下這個問題:

62e6ad52-5c20-11ed-a3b6-dac502259ad0.png

Note:本文主要針對的是普通四線 QuadSPI / 八線 OctalSPI 類型的串行 NOR Flash。

一、影響多Flash型號量產(chǎn)的因素

我們知道導致下載進不同 Flash 里的固件程序有差異的主要原因是 i.MXRT 配套啟動頭(FDCB),這個 FDCB 描述了 Flash 的基本信息(Device 容量、速度、讀模式命令等),F(xiàn)lash 屬性不同,F(xiàn)DCB 也會跟著變化,所以我們先來介紹下有哪些可能的因素會影響 FDCB 內(nèi)容:

1.1 QE bit位置

首先是 QE bit 使能操作的差異。很多 Flash 出廠時 QE bit 并沒有被使能,量產(chǎn)過程中燒錄器有時候也未必去使能 QE bit(一線模式編程相比 Multi I/O 模式編程對量產(chǎn)時間影響不大),這種情況在 FDCB 里需要加上使能 QE bit 操作,而 QE bit 在 Flash 內(nèi)部寄存器里的定義以及寫入命令有好幾種,詳見痞子衡舊文《影響下載/啟動的常見因素之QE bit》。

1.2 READ命令中Dummy Cycles數(shù)

使能 QE bit 是為了能讓 Flash 工作在 Multi I/O Fast READ 模式,但這時候 READ 時序里會有 Dummy Cycles 周期(即 Flash 接收到主設備發(fā)來的讀命令從而準備相應數(shù)據(jù)的反應時間)。Flash 的不同工作頻率對應的最小 Dummy Cycles 不同,不同廠商關于 Dummy Cycles 數(shù)要求也不同,此外如果 Flash 里的默認 Dummy Cycle 不是對應最高工作頻率的話,要想讓 Flash 工作在最高頻率還需要額外設置 Flash 相應寄存器來修改 Dummy Cycle(這里的設置方法也不同),這些 Dummy Cycle 設定都要體現(xiàn)在 FDCB 里,詳見痞子衡舊文《調(diào)整Flash工作頻率也需同步設Dummy Cycle》。

1.3 地址3B/4B模式切換

對于不高于 16MB 容量的 Flash,在 READ 時序里一般使用三字節(jié)地址就行了,但是超過 16MB 的 Flash ,對其訪問就會涉及三字節(jié)地址以及四字節(jié)地址選擇問題,因此避不可免地要考慮 Flash 地址模式切換問題,不同廠商的地址模式設計以及切換操作也略有不同,F(xiàn)DCB 里同樣要考慮這些,詳見痞子衡舊文 《16MB以上NOR Flash使用注意》。

1.4 QPI/OPI模式進入

如果為了追求極限執(zhí)行性能,一般還會考慮將 Flash 從 SPI 模式切換到 QPI/OPI 模式,這里不同廠商的模式切換設計也可能略有不同,F(xiàn)DCB 也要負責這個工作,詳見痞子衡舊文《使能串行NOR Flash的QPI/OPI模式》。

1.5 DTR/Continuous read性能模式

當然還有一些其它關于 Flash 性能模式考量,比如 DTR 模式、Continuous read 模式,要想使能這些模式也都需要在 FDCB 里做文章,詳見痞子衡舊文 《使能串行NOR Flash的DTR模式》、《使能串行NOR Flash的Continuous read模式》。

二、多Flash型號量產(chǎn)的解決方案

上一節(jié)介紹了有很多因素會導致 FDCB 不同,這些因素都是多 Flash 型號量產(chǎn)路上的攔路虎,我們有什么方法能規(guī)避這些因素差異帶來的問題呢?主要有如下兩個方案:

2.1 BootROM自識別方案

第一個方案是利用 i.MXRT 芯片 BootROM 里的功能,詳見痞子衡舊文 《自識別特性(Auto Probe)可以無需FDCB也能從NOR Flash啟動》。這個特性可以讓我們不用提供 FDCB,芯片也能正常從 Flash 里啟動固件應用程序,這樣也就自然不存在量產(chǎn)過程中不同 Flash 里固件差異問題。但是這個方案也有幾個明顯的缺點:

缺點一:Auto Probe 特性在 i.MXRT1010/1020/1050 上不可用,僅在 i.MXRT1060/1170/500/600 上可以用。

缺點二:Auto Probe 特性對于不同 Flash 的支持(尤其是 OctalSPI Flash)可能需要通過燒寫 i.MXRT 芯片 OTP 來實現(xiàn),這樣實際上是把 FDCB 差異轉(zhuǎn)化到 OTP 差異上了。

缺點三:Auto Probe 特性僅能處理基本的 FDCB 差異(比如 QE,比如 Dummy Cycle),但是一些性能模式相關的差異不能很好地處理,拓展性不足。

2.2 一線模式FDCB啟動+二級Configurer程序

第二個方案主要是為了解決方案一里的全部缺點,即使用通用的一線低速模式的 FDCB 啟動頭給 BootROM 去讀取啟動,然后再設計一個二級的 Configurer 程序(被 BootROM 啟動的代碼),在這個 Configurer 程序里去做 Flash 差異化的相關事情并將 FlexSPI 模塊配置到指定時序模式,最后再由這個 Configurer 程序去啟動固件應用程序。

62fb1530-5c20-11ed-a3b6-dac502259ad0.png

這里的 Configurer 程序設計是關鍵,而其中最核心的是如何識別當前 Flash 型號,這里要感謝 JEDEC 組織,目前幾乎全部主流 Flash 都支持一線模式下 Read JEDEC 命令(0x9F),返回的 Manufacturer ID 就是每個 Flash 廠商向 JEDEC 組織申請的識別碼,然后 Memory Type 是各廠商自己定義的型號系列分類。Configurer 程序結合這兩個參數(shù)就可以識別當前 Flash 具體型號,底下就是做不同的代碼分支去處理不同的 Flash 配置即可。

63124d68-5c20-11ed-a3b6-dac502259ad0.png

二級 Configurer 程序說起來很簡單,其實具體設計起來還是有很多細節(jié)要考量的(比如 FlexSPI 多次配置中系統(tǒng)時鐘切換問題、應用程序跳轉(zhuǎn)等),因此痞子衡開源了這個項目(RT-MFB),并且會長期維護下去,希望將來能支持盡可能多的 Flash 型號。第一版是以 MIMXRT595-EVK 上的兩顆 Flash 為原型(IS25WP064A / MX25UW51345G)來做的。

項目地址:https://github.com/JayHeng/RT-MFB

至此,一種靈活的i.MXRT下多串行NOR Flash型號選擇的量產(chǎn)方案痞子衡便介紹完畢了,掌聲在哪里~~~

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17123

    瀏覽量

    350975
  • FlaSh
    +關注

    關注

    10

    文章

    1633

    瀏覽量

    147939
  • 存儲器
    +關注

    關注

    38

    文章

    7484

    瀏覽量

    163760

原文標題:如何為MCU靈活選擇NOR Flash去量產(chǎn)?

文章出處:【微信號:pzh_mcu,微信公眾號:痞子衡嵌入式】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    什么是串行Nor Flash?串行Nor Flash的結構和參數(shù)特性

    引言:串行Nor Flash是一類使用比較多的存儲器件,在特殊應用場景中具有不可替代的地位,本節(jié)是數(shù)字存儲器件系列第一節(jié),介紹串行Nor Flash的結構和參數(shù)特性。
    的頭像 發(fā)表于 09-05 10:09 ?3406次閱讀
    什么是串行<b class='flag-5'>Nor</b> <b class='flag-5'>Flash</b>?串行<b class='flag-5'>Nor</b> <b class='flag-5'>Flash</b>的結構和參數(shù)特性

    NAND FLASHNOR FLASH的技術對比

    目前,NOR FLASH和NAND FLASH是市場上主要的非易失性閃存技術,但是據(jù)我了解,還是有很多工程師分不清NAND FLASHNOR
    發(fā)表于 10-01 14:05 ?1331次閱讀
    NAND <b class='flag-5'>FLASH</b>與<b class='flag-5'>NOR</b> <b class='flag-5'>FLASH</b>的技術對比

    sram和NOR Flash I應該怎么使用?

    你好,我試圖擴展16 MB SRAM和16 MB或閃存到MYSTM32 F7MCU芯片。該芯片具有2個接口的存儲器,F(xiàn)MC和QSPI。誰能給我一個建議,SRAM和NOR Flash產(chǎn)品我應該一起
    發(fā)表于 11-04 11:23

    NOR FLASH的命令是怎樣操作的

    NOR FLASH的原理是什么?NOR FLASH的命令是怎樣操作的?
    發(fā)表于 10-29 07:29

    i.MXRTxxx系列ROM中靈活的串行NOR Flash啟動硬復位引腳選擇

    今天痞子衡給大家介紹的是i.MXRTxxx系列ROM中靈活的串行NOR Flash啟動硬復位引腳選擇?! £P于 i.MXRT 系列 BootROM 中串行
    發(fā)表于 12-21 06:34

    旺宏串行NOR Flash簡介

    串行NOR Flash介紹,串行NOR Flash分類、串行NOR Flash選型以及串行
    發(fā)表于 03-10 14:52 ?30次下載

    低成本NOR Flash如何選擇優(yōu)質(zhì)的在線燒錄方案

    Flash漲價風波持續(xù)發(fā)酵,不少廠家選擇使用更具性價比的NOR Flash芯片。NOR Flash
    發(fā)表于 05-27 17:15 ?12次下載

    NOR FLASH的原理及應用

    VDRF256M16是珠海歐比特公司自主研發(fā)的一種高速、大容量的NOR FLASH,可利用其對大容量數(shù)據(jù)進行高速緩存。文中介紹了該芯片的結構和原理,并同時給出了一個系統(tǒng)中大容量、高速數(shù)據(jù)傳輸要求
    發(fā)表于 10-15 12:20 ?24次下載
    <b class='flag-5'>NOR</b> <b class='flag-5'>FLASH</b>的原理及應用

    NOR Flash市場回暖,武漢新芯有望打破NOR Flash市場格局

    在國內(nèi)NOR Flash原廠中,武漢新芯集成電路制造有限公司(以下簡稱“武漢新芯”)近期宣布推出基于50nm Floating Gate工藝的SPI NOR Flash產(chǎn)品系列XM25
    的頭像 發(fā)表于 12-27 14:15 ?4836次閱讀

    NAND FlashNOR Flash的區(qū)別

    1.1接口差別NOR Flash帶有SRAM接口,有足夠的地址引腳來尋址,可以直接和CPU相連,CPU可以直接通過地址總線對NOR Flash進行訪問,可以很容...
    的頭像 發(fā)表于 12-14 22:48 ?3073次閱讀

    NOR Flash對于“被替”風險該如何應對

    NOR Flash主要用來存儲代碼及少量數(shù)據(jù),近幾年因5G、IoT、TWS耳機、AMOLED屏幕、TDDI等市場快速發(fā)展而備受重視。 NOR Flash和Nand
    發(fā)表于 03-03 16:17 ?861次閱讀

    NOR Flash和NAND FLASH的區(qū)別是什么

    使用FlashMemory作為存儲介質(zhì)。 根據(jù)硬件上存儲原理的不同,Flash Memory主要可以分為NOR Flash和NAND FLASH兩類。主要的差異如下所示: NAND
    發(fā)表于 01-25 17:25 ?6.1w次閱讀
    <b class='flag-5'>NOR</b> <b class='flag-5'>Flash</b>和NAND <b class='flag-5'>FLASH</b>的區(qū)別是什么

    NAND FlashNOR Flash的區(qū)別

    1.1接口差別NOR Flash帶有SRAM接口,有足夠的地址引腳來尋址,可以直接和CPU相連,CPU可以直接通過地址總線對NOR Flash進行訪問,可以很容...
    發(fā)表于 01-26 17:12 ?16次下載
    NAND <b class='flag-5'>Flash</b>和<b class='flag-5'>NOR</b> <b class='flag-5'>Flash</b>的區(qū)別

    NAND FlashNOR Flash的區(qū)別

    NAND FlashNOR Flash是兩種常見的閃存類型。
    的頭像 發(fā)表于 11-30 13:53 ?2407次閱讀
    NAND <b class='flag-5'>Flash</b>和<b class='flag-5'>NOR</b> <b class='flag-5'>Flash</b>的區(qū)別

    Nor Flash作為存儲解決方案的優(yōu)勢與限制

    選擇Nor Flash作為存儲解決方案的一個主要原因就是Nor Flash的并行訪問結構可實現(xiàn)快速讀取速度和低讀取延遲。
    的頭像 發(fā)表于 12-05 14:32 ?816次閱讀
    RM新时代网站-首页