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