新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 實現USB3.0物理層中彈性緩沖的設計方案

        實現USB3.0物理層中彈性緩沖的設計方案

        作者: 時間:2011-07-29 來源:網絡 收藏

        1.引言

        本文引用地址:http://www.104case.com/article/155982.htm

          由Maurice Karnaugh在電話網絡中傳輸PCM信號中提出來的。隨后人們在很多不同的應用中采用了技術來同步數據,很多協議例如USB、PCIE、以太網等。

          是一個高速,串行,源同步數據傳輸協議。但是數據經過傳輸線與原數據發生了很大的偏差。本文從的角度分析了機制,解釋了與其他的不同,并采用指針控制與握手的方法

          2.彈性緩沖作用

          2.1 彈性緩沖作用域

          在USB3.0中數據傳輸采用雙單工,因此為接收、發送2組差分對傳輸部分。傳輸線是承載數據傳輸的載體。因此如何從傳輸線正確接收數據,并把它同步到系統內部時鐘域,變的十分關鍵。

          USB3.0中規定的層接收部分結構圖如下,它包括差分接收、時鐘數據恢復、串并轉換和8B10B譯碼。

        圖 1USB3.0層接收部分結構

          整個數據流向自上而下,差分輸入經過差分接收,從差分信號中提取出時鐘,并用恢復出來的時鐘來恢復出數據(CDR)。恢復出來的數據在接收時鐘域進行串并轉換為10bit位寬并行數據1,并檢測USB3.0包起始標志符(K28.5)。一旦檢測到起始標志符K28.5,使能符號有效(symbol lock),直至檢測到結束符號,才結束符號有效。

          彈性緩沖從串并轉換接收數據,所有的接收數據與控制都工作在接收時鐘域(receive clock)。因此彈性緩沖要把數據與控制同步到系統時鐘域(system clock)。把數據向下傳遞給8B10B譯碼模塊,而后傳遞給系統內部。

          2.2 彈性緩沖容量

          USB3.0中,協議規定允許的時鐘精度為-5300ppm到300ppm。而符號時鐘頻率為2ns即2000ps,最壞情況下每178個symbol添加或者刪除一個SKP,也就是每356個symbol添加或者刪除一個SKP對(SKP Order Sets)。USB3.0中包最長為1052字節,所以最差情況下,最多可以添加或刪除8個SKP或者4個SKP對,所以彈性緩沖至少要能緩沖8個SKP。USB3.0協議規定每個SKP order sets為2個連續的SKP symbol。因此在10B8B譯碼前,SKP order set的游程(running disparity)應該是互補的。

          通過計算得知,彈性緩沖的緩沖容量為8。本文設計采用常半滿2(normal half full)模式來設計彈性緩沖,所以彈性緩沖容量為16,在正常情況下里面應該有8個數據,剩下的8個為緩沖空間,因此叫常半滿。常半滿模式首先要向緩沖中寫滿8個symbol,達到半滿,然后讀使能才可以有效,因此大約有8個時鐘的延遲。常半滿模式只有在symbol隊列中出現SKP對才能添加或者刪除SKP對。下圖為常半滿輸入輸出時序圖。

        圖 2 常半滿輸入輸出時序

          從上圖可以看出,rx_valid_out有效要晚于rx_valid_in約8個時鐘沿;而無效卻晚于rx_valid_out約0至16個時鐘沿(取決于時鐘精度差)。因此常半滿需要8個時鐘延遲才能輸出數據。


        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宜春市| 宜良县| 怀化市| 潢川县| 毕节市| 威海市| 蒙自县| 临漳县| 于都县| 云浮市| 美姑县| 开远市| 景泰县| 东光县| 和龙市| 勃利县| 忻州市| 教育| 淳化县| 岳池县| 兰溪市| 武川县| 和硕县| 鹤山市| 朝阳县| 南岸区| 青阳县| 罗江县| 霸州市| 洛阳市| 加查县| 嘉定区| 平顶山市| 阜新市| 大竹县| 贵阳市| 那曲县| 迁安市| 富川| 兰坪| 明水县|