《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 完全弄懂SPI接口
完全弄懂SPI接口
摘要: 本文介紹了SPI接口的特點,傳輸方式,時鐘及其優(yōu)缺點。
關(guān)鍵詞: 接口IC SPI 接口 時鐘
Abstract:
Key words :

  SPI(Serial Peripheral Interface,串行外設(shè)接口)是Motorola公司提出的一種同步串行數(shù)據(jù)傳輸標(biāo)準(zhǔn),在很多器件中被廣泛應(yīng)用。

 

  1. 接口

 

  SPI接口經(jīng)常被稱為4線串行總線,以主/從方式工作,數(shù)據(jù)傳輸過程由主機初始化。如圖1所示,其使用的4條信號線分別為:

  1) SCLK:串行時鐘,用來同步數(shù)據(jù)傳輸,由主機輸出;

  2) MOSI:主機輸出從機輸入數(shù)據(jù)線;

  3) MISO:主機輸入從機輸出數(shù)據(jù)線;

  4) SS:片選線,低電平有效,由主機輸出。

  在SPI總線上,某一時刻可以出現(xiàn)多個從機,但只能存在一個主機,主機通過片選線來確定要通信的從機。這就要求從機的MISO口具有三態(tài)特性,使得該口線在器件未被選通時表現(xiàn)為高阻抗。

 

  SPI接口線

 

  2. 數(shù)據(jù)傳輸

 

  在一個SPI時鐘周期內(nèi),會完成如下操作:

  1) 主機通過MOSI線發(fā)送1位數(shù)據(jù),從機通過該線讀取這1位數(shù)據(jù);

  2) 從機通過MISO線發(fā)送1位數(shù)據(jù),主機通過該線讀取這1位數(shù)據(jù)。

  這是通過移位寄存器來實現(xiàn)的。如圖2所示,主機和從機各有一個移位寄存器,且二者連接成環(huán)。隨著時鐘脈沖,數(shù)據(jù)按照從高位到低位的方式依次移出主機寄存器和從機寄存器,并且依次移入從機寄存器和主機寄存器。當(dāng)寄存器中的內(nèi)容全部移出時,相當(dāng)于完成了兩個寄存器內(nèi)容的交換。

 

  SPI數(shù)據(jù)傳輸?shù)膶崿F(xiàn)

 

  3. 時鐘極性和時鐘相位

 

  在SPI操作中,最重要的兩項設(shè)置就是時鐘極性(CPOL或UCCKPL)和時鐘相位(CPHA或UCCKPH)。時鐘極性設(shè)置時鐘空閑時的電平,時鐘相位設(shè)置讀取數(shù)據(jù)和發(fā)送數(shù)據(jù)的時鐘沿。

  主機和從機的發(fā)送數(shù)據(jù)是同時完成的,兩者的接收數(shù)據(jù)也是同時完成的。所以為了保證主從機正確通信,應(yīng)使得它們的SPI具有相同的時鐘極性和時鐘相位。

  舉例來說,分別選取MSP430控制器和OLED驅(qū)動SH1101A為主從機,圖3和圖4為它們的SPI時序。由圖4可知,SH1101A的SPI時鐘空閑時為高電平,并且在后時鐘沿接收數(shù)據(jù),則MSP430控制器SPI的設(shè)置應(yīng)與此保持一致。從圖3中可以看出,要使得時鐘在空閑時為高電平,應(yīng)將UCCKPL置1;要使得在后時鐘沿接收數(shù)據(jù),應(yīng)將UCCKPH清零。

 

  圖3.jpg

  圖4.jpg

 

  4. 優(yōu)缺點

 

  SPI接口具有如下優(yōu)點:

  1) 支持全雙工操作;

  2) 操作簡單;

  3) 數(shù)據(jù)傳輸速率較高。

  同時,它也具有如下缺點:

  1) 需要占用主機較多的口線(每個從機都需要一根片選線);

  2) 只支持單個主機。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。