1. 程式人生 > >SPI裸機驅動程序設計

SPI裸機驅動程序設計

高速 http 程序 inter som osi 決定 ace image

1. SPI(Serial Peripheral Interface)串行外設接口,是一種高速的、全雙工、同步的通信總線。采用主從模式(Master Slave)架構,支持多個slave,一般僅支持單Master。

技術分享圖片

2. SPI接口共有4根信號線,分別是:設備選擇線(SS)、時鐘線(SCK)、串行輸出數據線(MOSI)、串行輸入數據線(MISO)。

技術分享圖片

3. 數據傳輸過程:主節點通過MOSI 線輸出數據,從節點在SIMO 處從主節點讀取數據。同時,也在通過SOMI 輸出MSB(最高位),主節點會在MISO處讀取從節點的數據,整個過程將一直持續,直至交換完所有數據。

技術分享圖片

4. 總線時序

(1)CPOL極性:決定時鐘空閑時為高電平還是低電平

  CPOL = 0:CLK空閑時是低電平,CLK有效時是高電平
  CPOL = 1: CLK空閑時是高電平,CLK有效時是低電平

(2)CPHA相位:決定何時進行數據采樣(讀取)
  CPHA = 0:第一個邊沿(上升沿)采樣  
  CPHA = 0:第一個邊沿(下降沿)采樣

(3)根據CPOL和CPHA的不同組合,SPI被分為4種模式

技術分享圖片

(4)SPI總線時序圖

技術分享圖片

SPI裸機驅動程序設計