串行外設接口總線是一種以全雙工方式運行的同步串行通信鏈路,這意味著設備同時發送和接收數據。這些設備作為主/從設備進行通信,其中主設備通過選擇帶有硬件線路的從設備來啟動通信,并且還提供用于將數據位移入和移出從設備的同步時鐘。
通信所需的信號是從選擇(SS)、主輸入從輸出(MISO)、主輸出從輸入(MOSI)和串行時鐘(SCK)。SPI 相對于其他通信協議的優勢在于,尋址是在硬件中通過 SS 線執行的,從而可以更快地尋址設備,并且通信是全雙工的,從而可以更快地傳輸數據(圖 1)。
圖 1 串行外設接口總線
SPI 通信開始于主機斷言 SS 線。根據器件的不同,SS 線可能是高電平有效或低電平有效。在開始通信之前,主設備必須等待至少一個時鐘周期。與 SS 線的活動極性非常相似,SS 激活后的等待時間因設備而異。例如,模數轉換器可能要求主設備在其 SS 線被斷言后等待轉換完成。接下來,主機將開始將數據移出 MOSI 線,并將數據移入 MISO。數據始終以全雙工方式傳輸,即使該數據沒有意義。例如,為了讓主設備從從設備接收 24 位數據,它還必須向從設備發送 24 位數據(圖 2 和圖 3)。
圖 2 階段 0 時序
第一階段時間
沒有關于使用哪個時鐘邊沿來發送和接收數據的標準,因此根據時鐘極性和時鐘相位,有四種可能的操作模式。請參閱下面圖 4 中的表格。
SPI 模式
圖 4 SPI 模式
以模式 1 為例,主機將在 SCK 線為低電平時空閑總線。當主機將 SCK 線推高時,它也會將最高有效位放在 MOSI 線上。同時,Slave 將把最重要的放在 MISO 線上。接下來,Master 拉動 SCK 線并從 MISO 線上的 Slave 讀取穩定位。同時,Slave 在 MOSI 線上讀取 Master 生成的穩定位。當 SS 線路停用時,通信終止,因此它必須在整個通信幀期間保持活動狀態。
編輯:hfy
-
通信協議
+關注
關注
28文章
1034瀏覽量
41169 -
SPI
+關注
關注
17文章
1804瀏覽量
95950
發布評論請先 登錄
使用NUCLEO-F429ZI實現PTP網絡時間同步協議的從時鐘部分,如何輸出相應的PPS信號用于測量主從時鐘同步性能?
iic協議與spi協議的區別
KeyStone架構串行外設接口(SPI)手冊
通信協議之SPI總線硬件篇

SPI的通信問題
spi master接口的fpga實現

評論