SPI 傳輸機制
從圖可以看出,主機和從機都有一個串行移位寄存器,主機通過向它的 SPI 串行寄存器寫入一個字節來發起一次傳輸。寄存器通過 MOSI
信號線將字節傳送給從機,從機也將自己的移位寄存器中的內容通過 MISO 信號線返回給主機。這樣,兩個移位寄存器中的內容就被交換。
外設的寫操作和讀操作是同步完成的。如果只進行寫操作,主機只需忽略接收到的字節;反之,若主機要讀取從機的一個字節,就必須發送一個空字節來引發從機的傳輸。
雖然 SPI 四線制支持讀寫同時進行,但實際上我們很多時候并不需要又讀又寫,見以下兩種情況(參考 BMA223 數據手冊):
注意:如下三幅圖示均為 CPOL=1,CPHA=1
1、主機向從機寫數據
主機發送先發送 8 bits,第一個 bit 為 0 代表這次主機是想寫數據到從機,AD6~AD0
表示要寫的寄存器地址。然后,主機就會一直寫下去。在這期間 SDO 一直沒用,一直是高阻態,算是一直讀到1。
2、主機從從機讀數據
這種情況下,主機先發送 8 bits,第一位為 1 代表這次是讀,然后 AD6 ~ AD0 是想要讀的寄存器地址,然后 SDO 開始返回數據。
-
主機
+關注
關注
0文章
1033瀏覽量
35803 -
傳輸
+關注
關注
0文章
154瀏覽量
27721 -
SPI
+關注
關注
17文章
1780瀏覽量
94703
發布評論請先 登錄
SPI總線電路圖設計及傳輸原理

Java的SPI機制詳解

SPI采用DMA傳輸問題
藍牙的SPI傳輸的開發版推薦
SPI的最大傳輸速率是多少 ?
連續SPI傳輸時發生傳輸超時的原因是什么?
SPI的特點及傳輸模式
SPI總線數據遠距離傳輸實現
基于SPI總線的無線數據傳輸系統設計

SPI通信簡介

評論