閆輝,胡永輝,侯雷
?
基于E1接口的時(shí)間同步系統(tǒng)關(guān)鍵模塊設(shè)計(jì)與仿真
閆輝1,2,3,胡永輝1,2,侯雷1,2
(1. 中國(guó)科學(xué)院國(guó)家授時(shí)中心,西安 710600;2. 中國(guó)科學(xué)院精密導(dǎo)航定位定時(shí)技術(shù)重點(diǎn)實(shí)驗(yàn)室,西安 710600;3. 中國(guó)科學(xué)院研究生院,北京 100039)
針對(duì)E1線路延遲穩(wěn)定的優(yōu)點(diǎn),給出了溯源到GPS系統(tǒng)時(shí)間的時(shí)間保持模塊,提出時(shí)間信息組合以適應(yīng)E1線路不成幀的傳輸方式,采用HDB3碼作為E1線路傳輸碼型,利用FPGA芯片EP2C8T144I8進(jìn)行開(kāi)發(fā),設(shè)計(jì)了基于E1接口的時(shí)間同步系統(tǒng)關(guān)鍵模塊,并對(duì)各關(guān)鍵模塊進(jìn)行仿真,結(jié)果表明各模塊設(shè)計(jì)均滿(mǎn)足時(shí)間同步系統(tǒng)的要求。
時(shí)間同步;E1接口;HDB3碼;現(xiàn)場(chǎng)可編程門(mén)陣列
隨著通信技術(shù)的飛速發(fā)展,時(shí)間標(biāo)準(zhǔn)及時(shí)間同步技術(shù)在通信網(wǎng)中的應(yīng)用越來(lái)越廣泛,但由于各種網(wǎng)元設(shè)備的內(nèi)部時(shí)鐘一般沒(méi)有內(nèi)在聯(lián)系,且模塊晶振精度較低,網(wǎng)元守時(shí)能力較差,現(xiàn)代通信領(lǐng)域的傳統(tǒng)業(yè)務(wù)和新業(yè)務(wù)、運(yùn)營(yíng)商之間的互聯(lián)互通和網(wǎng)間結(jié)算以及通信業(yè)務(wù)所涉及的網(wǎng)絡(luò)安全、認(rèn)證、計(jì)費(fèi)等都需要一個(gè)共同的時(shí)間標(biāo)準(zhǔn),準(zhǔn)確、穩(wěn)定的時(shí)間同步可以保證整個(gè)系統(tǒng)工作步調(diào)一致,高效地實(shí)現(xiàn)其所具有的全部功能[1]。而E1線路最大的優(yōu)點(diǎn)就是延遲穩(wěn)定,可以在一定程度上保證時(shí)間同步的精度。E1是國(guó)際電聯(lián)電信標(biāo)準(zhǔn)化部門(mén)(ITU-T)制定并由歐洲郵政與電信協(xié)會(huì)(CEPT)命名的數(shù)字傳輸系統(tǒng)一次群(PCM30)標(biāo)準(zhǔn),E1接口的物理及電特性符合國(guó)際電報(bào)電話咨詢(xún)委員會(huì)(CCITT)的G.703標(biāo)準(zhǔn),我國(guó)也采用E1標(biāo)準(zhǔn)作為脈沖編碼調(diào)制(PCM)系統(tǒng)和窄帶綜合業(yè)務(wù)數(shù)字網(wǎng)(N-ISDN)的基群[2]。目前,E1接口在分組網(wǎng)、幀中繼網(wǎng)、全球移動(dòng)通訊系統(tǒng)(GSM)移動(dòng)基站及軍事通信中都得到了廣泛的應(yīng)用,用來(lái)傳送語(yǔ)音、數(shù)據(jù)、圖像等信號(hào)。兼顧應(yīng)用的廣泛性和穩(wěn)定性,本文提出了一種基于E1接口的時(shí)間同步系統(tǒng)。文中介紹了以FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)為主要芯片,利用E1線路傳輸時(shí)間同步信息,完成時(shí)間同步的系統(tǒng)設(shè)計(jì),并且給出了相關(guān)部分的設(shè)計(jì)和仿真結(jié)果。
本系統(tǒng)通過(guò)接收外部GPS時(shí)間信息來(lái)校正本地時(shí)間,從而達(dá)到系統(tǒng)時(shí)間與GPS時(shí)間同步的目的。整個(gè)系統(tǒng)可以分為2個(gè)部分:時(shí)間保持部分和E1模塊部分,系統(tǒng)組成框圖如圖1所示。時(shí)間保持部分的主要功能是本地時(shí)間保持和通過(guò)外界時(shí)間源對(duì)本地時(shí)間進(jìn)行校正;E1模塊部分的主要功能是通過(guò)E1接口發(fā)送時(shí)間同步信息,或接收外部同步信息用以校正本地時(shí)間。
圖1 系統(tǒng)設(shè)計(jì)框圖
時(shí)間保持模塊的主要功能就是實(shí)現(xiàn)本地時(shí)間保持和GPS時(shí)間溯源。本地時(shí)間保持模塊是在系統(tǒng)自帶晶振的驅(qū)動(dòng)下工作的本地時(shí)間;GPS時(shí)間溯源是通過(guò)接收GPS時(shí)碼信息和標(biāo)準(zhǔn)秒脈沖信號(hào)(1PPS)來(lái)完成對(duì)本地時(shí)間的校正。時(shí)碼信息采用與串口通信類(lèi)似的串行傳輸方式,其波特率為9 600 bit/s,數(shù)據(jù)位為8位。GPS 1PPS信號(hào)脈寬與本地晶振脈寬不同,為了之后的操作,需要將GPS 1PPS信號(hào)進(jìn)行整形,使二者的脈寬一致。實(shí)現(xiàn)方法是將GPS 1PPS信號(hào)通過(guò)D觸發(fā)器延遲,而后與自身相與。
在得到GPS時(shí)碼信息和脈寬整形后的GPS 1PPS信號(hào)后,首先將本地時(shí)間重置為GPS系統(tǒng)時(shí)間,由于時(shí)碼信息比GPS的1PPS信號(hào)晚,所以重設(shè)時(shí)間后需要等待下一個(gè)1PPS信號(hào)才能觸發(fā)計(jì)時(shí),并且重置的GPS系統(tǒng)時(shí)間需要多加1 s。GPS 1PPS信號(hào)不但觸發(fā)計(jì)時(shí),而且還會(huì)啟動(dòng)本地秒脈沖信號(hào)產(chǎn)生,保證GPS溯源完成后,完成本地秒脈沖信號(hào)的同步。
E1線路數(shù)據(jù)傳輸速率為2.048 Mbit/s,可分為32個(gè)時(shí)隙,有成幀、成復(fù)幀和不成幀3種傳輸方式[3]。
本設(shè)計(jì)中采用不成幀的傳輸方式(此傳輸方式中,所有32個(gè)時(shí)隙均用于傳輸有效數(shù)據(jù)),將整個(gè)2 M線路作為數(shù)據(jù)傳輸鏈路,沒(méi)有數(shù)據(jù)幀結(jié)構(gòu),傳輸速率為2.048 Mbit/s,傳輸碼形式為HDB3碼,傳輸時(shí)碼信息和1PPS信號(hào)。首先將1PPS信號(hào)轉(zhuǎn)換成同步頭信息,將其與時(shí)碼信息進(jìn)行組合,然后經(jīng)過(guò)HDB3編碼,最后通過(guò)外圍接口電路傳輸出去。
時(shí)間信息包括本地時(shí)碼信息和1PPS信號(hào)。本地時(shí)碼信息可以從本地直接獲取,經(jīng)過(guò)HDB3編碼就可以進(jìn)行傳輸,而1PPS信號(hào)是一種時(shí)刻信號(hào),不僅需要編碼還要考慮時(shí)刻的問(wèn)題。另外,由于信號(hào)傳輸方式是不成幀方式,所以傳輸數(shù)據(jù)沒(méi)有幀頭,接收端無(wú)法找到數(shù)據(jù)接收起始點(diǎn),從而無(wú)法完成有效數(shù)據(jù)的提取。
考慮到1PPS信號(hào)的上升沿時(shí)刻和時(shí)碼信息滯后1PPS信號(hào)的特點(diǎn),可以將1PPS信號(hào)作為傳輸信號(hào)的幀頭,隨后傳輸時(shí)碼信息,這樣組合后,不僅可以標(biāo)識(shí)1PPS信號(hào)的時(shí)刻,還可以保證有效數(shù)據(jù)的提取。
1PPS信號(hào)可以看作是連“1”數(shù)據(jù),若以連“1”為幀頭,在數(shù)據(jù)傳輸中可能會(huì)出現(xiàn)幀頭誤判;再者,1PPS信號(hào)就是要體現(xiàn)數(shù)據(jù)幀頭的位置,而內(nèi)容并不重要,所以在此以巴克碼代表1PPS信號(hào)作為幀頭。
巴克碼主要用于通信系統(tǒng)中的幀同步,是一種具有特殊規(guī)律的二進(jìn)制碼組,是一種非周期序列,其特點(diǎn)是具有尖銳的自相關(guān)函數(shù),與隨機(jī)數(shù)字信息相區(qū)別,易于識(shí)別。在本設(shè)計(jì)中采用7位巴克碼“1110010”作為幀頭,用來(lái)代表1PPS信號(hào),其后數(shù)據(jù)為含有時(shí)分秒信息的時(shí)碼信息,共有17位數(shù)據(jù),如圖2所示。
圖2 1PPS信號(hào)與時(shí)碼信息組合
由于時(shí)碼數(shù)據(jù)的位數(shù)是固定的,去除7位幀頭即可得到時(shí)碼數(shù)據(jù),所以可以不要幀尾,如果有需要也可以加上商定的幀尾或CRC校驗(yàn)位。在接收端,接收信號(hào)經(jīng)過(guò)HDB3譯碼后,得到二元碼,當(dāng)檢測(cè)到幀頭的上升沿便產(chǎn)生一脈沖信號(hào),即1PPS信號(hào),然后將接收到的數(shù)據(jù)去除幀頭,完成1PPS信號(hào)與時(shí)碼信息的分離,得到時(shí)碼信息。
E1編碼采用三階高密度雙極性碼,即HDB3碼。HDB3碼是一種雙極性碼,其基帶信號(hào)無(wú)直流分量,而且克服了AMI碼連“0”的缺點(diǎn),可以提取時(shí)鐘信號(hào)[4]。其編碼原理為:
1)將信息代碼轉(zhuǎn)變成極性交替的AMI碼;
2)判斷AMI碼中連0的個(gè)數(shù),如果連0數(shù)大于3個(gè),則把第4個(gè)0變成V符號(hào),V的極性與前一個(gè)非0符號(hào)(+1或-1)的極性相同;
3)為了不破壞極性交替,V符號(hào)也要極性交替,但是當(dāng)相鄰V符號(hào)之間有偶數(shù)個(gè)非0符號(hào)時(shí),會(huì)出現(xiàn)V符號(hào)與前一個(gè)非0符號(hào)極性不同,此時(shí)再將該連0的第1個(gè)0變換成+B或-B,B符號(hào)極性與前一個(gè)非0符號(hào)相反,并讓后面的非0符號(hào)極性從V符號(hào)開(kāi)始再交替變化;
4)最后將非0符號(hào)均變成1符號(hào),極性不變。
本設(shè)計(jì)中的HDB3編碼是在FPGA上實(shí)現(xiàn)的,但是因?yàn)镕PGA不能產(chǎn)生負(fù)電壓,所以需要2路信號(hào),一路代表正極性,另一路代表負(fù)極性[5-6]。用Verilog編程語(yǔ)言實(shí)現(xiàn)編碼,編程思想如下:
第1步,改變極性,產(chǎn)生極性交替的信號(hào),編碼中用“10”表示“+1”,“01”表示“-1”,“00”表示“0”;
第2步,加V并完成極性交替。根據(jù)編碼規(guī)則,判斷4個(gè)連0,當(dāng)出現(xiàn)4個(gè)連0,將第4個(gè)0變?yōu)閂符號(hào),同時(shí)V符號(hào)極性也要交替,最后再將V符號(hào)變成1符號(hào),極性不變。所以可以直接將V符號(hào)變成1符號(hào),并且極性交替,即“10”或“01”,同時(shí)輸出1個(gè)加V符號(hào)的標(biāo)志信號(hào),以標(biāo)定加V符號(hào)的位置,為接下來(lái)的加B操作做基礎(chǔ);
第3步,加B符號(hào)。根據(jù)編碼規(guī)則,利用第2步的加V標(biāo)志可以得到V符號(hào)位置,將其值與前4個(gè)非零值相比,若相同,說(shuō)明極性相同,不作改變;若不同,則說(shuō)明極性相反,將前3個(gè)0符號(hào)的第1個(gè)變?yōu)锽符號(hào),極性與V符號(hào)相同,由于最后還要將B符號(hào)變?yōu)橥瑯O性的1符號(hào),所以可以直接變?yōu)閂位置的值,即“10”或“01”,分別代表“+1”或“-1”。
HDB3碼編碼的程序流程如圖3所示。在第3步中,由于要參考前4個(gè)值并且可能要改變前面的數(shù)值,所以在FPGA代碼編寫(xiě)中需要4個(gè)寄存器,分別延時(shí)1,2,3和4個(gè)周期,加B符號(hào)的是在第3寄存器。
圖3 HDB3編碼程序流程圖
HDB3碼的雙極性需要2路表示,“10”和“01”分別代表“+1”和“-1”。根據(jù)編碼規(guī)則,只有破壞點(diǎn)V脈沖與前一個(gè)非0符號(hào)極性相同,所以首先可以從信碼中找到V碼,那么V碼和其前3個(gè)符號(hào)必然是取代碼,在譯碼時(shí),只需要把V碼以及其前3個(gè)取代碼變?yōu)?碼即可,只要找到V碼,不管V前面是2個(gè)0碼,還是3個(gè)0碼,一律將取代碼置零,完成V碼和B碼的轉(zhuǎn)變,最后完成雙/單極性的轉(zhuǎn)換,進(jìn)而得到原二元碼。
在代碼編寫(xiě)中,首先判斷V碼,由于要判斷前4個(gè)符號(hào)極性,所以需要4個(gè)寄存器,分別是對(duì)輸入信號(hào)進(jìn)行1,2,3和4個(gè)周期延遲的信號(hào),檢測(cè)V碼有2種情況:一種是“1000V”,另一種是“B00V”,判斷2種情況的非0符號(hào)極性是否相同,若不同,不作改變,若相同,則將全部非0符號(hào)變?yōu)?符號(hào),最后將正極性和負(fù)極性2條信號(hào)相加,得到譯碼后的二元碼信號(hào)。譯碼的程序流程如圖4所示。
E1接口電路是E1接口與FPGA之間的硬件電路部分,主要功能是電平轉(zhuǎn)換、網(wǎng)絡(luò)隔離、濾波和整形,完成FPGA與E1接口之間信號(hào)電平和極性的轉(zhuǎn)換。
在Quartus II 9.0集成環(huán)境下,結(jié)合前面系統(tǒng)及模塊設(shè)計(jì),給出了相關(guān)仿真結(jié)果。
圖5是組合后的時(shí)間信息仿真圖,“pps”信號(hào)是1PPS信號(hào),每1秒發(fā)1次,“combine”信號(hào)是1PPS信號(hào)和時(shí)碼信息組合之后的信號(hào)。
圖5 組合后的信息仿真圖
圖6是組合信號(hào)的細(xì)節(jié)仿真圖,從圖6中可以看到,組合信號(hào)前7位是巴克碼“1110010”,隨后是17位的時(shí)碼信息,代表時(shí)分秒的信息。圖7是接收端將接收的信號(hào)分離為1PPS和時(shí)碼信息的仿真圖。圖7中,“e1pps”信號(hào)是分離后的1PPS信號(hào),“e1timedata”信號(hào)是分離后的時(shí)碼信息。
圖7 信息分離仿真圖
圖8是HDB3編碼的仿真圖。圖8中“incode”是輸入的二元碼序列,“outcode[1]”是HDB3碼的負(fù)極性信號(hào),“outcode[0]”是HDB3碼的正極性信號(hào),“flagv”和“flagb”分別是加V符號(hào)和加B符號(hào)的位置。
圖8 HDB3編碼仿真圖
設(shè)計(jì)了基于E1線路進(jìn)行時(shí)間同步的系統(tǒng),各模塊均在FPGA上進(jìn)行仿真,應(yīng)用Verilog硬件編程語(yǔ)言進(jìn)行開(kāi)發(fā),開(kāi)發(fā)周期短,設(shè)計(jì)靈活,可移植性強(qiáng),可以通過(guò)邏輯仿真驗(yàn)證設(shè)計(jì)的合理性和正確性。本設(shè)備還可以擴(kuò)展為成幀的傳輸形式,利用時(shí)分復(fù)用,可以進(jìn)行多路時(shí)間同步操作,也可以添加其他接口線路,進(jìn)行相關(guān)轉(zhuǎn)換,增強(qiáng)其擴(kuò)展性。同時(shí),還可以通過(guò)對(duì)開(kāi)發(fā)程序和同步方法的優(yōu)化,提高同步的精度,滿(mǎn)足更高的要求。
[1] 中國(guó)人民解放軍總裝備部軍事訓(xùn)練教材編輯工作委員會(huì). 時(shí)間統(tǒng)一技術(shù)[M]. 北京: 國(guó)防工業(yè)出版社, 2004.
[2] 邱志模, 王華. 基于FPGA的以太網(wǎng)與E1協(xié)議轉(zhuǎn)換器的實(shí)現(xiàn)[J]. 軍民兩用技術(shù)與產(chǎn)品, 2006, (10): 44-45.
[3] ITU-7 G.703 CCITT, 系列數(shù)字接口的物理電特性[S].
[4] 樊昌信, 曹麗娜. 通信原理[M]. 北京: 國(guó)防工業(yè)出版社, 2007.
[5] 漢澤西, 孫燕妮. 基于FPGA的HDB3編譯碼[J]. 電子科技, 2007(3): 66-69.
[6] 朱勤為, 唐寧, 趙名劍. 利用FPGA實(shí)現(xiàn)HDB3編解碼功能[J]. 電子設(shè)計(jì)工程, 2009, (12): 76-79.
Design and simulation of key modules of time synchronous system based on E1 interface
YAN Hui1, 2, 3, HU Yong-hui1, 2, HOU Lei1, 2
(1. National Time Service Center, Chinese Academy of Sciences, Xi′an 710600, China;2. Key Laboratory for Precision Navigation and Timing Technology, National Time Service Center,Chinese Academy of Sciences, Xi′an 710600, China;3. Graduate University of Chinese Academy of Sciences, Beijing 100039, China)
According to the advantage of the stable transfer delay of E1 interface, the time keeping module which can trace to the time of GPS System is proposed. The time information combination is given in order to adapt to the no framed transfer method for E1 interface. By using the HDB3 code as the transmission code and adopting the EP2C8T144I8 FPGA chip, the key time synchronous system module of E1 interface is designed. The simulations of the key modules are conducted and the results indicate that all the key modules meet the requirements of the time synchronization system.
time synchronization; E1 interface; HDB3 code; FPGA
TN919;P127
A
1674-0637(2012)04-0212-06
2012-03-15
中國(guó)科學(xué)院“西部之光”人才培養(yǎng)計(jì)劃重點(diǎn)資助項(xiàng)目(Y001YR1601)
閆輝,男,碩士研究生,主要從事時(shí)間統(tǒng)一系統(tǒng)技術(shù)研究。