SPI協議

lethe1203發表於2024-03-19

SPI協議是由摩托羅拉公司提出的通訊協議(Serial Peripheral Interface),即序列外設介面。廣泛用在ADC、LCD等裝置與MCU間,要求通訊速率較高的場合。區分它與I2C協議差異以及FLASH儲存器與EEPROM儲存器的區別。下面我們分別對SPI協議的物理層及協議層進行講解。

物理層

SS低電平工作(工作啟動線)

SCK時鐘線(公用時鐘線)

MISO:master input slave output(資料傳輸線1)

MOSI:master output slave input(資料傳輸線2)

image-20230411154420396

協議層

SPI協議定義了通訊的起始和停止訊號、資料有效性、時鐘同步等環節。

image-20230411154440459

標號1處,NSS訊號線由高變低,是SPI通訊的起始訊號。從機開始工作。

標號6處,NSS訊號由低變高,是SPI通訊的停止訊號,表示本次通訊結束,從機的選中狀態被取消。

CPOL/CPHA時鐘作用模式

CPOL是限定SCK的工作模式,CPOL=0上升沿取樣;CPOL=1下降沿取樣。

CPHA也是限定SCK工作模式,CPHA=0奇數邊沿取樣,CPHA=1偶數邊沿取樣。

image-20230411154515273

模式0和3比較常用。

image-20230411154531363

23.2.1 SPI特徵

  • 3線全雙工同步傳輸

  • 帶或不帶第三根雙向資料線的雙線單工同步傳輸

  • 8或16位傳輸幀格式選擇

  • 主或從操作

  • 支援多主模式

  • 8個主模式波特率預分頻係數(最大為fPcux/2)從模式頻率(最大為fPcLx/2)

  • 主模式和從模式的快速通訊

  • 主模式和從模式下均可以由軟體或硬體進行NSS管理:主/從操作模式的動態改變可程式設計的時鐘極性和相位

  • 可程式設計的資料順序,MSB在前或LSB在前可觸發中斷的專用傳送和接收標誌

  • SPI匯流排忙狀態標誌

  • 支援可靠通訊的硬體CRC

  • 一在傳送模式下,CRC值可以被作為最後一個位元組傳送

  • 一在全雙工模式中對接收到的最後一個位元組自動進行CRC校驗可觸發中斷的主模式故障、過載以及CRC錯誤標誌
    支援DMA功能的1位元組傳送和接收緩衝器:產生髮送和接受請求

SPI_FLASH器件

image-20230411154604452

例程

CubeMX配置

image-20230411154625435

相關文章