spi(serial peripheral inte***ce,序列外設介面)是motorola公司提出的一種同步序列資料傳輸標準,在很多器件中被廣泛應用。
1. 介面
spi介面經常被稱為4線序列匯流排,以主/從方式工作,資料傳輸過程由主機初始化。如圖1所示,其使用的4條訊號線分別為:
1) sclk:序列時鐘,用來同步資料傳輸,由主機輸出;
2) mosi:主機輸出從機輸入資料線;
3) miso:主機輸入從機輸出資料線;
4) ss:片選線,低電平有效,由主機輸出。
在spi匯流排上,某一時刻可以出現多個從機,但只能存在乙個主機,主機通過片選線來確定要通訊的從機。這就要求從機的miso口具有三態特性,使得該口線在器件未被選通時表現為高阻抗。
2. 資料傳輸
在乙個spi時鐘週期內,會完成如下操作:
1) 主機通過mosi線傳送1位資料,從機通過該線讀取這1位資料;
2) 從機通過miso線傳送1位資料,主機通過該線讀取這1位資料。
這是通過移位暫存器來實現的。如圖2所示,主機和從機各有乙個移位暫存器,且二者連線成環。隨著時鐘脈衝,資料按照從高位到低位的方式依次移出主機暫存器和從機暫存器,並且依次移入從機暫存器和主機暫存器。當暫存器中的內容全部移出時,相當於完成了兩個暫存器內容的交換。
3. 時鐘極性和時鐘相位
在spi操作中,最重要的兩項設定就是時鐘極性(cpol或ucckpl)和時鐘相位(cpha或ucckph)。時鐘極性設定時鐘空閒時的電平,時鐘相位設定讀取資料和傳送資料的時鐘沿。
主機和從機的傳送資料是同時完成的,兩者的接收資料也是同時完成的。所以為了保證主從機正確通訊,應使得它們的spi具有相同的時鐘極性和時鐘相位。
舉例來說,分別選取msp430控制器和oled驅動sh1101a為主從機,圖3和圖4為它們的spi時序。由圖4可知,sh1101a的spi時鐘空閒時為高電平,並且在後時鐘沿接收資料,則msp430控制器spi的設定應與此保持一致。從圖3中可以看出,要使得時鐘在空閒時為高電平,應將ucckpl置1;要使得在後時鐘沿接收資料,應將ucckph清零。
4. 優缺點
spi介面具有如下優點:
1) 支援全雙工操作;
2) 操作簡單;
3) 資料傳輸速率較高。
同時,它也具有如下缺點:
1) 需要占用主機較多的口線(每個從機都需要一根片選線);
2) 只支援單個主機。
MSP430 SPI介面DMA模式通訊
因為在tinyos系統下,節點寫flash的速度過慢,開始懷疑是不是spi的速度有問題,所以後來就直接在iar上裸機讀寫flash,看看速度可以去到多少。用到了430的spi的dma模式 dma模式之所以會更快,是因為所要傳輸的資料省去了要經過cpu處理這一步,直接在內部匯流排傳輸到dma暫存器,然...
弄懂SPI介面
spi serial peripheral inte ce,序列外設介面 是motorola公司提出的一種同步序列資料傳輸標準,在很多器件中被廣泛應用。1.介面 spi介面經常被稱為4線序列匯流排,以主 從方式工作,資料傳輸過程由主機初始化。如圖1所示,其使用的4條訊號線分別為 1 sclk 序列時...
SPI匯流排介面
序列外圍裝置介面spi serial peripheral inte ce 匯流排技術是motorola公司推出的一種同步序列介面,motorola公司生產的絕大多數mcu 微控制器 都配有spi硬體介面,如68系列mcu。spi 用於cpu與各種外圍器件進行全雙工 同步序列通訊。spi可以同時發出...