一種基于FPGA的數字復接系統的設計與實現
數字復接系統的FPGA設計
本次FPGA設計采用分層設計,頂層為整個系統的原理框圖(見圖3),用一些符號表示功能塊,然后把每個功能塊分成若干子模塊,各模塊獨立設計。下面就各模塊的設計思想進行詳細介紹。
復接電路設計
復接電路如圖4所示,它由復接時序發生器、緩存器、碼速調整控制電路、插入碼控制電路、幀定位信號發生器和合路器6個模塊構成。圖中只畫了第一條支路參與復接的實現過程,因為四條支路的過程完全相同,因而略去其余3個支路的電路。
圖4 復接電路框圖
(1)復接時序發生器模塊
輸入為2.112MHz頻率的均勻時鐘,通過該模塊產生插入碼控制電路所需的插入標志時隙脈沖SZ、調整插入時隙脈沖SV、頻率為2.112MHz的非均勻時鐘f(從輸入的均勻時鐘扣除了時隙SZ和SF)和幀定位信號發生器所需的時隙脈沖SF。
(2)緩存器模塊
基群信號以2.048MHz的均勻時鐘clk_wr寫入緩存器,同時以2.112MHz的非均勻時鐘clk_rd讀出,clk_rd由插入碼控制電路產生。該模塊還需輸出每次寫入和讀出一幀數據時第一個clk_wr脈沖P1和clk_rd脈沖P2,送給碼速調整控制電路模塊。在該模塊的設計中,應注意每一幀信息碼的位數不是固定的,必須通過碼速調整控制電路模塊的反饋信號Fn來確定,當反饋信號表明本幀需要調整,則位數為205;反之,位數為206。
(3)碼速調整控制電路模塊
緩存器的寫入脈沖超前于讀出脈沖的時間量稱為讀寫時差,讀寫時差的大小總隨時間不斷變化著。該電路中緩存器的寫入速率低于讀出速率,隨著時間的推移,緩存器中所存信息碼數目越來越少,最后導致“取空”而造成錯誤的數據傳輸。因此,我們必須設定一門限,當信碼數降到門限值時,就進行碼速調整。
通過對各時刻讀寫時差的聯系以及趨向最終狀態變化的分析得出,讀寫時差的最低點總是發生在一幀末尾,而在幀首通過兩脈沖相位差就能判斷本幀是否需要碼速調整。具體地說,P1和P2輸入進行鑒相判決得到幀首的讀寫時差T0,與調整門限值TS進行比較,若T0>TS則本幀不需要調整,反之若T0≤TS,則需要調整。這時模塊輸出反饋信號Fn給緩存器,和調整控制負脈沖Gate給輸入碼控制電路模塊。
(4)插入碼控制電路模塊
該模塊的功能是對緩存器的讀出信息進行插入碼控制,輸出2.112MHz的非均勻時鐘clk_rd和參與合路的支路碼流。為了標志是否在時隙SZ有插入調整比特,就必須引入插入標志碼。通常在一幀中規定一個特定時隙SV,提供一次碼速調整的機會。如果某支路需要進行調整,就在該時隙插入一比特脈沖,如不需要調整則該時隙仍傳支路信息。為確保可靠性,通常采用3位碼作為插入標志碼。如果某支路有插入調整,用標志碼為111來表示,否則用000表示。
(5)幀定位信號發生器模塊
該模塊產生幀同步信號和告警指示碼,幀定位信號可以集中插入,也可以分散到各支路插入,考慮到設備和延遲問題,我們選擇集中插入。
(6)合路器模塊
根據每個時間間隔傳送碼字的多少,有3種排列方式:按位復接、按字復接和按幀復接。其中按位復接要求緩存器容量較小,較易實現,而且二次群幀結構是由4個支路子幀按位復接而成,所以一般采用按位復接,本文采用的也是該方式。該模塊按位順序循環讀取四路碼速調整后的碼流,在對應SF時隙插入幀定位信號“111101000000”,得到二次群信號,即完成整個復接部分。
評論