胡玉霞,楊志剛,胡 墩
(1.黃山學院 信息工程學院,安徽 黃山245041;2.烽火通信科技股份有限公司 技術部,湖北 武漢430070)
DOCSIS (Data-Over-Cable Sevice Interface Specifications) 有線電纜數據服務接口規范是由有線電纜標準組織CableLabs制定的國際標準,定義了在有線電纜上提供數據服務所需的通信和運營支撐的接口。DTI (DOCSIS Timing Interface) 又稱DOCSIS定時接口,是ITU-T J.211標準中規定了一種新型的定時接口,主要應用于有線電纜網絡,通過協議交互方式,在一根電纜線上同時實現頻率和時間同步[1]。
作為數字通信網的基礎支撐技術,時鐘同步技術的發展受到通信網技術發展的影響。隨著通信新業務和新技術的不斷發展,對同步技術性能要求越來越高。相對于成熟的頻率同步技術,以P2P技術為代表的時間同步技術獲得了快速發展。目前,新興的時間同步與現有的頻率同步彼此相對獨立,但從長遠來看,頻率同步與時間同步的統一是發展的必然趨勢。
FPGA[2,3]由于其可并行運算,體系結構和邏輯單元靈活,集成度高,適應范圍寬,計算速度快等特點,受到廣大硬件工程師的歡迎。針對當前DTI技術中使用的閉環相位調整位同步方法同步建立時間較長的缺點,提出一種新的開環位同步方法。該方法能夠解決在位同步失步的情況下,同步建立時間和調整精度相互制約的難題。借助FPGA開發平臺,給出了新的開環位同步FPGA 設計方法,并在ISE10.1平臺上進行了實現。使用軟件對新的位同步方法的性能進行了測試,結果證明開環位同步方法能夠準確提取輸入datain的同步時鐘,實現精確的位同步。
位同步是指在接收端的基帶信號中提取碼元定時的過程,是正確取樣判決的基礎。在實現位同步時,可分為外同步法和自同步法兩種。在外同步法中,接收端的同步信號事先由發送端送來,而不是自己產生也不是從信號中提取出來。自同步法是指能從數據信號波形中提取同步信號的方法。DTI通信的碼元調制采用Manchester碼方式。Manchester碼是一種典型使用自同步法保持位同步的線路碼型[4]。
在Manchester碼中,每一位的中間有一跳變,位中間的跳變既作時鐘信號,又作數據信號;從高到低跳變表示“1”,從低到高跳變表示“0”。Manchester碼解決了傳輸數據沒有時鐘的問題,Manchester碼流與Manchester碼流中的同步時鐘時序,如圖1所示。

圖1 Manchester碼與同步時鐘的時序
圖1中,Manchester是輸入的Manchester 碼流,clkout 是從Manchester 碼流中恢復得到的同步時鐘。使用clkout同步時鐘的下降沿就可以正確讀取Manchester碼元信息,為下一步的解碼提供必要條件。
目前,在CPLD/FPGA上常用的位同步方法采用鎖相環的閉環相位調整方法,該方法主要由采樣鑒相器,數字環路濾波器,數控振蕩器3部分組成,閉環相位調整的位同步方法工作原理如圖3所示。

圖2 閉環相位調整的位同步方法工作原理
在圖2中,輸入datain與數控振動器里的輸出時鐘clkout通過采樣鑒相器產生超前脈沖up或滯后脈沖down,up和down脈沖通過數字環路濾波器產生相位校正序列co和bo。數控振蕩器根據co和bo信號不斷調整輸出clkout時鐘的相位,直到clkout與datain的相位一致,即clkout環路鎖定。clkout環路鎖定時,鑒相器無up和down脈沖輸出,輸出時鐘clkout為輸入datain的同步時鐘。
閉環相位調整的位同步方法需要高頻時鐘以保證精度,一旦失步,就需要通過反饋回路重新調整。每一個超前和滯后脈沖僅能調整一步,使其同步建立時間和調整精度變得相互制約;如果接收碼元出現連“0”或是連“1”的情況,鎖定時間會很長。
由于閉環相位調整的位同步方法存在同步建立時間較長的缺點,提出了一種新型的開環位同步方法。開環位同步方法原理如圖3所示。
開環位同步方法實現位同步的基本原理是利用輸入碼元datain的CLR(跳變沿)信號控制N分頻計數器,由N分頻計數器產生同步時鐘clkout。N分頻計數器實現對本地高頻時鐘clk的N分頻,控制同步時鐘clkout輸出的頻率;通過CLR信號對計數器的清零調整同步時鐘clkout輸出的相位。

圖3 開環位同步方法原理圖
數字濾波模塊的作用是通過本地高頻時鐘將輸入碼元中的窄脈沖干擾濾除掉,這樣有效的避免線路傳輸中產生的毛刺對輸入的跳變沿提取造成干擾。這部分電路在FPGA設計中使用一個移位寄存器產生,輸入碼元被送入移位寄存器并緩存,通過移位寄存器的值產生輸出。datain通過數字濾波模塊后會產生一個固定的相移,再通過跳變沿提取電路后輸出到dataout。dataout與datain存在一定的相移,datain、dataout和clkout的相位如圖4所示。

圖4 datain、dataout和clkout的相位
同步時鐘clkout根據dataout產生,與dataout相位一致,clkout的下降沿能夠準確讀取dataout的碼元信息,從而實現位同步。
跳變沿提取模塊的作用是通過提取輸入信號的跳變信息產生CLR信號,獲得輸入信號的真實相位。用這個CLR信號控制分頻計數器,就能控制輸出時鐘clkout的相位,實現輸出時鐘與輸入信號同步。跳變沿提取模塊的時序如圖5所示。本地高頻時鐘clk通過提取輸入datain的跳變信息產生CLR信號。

圖5 跳變沿提取模塊的時序
N分頻計數器模塊主要實現同步時鐘clkout的輸出,由本地高頻時鐘clk控制計數,CLR信號產生清零。計數器為N進制的自增加循環計數器,計算值為:0→1→…→N-1→0→1→…。clk的下降沿計數器計數,當沒有CLR信號輸入時,計數器的值自加1;有CLR信號時,計數器的值被置0。clk的上升沿讀數并分頻輸出clkout,計數器的值為N-1時,clkout輸出為高,計數值為N/2-1時,clkout輸出為低。通過計數器值對clkout輸出的控制,產生一個跟輸入碼元寬度對應且占空比為50%的時鐘信號,即實現對輸入碼元的同步時鐘恢復,恢復出的同步時鐘為clkout。
對新的DTI開環位同步方法進行性能仿真測試分析,分為兩個部分進行:(1) 位同步功能仿真分析;(2)DTI服務器信號接收和發送測試。
使用ISE10.1仿真工具ISE Simulater,對新的DTI位同步方法的功能進行仿真,功能仿真結果如圖6所示。

圖6 位同步模塊在ISE Simulater上的功能仿真
從圖6中可以看到,dataout與clkout的相位保持一致,證明開環位同步方法能夠準確提取輸入datain的同步時鐘,實現精確的位同步。
DTI服務器信號接收與發送測試,能夠驗證位同步模塊能否正常工作。利用ISE10.1中的ChipScope Pro工具,通過搭建模擬client端的測試環境,完成對DTI服務器信號接收與發送測試。ChipScope Pro Analyzer上的位同步波形如圖7所示。

圖7 ChipScope Pro Analyzer上的位同步波形
圖7中,信號tx_rx_data是客戶端返還給服務器的數據波形,clk_tx是服務器位同步電路產生的同步時鐘。從圖中可以看出,位同步電路恢復出的同步時鐘與輸入的數據波形相位一致,通過同步時鐘的下降沿能夠準確讀取輸入數據信息。
本文提出一種新的DTI開環位同步方法,該方法能夠解決在位同步失步的情況下同步建立時間和調整精度相互制約的問題。通過FPGA平臺對新方法進行了實現,使用軟件對新方法的性能進行了仿真測試分析,結果表明新的DTI位同步方法能夠實現位同步,具有較好的可行性,為開發性能可靠的DTI服務器提供了理論方法和實踐基礎。
[1]王沁,龍萍,等.基于DOCSIS規范的測距機制分析與嵌入式實現[J].通信學報,2006,32(9):96-101.
[2]楊海鋼,孫嘉斌,等.FPGA器件設計技術發展綜述[J].電子與信息學報,2010,32(3):714-727.
[3]俞吉波,孔雪.FPGA實際可用性評估與發展趨勢分析[J].計算機工程,2011,37(13):282-284.
[4]Forster.R.Manchester encoding:opposing definitions resolved[J].Engineering Science and Education Journal.2000,9(6):278-280.