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

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

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

什么是QPI/OPI模式

恩智浦MCU加油站 ? 來源:恩智浦MCU加油站 ? 作者:恩智浦MCU加油站 ? 2022-09-22 09:21 ? 次閱讀

我們知道Flash讀時序里有五大子序列CMD + ADDR + MODE + DUMMY + READ,前面的文章中講過《串行NOR Flash的Continuous read模式》,Continuous read模式是為了在適當(dāng)?shù)那闆r下精簡掉連續(xù)讀訪問里的后續(xù)CMD子序列,它可以進(jìn)一步提高Flash訪問性能,這已經(jīng)是極限了嗎?其實沒有,還差最后一招,那就是今天要講的QPI/OPI模式。

一、什么是QPI/OPI模式?

截至到目前為止,不管是四線Flash還是八線Flash,之前講的所有Flash傳輸時序中的CMD子序列都是以單線形式發(fā)送的(即只通過IO0來發(fā)送),我想你肯定也曾經(jīng)覺得奇怪過,為何其他子序列都有1/2/4/8線模式可選,偏偏這個CMD子序列總是1線模式?

其實這也不能怨CMD,畢竟所有的Flash傳輸時序都從CMD子序列開始的,后續(xù)子序列的Pad模式都是靠CMD命令碼來區(qū)分的,為了保證CMD值能被正確獲取,只能犧牲CMD序列的靈活性,就固定以單線形式發(fā)送,這也就是所謂的SPI模式。

為了不讓CMD子序列太委屈,F(xiàn)lash 廠商也為了它單獨做了設(shè)計,四線Flash可以切換到4線模式來發(fā)送CMD子序列(即QPI模式),八線Flash可以切換到8線模式來發(fā)送CMD子序列(即OPI模式),上電默認(rèn)是SPI模式,然后在SPI模式下做指定設(shè)置可以切換到QPI/OPI模式,在QPI/OPI模式下做指定設(shè)置或者復(fù)位也能再回到SPI模式。

1.1 四線Flash的QPI模式

下面是一款典型的四線Flash芯成 IS25WP128)在QPI模式下的Fast Read Quad I/O傳輸時序,此時CMD子序列僅在2個CLK內(nèi)就完成了傳輸,因為IO[3:0]均參與了CMD發(fā)送,效率是SPI模式下的 4 倍。后面的子序列與SPI模式下一模一樣。

bb410dce-3a12-11ed-9e49-dac502259ad0.png

1.2 八線Flash的OPI模式

下面是一款典型的八線Flash(旺宏 MX25UM51345)在OPI模式下的OCTA Read傳輸時序,此時CMD子序列僅在1個CLK內(nèi)就完成了傳輸,因為SIO[7:0]均參與了CMD發(fā)送,效率是SPI模式下的8倍。后面的子序列與SPI模式下一模一樣。

bb9bc304-3a12-11ed-9e49-dac502259ad0.png

二、不同F(xiàn)lash廠商關(guān)于QPI/OPI切換設(shè)計

現(xiàn)在我們來看幾家主流Flash廠商關(guān)于QPI/OPI模式切換的設(shè)計(如果你想快速確認(rèn)某一款型號Flash是否支持這個特性,找到其數(shù)據(jù)手冊搜索"QPI/OPI"看有沒有結(jié)果):

2.1 四線 Flash 上切換設(shè)計

QPI模式是四線Flash上一個性能模式特性,并不是所有 Flash 都支持這個特性。而對于支持QPI模式的Flash,不同廠商的切換設(shè)計也不太相同,不過大部分廠商都是選擇發(fā)一個CMD命令時序來切換,比如芯成IS25WP128就是如下的時序進(jìn)入和退出QPI模式:

bbd35b84-3a12-11ed-9e49-dac502259ad0.png

找了幾家市面上比較常見的四線 Flash,并整理了它們進(jìn)出QPI模式命令碼如下:

bc07bf3c-3a12-11ed-9e49-dac502259ad0.png

當(dāng)然也有一些廠商不是發(fā)一個CMD命令時序來切換的設(shè)計,而是通過設(shè)置Flash內(nèi)部寄存器的方式來做切換,比如賽普拉斯S25FS-S系列就是設(shè)置如下的寄存器來進(jìn)入和退出QPI模式:

bc392c52-3a12-11ed-9e49-dac502259ad0.png

2.2 八線 Flash 上切換設(shè)計

對于八線Flash,即使OPI模式也算性能模式特性,但是基本上所有Flash都能支持這個特性(畢竟目前生產(chǎn)8線Flash的廠商并不多)。這些廠商都是提供設(shè)置Flash內(nèi)部寄存器的方式來做切換:

如下是旺宏 MX25UM51345 切換 OPI 模式的寄存器定義:

bd96a96c-3a12-11ed-9e49-dac502259ad0.png

如下是鎂光 MT35X 系列切換 OPI 模式(即 Octal 模式)的寄存器定義:

bdd3fec0-3a12-11ed-9e49-dac502259ad0.png

三、在i.MXRT1170-EVK上實戰(zhàn)

了解了上面關(guān)于QPI/OPI模式知識后,我們在恩智浦i.MX RT1170-EVK板子上實踐一下。

默認(rèn)連接的Flash是IS25WP128,這款Flash是支持QPI模式的,我們隨便在SDK包里找一個XIP例程,修改工程里evkmimxrt1170_flexspi_nor_config.c文件里的FDCB啟動頭如下,改完下載程序進(jìn)Flash運行,代碼執(zhí)行效率應(yīng)該會有所提升。

#define CMD_LUT_SEQ_IDX_ENTER_QPI 7
const flexspi_nor_config_t qspiflash_config = {
    .memConfig =
        {
            // ... 默認(rèn)設(shè)置省略
            
            // 使能 QPI 配置操作
            .deviceModeCfgEnable = 1u,
            .deviceModeType = kDeviceConfigCmdType_Spi2Xpi,
            .waitTimeCfgCommands = 1,
            .deviceModeSeq =
                {
                    .seqNum   = 1,
                    .seqId    = CMD_LUT_SEQ_IDX_ENTER_QPI,
                    .reserved = 0,
                },
            .deviceModeArg = 0,
            .lookupTable =
                {
                    // Fast Read Quad I/O LUTs (將 CMD_SDR 的 Pad 模式由 FLEXSPI_1PAD 改為 FLEXSPI_4PAD)
                    [0]               = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_4PAD, 0xEB, RADDR_SDR, FLEXSPI_4PAD, 0x18),
                    [1]               = FLEXSPI_LUT_SEQ(MODE8_SDR, FLEXSPI_4PAD, 0x00, DUMMY_SDR, FLEXSPI_4PAD, 0x04),
                    [2]               = FLEXSPI_LUT_SEQ(READ_SDR, FLEXSPI_4PAD, 0x04, 0, 0, 0),
                    // 增加 Enter QPI 命令序列
                    [4*CMD_LUT_SEQ_IDX_ENTER_QPI]     = FLEXSPI_LUT_SEQ(CMD_SDR,   FLEXSPI_1PAD, 0x35, 0, 0, 0),
                },
        },
    // ... 默認(rèn)設(shè)置省略
};

關(guān)于OPI模式使能的例子可以直接參考MIMXRT500/600 SDK,因為其配套EVK使用的是旺宏MX25UM51345,所以官方SDK里啟動頭FDCB都是包含開啟OPI模式的配置代碼的。

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

    關(guān)注

    31

    文章

    5253

    瀏覽量

    119201
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    6715

    瀏覽量

    88310
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1669

    瀏覽量

    90729

原文標(biāo)題:在i.MX RT啟動頭FDCB里使能串行NOR Flash的QPI/OPI模式

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

收藏 人收藏

    評論

    相關(guān)推薦

    【orangepi zero試用體驗】之二:給OPI配合個殼,加裝散熱風(fēng)扇

    這幾天鼓搗了下OPI,開始安裝了Debian,配置wifi,不太好使,溫度也挺高的,后來下載了armbian,安裝試用了一下,還可以。溫度也不太高。這兩天陸續(xù)安裝了幾個軟件,先練練手,nmtui配置
    發(fā)表于 01-03 23:43

    一種低成本的 高速SRAM 替代解決方案

    就更貴了。這里介紹一種IPUS公司的串行PSRAM,由SPI/SQPI接口和OPI接口。 SPI/QPI接口最多6個信號腳,速度最高可達(dá)400Mbps或50MB/s OPI接口的由8個數(shù)據(jù)I/O,總共
    發(fā)表于 07-05 22:08

    如何在服務(wù)板上使用QPI總線的FPGA接口?

    嗨,我的項目想要研究在服務(wù)器主板上點擊QPI信號的可能性。我注意到Xilinx 7系列有QPI接口解決方案,可能符合我的要求,盡管這可能是QPI接口的常用用途。我的問題是:如何在服務(wù)板上使用Q
    發(fā)表于 03-13 10:05

    art_pi_bootloader例程為什么啟動時直接QPI模式

    各位前輩好,ART_PI 的 art_pi_bootloader 例程,為什么啟動時直接QPI模式? W25Q64手冊上是先進(jìn)SPI模式謝謝
    發(fā)表于 09-02 11:31

    QPI模式下輪詢NOR閃存的SR時HAL_QSPI_AutoPolling()失敗了怎么處理?

    我正在使用帶有 NOR 閃存(Winbond 的 W25128 芯片)的 STM32H750B。當(dāng)芯片配置為QPI模式時。如果使用自動輪詢功能輪詢 SR1,則會拋出錯誤。但是直接讀取 SR 并檢查這些位是否有效。有什么幫助嗎?謝謝。
    發(fā)表于 01-09 08:50

    STM32L476VGT6在QPI模式下發(fā)送命令的問題如何解決?

    我在 QPI 模式下使用帶有外部閃存的 STM32L476VGT6 設(shè)備。一切正常,直到我嘗試發(fā)送一個沒有地址和數(shù)據(jù)的命令字節(jié)。例如,當(dāng)我嘗試發(fā)送命令 0xF5(退出 QPI 模式)時
    發(fā)表于 01-09 08:11

    安捷倫投產(chǎn)支持USB 3.0和QPI的比特誤碼率測試

    安捷倫投產(chǎn)支持USB 3.0和QPI的比特誤碼率測試
    發(fā)表于 05-15 09:15 ?1072次閱讀

    OPI812-OP1815電路原理電路圖

    OPI812-OP1815電路原理電路圖
    發(fā)表于 07-01 11:21 ?1363次閱讀
    <b class='flag-5'>OPI</b>812-OP1815電路原理電路圖

    OPI812-OP1815開關(guān)時序電路及波形電路圖

    OPI812-OP1815開關(guān)時序電路及波形電路圖
    發(fā)表于 07-01 11:22 ?1014次閱讀
    <b class='flag-5'>OPI</b>812-OP1815開關(guān)時序電路及波形電路圖

    Optekinc推出2Mbd傳輸速率的光隔離器OPI1268

    Optekinc推出2Mbd傳輸速率的光隔離器OPI1268 OPI1268高電壓光隔離器數(shù)據(jù)傳輸速率高達(dá)2Mbd,以及具有2 kV的隔離。該器件將850nm的峰值波長GaAlAs LED光耦合到輸出IC上光
    發(fā)表于 03-30 10:38 ?1330次閱讀

    有源EMI輸入濾波器 (QPI系列)

    有源EMI輸入濾波器 (QPI系列) 的PDF
    發(fā)表于 01-06 18:03 ?0次下載

    QPI有源EMI輸入濾波器

    QPI有源EMI輸入濾波器 的 PDF 。
    發(fā)表于 01-06 18:00 ?0次下載

    有源EMI輸入濾波器 (QPI系列)

    Avago Technologies有源EMI輸入濾波器 (QPI系列)
    發(fā)表于 06-02 15:17 ?25次下載

    高密度有源EMI濾波器QuietPower QPI-21的作用及設(shè)計應(yīng)用

    Vicor Corporation(NASDAQ:VICR)推出的面向DC-DC變換器的Picor QuietPower? QPI-21高密度有源EMI濾波器。該QPI-21支持48V DC-DC變換器在通信和電信的應(yīng)用設(shè)計, 電流高達(dá)14A, 效率在99.5%上, 將濾
    發(fā)表于 11-04 13:33 ?1168次閱讀

    什么是開放平臺逆變器(OPI)?

    什么是開放平臺逆變器(OPI)? 功能強大、通用性強的逆變器硬件平臺,配以靈活配置的即插即用軟件
    發(fā)表于 09-06 15:14 ?386次閱讀
    什么是開放平臺逆變器(<b class='flag-5'>OPI</b>)?