SPI用于CPU與各種外圍器件進(jìn)行全雙工、同步串行通訊。它只需四條線就可以完成MCU與各種外圍器件的通訊,這四條線是:串行時(shí)鐘線(CSK)、主機(jī)輸入/從機(jī)輸出數(shù)據(jù)線(MISO)、主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線(MOSI)、低電平有效從機(jī)選擇線CS。
當(dāng)SPI工作時(shí),在移位寄存器中的數(shù)據(jù)逐位從輸出引腳(MOSI)輸出(高位在前),同時(shí)從輸入引腳(MISO)接收的數(shù)據(jù)逐位移到移位寄存器(高位在前)。
發(fā)送一個(gè)字節(jié)后,從另一個(gè)外圍器件接收的字節(jié)數(shù)據(jù)進(jìn)入移位寄存器中。即完成一個(gè)字節(jié)數(shù)據(jù)傳輸?shù)膶?shí)質(zhì)是兩個(gè)器件寄存器內(nèi)容的交換。主SPI的時(shí)鐘信號(hào)(SCK)使傳輸同步。SPI總線是同步、全雙工雙向的4線式串行接口總線。它是由“單個(gè)主設(shè)備+多個(gè)從設(shè)備”構(gòu)成的系統(tǒng)。
在系統(tǒng)中,只要任意時(shí)刻只有一個(gè)主設(shè)備是處于激活狀態(tài)的,就可以存在多個(gè)SPI主設(shè)備。常運(yùn)用于AD轉(zhuǎn)換器、EEPROM、FLASH、實(shí)時(shí)時(shí)鐘、數(shù)字信號(hào)處理器和數(shù)字信號(hào)解碼器之間實(shí)現(xiàn)通信。
為了實(shí)現(xiàn)通信,SPI共有4條信號(hào)線,分別是:
主設(shè)備出、從設(shè)備入(Master Out Slave In,MOSI):由主設(shè)備向從設(shè)備傳輸數(shù)據(jù)的信號(hào)線,也稱為從設(shè)備輸入(Slave Input/Slave Data In,SI/SDI)。
主設(shè)備入、從設(shè)備出(Master In Slave Out,MISO):由從設(shè)備向主設(shè)備傳輸數(shù)據(jù)的信號(hào)線,也稱為從設(shè)備輸出(Slave Output/Slave Data Out,SO/SDO)。
串行時(shí)鐘(Serial Clock,SCLK):傳輸時(shí)鐘信號(hào)的信號(hào)線。
從設(shè)備選擇(Slave Select,SS):用于選擇從設(shè)備的信號(hào)線,低電平有效。
SPI 的工作時(shí)序模式由CPOL(Clock Polarity,時(shí)鐘極性)和CPHA(Clock Phase,時(shí)鐘相位)之間的相位關(guān)系決定,CPOL表示時(shí)鐘信號(hào)的初始電平的狀態(tài),CPOL 為0 表示時(shí)鐘信號(hào)初始狀態(tài)為低電平,為1 表示時(shí)鐘信號(hào)的初始電平是高電平。
CPHA 表示在哪個(gè)時(shí)鐘沿采樣數(shù)據(jù),CPHA 為0 表示在首個(gè)時(shí)鐘變化沿采樣數(shù)據(jù),而CPHA 為1 則表示在第二個(gè)時(shí)鐘變化沿采樣數(shù)據(jù)。
SPI總線特點(diǎn)
?全雙工
?可以當(dāng)作主機(jī)或從機(jī)工作
?提供頻率可編程時(shí)鐘
?發(fā)送結(jié)束中斷標(biāo)志
?寫沖突保護(hù)
?總線競爭保護(hù)等
-
寄存器
+關(guān)注
關(guān)注
31文章
5294瀏覽量
119823 -
接口
+關(guān)注
關(guān)注
33文章
8448瀏覽量
150725 -
SPI
+關(guān)注
關(guān)注
17文章
1688瀏覽量
91215 -
總線
+關(guān)注
關(guān)注
10文章
2859瀏覽量
87913
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論