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