13.【linux驅動】spi 硬件、協議

簡介

高速、全雙工串行總線,使用四根線完成通信。數據一位一位的傳輸,高位先行。
有點:連線少
缺點:沒有應答機制

連線

一共四根線
SSEL:片選信號。低電平選中,可以用多個GPIO代替這個信號實現多從機通信。
SCLK:時鐘信號,由主機產生。
MOSI:主機給從機發送指令或者數據的通道。
MISO:主機讀取從機的狀態或者數據的通道。

傳輸協議

SPI通信的時候再SCLK邊沿採樣數據,常見的是SCLK上升沿主機發送數據,在SCLK下降沿主機接收數據,這稱作SPI的相位(CPHA: Clock Phase)。另外還有總線空閒的時候SCLK處在什麼電平,這稱作時鐘極性(CPOL:Clock Polarity)。由此就產生了四種組合。

  1. SCLK上升沿主機發送數據,下降沿接收數據,空閒時刻SCLK低電平:CPHA = 1,CPOL = 0
  2. SCLK上升沿主機發送數據,下降沿接收數據,空閒時刻SCLK高電平:CPHA = 1,CPOL = 1
  3. SCLK上升沿主機接收數據,下降沿發送數據,空閒時刻SCLK低電平:CPHA = 0,CPOL = 0
  4. SCLK上升沿主機接收數據,下降沿發送數據,空閒時刻SCLK高電平:CPHA = 0,CPOL = 1

時序圖:
在這裏插入圖片描述
四種模式的時序:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章