TOMORROW 星辰 發表於 2020-12-01 14:04:14
SPI,是英語 Serial Peripheral interface 的縮寫,中文全稱是串行外圍設備接口。是 Motorola 所研發的一種串行通信協議。SPI接口主要應用在 EEPROM,FLASH,實時時鐘,AD 轉換器,還有數位訊號處理器和數位訊號解碼器之間。SPI通信協議是一種高速的,全雙工,同步的通信總線協議。可以支持百兆 bit/s 的通信速率。
SPI的通信原理十分簡單,它是以主從方式來工作,這種模式通常是:一個主設備和一個或多個從設備,由主設備發起通信。需要至少 4 根線,然而事實上 3 根也可以(單向傳輸時)。4 根線分別是:
MOSI – 主設備數據輸出,從設備數據輸入(MOSI:master output slave input)
MISO – 主設備數據輸入,從設備數據輸出(MISO:master input slave output)
SCLK – 時鐘信號,由主設備產生
CS /NSS – 從設備使能信號(片選),由主設備控制
接線實例:
時序圖:
SPI有四種工作模式,由 CPOL 和 CPHA 決定。
CPOL: 時鐘極性, 表示 SPI總線在空閒時, 時鐘信號是高電平還是低電平。 如果 CPOL 被設為 1, 空閒時 SCK 時鐘信號為高電平。 當 CPOL 被設為 0 時則正好相反。
CPOL = 0: SCK idle phase is low;
CPOL = 1: SCK idle phase is high;
CPHA: 時鐘相位, 表示 SPI 進行數據採樣時,SCK 是上升沿還是下降沿。 若 CPHA 被設置為 1, 則 SPI 設備在時鐘信號變為下降沿時觸發數據採樣, 在上升沿時發送數據。當 CPHA 被設為 0 時也正好相反。
CPHA = 0: Output data at negedge of clock while receiving data at posedge of clock;
CPHA = 1: Output data at posedge of clock while receiving data at negedge of clock;
編輯:hfy
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴