目錄
一、SPI通訊協議簡介
二、SPI物理層
三、SPI協議層
1.通訊模式
(一)模式零
(二)模式一
(三)模式二
(四)模式三
2.通訊流程
一、SPI通訊協議簡介
SPI(Serial Peripheral Interface,串行外圍設備接口)通訊協議,是Motorola公司提出的一種同步串行接口技術,是一種高速、全雙工、同步通信總線,在芯片中只占用四根管腳用來控制及數據傳輸。
應用:EEPROM、Flash、RTC、ADC、DSP等。
優缺點:全雙工通信、通訊方式較為簡單、相對數據傳輸速率較快;沒有應答機制確認數據是否接收,在數據可靠性上有一定缺陷(與I2C相比)。
二、SPI物理層
SCK(Serial Clock):時鐘信號線,用于同步通訊數據;
MOSI(Master Output ,Slave Input):主設備輸出/從設備輸入引腳;
MISO(Master Input ,Slave Output):主設備輸入/從設備輸出引腳;
/CS(Chip Select):片選信號線,也稱為CS_N。
物理層特點
點對點通信:主設備與單個從設備直接連接
多從機支持:可通過多個/CS線支持多個從設備(多個片選信號)
短距離通信:適合板級設備間通信,通常不超過幾十厘米
三、SPI協議層
1.通訊模式
SPI一共有四種通訊模式。
CPOL:時鐘極性
CPHA:時鐘相位
(一)模式零
SCK(CPOL=0,CPHA=0)
CPHA = 0:表示在奇數沿進行采樣
CPOL = 0:從設備處于空閑狀態的時候是低電平
(二)模式一
SCK(CPOL=0,CPHA=1)
CPHA = 1:表示在偶數沿進行采樣
CPOL = 0:從設備處于空閑狀態的時候是低電平
(三)模式二
SCK(CPOL=1,CPHA=0)
CPHA = 0:表示在奇數沿進行采樣
CPOL = 1:從設備處于空閑狀態的時候是高電平
(四)模式三
SCK(CPOL=1,CPHA=1)
CPHA = 1:表示在偶數沿進行采樣
CPOL = 1:從設備處于空閑狀態的時候是高電平
2.通訊流程
我這里以CPOL=0,CPHA=0,為例
當CS_N被拉低的時候,是SPI開始通信的起始信號,
當CS_N被拉高的時候,是SPI結束通信的結束信號。
每個時鐘傳輸1bit數據,輸入輸出同時進行,
兩個設備進行通信,要么高位在前,要么低位在前。
SPI在進行數據傳輸的時候可以以8位或者16位進行一次傳輸
以上就是SPI通訊協議簡介。