SPI協議簡介及時序


1、什么是SPI?

SPI是串行外設接口(Serial Peripheral Interface)的縮寫。是 Motorola 公司推出的一
種同步串行接口技術,是一種高速的,全雙工,同步的通信總線。

2、數據傳輸速率

一般情況下,SPI模塊的最大時鍾頻率為系統時鍾頻率的1/2(一個時鍾周期,寄存器上升沿讀數,下降沿出數)。雖然SPI的傳輸速率主要受限於CPU處理SPI數據的能力,但在同另一個非常高速率的SPI設備通訊時,SPI的最大時鍾頻率將有可能制約其傳輸速率。影響因素主要有:SPI的最大時鍾頻率、CPU處理SPI數據的能力、輸出端驅動能力(板子輸出端口所允許的最大信號傳輸速率)

3、缺點

沒有指定的流控制,沒有應答機制確認是否接收到數據,所以跟IIC總線協議比較在數據
可靠性上有一定的缺陷。

4、特點

SPI 規定了兩個 SPI 設備之間通信必須由主設備 (Master) 來控制次設備 (Slave). 一個 Master 設備可以通過提供 Clock 以及對 Slave 設備進行片選 (Slave Select) 來控制多個 Slave 設備, SPI 協議還規定 Slave 設備的 Clock 由 Master 設備通過 SCK 管腳提供給 Slave 設備, Slave 設備本身不能產生或控制 Clock, 沒有 Clock 則 Slave 設備不能正常工作.
1):高速、同步全雙工、非差分、總線式
2):主從機通信模式

5、協議通信時序詳解
1):SPI的通信原理很簡單,它以主從方式工作,這種模式通常有一個主設備和一個或多
個從設備,需要至少4根線,事實上3根也可以(單向傳輸時)。也是所有基於SPI的設備共
有的,它們是SDI(數據輸入)、SDO(數據輸出)、SCLK(時鍾)、CS(片選)。
(1)SDO/MOSI – 主設備數據輸出,從設備數據輸入;
(2)SDI/MISO – 主設備數據輸入,從設備數據輸出;
(3)SCLK – 時鍾信號,由主設備產生;
(4)CS/SS – 從設備使能信號(也叫從設備片選信號),由主設備控制。當有多個從設備的時候,因為每個從設
備上都有一個片選引腳接入到主設備機中,當我們的主設備和某個從設備通信時將需
要將從設備對應的片選引腳電平拉低或者是拉高。

2):需要說明的是,我們SPI通信有4種不同的模式,不同的從設備可能在出廠是就是配
置為某種模式,這是不能改變的;但我們的通信雙方必須是工作在同一模式下,所以我們
可以對我們的主設備的SPI模式進行配置,通過CPOL(時鍾極性)和CPHA(時鍾相位)來
控制我們主設備的通信模式,具體如下:
Mode0:CPOL=0,CPHA=0
Mode1:CPOL=0,CPHA=1
Mode2:CPOL=1,CPHA=0
Mode3:CPOL=1,CPHA=1

時鍾極性CPOL是用來配置SCLK的電平出於哪種狀態時是空閑態或者有效態,時鍾相位CPHA
是用來配置數據采樣是在第幾個邊沿:
CPOL=0,表示當SCLK=0時處於空閑態,所以有效狀態就是SCLK處於高電平時
CPOL=1,表示當SCLK=1時處於空閑態,所以有效狀態就是SCLK處於低電平時
CPHA=0,表示數據采樣是在第1個邊沿,數據發送在第2個邊沿
CPHA=1,表示數據采樣是在第2個邊沿,數據發送在第1個邊沿

例如:
CPOL=0,CPHA=0:此時空閑態時,SCLK處於低電平,數據采樣是在第1個邊沿,也就是
SCLK由低電平到高電平的跳變,所以數據采樣是在上升沿,數據發送是在下降沿。

CPOL=0,CPHA=1:此時空閑態時,SCLK處於低電平,數據發送是在第1個邊沿,也就是
SCLK由低電平到高電平的跳變,所以數據采樣是在下降沿,數據發送是在上升沿。

CPOL=1,CPHA=0:此時空閑態時,SCLK處於高電平,數據采集是在第1個邊沿,也就是
SCLK由高電平到低電平的跳變,所以數據采集是在下降沿,數據發送是在上升沿。

CPOL=1,CPHA=1:此時空閑態時,SCLK處於高電平,數據發送是在第1個邊沿,也就是
SCLK由高電平到低電平的跳變,所以數據采集是在上升沿,數據發送是在下降沿。

       

需要注意的是:我們的主設備能夠控制時鍾,因為我們的SPI通信並不像UART或者IIC通信
那樣有專門的通信周期,有專門的通信起始信號,有專門的通信結束信號;所以我們的
SPI協議能夠通過控制時鍾信號線,當沒有數據交流的時候我們的時鍾線要么是
保持高電平要么是保持低電平。

6、內部工作機制


SSPSR 是 SPI 設備內部的移位寄存器(Shift Register). 它的主要作用是根據 SPI時鍾信號狀態, 往 SSPBUF 里移入或者移出數據, 每次移動的數據大小由 Bus-Width 以及 Channel-Width 所決定。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM