SPI 傳輸機制
![圖片](http://file1.elecfans.com/web2/M00/8D/EC/wKgZomTB2BOAQ_bkAAEStxowEiM917.jpg)
從圖可以看出,主機和從機都有一個串行移位寄存器,主機通過向它的 SPI 串行寄存器寫入一個字節來發起一次傳輸。寄存器通過 MOSI
信號線將字節傳送給從機,從機也將自己的移位寄存器中的內容通過 MISO 信號線返回給主機。這樣,兩個移位寄存器中的內容就被交換。
外設的寫操作和讀操作是同步完成的。如果只進行寫操作,主機只需忽略接收到的字節;反之,若主機要讀取從機的一個字節,就必須發送一個空字節來引發從機的傳輸。
雖然 SPI 四線制支持讀寫同時進行,但實際上我們很多時候并不需要又讀又寫,見以下兩種情況(參考 BMA223 數據手冊):
注意:如下三幅圖示均為 CPOL=1,CPHA=1
1、主機向從機寫數據
![圖片](http://file1.elecfans.com/web2/M00/8D/EC/wKgZomTB2BOAU-_cAAF9WNRhvO4360.jpg)
主機發送先發送 8 bits,第一個 bit 為 0 代表這次主機是想寫數據到從機,AD6~AD0
表示要寫的寄存器地址。然后,主機就會一直寫下去。在這期間 SDO 一直沒用,一直是高阻態,算是一直讀到1。
2、主機從從機讀數據
![圖片](http://file1.elecfans.com/web2/M00/8D/EE/wKgaomTB2BOARSUZAAF03lyx_qU284.jpg)
這種情況下,主機先發送 8 bits,第一位為 1 代表這次是讀,然后 AD6 ~ AD0 是想要讀的寄存器地址,然后 SDO 開始返回數據。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
相關推薦
當主機發送一個連續的數據流時,有些外設能夠進行多字節傳輸.多數具有SPI接口的存儲芯片就以這種方式工作.在這種傳輸方式下,從機的片選端必須在整個傳輸過程中保持低電平.
發表于 09-05 11:09
?1.5w次閱讀
= 0x0000; /*選擇DMA通道0外設地址寄存器SPI1*/ DMA0PAD = (volatile u16) &SPI1BUF; /*DMA0傳輸計數設置*/ DMA0CNT
發表于 09-25 16:23
現在淘寶上大多數藍牙模塊都是通過串口傳輸的,但是傳輸的速度太慢,本人想找個藍牙開發模塊,可以支持SPI傳輸的,求推薦一個比較合適的藍牙模塊,謝謝
發表于 03-08 21:09
一般情況下,SPI模塊的最大時鐘頻率為系統時鐘頻率的1/2。雖然SPI的傳輸速率主要受限于CPU處理SPI數據的能力,但在同另一個非常高速率的SPI
發表于 08-07 06:13
); spi_set_cs(SPI,FALSE); SPI->主 - > unprepare_transfer_hardware(SPI->主);打破;在連續
發表于 04-29 06:24
目錄(?)[-]SPI簡介SPI特點1采用主-從模式Master-Slave 的控制方式2采用同步方式Synchronous傳輸數據3數據交換Data Exchanges4 SPI有四
發表于 08-05 08:15
SPI總線的傳輸速度比IIC速度快,故通常追求速度常常采用硬件SPI進行傳輸數據。下面記錄了利用stm32cubeMx配置硬件SPI1,外設
發表于 08-11 06:04
SPI總線是一種應用廣泛的短距離串行同步通信協議,針對SPI 總線數據不能進行遠距離傳輸的問題,本文介紹了采用RS-422/RS-485 通信協議,利用MAX3045 和MAX3093 芯片構成RS-422/RS-4
發表于 08-18 15:17
?78次下載
基于SPI總線的無線數據傳輸系統設計
摘要: 通過基于SPI總線的無線數據通信設備,利用無線數據收發芯片NRF905和51單片機STC89C52RC進行設計,給出了無線數據傳輸系
發表于 03-13 11:42
?3817次閱讀
SPI傳輸模擬資料匯總
發表于 11-17 15:39
?7次下載
目錄(?)[-]SPI簡介SPI特點1采用主-從模式Master-Slave 的控制方式2采用同步方式Synchronous傳輸數據3數據交換Data Exchanges4 SPI有四
發表于 12-22 19:14
?9次下載
數據傳輸 SPI 的英文全稱為 Serial Peripheral Interface,顧名思義為串行外設接口。 SPI 是一種同步串行通信接口規范,主要應用于嵌入式系統中的短距離通信。該接口由
發表于 07-21 10:03
?8915次閱讀
SPI 數據傳輸可以有兩種方式:同步方式和異步方式。 同步方式:數據傳輸的發起者必須等待本次傳輸的結束,期間不能做其它事情,用代碼來解釋就是,調用傳
發表于 07-25 10:54
?5271次閱讀
1、前言 在之前的 JVM 分析系列之類加載 提到過 Java SPI 機制,主要是類加載器反雙親委派的實現(第三方包不在指定jdk路徑,一般類加載器無法加載,需要特殊
發表于 10-08 15:03
?1224次閱讀
探索SPI單線傳輸模式:時鐘線與數據傳輸的簡化之道 在當今的嵌入式系統和微控制器通信中,串行外設接口(SPI)因其高速、全雙工和同步的特點而廣受歡迎。然而,隨著設備尺寸和復雜性的不斷減
發表于 05-28 18:26
?1278次閱讀
評論