SPI總線簡介
SPI(Serial Peripheral Interface)是 Motorola 公司推出的一種同步串行介面技術,是一種高速的,全雙工,同步的通信總線,
介面定義

SPI介面共有4根信號線,分別是:片選信號、時鐘信號、串行輸出信號、串行輸入信號,
-
MOSI:Master資料輸出,Slave資料輸入
-
MISO:Master資料輸入,Slave資料輸出
-
SCLK :時鐘信號,由Master產生
-
SS:片選信號,由Master控制
時鐘極性和時鐘相位
在SPI操作中,最重要的兩項設定就是時鐘極性(CPOL)和時鐘相位(CPHA),
時鐘極性: 時鐘空閑時的電平,
時鐘相位: 采樣資料的時鐘沿,
SPI模式
| CPOL | CPHA | |
| 模式0 | 0 | 0 |
| 模式1 | 0 | 1 |
| 模式2 | 1 | 0 |
| 模式3 | 1 | 1 |
CPOL: SPI空閑時的時鐘信號電平(1:高電平, 0:低電平)
CPHA: SPI在時鐘第幾個邊沿采樣(1:第二個邊沿開始, 0:第一個邊沿開始)
- 模式0

空閑狀態CLK為低電平,CLK上升沿采樣(這時候資料不能改變),
- 模式1

空閑狀態CLK為低電平,CLK下降沿采樣(這時候資料不能改變),
- 模式2

空閑狀態CLK為高電平,CLK下升沿采樣(這時候資料不能改變),
*注意: 上圖的第一個CLK下降沿應該往右移動一點更準確,因為采樣時資料不應該改變,
- 模式3

空閑狀態CLK為高電平,CLK上降沿采樣(這時候資料不能改變),
注意:
當CPHA為0時,采集資料發生在時鐘周期的前邊沿(第一個邊沿,可能是上升沿也可能是下降沿,由CPOL決定);
當CPHA為1時,采集資料發生在時鐘周期的后邊沿(第二個邊沿,可能是上升沿也可能是下降沿,由CPOL決定);
所以不能說CPHA=0就是上升沿或下降沿采集資料,要根據CPOL才能確定,
總結
當我們寫某SPI芯片的驅動時,主要要關注外設芯片的SPI模式(時鐘極性和時鐘相位),以及暫存器,這些在datasheet中都會體現,
往期推薦:
嵌入式到底應該選擇驅動開發,還是應用開發?
【通信協議】一文搞懂I2C
如何實作一個Linux命令
推薦幾款串口監控軟體
一文搞懂UART
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/401470.html
標籤:其他
上一篇:傳感器實驗——485土壤溫濕度
下一篇:CC2530串口發送接收字串
