SPI知識總結 一、定義 SPI(Serial Peripheral Interface--串列外設介面)匯流排系統是一種同步串列外設介面,它可以使MCU與各種外圍設備以串列方式進行通信以交換信息。 優點:支持全雙工通信、通信簡單、數據傳輸速率塊; 缺點:沒有指定的流控制,沒有應答機制確認是否接收到數 ...
SPI知識總結
一、定義
SPI(Serial Peripheral Interface--串列外設介面)匯流排系統是一種同步串列外設介面,它可以使MCU與各種外圍設備以串列方式進行通信以交換信息。
優點:支持全雙工通信、通信簡單、數據傳輸速率塊;
缺點:沒有指定的流控制,沒有應答機制確認是否接收到數據。
二、引腳定義
(1)SDO/MOSI – 主設備數據輸出,從設備數據輸入;
(2)SDI/MISO – 主設備數據輸入,從設備數據輸出;
(3)SCLK – 時鐘信號,由主設備產生;
(4)CS/SS – 從設備使能信號,由主設備控制。
三、通信時序
SPI通信有4種不同的模式,通過CPOL(時鐘極性)和CPHA(時鐘相位)來控制主設備的通信模式,具體如下:
CPOL=0,表示當SCLK=0時處於空閑態,所以有效狀態就是SCLK處於高電平時
CPOL=1,表示當SCLK=1時處於空閑態,所以有效狀態就是SCLK處於低電平時
CPHA=0,表示數據採樣是在第1個邊沿,數據發送在第2個邊沿
CPHA=1,表示數據採樣是在第2個邊沿,數據發送在第1個邊沿
Mode0:CPOL=0,CPHA=0
Mode1:CPOL=0,CPHA=1
Mode2:CPOL=1,CPHA=0
Mode3:CPOL=1,CPHA=1
四、內部機制
SSPSR 是 SPI 設備內部的移位寄存器(Shift Register). 它的主要作用是根據 SPI 時鐘信號狀態, 往 SSPBUF 里移入或者移出數據, 每次移動的數據大小由 Bus-Width 以 及 Channel-Width 所決定。