(資料**於網上,不足之處歡迎指正,技術無邊,多多交流)
1、什麼是spi?
spi是序列外設介面(serial peripheral inte***ce)的縮寫。是 motorola 公司推出的一種同步序列接**術,是一種高速的,全雙工,同步的通訊匯流排。
2、spi優點
支援全雙工通訊
通訊簡單
資料傳輸速率塊
3、缺點
沒有指定的流控制,沒有應答機制確認是否接收到資料,所以跟iic匯流排協議比較,在資料,可靠性上有一定的缺陷。
4、特點
1):高速、同步、全雙工、非差分、匯流排式
2):主從機通訊模式
5、協議通訊時序詳解
1):spi的通訊原理很簡單,它以主從方式工作,這種模式通常有乙個主裝置和乙個或多個從裝置,需要至少4根線,事實上3根也可以(單向傳輸時)。也是所有基於spi的裝置共
有的,它們是sdi(資料輸入)、sdo(資料輸出)、sclk(時鐘)、cs(片選)。
(1)sdo/mosi – 主裝置資料輸出,從裝置資料輸入;
(2)sdi/miso – 主裝置資料輸入,從裝置資料輸出;
(3)sclk – 時鐘訊號,由主裝置產生;
(4)cs/ss – 從裝置使能訊號,由主裝置控制。當有多個從裝置的時候,因為每個從設 備上都有乙個片選引腳接入到主裝置機中,當我們的主裝置和某個從裝置通訊時將需 要將從裝置對應的片選引腳電平拉低或者是拉高,原理圖的連線如下圖所示。
6、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=0,cpha=0:此時空閒態時,sclk處於低電平,資料取樣是在第1個邊沿,也就是sclk由低電平到高電平的跳變,所以資料取樣是在上公升沿,資料傳送是在下降沿。
cpol=0,cpha=1:此時空閒態時,sclk處於低電平,資料傳送是在第1個邊沿,也就是sclk由低電平到高電平的跳變,所以資料取樣是在下降沿,資料傳送是在上公升沿。
cpol=1,cpha=0:此時空閒態時,sclk處於高電平,資料採集是在第1個邊沿,也就是sclk由高電平到低電平的跳變,所以資料採集是在下降沿,資料傳送是在上公升沿。
cpol=1,cpha=1:此時空閒態時,sclk處於高電平,資料傳送是在第1個邊沿,也就是sclk由高電平到低電平的跳變,所以資料採集是在上公升沿,資料傳送是在下降沿。
需要注意的是:我們的主裝置能夠控制時鐘,因為我們的spi通訊並不像uart或者iic通訊 那樣有專門的通訊週期,有專門的通訊起始訊號,有專門的通訊結束訊號;所以我們的 spi協議能夠通過控制時鐘訊號線,當沒有資料交流的時候我們的時鐘線要麼是保持高電平要麼是保持低電平。
6、內部工作機制
sspsr 是 spi 裝置內部的移位暫存器(shift register). 它的主要作用是根據 spi 時鐘訊號狀態, 往 sspbuf 裡移入或者移出資料, 每次移動的資料大小由 bus-width 以及channel-width所決定。
SPI通訊協議學習總結
spi通訊 1.簡介 這裡介紹stm32通過spi實現對外部spiflash的讀寫功能,其中,spi作為主裝置,spiflash作為從裝置。為了驗證spi flash收到的資料是否是stm32通過spi傳送給它的資料,我們將spiflash讀取的資料顯示在螢幕上 tftlcd 1.1 spi簡介 s...
SPI通訊協議
spi是什麼 spi 是英語 serial peripheral inte ce 的縮寫,顧名思義就是序列外圍裝置介面。是 motorola 首先在其 mc68hcxx 系列處理器上定義的。spi 介面主要應用在 eeprom,flash,實時時 鐘,ad 轉換器,還有數字訊號處理器和數碼訊號解碼器...
SPI通訊協議
同步 全雙工 序列 主從工作方式 sdo 主裝置資料輸出 sdi 主裝置資料輸入 sclk 主裝置產生的時鐘訊號 cs ss nss 片選訊號 與iic相比,iic一次必須傳送8位資料,但是spi不需要,可以一位一位傳送,完全由spi的時鐘線控制,它可以全雙工通訊。但是spi沒有應答機制,而且如果是...