SPI協議的簡單例項說明

2021-03-04 02:00:26 字數 2375 閱讀 5284

spi是乙個環形匯流排結構,由ss(cs)、sck、sdi、sdo構成,其時序其實很簡單,主要是在sck的控制下,兩個雙向移位暫存器進行資料交換。

假設下面的8位暫存器裝的是待傳送的資料10101010,上公升沿傳送、下降沿接收、高位先傳送。

那麼第乙個上公升沿來的時候資料將會是sdo=1;暫存器=0101010x。下降沿到來的時候,sdi上的電平將所存到暫存器中去,那麼這時暫存器=0101010sdi,這樣在8個時鐘脈衝以後,兩個暫存器的內容互相交換一次。這樣就完成裡乙個spi時序。

例子:假設主機和從機初始化就緒:並且主機的sbuff=0xaa,從機的sbuff=0x55,下面將分步對spi的8個時鐘週期的資料情況演示一遍:假設上公升沿傳送資料

這樣就完成了兩個暫存器8位的交換,上面的上表示上公升沿、下表示下降沿,sdi、sdo相對於主機而言的。其中ss引腳作為主機的時候,從機可以把它拉底被動選為從機,作為從機的是時候,可以作為片選腳用。根據以上分析,乙個完整的傳送週期是16位,即兩個位元組,因為,首先主機要傳送命令過去,然後從機根據主機的名準備資料,主機在下乙個8位時鐘週期才把資料讀回來!!

spi,是英語serial peripheral inte***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時鐘極性及相位,以使傳輸穩定。

簡單的有限合夥協議

x投資合夥企業 有限合夥 合夥協議 第一條根據 民法通則 和 中華人民共和國合夥企業法 及 中華人民共和國合夥企業登記管理辦法 的有關規定,經全體合夥人協商一致訂立本協議。第二條本企業為有限合夥企業,是根據協議自願組成的共同經營體。合夥人願意遵守國家有關的法律 法規 規章,依法納稅,守法經營。本協議...

簡單的租房協議範本

房屋租賃合同 甲方姓名 出租方身份證號碼 乙方姓名 承租方身份證號碼 經雙方協商甲方將位於的房屋出租給乙方居住使用。一 房屋租賃期為 從 年月日至年 月日。在此期間,任何一方要求終止合同,須提前乙個月通知對方。二 月租金為 元,繳租為 支付一次,以後應提前 天支付,如果逾期,乙方需繳納違約金,按照月...

2019簡單的租房協議範本

房屋租賃合同 甲方姓名 出租方身份證號碼 乙方姓名 承租方身份證號碼 經雙方協商甲方將位於房屋出租給乙方居住使用。一 租房從 年 月 日起至 年 月 日止。二 月租金為 元,繳租為 支付一次,人民幣 大寫元 元 以後應提前 天支付。三 約定事項 1 乙方無權轉租 轉借 轉賣該房屋,及屋內家具家電,不...