串行外設接口總線是一種以全雙工方式運行的同步串行通信鏈路,這意味著設備同時發(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文章
1037瀏覽量
41187 -
SPI
+關注
關注
17文章
1804瀏覽量
96016
發(fā)布評論請先 登錄
串行通信接口SPI與QSPI的區(qū)別

使用NUCLEO-F429ZI實現(xiàn)PTP網(wǎng)絡時間同步協(xié)議的從時鐘部分,如何輸出相應的PPS信號用于測量主從時鐘同步性能?
iic協(xié)議與spi協(xié)議的區(qū)別
KeyStone架構串行外設接口(SPI)手冊
通信協(xié)議之SPI總線硬件篇

SPI的通信問題
spi master接口的fpga實現(xiàn)

飛凌嵌入式ElfBoard ELF 1板卡-spi編程示例之spi硬件原理
基于Sitara平臺的EtherCAT主從站實現(xiàn)

利用Tl的智能高端開關實現(xiàn)SPI通信

評論