串行外設(shè)接口總線是一種以全雙工方式運(yùn)行的同步串行通信鏈路,這意味著設(shè)備同時(shí)發(fā)送和接收數(shù)據(jù)。這些設(shè)備作為主/從設(shè)備進(jìn)行通信,其中主設(shè)備通過選擇帶有硬件線路的從設(shè)備來啟動(dòng)通信,并且還提供用于將數(shù)據(jù)位移入和移出從設(shè)備的同步時(shí)鐘。
通信所需的信號(hào)是從選擇(SS)、主輸入從輸出(MISO)、主輸出從輸入(MOSI)和串行時(shí)鐘(SCK)。SPI 相對(duì)于其他通信協(xié)議的優(yōu)勢在于,尋址是在硬件中通過 SS 線執(zhí)行的,從而可以更快地尋址設(shè)備,并且通信是全雙工的,從而可以更快地傳輸數(shù)據(jù)(圖 1)。
圖 1 串行外設(shè)接口總線
SPI 通信開始于主機(jī)斷言 SS 線。根據(jù)器件的不同,SS 線可能是高電平有效或低電平有效。在開始通信之前,主設(shè)備必須等待至少一個(gè)時(shí)鐘周期。與 SS 線的活動(dòng)極性非常相似,SS 激活后的等待時(shí)間因設(shè)備而異。例如,模數(shù)轉(zhuǎn)換器可能要求主設(shè)備在其 SS 線被斷言后等待轉(zhuǎn)換完成。接下來,主機(jī)將開始將數(shù)據(jù)移出 MOSI 線,并將數(shù)據(jù)移入 MISO。數(shù)據(jù)始終以全雙工方式傳輸,即使該數(shù)據(jù)沒有意義。例如,為了讓主設(shè)備從從設(shè)備接收 24 位數(shù)據(jù),它還必須向從設(shè)備發(fā)送 24 位數(shù)據(jù)(圖 2 和圖 3)。
圖 2 階段 0 時(shí)序
第一階段時(shí)間
沒有關(guān)于使用哪個(gè)時(shí)鐘邊沿來發(fā)送和接收數(shù)據(jù)的標(biāo)準(zhǔn),因此根據(jù)時(shí)鐘極性和時(shí)鐘相位,有四種可能的操作模式。請(qǐng)參閱下面圖 4 中的表格。
SPI 模式
圖 4 SPI 模式
以模式 1 為例,主機(jī)將在 SCK 線為低電平時(shí)空閑總線。當(dāng)主機(jī)將 SCK 線推高時(shí),它也會(huì)將最高有效位放在 MOSI 線上。同時(shí),Slave 將把最重要的放在 MISO 線上。接下來,Master 拉動(dòng) SCK 線并從 MISO 線上的 Slave 讀取穩(wěn)定位。同時(shí),Slave 在 MOSI 線上讀取 Master 生成的穩(wěn)定位。當(dāng) SS 線路停用時(shí),通信終止,因此它必須在整個(gè)通信幀期間保持活動(dòng)狀態(tài)。
編輯:hfy
-
通信協(xié)議
+關(guān)注
關(guān)注
28文章
899瀏覽量
40348 -
SPI
+關(guān)注
關(guān)注
17文章
1716瀏覽量
91833
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論