SPI的通信速率到底可以達到多少_第1頁
SPI的通信速率到底可以達到多少_第2頁
SPI的通信速率到底可以達到多少_第3頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、樓主提問:SPI的通信速率到底可以到達多少根據(jù)手冊上的說明,應該能到fosc/4,然而實際上由于 SPI通信底層沒有任何握手,不彳象I2C總線那樣帶ACK ,所以SPI速率實際上根本不能到達 fosc/4,除非發(fā)信端與收信端 完全同步,然而事實上接收端往往要對接收到的數(shù)據(jù)進行一些判斷和處理,所以在接收端往往會丟數(shù),解決方法就是在發(fā)信端發(fā)完一個字節(jié)后人為加上延時等待接收端處理,但是如果這樣的話,高速還有什么意義呢我做了一個試驗,即使關(guān)掉所有其它中斷,只作SPI通信處理,在fosc/4的通信速率下,接收端只能接收 10個字節(jié)以內(nèi)的數(shù)據(jù),10個字節(jié)以上就會丟數(shù),而在 fosc/8的通 信速率下,如果

2、關(guān)閉所有其它中斷,收發(fā)256個字節(jié)是沒什么問題的,但是如果應用程序有1ms的時鐘中斷事件的話,spi通信成功率很低.在前面很多帖子里,看到不少人說spi只是硬件底層,通信的可靠性要靠通信協(xié)議,誠然如此,但是我以為通信協(xié)議只是最后一道保證,如果底層不可靠,通信協(xié)議再完善也是惘然.輪詢和中斷方式有本質(zhì)區(qū)別嗎輪詢就能保證不被其它中斷干擾嗎主機自己掌握 SPI節(jié)奏,它只知道自己發(fā)送出去了,并不知道從機是否處理完,如果從機還在處理上一個字節(jié),這時候發(fā)下個字節(jié)顯然會丟數(shù)據(jù)啊 解答者1答復: 是同步!不是異步! 也就是說MASTER提供時鐘,所以完全由MASTER決定速率當然大家都能到達的再有就是這個速率僅

3、僅指一個BYTE的通訊速率,不是整個幀速率2個BYTE以上從機查詢和中斷無關(guān),說白了就是移位存放器! 樓主再問:關(guān)鍵就在于這個速率要大家都能到達啊,如果都能到達就不用講了,實測下來就是slave端達不到這個速率啊 .如果這個速率是一個 BYTE的指標那就沒啥說的了,我認了,只能 在字節(jié)之間加延時了. 解答者2:我試過用fosc/2的時鐘速率進行兩機通訊系統(tǒng)時鐘 16M,連續(xù)傳了好多字節(jié)都沒有 問題.主機用查詢方式發(fā)送;從機用中斷接收,接收到的數(shù)據(jù)用液晶顯示出來. 解答者1:多字節(jié)是不可能到達 fosc/2的!除非從機速率更快,有足夠的時間去處理或保存讀取數(shù)據(jù),要不然是吹牛的!影響速率達不到fo

4、sc/2就是從機提取數(shù)據(jù)!與系統(tǒng)時鐘多少那無關(guān)!再有,從機響應中斷都要4個機器周期,更別說要存儲,中斷出來也要4個機器周期.對于單字節(jié)來說是可以到達fosc/2,由于AVR可以使用倍率,本來是 fosc/4的!所以,數(shù)據(jù)手冊里講白可以到達fosc/4那是指單字節(jié)的速率!樓主:所以說手冊給出來的指標很帶有欺騙性,為了可靠起見相信很多人的程序中都有個時鐘在運行,建議放在fosc/16. SPI接口原理 SPI接口的全稱是"Serial Peripheral Interface", 意為串行外圍接口 ,是Motorola首先在其 MC68HCXX系列處理器上定義的.SPI接口主要

5、應用在EEPROM, FLASH,實時時鐘,AD 轉(zhuǎn)換器,還有數(shù)字信號處理器和數(shù)字信號解碼器之間.SPI接口是在CPU和外圍低速器件之間進行 同步串行數(shù)據(jù)傳輸,在主器件的移位脈沖下, 數(shù)據(jù)按位傳輸,高位在前,地位在后,為全雙工通信,數(shù)據(jù)傳輸速度總體來說比 I2C總線要快,速 度可到達幾Mbps .SPI接口是以主從方式工作 的,這種模式通常有一個主器件和一個或多個從器件,其接口包括以下四種信號:(1) MOSI -主器件數(shù)據(jù)輸出,從器件數(shù)據(jù)輸入(2) MISO -主器件數(shù)據(jù)輸入,從器件數(shù)據(jù)輸出(3) SCLK -時鐘信號,由主器件產(chǎn)生(4) /SS -從器件使能信號,由主器件限制在點對點白通信

6、中,SPI接口不需要進行尋址操作,且為全雙工通信,顯得簡單高效.在多個從器件的系統(tǒng)中,每個從器件需要獨立的使能信號,硬件上比I2C系統(tǒng)要稍微復 雜一些.SPI接口在內(nèi)部 硬件實際上是兩個簡單的移位存放器,傳輸?shù)臄?shù)據(jù)為8位,在主器件產(chǎn)生的從器件使能信號和移位脈沖下,按位傳輸,高位在前,低位在后.如下列圖所示,在SCLK的下降沿上數(shù)據(jù)改變,同時一位數(shù)據(jù)被存入移位存放器.SPI接口內(nèi)部硬件圖示:最后,SPI接口的一個缺點:沒有指定的流限制,沒有應答機制確認是 否接收到數(shù)據(jù)./SPI與UART勺區(qū)另I:SPI是三線或者四線(CS CLK DI DO)UART是兩線制(TXD RXD),實際上就是串口;

7、SPI 一般是CS=0啟動傳輸,以CLK作為同步信號,不含啟動位停止位 等UART傳輸信號中包含了啟動位和停止位等,本身就可作為同步信號使用SPI 一般沒有標準的通信速率UART 一般都是使用標準的通信波特率/SPI通信-單片機最多能帶動多少從機答復1 : SPI主要是芯片級或板級通信使用,也有設備之間使用的.但不可能在實際應用中 有太多的SPI設備互連.答復2: SPI是一個環(huán)形總線結(jié)構(gòu),由 ss (cs)、sck、sdi、sdo構(gòu)成,其時序其實很簡單, 主要是在sck的限制下,兩個雙向移位存放器進行數(shù)據(jù)交換.上升沿發(fā)送、下降沿接收、高位先發(fā)送.那么第一個上升沿來的時候 數(shù)據(jù)將會是sdo=1

8、 ;存放器=0101010x.下降沿到來的 時候,sdi上的電平將所存到存放器中去,那么這時存放器 =0101010sdi ,這樣在8個時鐘 脈沖以后,兩個存放器的內(nèi)容互相交換一次.這樣就完成里一個 spi時序.例子:假設主機和從機初始化就緒:并且主機的sbuff=0xaa ,從機的sbuff=0x55 ,下面將分步對spi的8個時鐘周期的數(shù)據(jù)情況演示一遍:假設上升沿發(fā)送數(shù)據(jù) 脈沖主機sbuff 從機sbuff sdi sdo1 上 0101010x 1010101x 0 12 上 1010100x0101011x 1 03 上 0101001x 1010110x 0 14 上 1010010

9、x0101101x 1 05 上 0100101x 1011010x 0 16 上 1001010x 0110101x 1 07 上 0010101x 1101010X 0 18 上 0101010X1010101X 1 0這樣就完成了兩個存放器8位的交換,上面的上表示上升沿、下表示下降沿,sdi、sdo相對于主機而言的.其中 ss引腳作為主機的時候,從機可以把它拉底被動選為從機,作為從 機的是時候,可以作為片選腳用.根據(jù)以上分析,一個完整的傳送周期是16位,即兩個字節(jié),由于,首先主機要發(fā)送命令過去,然后從機根據(jù)主機的名準備數(shù)據(jù),主機在下一個8位時鐘周期才把數(shù)據(jù)讀回來SPI總線是Motorol

10、a公司推出的三線同步接口,同步串行3線方式進行通信:一條時鐘線SCK , 一條數(shù)據(jù)輸入線 MOSI , 一條數(shù)據(jù)輸出線 MISO;用于CPU與各種外圍器件進行全雙 工、同步串行通訊.SPI主要特點有:可以同時發(fā)出和接收串行數(shù)據(jù);可以當作主機或從機工作;提供頻率可編程時鐘;發(fā)送結(jié)束中斷標志;寫沖突保護;總線競爭保護等.圖 3示出SPI總 線工作的四種方式,其中使用的最為廣泛的是SPI0和SPI3方式實線表示:圖2 SPI總線四種工作方式SPI模塊為了和外設進行數(shù)據(jù)交換,根據(jù)外設工作要求,其輸出串行同步時鐘極性和相位可以進行配置,時鐘極性CPOL 對傳輸協(xié)議沒有重大的影響.如果 CPOL=0 ,串行同步時 鐘的空閑狀態(tài)為低電平;如果CPOL=1 ,串行同步時鐘的空閑狀態(tài)為高電平.時鐘相位CPHA 能夠配置用于選擇兩種不同的傳輸協(xié)議之一進行數(shù)據(jù)傳輸.如果CPHA=0 ,在串行同步時鐘的第一個跳變沿上升或下降數(shù)據(jù)被采樣;如果 CPHA=1 ,在串行同步時鐘 的第二個跳變沿上升或下降數(shù)據(jù)被采樣

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論