1?? SPI(Serial Peripheral Interface,串行外設接口)
-
英文解釋:
- Serial:串行
- Peripheral:外設
- Interface:接口
-
用途:MCU 與外部設備(Flash、傳感器等)高速數據通信
常見 SPI 類型
類型 | 數據線 | 英文全稱 | 每時鐘傳輸 | 特點 / 用途 |
---|---|---|---|---|
單線 SPI | 1(MOSI)+1(MISO)+CLK+CS | Standard SPI | 1 bit | 基礎 SPI,低速 Flash、外設配置 |
雙線 SPI | 2 數據線 + CLK + CS | Dual SPI | 2 bit | 雙向傳輸,速度翻倍 |
四線 SPI | 4 數據線 + CLK + CS | Quad SPI (QSPI) | 4 bit | 高速讀取 NOR Flash,可 XIP(Execute In Place) |
八線 SPI | 8 數據線 + CLK + CS | Octo SPI / HyperBus | 8 bit | 高速大容量 Flash,數百 MB/s,工業 / Linux 系統用 |
?? SPI 擴展主要是增加數據線并行傳輸,最大常見是 8 線。16 線 SPI 不存在,超過 8 線通常改用并行總線或 DDR 接口。
SPI 通信距離
條件 | 建議距離 |
---|---|
PCB 板上(同板或短線) | 幾厘米到幾十厘米(穩定) |
板間普通導線 | ≤30 cm(高速模式下建議 ≤10~15 cm) |
高速 QSPI / Octo SPI | ≤10~15 cm(線長越長,時鐘抖動越嚴重) |
影響因素:
- 時鐘頻率:高頻 → 信號衰減,距離減小
- 線纜類型:雙絞線/屏蔽線可稍延長距離
- 電容和阻抗匹配:線太長 → 串擾和反射 → 數據錯誤
- 信號驅動能力:驅動弱 → 長線更容易出錯
💡 總結:SPI 是短距離高速接口,高速模式通常只適合同板或板間短線,米級通信需換 UART/RS485/CAN 等長距離接口。
2?? Flash 類型
2.1 NOR Flash
-
英文解釋:Not OR Flash
-
特點:
- 支持 隨機訪問,按字節讀取
- 讀取速度快,適合執行程序代碼(XIP)
- 寫入/擦除慢,容量相對小
- 擦寫次數高 (~10 萬次)
-
用途:存儲 MCU 固件、啟動程序、少量數據
-
接口:SPI / QSPI / OctoSPI
-
例子:W25Q64(8MB QSPI NOR Flash)
2.2 NAND Flash
-
英文解釋:Not AND Flash
-
特點:
- 按頁 / 塊順序訪問,隨機訪問慢
- 寫入/擦除快,容量大(GB級)
- 擦寫次數約 10 萬次(小塊 NAND)
-
用途:存儲數據文件、大容量存儲(SD 卡、SSD)
-
接口:Parallel NAND / SPI NAND
-
特點對比:
特性 | NOR Flash | NAND Flash |
---|---|---|
訪問方式 | 隨機訪問 | 順序訪問(頁/塊) |
寫入速度 | 慢 | 快 |
擦寫速度 | 慢 | 快 |
容量 | 小 | 大 |
XIP 支持 | 支持 | 不支持 |
用途 | 固件 / 代碼 | 數據存儲 / 文件系統 |
3?? QSPI / Dual / Octo 關鍵英文單詞
縮寫 | 英文全稱 | 含義 |
---|---|---|
SPI | Serial Peripheral Interface | 串行外設接口 |
QSPI | Quad SPI | 四線 SPI,每時鐘傳 4 bit |
Dual SPI | Dual SPI | 雙線 SPI,每時鐘傳 2 bit |
Octo SPI | Octo SPI | 八線 SPI,每時鐘傳 8 bit |
XIP | eXecute In Place | 直接從 Flash 執行程序,無需拷貝到 RAM |
CS | Chip Select | 片選信號,低電平選中芯片 |
MOSI | Master Out Slave In | 主機輸出,從機輸入 |
MISO | Master In Slave Out | 主機輸入,從機輸出 |
CLK | Clock | 時鐘信號 |
IO0~IO7 | 數據線 | 數據傳輸線(Quad/Octo 模式) |
💡 總結要點:
- SPI 接口根據數據線不同有 單線 / 雙線 / 四線 / 八線,帶寬逐步增加
- SPI 是短距離高速接口,高速模式通常只適合同板或板間短線
- NOR Flash 適合存程序,NAND Flash 適合大容量數據存儲
- QSPI / OctoSPI 主要用于 高速讀取 + XIP
- MCU 與 Flash 接口模式必須匹配,才能發揮最大帶寬