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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

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

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

恩智浦MCU加油站 ? 來源:恩智浦MCU加油站 ? 作者:恩智浦MCU加油站 ? 2022-11-03 09:20 ? 次閱讀

對于以i.MX RT 這類沒有內(nèi)部NVM (Non-Volatile Memory) 的 MCU 為主控的項目來說,為其選配一顆 NVM 作為代碼存儲器是頭等大事,而串行 NOR Flash 是最常見的 NVM 選擇。

串行 NOR Flash 要能被i.MX RT正常啟動,其固定偏移處(0x0/0x400)一般要求放置一個配套啟動頭(FDCB),系統(tǒng)上電 BootROM 會用 30MHz 1bit SPI SDR 時序模式去讀取這個啟動頭來獲取當(dāng)前 Flash 的相關(guān)屬性(主要是用戶設(shè)定的時序模式)從而進(jìn)一步配置片內(nèi) FlexSPI 模塊以指定的時序模式去啟動 Flash 里的固件應(yīng)用程序。

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

7674f792-5b13-11ed-a3b6-dac502259ad0.png

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

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

我們知道導(dǎo)致下載進(jìn)不同 Flash 里的固件程序,有差異的主要原因是 i.MX RT 配套啟動頭(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 接收到主設(shè)備發(fā)來的讀命令從而準(zhǔn)備相應(yīng)數(shù)據(jù)的反應(yīng)時間)。

Flash 的不同工作頻率對應(yīng)的最小 Dummy Cycles 不同,不同廠商關(guān)于 Dummy Cycles 數(shù)要求也不同,此外如果 Flash 里的默認(rèn) Dummy Cycle 不是對應(yīng)最高工作頻率的話,要想讓 Flash 工作在最高頻率還需要額外設(shè)置 Flash 相應(yīng)寄存器來修改 Dummy Cycle(這里的設(shè)置方法也不同),這些 Dummy Cycle 設(shè)定都要體現(xiàn)在 FDCB 里,詳見舊文《調(diào)整Flash工作頻率也需同步設(shè)Dummy Cycle》。

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

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

1.4 QPI/OPI模式進(jìn)入

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

1.5 DTR/Continuous read性能模式

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

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

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

2.1 BootROM自識別方案

第一個方案是利用 i.MXRT 芯片 BootROM 里的功能,詳見舊文 《自識別特性(Auto Probe)可以無需FDCB也能從NOR Flash啟動》。這個特性可以讓我們不用提供 FDCB,芯片也能正常從 Flash 里啟動固件應(yīng)用程序,這樣也就自然不存在量產(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),但是一些性能模式相關(guān)的差異不能很好地處理,拓展性不足。

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

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

7689adcc-5b13-11ed-a3b6-dac502259ad0.png

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

76a3adee-5b13-11ed-a3b6-dac502259ad0.png

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

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

審核編輯 :李倩

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

    關(guān)注

    10

    文章

    1614

    瀏覽量

    147670
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7443

    瀏覽量

    163538

原文標(biāo)題:一種靈活的i.MX RT下多串行NOR Flash型號選擇的量產(chǎn)方案

文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    光纖光強(qiáng)影響因素都有哪些

    光纖光強(qiáng)即光纖中傳輸?shù)墓庑盘柕膹?qiáng)度,受到多種因素的影響。以下是對光纖光強(qiáng)影響因素的詳細(xì)分析: 一、光纖本身的特性 光纖類型:不同類型的光纖(如單模光纖和模光纖)具有不同的傳輸特性,這會影響光信號
    的頭像 發(fā)表于 11-01 09:39 ?132次閱讀

    NAND Flash的擦寫次數(shù)介紹

    NAND Flash作為非易失性存儲技術(shù)的重要一員,其擦寫次數(shù)是評估其性能和壽命的關(guān)鍵因素之一。以下將詳細(xì)介紹NAND Flash的擦寫次數(shù),包括其定義、不同類型NAND Flash
    的頭像 發(fā)表于 07-29 17:18 ?2269次閱讀

    NAND Flash和NOR Flash哪個更好

    在討論NAND Flash和NOR Flash哪個更好時,我們需要從多個維度進(jìn)行深入分析,包括它們的技術(shù)特性、應(yīng)用場景、成本效益以及未來發(fā)展趨勢等。
    的頭像 發(fā)表于 07-29 16:59 ?1164次閱讀

    NAND Flash與NOR Flash:壞塊管理需求的差異解析

    NOR Flash和NAND Flash是兩種不同類型的閃存技術(shù),它們在存儲單元的連接方式、耐用性、壞塊管理等方面存在差異。
    的頭像 發(fā)表于 07-10 14:25 ?1736次閱讀
    NAND <b class='flag-5'>Flash</b>與NOR <b class='flag-5'>Flash</b>:壞塊管理需求的差異解析

    有內(nèi)部flash與psram的esp32 s3fh4r2的可用引腳比沒有的嗎?

    有內(nèi)部flash與psram的esp32 s3fh4r2的可用引腳比沒有的嗎?空出的外部falsh spi引腳是否可以拿來做其他功能用?
    發(fā)表于 07-01 07:56

    ESP32-C2怎么開啟secure boot和flash加密?

    求教ESP32-C2怎么開啟secure boot和flash加密?特別是量產(chǎn)的時候應(yīng)該怎么加密,我看到有人說是flash download tools可以,但是文檔說不支持esp32-c2。另外
    發(fā)表于 06-05 07:37

    STM32G4 FLASH全為0x00的原因?怎么解決?

    請教一下大家,我想測試STLINK UTILITY的Automatic Mode功能(芯片是STM32G474的開發(fā)板自帶的STM32G474RET6U),來測試一下量產(chǎn)刷程序(配合設(shè)置讀保護(hù)
    發(fā)表于 04-08 07:06

    Flash存儲芯片:NOR Flash、NAND Flash、UFS和eMMC的比較與解析

    前言 在數(shù)字化時代的今天,數(shù)據(jù)的存儲和管理變得越來越重要。各種各樣的存儲技術(shù)應(yīng)運而生,以滿足不同的使用場景和需求。其中,Flash存儲芯片以其非易失性、可擦寫性和可編程性等優(yōu)勢,占據(jù)了重要地位。本
    的頭像 發(fā)表于 04-03 12:02 ?4057次閱讀
    <b class='flag-5'>Flash</b>存儲芯片:NOR <b class='flag-5'>Flash</b>、NAND <b class='flag-5'>Flash</b>、UFS和eMMC的比較與解析

    NAND Flash的寫入速度和擦除速度分別是多少

    NAND Flash的寫入速度和擦除速度會受到多種因素的影響,包括Flash芯片的具體型號、制造工藝、以及操作環(huán)境等。因此,無法給出確切的數(shù)值。
    的頭像 發(fā)表于 02-19 12:41 ?3666次閱讀

    請問基于iLLD可以開發(fā)量產(chǎn)的ECU嗎?

    基于iLLD可以開發(fā)量產(chǎn)的ECU嗎?我看一般做量產(chǎn)開發(fā)的話,都不基于iLLD了,而是用買的MCAL來開發(fā)。那iLLD是不是就是提供大家玩玩的,真正做量產(chǎn)項目的話都不用iLLD?謝謝!
    發(fā)表于 02-19 08:16

    stm32 flash寫數(shù)據(jù)怎么存儲的

    stm32 flash寫數(shù)據(jù)怎么存儲的? STM32是一款廣泛應(yīng)用于嵌入式系統(tǒng)開發(fā)的微控制器,它的Flash存儲器是其中一個重要的組成部分。在本文中,我將詳細(xì)介紹STM32 Flash的存儲機(jī)制
    的頭像 發(fā)表于 01-31 15:46 ?2219次閱讀

    復(fù)旦微電預(yù)計2024年實現(xiàn)NOR Flash大容量512Mbit/1Gbit新品量產(chǎn)

    此舉意味著,復(fù)旦微電的NOR Flash存儲產(chǎn)品線將進(jìn)一步充實,有潛力在不遠(yuǎn)的將來擴(kuò)大市場占有率。此外,面向SLC NAND Flash領(lǐng)域的布局也已初步形成
    的頭像 發(fā)表于 01-23 14:45 ?1120次閱讀

    SMT貼片生產(chǎn)廠家如何才能做出穩(wěn)定的高質(zhì)量產(chǎn)品呢?

    在SMT貼片生產(chǎn)廠家中,如何才能做出穩(wěn)定的高質(zhì)量產(chǎn)品,那么又有那么因素能影響到這些呢?
    的頭像 發(fā)表于 12-06 10:22 ?430次閱讀

    Nor Flash的基本概念 Nor Flash的內(nèi)部結(jié)構(gòu)解析

    Nor Flash是一種非易失性存儲技術(shù),用于存儲數(shù)據(jù)和代碼。它是一種閃存存儲器,類似于NAND Flash,但具有不同的特性和應(yīng)用場景。
    的頭像 發(fā)表于 12-05 13:57 ?3073次閱讀

    NAND Flash和NOR Flash的區(qū)別

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