新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > SPI4.2總線應用和調試

        SPI4.2總線應用和調試

        作者: 時間:2013-12-04 來源:網絡 收藏
        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">

          

        日歷長度和重復次數都為4的數據傳輸示意圖

          圖3 日歷長度和重復次數都為4的數據傳輸示意圖

          

        SPI4.2總線應用和調試

          圖4 收發同步過程示意圖

        3 總線接口的

          總線接口的包括兩個重要步驟:鏈路的同步和數據的正常收發。

          在鏈路同步時,首先必須查看總線兩端的初始化參數配置。因為 總線協議是一個對等端數據傳輸協議,所以大部分參數需要雙方的匹配和協商,特別是接收方和發送方的CALENDAR_LEN和CALENDAR_M參數。

          如何查看同步呢?芯片通常會提供一個狀態寄存器來反映總線的同步。“接收同步標志”只能說明在數據鏈路上成功接收到對端的訓練序列,但不能保證接收的狀態鏈路是正常的,如果需要確認可查看對端的“發送同步標志”。在收發雙向通道應用中,只有兩端的“接收同步標志”和“發送同步標志”都置位了,總線才算同步。此時,可以確認總線兩端的物理連接是正確的,握手成功。

          如果不能同步,就必須檢查兩端的“接收同步標志”和“發送同步標志”,判斷是哪一端出了問題。檢查是否有DIP4和DIP2錯誤,如果有此類錯誤,說明鏈路上信號質量可能不佳,可以用示波器測量信號波形。如果信號質量確實不好,可以通過提高信號驅動能力或者調整硬件匹配阻抗來優化。

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

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



        關鍵詞: SPI4.2 總線應用 調試

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宁德市| 个旧市| 确山县| 土默特左旗| 古交市| 荔浦县| 旌德县| 同江市| 耿马| 长寿区| 绥芬河市| 灌南县| 鄂温| 霍林郭勒市| 调兵山市| 洪泽县| 德格县| 保亭| 巍山| 景泰县| 邯郸市| 晋城| 汉沽区| 乌拉特后旗| 新宁县| 永川市| 会同县| 济阳县| 赞皇县| 南郑县| 中方县| 梅河口市| 布尔津县| 东源县| 乌审旗| 昭觉县| 漠河县| 湖口县| 哈巴河县| 桐庐县| 赤壁市|