SPI總線介紹


1. 簡介

SPI, Serial Peripheral Interface, 串行外設接口, 是一種高速的、全雙工、同步的通信總線
SPI在芯片的管腳上只占用四根線

SPI接口主要用於MCU與各種外圍設備以串行方式進行通信以交換信息
外圍設備包括EEPROM、FLASH、實時時鍾、AD轉換器、數字信號處理器和數字信號解碼器中

它以主從方式工作, 通常有一個主設備和一個或多個從設備
下圖是SPI常用的兩種場景
figure1 

2. 引腳

SPI通常有四組信號線

- SCLK      : Serial Clock(自master輸出)
- MOSI/SIMO : Master Output, Slave Input(自master輸出)
- MISO/SOMI : Master Input, Slave Output(自slave輸出)
- SS        : Slave Select(低電平有效;自master輸出)

另一種稱呼亦廣泛被使用

- SCK            : Serial Clock(自master輸出) 
- SDI/DI/SI      : Serial Data In 
- SDO/DO/SO      : Serial Data Out 
- nCS/CS/nSS/STE : Chip Select, Slave Transmit Enable(低電平有效;自master輸出)

3. 原理

在SPI中,數據是同步進行發送和接收的, 數據傳輸的時鍾基於來自Master的時鍾脈沖
最常用的時鍾設置基於時鍾極性(CPOL)和時鍾相位(CPHA), 它們決定了數據取樣的時鍾沿

- 時鍾極性(CPOL): 定義SPI串行時鍾的活動狀態; CPOL=0表示時鍾開始值是低電平, 所以第一階段(前沿)的時候會處在上升沿,第二階段(后沿)是下降沿; CPOL=1表示時鍾開始是高電平, 所以第一階段(前沿)就是下降沿;
- 時鍾相位(CPHA): 定義相對於數據位的時鍾相位, 用於采樣數據; CPHA=0表明在前沿期間進行采樣; CPHA=1表明在后沿進行采樣

tip: 關於CPOL和CPHA, 請參考<詳解SPI中的極性CPOL和相位CPHA>

基於CPOL和CPHA的組合SPI有四種工作模式
figure3

參考:
<存儲器介紹>
<SPI子系統分析>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM