串行外設接口總線是一種以全雙工方式運行的同步串行通信鏈路,這意味著設備同時發(fā)送和接收數(shù)據(jù)。這些設備作為主/從設備進行通信,其中主設備通過選擇帶有硬件線路的從設備來啟動通信,并且還提供用于將數(shù)據(jù)位移入和移出從設備的同步時鐘。
通信所需的信號是從選擇(SS)、主輸入從輸出(MISO)、主輸出從輸入(MOSI)和串行時鐘(SCK)。SPI 相對于其他通信協(xié)議的優(yōu)勢在于,尋址是在硬件中通過 SS 線執(zhí)行的,從而可以更快地尋址設備,并且通信是全雙工的,從而可以更快地傳輸數(shù)據(jù)(圖 1)。

圖 1 串行外設接口總線
SPI 通信開始于主機斷言 SS 線。根據(jù)器件的不同,SS 線可能是高電平有效或低電平有效。在開始通信之前,主設備必須等待至少一個時鐘周期。與 SS 線的活動極性非常相似,SS 激活后的等待時間因設備而異。例如,模數(shù)轉換器可能要求主設備在其 SS 線被斷言后等待轉換完成。接下來,主機將開始將數(shù)據(jù)移出 MOSI 線,并將數(shù)據(jù)移入 MISO。數(shù)據(jù)始終以全雙工方式傳輸,即使該數(shù)據(jù)沒有意義。例如,為了讓主設備從從設備接收 24 位數(shù)據(jù),它還必須向從設備發(fā)送 24 位數(shù)據(jù)(圖 2 和圖 3)。

圖 2 階段 0 時序

第一階段時間
沒有關于使用哪個時鐘邊沿來發(fā)送和接收數(shù)據(jù)的標準,因此根據(jù)時鐘極性和時鐘相位,有四種可能的操作模式。請參閱下面圖 4 中的表格。
SPI 模式

圖 4 SPI 模式
以模式 1 為例,主機將在 SCK 線為低電平時空閑總線。當主機將 SCK 線推高時,它也會將最高有效位放在 MOSI 線上。同時,Slave 將把最重要的放在 MISO 線上。接下來,Master 拉動 SCK 線并從 MISO 線上的 Slave 讀取穩(wěn)定位。同時,Slave 在 MOSI 線上讀取 Master 生成的穩(wěn)定位。當 SS 線路停用時,通信終止,因此它必須在整個通信幀期間保持活動狀態(tài)。
編輯:hfy
-
通信協(xié)議
+關注
關注
28文章
1092瀏覽量
42162 -
SPI
+關注
關注
17文章
1885瀏覽量
101257
發(fā)布評論請先 登錄
SPI 支持單線半雙工通信模式
通信協(xié)議IIC與SPI最全對比分析
SPI的多機通信
FPGA實現(xiàn)基于SPI協(xié)議的Flash驅動控制芯片擦除
SPI優(yōu)點
SPI、I2C、I2S、UART:通信協(xié)議解釋
RVMCU課堂「15」: 手把手教你玩轉RVSTAR—SPI總線通信篇
基于STEVAL-BMS1T的隔離式SPI通信技術解析與應用指南
spi硬件主從機,從機接收失敗的原因?怎么解決?
數(shù)字電壓表設計教程之SPI協(xié)議詳解
SPI通信筆記:基礎+動圖+時序圖+總結,一文吃透!
串行通信接口SPI與QSPI的區(qū)別
如何實現(xiàn) SPI通信的主從功能
評論