tlk2711除錯記錄

2021-10-22 03:59:23 字數 2030 閱讀 3480

tlk2711是ti為千兆超高速雙向序列通訊研發的收發器件,支援熱插拔操作,具備8b/10b編譯碼功能,並行資料匯流排位寬16bit,並行時鐘速率工作範圍80mhz-125mhz。

高品質的時鐘源是保證tlk2711高可靠地工作的必要條件。tlk2711高速序列收發器採用時鐘恢復技術實現收端時鐘與發端時鐘的同步,在實際工作中,要求時鐘抖動小於40ps,占空比40%-60%,並要求傳送端,定期傳送comma用於維持收發兩端時鐘的同步及收端串並轉換位元組邊界對齊。

在專案中使用tlk2711進行影象資料傳輸,並行時鐘100mhz,時鐘方案採用「晶振-fpga-tlk2711」方式。fpga採用virtex5-130t系列。在幀消隱期間和行消隱期間,傳送端持續傳送comma用於時鐘同步。經過實際測試,在傳輸距離<3m的情況下實現了》12小時的穩定傳輸。

實驗除錯中遇到的主要問題是時鐘同步問題。具體而言,1.採用了100mhz晶振品質太差,導致傳輸不穩定;2.沒有定期傳送comma,導致長時間傳輸不穩定。關於時鐘品質,應當在晶振採購時,標註抖動要求,並選擇可靠的供貨渠道,實際除錯中,應當首先利用示波器對晶振輸出、tlk2711時鐘輸入訊號進行眼圖測量,分析時鐘抖動(jitter)。定期傳送comma時,應當保證每次連續傳送至少兩個字(乙個字定義為兩個位元組,即16bits),每個字由comma及其校正碼組成,因為tlk2711晶元內部的comma檢測電路僅能對0011111實現位元組對齊,而8b/10b編碼電路為了實現直流平衡,計算每個編碼結果的0和1的個數差異(不均等性,disparity),確定極性偏差rd(running disparity),如果當前編碼的rd為-,則下乙個碼字編碼時採用rd+,因此對於同乙個原始碼,在實際傳輸中根據其前一編碼結果的不同而形成兩個不同的編碼,例如,對於原始碼k28.5,如果在其之前的原始碼編碼的極性偏差rd為+,k28.5編碼結果為1100001010,如果在其之前的原始碼編碼的極性偏差rd為-,k28.5編碼結果為0011110101,因此 如果保證在接收端出現0011110101,那麼傳送端需要傳送1100001010 *********x 0011110101或者0011110101 *********x 1100001010 其中*********x的disparity為0,ti應用報告(sgla001a,using the tlk2711-sp with minimal protocol)中給出的乙個idle字為/k28.5/d5.6/(低八位/高八位),給出的最小傳輸協議為:

 k28.5 d5.6

 k28.5 d5.6

 k28.5 d11.5 (sof optional and user definable)

 dxx dxx (transmitted packet. repeat for packet depth.)

 dxx dxx (packet crc if desired)

 k28.5 d5.6

 k28.5 d5.6

 k28.5 d11.5 (sof optional)

repeat with next packet.

即每乙個傳輸包由兩個空閒字、乙個可選控制字、可變長度傳輸字包、crc字、兩個空閒字、乙個可選控制字組成。

傳送空閒字k28.5 d5.6時:

tklsb =『1』, txd[ 7 downto 0]=dec2hex(5,3)&dec2hex(28,5)=0xbc

tkmsb=『0』, txd[15 downto 8]=dec2hex(6,3)&dec2hex(5,5)=0xc5

即 tkmsb=『0』,tklsb =『1』,txd[15 downto 0]= 0xc5bc

此外,tlk2711傳送端對輸入並行資料的取樣發生在傳送並行時鐘的上公升沿,因此應當對fpga輸出給tlk2711的並行資料進行相位約束。

參考資料:

tlk2711手冊;

ti應用報告(sgla001a,using the tlk2711-sp with minimal protocol);

8b/10b編碼編譯碼詳解(

linux Linux除錯記錄

剛安裝完 linux 後,在輸入命令或者用 vi 編輯的時候會發出報警的蜂鳴聲,很難受。vi etc inputrc找到裡面的設定 bell style set bell style none將前面的 去掉,讓這個配置生效 set bell style none然後重啟系統就可以去掉蜂鳴聲 rebo...

EasyExcel除錯記錄

一.pom.xml com.alibaba easyexcel 2.2.6 二.必須要finish才會寫入,不finish只會建立empty的檔案。writesheet writesheet easyexcel.writersheet 測試1 head list build excelwriter....

pytorch除錯記錄

除錯報錯 runtimeerror input type torch.cuda.floattensor and weight type torch.floattensor should be the same 截圖 說明 在除錯執行導師給的程式residual net的gunpoint程式時,出現報...