崔 晶
(天津現(xiàn)代職業(yè)技術(shù)學(xué)院,天津300350)
高速串行傳輸技術(shù)被越來越多的通信設(shè)備采用.高速數(shù)據(jù)傳輸對(duì)時(shí)鐘的要求很高,而能滿足高速傳輸需求的各種專業(yè)芯片不僅價(jià)格昂貴,而且功能單一,靈活性低,不能滿足用戶多樣化的需求[1].不同線路輸入的時(shí)鐘經(jīng)過長距離傳輸,信號(hào)質(zhì)量劣化程度不同,經(jīng)過FPGA的SerDes(串并轉(zhuǎn)換)恢復(fù)出來的線路時(shí)鐘質(zhì)量不同.除此外,SDH通信系統(tǒng)接入的輸入信號(hào)線路數(shù)量不定,時(shí)鐘芯片需要對(duì)不確定數(shù)量的線路時(shí)鐘進(jìn)行保持跟蹤.雖然有相應(yīng)的專用芯片來達(dá)到上述的目的,但是針對(duì)不同數(shù)量的線路時(shí)鐘,導(dǎo)致專用芯片的靈活性有所欠缺,且成本較高,如達(dá)拉斯公司的DS3100時(shí)鐘芯片,輸入的時(shí)鐘數(shù)量最多只有 6路;IDT公司的82V3399芯片,輸入的時(shí)鐘數(shù)量最多只用8路[2].本研究的目的就是要解決上述技術(shù)中存在的問題,使用FPGA對(duì)SDH中使用的時(shí)鐘進(jìn)行處理,完成時(shí)鐘芯片功能.
系統(tǒng)硬件主要由2部分構(gòu)成:
1)19.44 M 溫補(bǔ)時(shí)鐘:主要對(duì) FPGA提供19.44M高精度低抖動(dòng)時(shí)鐘信號(hào).
2)FPGA:主要完成時(shí)鐘的輸入和輸出,最終完成整個(gè)時(shí)鐘芯片功能.
硬件及主要信號(hào)線連接示意圖如圖1所示.
圖1 硬件及主要信號(hào)線連接示意圖
FPGA設(shè)計(jì)中的主要功能模塊如圖2所示.
FPGA通過外部管腳和CPU連接,CPU通過提取各路 SDH信號(hào)的時(shí)鐘質(zhì)量開銷符號(hào) S1控制FPGA從各輸入時(shí)鐘選擇1路作為19.44M線路時(shí)鐘,選擇器由FPGA內(nèi)部查找表完成.
CK模塊將19.44M線路時(shí)鐘和19.44M輸出時(shí)鐘分別分頻為8K的時(shí)鐘,為PD(Phase Detect,鑒相模塊)模塊提供鑒相輸入信號(hào).在本設(shè)計(jì)中,分頻功能由FPGA自帶的鎖相環(huán)實(shí)現(xiàn).Virtex-6系列 FPGA自帶的鎖相環(huán)輸入和輸出范圍均為10~700MHz,接受抖動(dòng)范圍為0-10 UI[3],可以實(shí)現(xiàn)倍頻、分頻、移相等功能,輸出時(shí)鐘和輸入時(shí)鐘同相,且具有時(shí)鐘鎖定指示信號(hào).
圖2 FPGA內(nèi)部功能模塊示意圖
PD模塊對(duì)線路時(shí)鐘和輸出時(shí)鐘進(jìn)行鑒相,將指示線路時(shí)鐘超前輸出時(shí)鐘的超前鑒相信號(hào)和指示線路鐘時(shí)落后輸出時(shí)鐘的滯后鑒相信號(hào)輸出給LF(Low Pass,低通模塊)模塊.有限狀態(tài)機(jī)狀態(tài)轉(zhuǎn)移圖如圖3所示.
圖3 PD模塊有限狀態(tài)機(jī)狀態(tài)轉(zhuǎn)移圖
如圖3所示,每個(gè)狀態(tài)的輸入由同一時(shí)刻采集的8K線路時(shí)鐘和8K輸出時(shí)鐘狀態(tài)組成.在空閑狀態(tài),當(dāng)采集到輸入為10時(shí),表示采集到8K線路時(shí)鐘高電平,8K輸出時(shí)鐘低電平,線路時(shí)鐘超前輸出時(shí)鐘,進(jìn)入超前狀態(tài),并輸出超前鑒相信號(hào);當(dāng)采集到輸入為01時(shí),表示采集到8K線路時(shí)鐘低電平,8K輸出時(shí)鐘高電平,線路時(shí)鐘滯后輸出時(shí)鐘,進(jìn)入滯后狀態(tài),并輸出滯后鑒相信號(hào),其它輸入保持空閑狀態(tài);在處于超前或滯后狀態(tài)時(shí),當(dāng)輸入為00時(shí),表示采集到8K線路時(shí)鐘低電平,8K輸出時(shí)鐘低電平,進(jìn)入空閑狀態(tài),當(dāng)輸入為 11時(shí),表示采集到8K線路時(shí)鐘高電平,8K輸出時(shí)鐘高電平,進(jìn)入暫停狀態(tài);在暫停狀態(tài),當(dāng)輸入為01時(shí),表示表示采集到8K線路時(shí)鐘低電平,8K輸出時(shí)鐘高電平,線路時(shí)鐘超前輸出時(shí)鐘,跳轉(zhuǎn)到超前狀態(tài);當(dāng)輸入為10時(shí),表示采集到8K線路時(shí)鐘高電平,8K輸出時(shí)鐘低電平,線路時(shí)鐘滯后輸出時(shí)鐘,跳轉(zhuǎn)到滯后狀態(tài).
低通模塊是低通濾波器.為了防止時(shí)鐘抖動(dòng)帶給PD模塊錯(cuò)誤的鑒相結(jié)果,LF模塊對(duì)PD模塊的輸出進(jìn)行低通濾波,濾除高頻分量后輸出正確的選擇結(jié)果.在本設(shè)計(jì)中,低通模塊主要由兩個(gè)10比特位寬的計(jì)數(shù)器組成,分別命名為超前計(jì)數(shù)器和滯后計(jì)數(shù)器.計(jì)數(shù)器閾值為1023.每次PD模塊發(fā)出超前鑒相信號(hào),則超前計(jì)數(shù)器加 1,當(dāng) PD模塊發(fā)出滯后鑒相信號(hào),則滯后計(jì)數(shù)器加 1.當(dāng)超前計(jì)數(shù)器記滿1023后,則復(fù)位超前計(jì)數(shù)器,并同時(shí)向DCO模塊(Digital Control,數(shù)字控制)發(fā)出超前控制信號(hào);當(dāng)滯后計(jì)數(shù)器記滿1023后,則復(fù)位滯后計(jì)數(shù)器,并同時(shí)向DCO模塊發(fā)出滯后控制信號(hào).
狀態(tài)機(jī)采用格雷碼編碼,具體編碼實(shí)現(xiàn)采用賽靈思公司推薦的硬線邏輯語言編碼約束,詳細(xì)代碼如下:
DCO模塊控制本地時(shí)鐘移相追蹤線路時(shí)鐘相位.把 LF模塊輸入的超前鑒相和滯后鑒相每22秒加權(quán)平均進(jìn)行統(tǒng)計(jì),24小時(shí)的統(tǒng)計(jì)結(jié)果存儲(chǔ)在FPGA的塊RAM中.在輸入時(shí)鐘丟失時(shí),F(xiàn)PGA從塊RAM中順序讀出統(tǒng)計(jì)值,使輸出時(shí)鐘追蹤線路時(shí)鐘過去24小時(shí)的相位變化[4].DCO模塊中的移相控制電路圖如圖4所示,DCO模塊通過FPGA內(nèi)部的多路復(fù)用器對(duì)155.52M的本地時(shí)鐘移相.每個(gè)多路復(fù)用器提供π/14個(gè)弧度相移.因?yàn)镕PGA內(nèi)部布線延時(shí)的不精確,所以本設(shè)計(jì)利用ISE自帶的FPGA Editor手動(dòng)擺放14個(gè)多路選擇器在各自查找表中的位置及每個(gè)查找表在FPGA內(nèi)部的位置,將抖動(dòng)控制在0.4ns以內(nèi)[5],從而達(dá)到精確相移的目的.
模擬鎖相環(huán)調(diào)用FPGA自帶的模擬鎖相環(huán),通過本地高精度的 19.44M 晶振,生成各子模塊需要的311.04M和155.52M高速時(shí)鐘.
經(jīng)過系統(tǒng)聯(lián)合調(diào)試,基于FPGA的時(shí)鐘芯片設(shè)計(jì)技術(shù),時(shí)鐘抖動(dòng)控制在 0.4ns內(nèi),超過 GR-253-CORE (OC-192) 和ITU-T G.813 (STM-64)的關(guān)于時(shí)鐘精度要求.為SDH業(yè)務(wù)板卡提供工作時(shí)鐘960 h,工作正常,板卡沒有出現(xiàn)誤碼、丟包現(xiàn)象,達(dá)到SDH設(shè)備應(yīng)用的預(yù)期目標(biāo).
圖4 DCO模塊移相控制電路圖
[1] 韋樂平.光同步數(shù)字傳送網(wǎng)[M].北京:人民郵電出版社,1998:65-69.
[2] 史國偉,王峰,陳明.一種基于SDH光線傳輸系統(tǒng)設(shè)備時(shí)鐘的數(shù)字式鎖相環(huán)[J].電子技術(shù)應(yīng)用,2000(10):70-72.
[3] ITU-T Rec. Timing characteristics of SDH equipment slave clocks (SEC), G.813[S]. 2003:83-86.
[4] ITU-T Rec. Physical/electrical characteristics of digital interface, G.703[S]. 1993:35-39.
[5] ITU-T Rec. Characteristics of SDH equipment functional clocks. G.783[S]. 2003:42-46.