FPGA實(shí)現(xiàn)IRIG-B(DC)碼編碼和解碼的設(shè)計(jì)
IRIG (Inter Range Instrumentation Group)起源于軍隊(duì)靶場的時(shí)間同步,靶場中的時(shí)間系統(tǒng)為衛(wèi)星或航天器發(fā)射、常規(guī)武器試驗(yàn)、測控系統(tǒng)提供標(biāo)準(zhǔn)時(shí)間。IBIG-B時(shí)間碼(簡稱B碼)就是由IRIG所屬的TCG(Telecommunication Group)制訂的一種串行時(shí)間碼,被廣泛應(yīng)用于時(shí)間信息傳輸系統(tǒng)中。在實(shí)際的應(yīng)用中,根據(jù)距離B碼發(fā)生器的遠(yuǎn)近及不同時(shí)間精度的要求,B碼在實(shí)際傳輸中采用了兩種碼型AC碼(交流碼)和DC碼(直流碼)。當(dāng)傳輸距離比較遠(yuǎn)時(shí)采用AC碼,當(dāng)傳輸距離近時(shí)則采用DC碼。在本文中只涉及DC碼。
FPGA為時(shí)碼技術(shù)、時(shí)統(tǒng)設(shè)備的研制與開發(fā)注入了新的生機(jī),為整個(gè)系統(tǒng)內(nèi)的從設(shè)備分配相干的工作時(shí)鐘,從而確保從設(shè)備具有同源相干的時(shí)鐘基準(zhǔn)。系統(tǒng)時(shí)鐘送出時(shí)間信號,FPGA對接收到的時(shí)間信號進(jìn)行編制,并且生成與GPS輸出信號1 pps精確同步的B碼信號。而解碼系統(tǒng)是FPGA對B碼格式信號進(jìn)行解調(diào),產(chǎn)生出所需的絕對時(shí)間和各種控制信號,提供給測量設(shè)備。對時(shí)統(tǒng)設(shè)備進(jìn)行高度集成,實(shí)現(xiàn)時(shí)統(tǒng)設(shè)備大規(guī)模、高速度、低成本、低開發(fā)費(fèi)用、設(shè)計(jì)周期短、電路簡單、易于調(diào)試和可靠性高的目標(biāo),是時(shí)統(tǒng)設(shè)備發(fā)展的必然趨勢。
1 IRIG-B碼格式與原理
IRIG-B碼的時(shí)幀周期是1 s,包含100個(gè)碼元,每個(gè)碼元周期為10ms,即B碼的碼元速率為100 pps。B碼有3種碼元,位置識(shí)別標(biāo)志P,二進(jìn)制“1”和“0”,脈寬分別為8ms、5ms和2 ms。位置識(shí)別標(biāo)志P0的前沿在幀參考點(diǎn)前一個(gè)索引計(jì)數(shù)間隔處,以后每10個(gè)碼元有一個(gè)位置識(shí)別標(biāo)志,分別為P1、P2、……、p9、P0,PR為幀參考點(diǎn)。脈沖信號如圖1所示。
一個(gè)時(shí)間格式幀從幀參考標(biāo)志開始,由相鄰兩個(gè)幀參考標(biāo)志之間的碼元組成,每個(gè)時(shí)幀的準(zhǔn)時(shí)為該時(shí)幀參考標(biāo)志的前沿。如果連續(xù)出現(xiàn)兩個(gè)8 ms的位置識(shí)別標(biāo)志,則該時(shí)幀的開始是位于第2個(gè)8ms的位置識(shí)別標(biāo)志前沿。
IRIG-B碼中第1個(gè)字段(PR~P1)傳送的是秒信息,第2個(gè)字段(P1~P2)傳送的是分信息,第3個(gè)字段(P2~P3)傳送的是時(shí)信息,第4、5個(gè)字段(P3~P5)傳送的是天數(shù)信息,即從1月1日開始計(jì)算的年積日,所以在第5個(gè)字段結(jié)束后時(shí)間信號已經(jīng)解析并保存在寄存器中。另外,在第8個(gè)字和第10個(gè)字中分別有3位表示上站和分站的特標(biāo)控制碼元。不僅包含豐富的時(shí)間信息,也包含必要的控制信息和監(jiān)測信息,方便后端用戶進(jìn)行使用。
FPGA對B碼的編碼和解碼時(shí)根據(jù)其格式和原理使用計(jì)數(shù)器和狀態(tài)機(jī)來實(shí)現(xiàn),其中會(huì)涉及到多個(gè)時(shí)鐘信號,這些時(shí)鐘信號都是由FPGA外部晶振40 MHz的時(shí)鐘分頻而來。編碼時(shí)鐘為5 MHz;解碼的時(shí)鐘有10 kHz、10 MHz,同時(shí)會(huì)輸出時(shí)間信號,即天、時(shí)、分、秒信號。
2 IRIG-B碼編碼
時(shí)間模塊由CPU進(jìn)行處理,提取系統(tǒng)的時(shí)間信號,即秒信號sec_bcd[7..0],分信號min_bcd[7..0],時(shí)信號hour_bcd[6..0],天信號day_bcd[10..0],為FPGA的輸入信號,這些輸入信號都是并行信號,并且是BCD碼。GPS模塊為編碼系統(tǒng)提供1 pps信號上升沿,即秒同步信號,也作為FPGA的輸入信號。IRIG-B碼編碼的寄存器傳輸級(RTL)視圖如圖2所示。
圖2中,F(xiàn)PGA對IRIG-B碼的編碼主要由兩個(gè)模塊構(gòu)成,一個(gè)為時(shí)鐘分頻模塊,另一個(gè)為數(shù)據(jù)處理模塊。系統(tǒng)的晶振時(shí)鐘為40 MHz,通過分頻,采用5 MHz的時(shí)鐘,所以此處的誤差最大為200ns。當(dāng)GPS產(chǎn)生1個(gè)pps_in信號后,時(shí)間信號同時(shí)進(jìn)入FPGA。為了產(chǎn)生的IRIG-B碼和GPS產(chǎn)生的pps_in信號精確同步,所以IRIG-B碼的準(zhǔn)時(shí)位置應(yīng)對準(zhǔn)GPS模塊發(fā)出的1 pps信號上升沿。B碼編碼的狀態(tài)機(jī)流程圖如圖3所示。
評論