第四季-專題20-SPI驅動程序設計

專題20-SPI驅動程序設計

第1課-SPI總線介紹

  1. 總線結構

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

 

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

 

  1. 數據傳輸過程

主節點經過MOSI 線輸出數據,從節點在SIMO 處從主節點讀取數據。同時,也在經過SOMI 輸出MSB(最高位),主節點會在MISO處讀取從節點的數據,整個過程將一直持續,直至交換完全部數據。設計

 

  1. 總線時序

 

CPOL極性:決定時鐘空閒時爲高電平仍是低電平接口

CPOL=0:CLK空閒時是低電平,CLK有效時是高電平ip

CPOL=1: CLK空閒時是高電平,CLK有效時是低電平ci

CPHA相位:決定什麼時候進行數據採樣(讀取)同步

CPHA=0:第一個邊沿採樣工作流

CPHA=0:第一個邊沿採樣flash

根據CPOL和CPHA的不一樣組合,SPI被分爲4種模式系統架構

類型

CPOL

CPHA

SPI0

0

0

SPI1

0

1

SPI2

1

0

SPI3

1

1

 

 

第2課-SPI裸機驅動設計

  1. SPI控制器工做流程

SPI有兩個通道,分別爲TX通道和RX通道,CPU要寫數據到FIFO中,先寫數據到SPI_TX_DATA寄存器中,這樣此寄存器中的內容就會自動移動到發送FIFO中;一樣的道理,若是CPU要從接收FIFO中讀取數據,就訪問寄存器SPI_RX_DATA,緊接着,接收FIFO的數據就會自動移動到SPI_RX_DATA寄存器中。

 

  1. 6410裸機驅動分析

SPI裸機驅動

 

 

 

 

 

 

第3課-LinuxSPI子系統

  1. SPI子系統模型

 

I2C子系統架構:

l  SPI核心

SPI控制器驅動和設備驅動之間的紐帶,它提供了SPI控制器驅動和設備驅動的註冊、註銷方法等。

l  SPI控制器驅動

對SPI控制器的驅動實現。

l  SPI設備驅動

對SPI從設備的驅動實現,如spi flash

  1. SPI控制器驅動分析

 

第4課-LinuxSPI驅動設計

相關文章
相關標籤/搜索