一、概述
(一)QSPI 簡介
QSPI(Quad Serial Peripheral Interface)是一種高速串行通信接口,在標(biāo)準(zhǔn) SPI(Serial Peripheral Interface)的基礎(chǔ)上擴(kuò)展至 4 條數(shù)據(jù)線(Quad Mode),顯著提升數(shù)據(jù)傳輸速率。它廣泛應(yīng)用于 Flash 存儲(chǔ)器、傳感器和微控制器之間的通信。
(二)主要特性
- 多種模式支持 :兼容 Standard SPI(1 - bit 模式)、Dual SPI(2 - bit 模式)以及 Quad SPI(4 - bit 模式,最高吞吐量)。
- 高時(shí)鐘頻率 :通常支持 50MHz - 133MHz(取決于芯片),為數(shù)據(jù)傳輸提供高速時(shí)鐘保障。
- 低引腳占用 :僅需 6 個(gè)引腳(CLK, CS, IO0 - IO3)即可實(shí)現(xiàn)全雙工通信,有效節(jié)省硬件資源。
- 內(nèi)存映射模式(XIP, Execute - In - Place) :允許 CPU 直接訪問 QSPI Flash,無需額外緩存,提升系統(tǒng)運(yùn)行效率。
(三)應(yīng)用場景
在嵌入式系統(tǒng)中,QSPI 常用于連接微控制器與外部 Flash 存儲(chǔ)器,實(shí)現(xiàn)程序代碼和數(shù)據(jù)的高速讀寫操作;還可與各類傳感器配合,快速傳輸傳感器采集到的數(shù)據(jù),滿足工業(yè)控制、汽車電子、物聯(lián)網(wǎng)等諸多領(lǐng)域的實(shí)時(shí)性與大數(shù)據(jù)量傳輸需求。
二、AS32A601 QSPI 硬件設(shè)計(jì)
| 引腳名稱 | 功能 | 說明 |
|---|---|---|
| CLK | 時(shí)鐘信號(hào) | 主設(shè)備輸出,從設(shè)備同步數(shù)據(jù) |
| CS | 片選信號(hào)(低電平有效) | 使能從設(shè)備通信 |
| IO0 (DQ0) | 數(shù)據(jù)線0(MOSI in SPI模式) | 單線模式:單向數(shù)據(jù)輸入/輸出 |
| IO1 (DQ1) | 數(shù)據(jù)線1(MISO in SPI模式) | 單線模式:單向數(shù)據(jù)輸入/輸出 |
| IO2 (DQ2) | 數(shù)據(jù)線2(WP# in SPI模式) | Quad模式:雙向數(shù)據(jù)傳輸 |
| IO3 (DQ3) | 數(shù)據(jù)線3(HOLD# in SPI模式) | Quad模式:雙向數(shù)據(jù)傳輸 |
(二)開發(fā)板配置
在 AS32A601 開發(fā)板上,QSPI 經(jīng)過一個(gè) BUFFER 芯片接入 QSPI_FLASH,所選 FLASH 型號(hào)為 S25FL512SAGMFVG13,該型號(hào) QSPI 支持最大速率可達(dá) 45MHz,為系統(tǒng)穩(wěn)定運(yùn)行提供可靠存儲(chǔ)支持。

三、QSPI 時(shí)序解析

(一)指令階段
這一階段,將在QSPI_CCR[7:0]寄存器的instruction字段中配置的一條8位指令發(fā)送到Flash,指定待執(zhí)行操作的類型。
盡管大多數(shù)Flash從IO0/SO信號(hào)(單線SPI模式)只能以一次1位的方式接收指令,但指令階段可選擇一次發(fā)送2位(在雙線SPI模式中通過IO0/IO1)或一次發(fā)送4位(在四線SPI模式中通過IO0/IO1/IO2/IO3)。這可通過QSPI_CCR[9:8]寄存器中的IMODE[1:0]字段進(jìn)行配置。若IMODE = 00,則跳過指令階段,命令序列從地址階段(如果存在)開始。
(二)地址階段
在地址階段,將1-4字節(jié)發(fā)送到Flash,指示操作地址。待發(fā)送的地址字節(jié)數(shù)在QSPI_CCR[13:12]寄存器的ADSIZE[1:0]字段中進(jìn)行配置。在間接模式和自動(dòng)輪詢模式下,待發(fā)送的地址字節(jié)在QSPI_AR寄存器的ADDRESS[31:0]中指定;在內(nèi)存映射模式下,則通過AHB(來自于內(nèi)核或DMA)直接給出地址。地址階段可一次發(fā)送1位(單線SPI模式通過SO)、2位(雙線SPI模式中通過IO0/IO1)或4位(在四線SPI模式中通過IO0/IO1/IO2/IO3)。這可通過QUADSPI_CCR[11:10]寄存器中的ADMODE[1:0]字段進(jìn)行配置。若ADMODE = 00,則跳過地址階段,命令序列直接進(jìn)入下一階段(如果存在)。
(三)交替字節(jié)階段
在交替字節(jié)階段,將1-4字節(jié)發(fā)送到Flash,一般用于控制操作模式。待發(fā)送的交替字節(jié)數(shù)在QSPI_CCR[17:16]寄存器的ABSIZE[1:0]字段中進(jìn)行配置。待發(fā)送的字節(jié)在QSPI_ABR寄存器中指定。
交替字節(jié)階段可一次發(fā)送1位(在單線SPI模式中通過SO)、2位(在雙線SPI模式中通過IO0/IO1)或4位(在四線SPI模式中通過IO0/IO1/IO2/IO3)。這可通過QSPI_CCR[15:14]寄存器中的ABMODE[1:0]字段進(jìn)行配置。若ABMODE = 00,則跳過交替字節(jié)階段,命令序列直接進(jìn)入下一階段(如果存在)。
交替字節(jié)階段存在僅需發(fā)送單個(gè)半字節(jié)而不是一個(gè)全字節(jié)的情況,比如采用雙線模式并且僅使用兩個(gè)周期發(fā)送交替字節(jié)時(shí)。在這種情況下,固件可采用四線模式(ABMODE = 11)并發(fā)送一個(gè)字節(jié),方法是ALTERNATE的位7和3置“1”(IO3保持高電平)且位6和2置“0”(IO2線保持低電平)。此時(shí),半字節(jié)的高2位存放在ALTERNATE的位4:3,低2位存放在位1和0中。例如,如果半字節(jié)2 (0010)通過IO0/IO1發(fā)送,則ALTERNATE應(yīng)設(shè)置為0x8A (1000_1010)。
(四)空指令周期階段
在空指令周期階段,給定的1-31個(gè)周期內(nèi)不發(fā)送或接收任何數(shù)據(jù),目的是當(dāng)采用更高的時(shí)鐘頻率時(shí),給Flash留出準(zhǔn)備數(shù)據(jù)階段的時(shí)間。這一階段中給定的周期數(shù)在QSPI_CCR[22:18]寄存器的DCYC[4:0]字段中指定。在SDR和DDR模式下,持續(xù)時(shí)間被指定為一定個(gè)數(shù)的全時(shí)鐘周期。若DCYC為零,則跳過空指令周期階段,命令序列直接進(jìn)入數(shù)據(jù)階段(如果存在)。空指令周期階段的操作模式由DMODE確定。為確保數(shù)據(jù)信號(hào)從輸出模式轉(zhuǎn)變?yōu)檩斎肽J接凶銐虻摹爸苻D(zhuǎn)”時(shí)間,使用雙線和四線模式從Flash接收數(shù)據(jù)時(shí),至少需要指定一個(gè)空指令周期。
(五)數(shù)據(jù)階段
在數(shù)據(jù)階段,可從Flash接收或向其發(fā)送任意數(shù)量的字節(jié)。在間接模式和自動(dòng)輪詢模式下,待發(fā)送/接收的字節(jié)數(shù)在QSPI_DLR寄存器中指定。在間接寫入模式下,發(fā)送到Flash的數(shù)據(jù)必須寫入QSPI_DR寄存器。在間接讀取模式下,通過讀取QSPI_DR寄存器獲得從Flash接收的數(shù)據(jù)。在內(nèi)存映射模式下,讀取的數(shù)據(jù)通過AHB直接發(fā)送回Cortex或DMA。數(shù)據(jù)階段可一次發(fā)送/接收1位(在單線SPI模式中通過SO)、2位(在雙線SPI模式中通過IO0/IO1)或4位(在四線SPI模式中通過IO0/IO1/IO2/IO3)。這可通過QUADSPI_CCR[15:14]寄存器中的ABMODE[1:0] 字段進(jìn)行配置。若DMODE = 00,則跳過數(shù)據(jù)階段,命令序列在拉高nCS時(shí)立即完成。這一配置僅可用于僅間接寫入模式。
四、QSPI 與 SPI 異同比較
QSPI(Quad SPI)和SPI(Serial Peripheral Interface)是兩種串行通信協(xié)議,用于在主設(shè)備和從設(shè)備之間進(jìn)行數(shù)據(jù)傳輸。它們有一些相似之處,但也有一些重要的區(qū)別。
(一)相似之處
- 串行通信本質(zhì) :二者均為串行通信協(xié)議,通過少量引腳實(shí)現(xiàn)數(shù)據(jù)傳輸,在硬件資源有限的場景下具有顯著優(yōu)勢(shì)。
- 主從架構(gòu) :均基于主從結(jié)構(gòu),主設(shè)備主導(dǎo)通信發(fā)起與時(shí)序控制,從設(shè)備依主設(shè)備指令響應(yīng)并完成數(shù)據(jù)交互,便于系統(tǒng)級(jí)的設(shè)備管理和任務(wù)調(diào)度。
(二)不同之處
- 傳輸速率差異 :QSPI 憑借四條數(shù)據(jù)線(Quad 模式)可同時(shí)傳輸四個(gè)數(shù)據(jù)位,支持更高傳輸速率;SPI 通常僅使用一條數(shù)據(jù)線,每次僅能傳輸一個(gè)數(shù)據(jù)位,傳輸速率相對(duì)較低。
- 總線模式多樣性 :QSPI 支持單線、雙線、四線等多種總線模式,可根據(jù)應(yīng)用場景靈活選擇;SPI 一般僅支持單線模式,難以滿足對(duì)高帶寬有需求的復(fù)雜應(yīng)用。
- 時(shí)鐘頻率范圍 :QSPI 為匹配高速數(shù)據(jù)傳輸,通常支持更高時(shí)鐘頻率;SPI 的時(shí)鐘頻率設(shè)計(jì)相對(duì)較低,適用于對(duì)實(shí)時(shí)性要求不苛刻的場景。
- 引腳占用情況 :QSPI 為實(shí)現(xiàn)四線模式高速數(shù)據(jù)傳輸,需更多引腳;SPI 僅需少量引腳即可完成基本通信功能,在簡單應(yīng)用中硬件連接更為簡便。
- 片選信號(hào)運(yùn)用 :QSPI 與 SPI 均使用片選信號(hào)(Chip Select)選擇通信從設(shè)備,但在復(fù)雜多設(shè)備系統(tǒng)中,QSPI 的多線模式可減少總線切換次數(shù),提升整體通信效率。
總之,需要根據(jù)具體的應(yīng)用需求和設(shè)備支持來選擇使用QSPI還是SPI。QSPI適用于需要更高傳輸速率和更大帶寬的應(yīng)用,而SPI適用于傳輸速率要求不高的應(yīng)用。
審核編輯 黃宇
-
芯片
+關(guān)注
關(guān)注
463文章
54474瀏覽量
469774 -
QSPI
+關(guān)注
關(guān)注
0文章
55瀏覽量
13419
發(fā)布評(píng)論請(qǐng)先 登錄
經(jīng)驗(yàn)貼 8:AP4054 芯片介紹 + 高溫環(huán)境降額使用與熱穩(wěn)定性經(jīng)驗(yàn)
GPS時(shí)鐘授時(shí)裝置常見問題與實(shí)戰(zhàn)經(jīng)驗(yàn)分享
車載音頻功放芯片實(shí)戰(zhàn)經(jīng)驗(yàn)與深度疑問
AS32A601車規(guī)級(jí)微控制器的應(yīng)用探索
助力V2G,SECC GreenPHY實(shí)戰(zhàn)開發(fā)
基于AS32A601型MCU芯片的屏幕驅(qū)動(dòng)IC方案的技術(shù)研究
AS32S601型MCU芯片在商業(yè)衛(wèi)星電源系統(tǒng)伺服控制器中的性能分析與應(yīng)用解析
京東商品 SKU 信息接口技術(shù)干貨:數(shù)據(jù)拉取、規(guī)格解析與字段治理(附踩坑總結(jié) + 可運(yùn)行代碼
Linux服務(wù)器性能調(diào)優(yōu)的核心技巧和實(shí)戰(zhàn)經(jīng)驗(yàn)
AS32X601芯片Flash擦寫調(diào)試技術(shù)解析
AS32A601在毫米波雷達(dá)AEB方案中的技術(shù)創(chuàng)新與應(yīng)用拓展
基于AS32A601的高可靠MCU在電動(dòng)汽車VCU系統(tǒng)中的應(yīng)用策略
AS32A601與ASM1042芯片在電力系統(tǒng)自動(dòng)化監(jiān)控中的應(yīng)用效能分析
移動(dòng)電源EMC整改:認(rèn)證失敗到一次通過的實(shí)戰(zhàn)經(jīng)驗(yàn)
RISC-V JTAG:開啟MCU 芯片調(diào)試之旅
AS32A601芯片QSPI 調(diào)試技術(shù)解析與與實(shí)戰(zhàn)經(jīng)驗(yàn)分享
評(píng)論