新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > SPI4.2總線應(yīng)用和調(diào)試

SPI4.2總線應(yīng)用和調(diào)試

作者: 時(shí)間:2013-12-04 來源:網(wǎng)絡(luò) 收藏
ONT: 14px/25px 宋體, arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; PADDING-TOP: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">

  

日歷長(zhǎng)度和重復(fù)次數(shù)都為4的數(shù)據(jù)傳輸示意圖

  圖3 日歷長(zhǎng)度和重復(fù)次數(shù)都為4的數(shù)據(jù)傳輸示意圖

  

SPI4.2總線應(yīng)用和調(diào)試

  圖4 收發(fā)同步過程示意圖

3 總線接口的

  總線接口的包括兩個(gè)重要步驟:鏈路的同步和數(shù)據(jù)的正常收發(fā)。

  在鏈路同步時(shí),首先必須查看總線兩端的初始化參數(shù)配置。因?yàn)?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/SPI4.2">SPI4.2 總線協(xié)議是一個(gè)對(duì)等端數(shù)據(jù)傳輸協(xié)議,所以大部分參數(shù)需要雙方的匹配和協(xié)商,特別是接收方和發(fā)送方的CALENDAR_LEN和CALENDAR_M參數(shù)。

  如何查看同步呢?芯片通常會(huì)提供一個(gè)狀態(tài)寄存器來反映總線的同步?!敖邮胀綐?biāo)志”只能說明在數(shù)據(jù)鏈路上成功接收到對(duì)端的訓(xùn)練序列,但不能保證接收的狀態(tài)鏈路是正常的,如果需要確認(rèn)可查看對(duì)端的“發(fā)送同步標(biāo)志”。在收發(fā)雙向通道應(yīng)用中,只有兩端的“接收同步標(biāo)志”和“發(fā)送同步標(biāo)志”都置位了,總線才算同步。此時(shí),可以確認(rèn)總線兩端的物理連接是正確的,握手成功。

  如果不能同步,就必須檢查兩端的“接收同步標(biāo)志”和“發(fā)送同步標(biāo)志”,判斷是哪一端出了問題。檢查是否有DIP4和DIP2錯(cuò)誤,如果有此類錯(cuò)誤,說明鏈路上信號(hào)質(zhì)量可能不佳,可以用示波器測(cè)量信號(hào)波形。如果信號(hào)質(zhì)量確實(shí)不好,可以通過提高信號(hào)驅(qū)動(dòng)能力或者調(diào)整硬件匹配阻抗來優(yōu)化。

  如果兩端的接收和發(fā)送都沒有同步,就必須測(cè)量芯片的電壓、工作頻率、重啟等信號(hào)。如果兩端的“接收同步標(biāo)志”和“發(fā)送同步標(biāo)志”都已經(jīng)置位,說明雙方的接收和發(fā)送都同步,可以正常收發(fā)數(shù)據(jù)了。在大流量數(shù)據(jù)傳輸過程中,最相關(guān)的是FIFO隊(duì)列的參數(shù)配置,配置不當(dāng)會(huì)導(dǎo)致錯(cuò)包或丟包。以NetLogic公司的XLR732網(wǎng)絡(luò)處理器為例[2],SPI4.2總線的發(fā)送模塊的所有邏輯端口共享一個(gè)FIFO隊(duì)列,寬度為16字節(jié),長(zhǎng)度為128;接收模塊的所有邏輯端口共享一個(gè)FIFO隊(duì)列,寬度為16字節(jié),長(zhǎng)度為512。每個(gè)邏輯端口所占用的隊(duì)列地址和大小都可以通過寄存器配置。

  假如某個(gè)端口接收端隊(duì)列的長(zhǎng)度是48,MaxBurst1是12,MaxBurst2是8。那么當(dāng)該模塊接收數(shù)據(jù)時(shí),如果由于某些原因(例如軟件來不及處理),接收隊(duì)列只剩下12個(gè)空位,也就是接收隊(duì)列已經(jīng)有48-12=36個(gè)空位被占用時(shí),它將通過狀態(tài)鏈路向?qū)Χ税l(fā)送“餓”的狀態(tài)信號(hào)(反壓信號(hào))。對(duì)端收到該信號(hào)后實(shí)施流控策略,根據(jù)本端發(fā)送端的MaxBurst1設(shè)置值發(fā)送數(shù)據(jù),該值表示接收到“餓”狀態(tài)信號(hào)后最多還可以發(fā)送的數(shù)據(jù)塊數(shù)目。所以接收端的MaxBurst1 的值一定要大于對(duì)端發(fā)送端的Max



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉