弄懂SPI介面

2021-06-18 01:01:48 字數 1251 閱讀 9114

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) 只支援單個主機。

弄懂SPI介面

spi serial peripheral inte ce,序列外設介面 是motorola公司提出的一種同步序列資料傳輸標準,在很多器件中被廣泛應用。1.介面 spi介面經常被稱為4線序列匯流排,以主 從方式工作,資料傳輸過程由主機初始化。如圖1所示,其使用的4條訊號線分別為 1 sclk 序列時...

弄懂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可以同時發出...