您當前的位置:首頁 > 農業

電子技術(十四)——SPI

作者:由 ZZ先生 發表于 農業時間:2021-07-18

spu名稱指的是什麼意思

一、SPI概述

SPI是序列外設介面(Serial Peripheral Interface)

的縮寫。SPI,是一種高速的,全雙工,同步的通訊匯流排,並且在晶片的管腳上只佔用四根線,節約了晶片的管腳,同時為PCB的佈局上節省空間,提供方便,正是出於這種簡單易用的特性,如今越來越多的晶片集成了這種通訊協議,比如AT91RM9200。【來源:360百科】 SPI介面主要應用在 EEPROM,FLASH,實時時鐘,AD轉換器,還有數字訊號處理器和數字訊號解碼器之間。

SPI的通訊原理很簡單,它以主從方式工作

,這種模式通常有一個主裝置和一個或多個從裝置,需要至少4根線,事實上3根也可以(單向傳輸時)。也是所有基於SPI的裝置共有的,它們是

SDI(資料輸入),SDO(資料輸出),SCK(時鐘),CS(片選

)。

SDO – 主裝置資料輸出,從裝置資料輸入 對應MOSI master output slave input

SDI – 主裝置資料輸入,從裝置資料輸出 對應MISO master input slave output

SCLK – 時鐘訊號,由主裝置產生

CS – 從裝置使能訊號,由主裝置控制

CS: 其中CS是控制晶片是否被選中的,也就是說只有片選訊號為預先規定的使能訊號時(高電位或低電位),對此晶片的操作才有效,這就允許在同一總線上連線多個SPI裝置成為可能。

SDI/SDO/SCLK: 通訊是透過資料交換完成的,這裡先要知道SPI是序列通訊協議,也就是說資料是一位一位的傳輸的。這就是SCK時鐘線存在的原因,由SCLK提供時鐘脈衝,SDI,SDO則基於此脈衝完成資料傳輸。資料輸出透過 SDO線,資料在時鐘上升沿或下降沿時改變,在緊接著的下降沿或上升沿被讀取。完成一位資料傳輸,輸入也使用同樣原理。這樣,在至少8次時鐘訊號的改變(上沿和下沿為一次),就可以完成8位資料的傳輸。

PS:SCK訊號線只由主裝置控制,從裝置不能控制訊號線。同樣,在一個基於SPI的裝置中,至少有一個主控裝置。

PS:沒有指定的流控制,沒有應答機制確認是否接收到資料

二、SPI四種工作模式

SPI通訊有4種不同的模式,不同的從裝置可能在出廠是就是配置為某種模式,這是不能改變的;但我們的通訊雙方必須是工作在同一模式下,所以我們可以對我們的主裝置的SPI模式進行配置,透過CPOL(時鐘極性)和CPHA(時鐘相位)來控制我們主裝置的通訊模式,具體如下:

Mode0:CPOL=0,CPHA=0

Mode1:CPOL=0,CPHA=1

Mode2:CPOL=1,CPHA=0

Mode3:CPOL=1,CPHA=1

時鐘極性CPOL是用來配置SCLK的電平出於哪種狀態時是空閒態或者有效態,時鐘相位CPHA

是用來配置資料取樣是在第幾個邊沿:

CPOL=0,表示當SCLK=0時處於空閒態,所以有效狀態就是SCLK處於高電平時

CPOL=1,表示當SCLK=1時處於空閒態,所以有效狀態就是SCLK處於低電平時

CPHA=0,表示資料取樣是在第1個邊沿,資料傳送在第2個邊沿

CPHA=1,表示資料取樣是在第2個邊沿,資料傳送在第1個邊沿

電子技術(十四)——SPI

標簽: SPI  裝置  CPOL  CPHA  時鐘