SPI(Serial Peripheral Interface,串行外設(shè)接口)是Motorola公司提出的一種同步串行數(shù)據(jù)傳輸標(biāo)準(zhǔn),在很多器件中被廣泛應(yīng)用。1. 接口SPI接口經(jīng)常被稱為4線串行總線,以主/從方式工作,數(shù)據(jù)傳輸過程由主機(jī)初始化。如圖1所示,其使用的4條信號(hào)線分別為:1) SCLK:串行時(shí)鐘,用來同步數(shù)據(jù)傳輸,由主機(jī)輸出;2) MOSI:主機(jī)輸出從機(jī)輸入數(shù)據(jù)線;3) MISO:主機(jī)輸入從機(jī)輸出數(shù)據(jù)線;4) SS:片選線,低電平有效,由主機(jī)輸出。在SPI總線上,某一時(shí)刻可以出現(xiàn)多個(gè)從機(jī),但只能存在一個(gè)主機(jī),主機(jī)通過片選線來確定要通信的從機(jī)。這就要求從機(jī)的MISO口具有三態(tài)特性,使得該口線在器件未被選通時(shí)表現(xiàn)為高阻抗。

2. 數(shù)據(jù)傳輸
在一個(gè)SPI時(shí)鐘周期內(nèi),會(huì)完成如下操作:1) 主機(jī)通過MOSI線發(fā)送1位數(shù)據(jù),從機(jī)通過該線讀取這1位數(shù)據(jù);2) 從機(jī)通過MISO線發(fā)送1位數(shù)據(jù),主機(jī)通過該線讀取這1位數(shù)據(jù)。這是通過移位寄存器來實(shí)現(xiàn)的。如圖2所示,主機(jī)和從機(jī)各有一個(gè)移位寄存器,且二者連接成環(huán)。隨著時(shí)鐘脈沖,數(shù)據(jù)按照從高位到低位的方式依次移出主機(jī)寄存器和從機(jī)寄存器,并且依次移入從機(jī)寄存器和主機(jī)寄存器。當(dāng)寄存器中的內(nèi)容全部移出時(shí),相當(dāng)于完成了兩個(gè)寄存器內(nèi)容的交換。

3. 時(shí)鐘極性和時(shí)鐘相位
在SPI操作中,最重要的兩項(xiàng)設(shè)置就是時(shí)鐘極性(CPOL或UCCKPL)和時(shí)鐘相位(CPHA或UCCKPH)。時(shí)鐘極性設(shè)置時(shí)鐘空閑時(shí)的電平,時(shí)鐘相位設(shè)置讀取數(shù)據(jù)和發(fā)送數(shù)據(jù)的時(shí)鐘沿。主機(jī)和從機(jī)的發(fā)送數(shù)據(jù)是同時(shí)完成的,兩者的接收數(shù)據(jù)也是同時(shí)完成的。所以為了保證主從機(jī)正確通信,應(yīng)使得它們的SPI具有相同的時(shí)鐘極性和時(shí)鐘相位。舉例來說,分別選取MSP430控制器和OLED驅(qū)動(dòng)SH1101A為主從機(jī),圖3和圖4為它們的SPI時(shí)序。由圖4可知,SH1101A的SPI時(shí)鐘空閑時(shí)為高電平,并且在后時(shí)鐘沿接收數(shù)據(jù),則MSP430控制器SPI的設(shè)置應(yīng)與此保持一致。從圖3中可以看出,要使得時(shí)鐘在空閑時(shí)為高電平,應(yīng)將UCCKPL置1;要使得在后時(shí)鐘沿接收數(shù)據(jù),應(yīng)將UCCKPH清零。


4. 優(yōu)缺點(diǎn)SPI接口具有如下優(yōu)點(diǎn):1) 支持全雙工操作;2) 操作簡(jiǎn)單;3) 數(shù)據(jù)傳輸速率較高。同時(shí),它也具有如下缺點(diǎn):1) 需要占用主機(jī)較多的口線(每個(gè)從機(jī)都需要一根片選線);2) 只支持單個(gè)主機(jī)。
-
SPI
+關(guān)注
關(guān)注
17文章
1898瀏覽量
102083 -
CPOL
+關(guān)注
關(guān)注
0文章
9瀏覽量
10375 -
CPHA
+關(guān)注
關(guān)注
0文章
9瀏覽量
9639 -
miso
+關(guān)注
關(guān)注
0文章
7瀏覽量
5722
原文標(biāo)題:弄懂SPI接口
文章出處:【微信號(hào):eet-china,微信公眾號(hào):電子工程專輯】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
SPI通信的四種方式 FPGA的SPI從機(jī)實(shí)現(xiàn)方案
ADS1298的時(shí)鐘相位和極性是什么?
SPI數(shù)據(jù)傳輸緩慢問題求解
蜂鳥SOC的SPI外設(shè):如何修改SPI的時(shí)鐘相位和時(shí)鐘極性
關(guān)于SPI的配置問題,就是時(shí)鐘的極性和時(shí)鐘相位問題
淺談SPI總線
SPI總線工作原理/數(shù)據(jù)傳輸步驟/優(yōu)缺點(diǎn)
SPI中主機(jī)和從機(jī)模式的區(qū)別是什么?
HbirdV2-SoC中如何配置QSPI1和QSPI2的時(shí)鐘極性CPOL和時(shí)鐘相位CPHA?
AD7606 SPI通信的時(shí)鐘極性和時(shí)鐘相位要求是什么?
SPI編程時(shí),如何理解時(shí)鐘相位和時(shí)鐘極性
SPI實(shí)時(shí)時(shí)鐘與微控制器的接口
SPI時(shí)鐘極性和時(shí)鐘相位
探索SPI單線傳輸模式中時(shí)鐘線與數(shù)據(jù)傳輸的簡(jiǎn)化
TI的ADS129x器件SPI 時(shí)鐘極性CPOL和時(shí)鐘相位 CPHA的正確設(shè)置模式
SPI接口的概念,數(shù)據(jù)傳輸, 時(shí)鐘極性、時(shí)鐘相位以及優(yōu)缺點(diǎn)解析
評(píng)論