SPI協議簡介

2022-12-16 08:33:02 字數 1867 閱讀 9197

更新時間:2009-1-2 21:03:04瀏覽次數:5925

spi,是英語serialperipheralinte***ce的縮寫,顧名思義就是序列外圍裝置介面。spi,是一種高速的,全雙工,同步的通訊匯流排,並且在晶元的管腳上只占用四根線,節約了晶元的管腳,同時為pcb的布局上節省空間,提供方便,正是出於這種簡單易用的特性,現在越來越多的晶元整合了這種通訊協議,比如p89lpc900.

spi,是一種高速的,全雙工,同步的通訊匯流排,其工作模式有兩種:主模式和從模式,無論那種模式,都支援

3mbit/s的速率,並且還具有傳輸完成標誌和寫衝突保護標誌。到目前為止,我使用過的具有spi匯流排的器件,就是儲存晶元eprom:at25128,在使用過程中,發現的確是有這種匯流排的優點。

下面以p89lpc900微控制器的spi匯流排來解釋spi匯流排的通用使用規則。

lpc900微控制器的spi介面主要由4個引腳構成:spiclk、mosi、miso及/ss,其中spiclk是整個spi匯流排的公用時鐘,mosi、miso作為主機,從機的輸入輸出的標誌,mosi是主機的輸出,從機的輸入,miso是主機的輸入,從機的輸出。/ss

是從機的標誌管腳,在互相通訊的兩個spi匯流排的器件,/ss管腳的電平低的是從機,相反/ss管腳的電平高的是主機。在乙個spi通訊系統中,必須有主機。

spi匯流排可以配置成單主單從,單主多從,互為主從。今以互為主從模式作為講解:

要進行spi互為主從操作,必須遵照以下步驟:

1對a、b進行初始化,均設為主機(需要進行以下操作)。

a) spi埠初始化為準雙向。

b) spctl配置為0x50,ssig=0,spen=1,mstr=1。

c)清除spstat中的spif及wcol標誌位為0。

d)如果需要使用spi中斷,可使能相應中斷位。

2將a上乙個引腳連線到b的/ss引腳上,然後拉低/ss,可將b強行置為從機模式,同時b機會發生以下變化:

a) b機的mstr位自動清0。

b) b機的mosi及spiclk強行變為輸入模式,miso則變為輸出模式。

c) b機spif位置位。

d)如果spi中斷使能,b機將執行spi中斷服務程式。

3 b機可設定為查詢接收或中斷接收方式,以時刻準備接收由a機傳送過來的資料,要使b機恢復為主機,必須完整執行步驟1。本示例中,通過兩塊dp932實驗板構成了spi互為主從測試系統。

程式中應注意的問題:

1程式中應注意對首次拉低ss引腳進行處理:當a機首次通過b_ss將b機設定為從機後,

從機的sbif位會置位(會被認為完成一次傳輸),如果這之前,使能了spi中斷,則從機則會執行相應的中斷服務程式(本示例程式中,當b機的ss引腳被拉為低電平,b機的sbif首次置位進行處理)。

2關於從機恢復為主機的問題:互為主從模式中,當b機被a機設定為從機後,cpctl暫存器中mstr位被清除為0,且spif被置1,mosi和spiclk強制變為輸入模式,miso強制變為輸出模式。要想恢復為主機,必須執行以下操作:

a)將mstr位置1,spif位清0。

b)將mosi,spiclk,miso及ss重新恢復為準雙向口。

c)在a)、b)之前,需要注意將b_ss拉高,如果其一直為低電平,即使完成a)、b)操作,也會將b機重新設定為從機。

3在spi匯流排的使用過程中,可以通過dord(spi資料順序選擇位),cpol(spi時鐘極性選擇位),cpha(spi時鐘相位選擇位)控制主/從機傳輸格式。對於本實驗,可以忽略這些位的影響,但是在使用一些其他spi器件時,必須根據從器件資料手冊的要求,對spi資料的傳輸順序,spi的時鐘極性,及spi的時鐘相位進行正確的設定。

4一些spi的應用系統,由於硬體的設計並不是很合理,所以有時spi通訊不正常(傳輸資料出錯,或其他情況),你可以試著降低spi匯流排的傳輸速率,或者調節一些spi時鐘極性及相位,以使傳輸穩定。

SPI協議簡介

更新時間 2009 1 2 21 03 04瀏覽次數 4061 spi,是英語serialperipheralinte ce的縮寫,顧名思義就是序列外圍裝置介面。spi,是一種高速的,全雙工,同步的通訊匯流排,並且在晶元的管腳上只占用四根線,節約了晶元的管腳,同時為pcb的布局上節省空間,提供方便,...

SPI匯流排協議及SPI時序圖詳解

spi,是英語serial peripheral inte ce的縮寫,顧名思義就是序列外圍裝置介面。spi,是一種高速的,全雙工,同步的通訊匯流排,並且在晶元的管腳上只占用四根線,節約了晶元的管腳,同時為pcb的布局上節省空間,提供方便,正是出於這種簡單易用的特性,現在越來越多的晶元整合了這種通訊...

SPI協議的簡單例項說明

spi是乙個環形匯流排結構,由ss cs sck sdi sdo構成,其時序其實很簡單,主要是在sck的控制下,兩個雙向移位暫存器進行資料交換。假設下面的8位暫存器裝的是待傳送的資料10101010,上公升沿傳送 下降沿接收 高位先傳送。那麼第乙個上公升沿來的時候資料將會是sdo 1 暫存器 010...