戎 強(qiáng) 劉鐵強(qiáng) 賈杰峰
(1.中國(guó)電子科技集團(tuán)公司第五十四研究所,河北 石家莊050081;2.河北省衛(wèi)星導(dǎo)航技術(shù)與裝備工程技術(shù)研究中心,河北 石家莊 050081)
靶場(chǎng)間儀器組碼(IRIG)是美國(guó)靶場(chǎng)司令委員會(huì)制定的一種時(shí)間標(biāo)準(zhǔn),共有4種并行二進(jìn)制時(shí)間碼格式和6種串行二進(jìn)制時(shí)間碼格式。串行時(shí)間碼傳輸距離較遠(yuǎn),共有六種格式:A,B,D,E,G,H,它們的主要差別是時(shí)間碼的幀速率不同和所表示的時(shí)間信息不同[1]。其中,B碼已經(jīng)成為一種國(guó)際通用的靶場(chǎng)測(cè)量與時(shí)間統(tǒng)一系統(tǒng)(簡(jiǎn)稱(chēng)時(shí)統(tǒng))專(zhuān)用時(shí)間碼,主要用于保持被控對(duì)象與測(cè)量系統(tǒng)時(shí)間的高度統(tǒng)一,并提供高精度的時(shí)間信號(hào)[2]。靶場(chǎng)測(cè)量、控制、計(jì)算、通信、氣象、電力等領(lǐng)域的時(shí)統(tǒng)設(shè)備均采用國(guó)際標(biāo)準(zhǔn)的IRIG-B格式時(shí)間碼(簡(jiǎn)稱(chēng)B碼)作為其時(shí)間同步的標(biāo)準(zhǔn),其特點(diǎn)是速率適中、編碼信息量豐富、通用規(guī)范及使用靈活方便[3]。
國(guó)內(nèi)在用的B碼有兩個(gè)版本:1997年6月25日發(fā)布了GJB 2991-1997《B時(shí)間碼接口終端通用規(guī)范》,并于1997年12月01日起開(kāi)始實(shí)施;2008年3月30日又發(fā)布的GJB 2991A-2008《B時(shí)間碼接口終端通用規(guī)范》,并于2008年06月01日起開(kāi)始實(shí)施。目前,國(guó)內(nèi)兩種版本的B碼均在使用。
B碼采用碼元、索引計(jì)數(shù)、位置標(biāo)識(shí)位、碼字等參數(shù)進(jìn)行描述。
1)碼元
B碼時(shí)間格式里的每個(gè)脈沖稱(chēng)為碼元,碼元的“準(zhǔn)時(shí)”參考點(diǎn)是其脈沖前沿,碼元的重復(fù)速率稱(chēng)為碼元速率。B碼的碼元速率為100 pps.
2)索引計(jì)數(shù)
每個(gè)碼元序號(hào)由索引計(jì)數(shù)所確定。索引計(jì)數(shù)由幀基準(zhǔn)起、從0開(kāi)始計(jì)數(shù),并依次加1,直到幀結(jié)束。
3)位置標(biāo)識(shí)位
B碼位置標(biāo)識(shí)位是索引計(jì)數(shù)間隔的0.8倍(8 ms),位置標(biāo)識(shí)位P0的前沿在幀參考點(diǎn)前一個(gè)索引計(jì)數(shù)間隔處,以后每10個(gè)碼元有1個(gè)位置標(biāo)識(shí)位,分別為P1、P2、P3、P4、P5、P6、P7、P8、P9、P0.B碼的位置標(biāo)識(shí)位的重復(fù)速率為碼元速率的十分之一,即10 pps.
4)幀頭參考碼元Pr
幀頭參考碼元Pr是由一個(gè)位置標(biāo)識(shí)位和相鄰的參考碼元組成。B碼的參考碼元的寬度為8 ms.時(shí)幀的“準(zhǔn)時(shí)”參考點(diǎn)是參考碼元的前沿。
5)碼字
所有的時(shí)間格式都是脈寬碼,B碼的二進(jìn)制“1”和“0”的脈寬分別為5 ms和2 ms.
6)時(shí)幀
一個(gè)時(shí)間格式幀從幀參考碼元開(kāi)始,由兩個(gè)相鄰幀參考碼元間的所有碼元組成。時(shí)幀的重復(fù)速率為時(shí)幀速率,其周期為1 s.
7)時(shí)間編碼
時(shí)間編碼從幀參考碼元開(kāi)始分別為第0、1、2、…、99個(gè)碼元。在B碼時(shí)間格式中含有秒、分、時(shí)、天、年等信息,其位置在P0~P5間。P6~P10包含其他控制信息,如一些特標(biāo)信號(hào)。其中,秒信息占用第1、2、3、4、6、7、8碼元,分信息占用第10、11、12、13、15、16、17碼元,時(shí)信息占用第20、21、22、23、25、26、27碼元,如表1所示。
表1 時(shí)間編碼位置
目前,國(guó)內(nèi)GJB 2991-1997《B時(shí)間碼接口終端通用規(guī)范》和GJB 2991-2008《B時(shí)間碼接口終端通用規(guī)范》兩種版本的B碼都在使用,其包含的時(shí)間信息存在差異。
1.2.1 GJB 2991-1997版B碼信息
B碼的時(shí)間信息采用BCD碼編碼,即十進(jìn)制時(shí)間信息的每個(gè)十進(jìn)制位是二進(jìn)制編碼,它的次序由低到高,所表達(dá)的時(shí)間如下:
秒:從00到59,共7個(gè)碼元,即7位;分:從00到59,共7位;時(shí):從00到24,共6位;天:從001到365或366,共10位,即每年的1月1日編為第001天,而將12月31日編為第365天或第366天[4]。
天、時(shí)、分、秒均用BCD碼表示,低位在前,高位在后;個(gè)位在前,十位在后[5]。
1.2.2 GJB 2991-2008版B碼信息
GJB 2991-2008版B碼中的時(shí)間碼是基于UTC的,時(shí)間信息的碼元稱(chēng)為時(shí)間編碼。時(shí)間編碼采用BCD編碼表示秒、分、時(shí)、天、年[6]。
相對(duì)于GJB 2991-1997版B碼,GJB 2991-2008版B碼增加了閏秒標(biāo)志和年信息。
其中,年的個(gè)位和十位的BCD編碼交替出現(xiàn)在索引計(jì)數(shù)的45~48位,并且年的個(gè)位與偶數(shù)秒出現(xiàn)在同一幀內(nèi)。當(dāng)年的十位標(biāo)志位為1時(shí),索引計(jì)數(shù)的45~48位表示年的十位;反之,表示年的個(gè)位。當(dāng)年的十位無(wú)法與奇數(shù)秒對(duì)應(yīng)時(shí)(閏秒時(shí)),舍棄年的十位。
閏秒標(biāo)志用于控制B碼終端進(jìn)行閏秒調(diào)整,閏秒標(biāo)志碼元索引計(jì)數(shù)為27、28所對(duì)應(yīng)的兩個(gè)碼元。當(dāng)B碼傳輸?shù)腢TC時(shí)間需要向后閏秒調(diào)整時(shí),閏秒標(biāo)志編碼為01;當(dāng)需要向前閏秒調(diào)整時(shí),閏秒標(biāo)志為10.正閏秒或負(fù)閏秒應(yīng)發(fā)生在一個(gè)月(UTC時(shí)間)的最后1 s.最優(yōu)選擇是12月底或6月底;次優(yōu)選擇是3月底或9月底。正閏秒開(kāi)始于一個(gè)月最后一天的23時(shí)59分60秒,結(jié)束于下一個(gè)月第一天的0時(shí)0分0秒;負(fù)閏秒開(kāi)始于一個(gè)月最后一天的23時(shí)59分58秒之后,結(jié)束于下一個(gè)月的第一天0時(shí)0分0秒。
采用正弦波對(duì)B碼進(jìn)行幅度調(diào)制,正弦波的頻率與碼元速率嚴(yán)格相關(guān),為碼元速率的十倍,同時(shí),其正交過(guò)零點(diǎn)與所調(diào)制格式碼元前沿符合,標(biāo)準(zhǔn)調(diào)制比為3.3∶1,調(diào)制比變化范圍為2∶1~6∶1之間[5]。
B碼在工程應(yīng)用中一般與時(shí)頻系統(tǒng)配合應(yīng)用,時(shí)頻系統(tǒng)為B碼設(shè)備提供高精度的頻率參考,作為其主時(shí)鐘,大型系統(tǒng)還可以通過(guò)溯源鏈路獲得更為穩(wěn)定的時(shí)間基準(zhǔn)。B碼典型應(yīng)用一般包括B碼時(shí)間服務(wù)器、B碼終端、B碼解碼卡,如圖1所示。
圖1 B碼工程應(yīng)用示意圖
B碼時(shí)間服務(wù)器是最頂層的B碼應(yīng)用,它要求B碼所攜帶的時(shí)間信息具有最高的準(zhǔn)確度,應(yīng)與時(shí)頻中心或時(shí)頻系統(tǒng)保持嚴(yán)格的時(shí)間同步(一般≤100 ns)。B碼時(shí)間服務(wù)器是整個(gè)系統(tǒng)的時(shí)間中心,輸出的B碼時(shí)間為系統(tǒng)基準(zhǔn)時(shí)間。
B碼終端一般作為中繼設(shè)備,它以B碼時(shí)間服務(wù)器提供的高精度B碼信號(hào)為參考,同時(shí)對(duì)收到的B碼進(jìn)行解碼,并依靠高精度系統(tǒng)時(shí)鐘合成本地B碼,從而實(shí)現(xiàn)B碼中繼和本地B碼的多路分配與傳輸。B碼終端需要嚴(yán)格保持B碼所攜帶的時(shí)間信息的準(zhǔn)確度,應(yīng)與參考信號(hào)保持較高的同步精度(一般≤200 ns)。
B碼解碼終端是一種基于PCI總線(xiàn)的計(jì)算機(jī)專(zhuān)用譯碼終端,通過(guò)解碼提取出時(shí)間信息,并通過(guò)PCI總線(xiàn)將時(shí)間送給計(jì)算機(jī),從而實(shí)現(xiàn)B碼授時(shí)。
2.2.1 無(wú)法跨年和閏秒問(wèn)題
有些工程由于建設(shè)周期長(zhǎng)或?qū)υ袝r(shí)頻系統(tǒng)進(jìn)行改建、擴(kuò)建等原因,仍在使用GJB 2991-1997版本的B碼。GJB 29911-1997版本的B碼本身沒(méi)有“年”和“閏秒”信息,存在無(wú)法跨年和閏秒問(wèn)題,即在跨年時(shí)整個(gè)B碼鏈路無(wú)法獲得任何跨年信息或標(biāo)志,會(huì)引起跨年后時(shí)間的錯(cuò)誤;此外,該版本B碼也不支持閏秒,存在安全隱患。
2.2.2 B碼中斷與恢復(fù)時(shí)存在時(shí)間錯(cuò)誤問(wèn)題
在中心時(shí)統(tǒng)設(shè)備或B碼時(shí)間服務(wù)器故障停機(jī)并恢復(fù)工作時(shí),因其初期工作狀態(tài)不穩(wěn)定可能導(dǎo)致中繼B碼終端時(shí)間碼錯(cuò)誤,造成嚴(yán)重后果,如圖2所示。
圖2 B碼中斷與恢復(fù)時(shí)存在時(shí)間錯(cuò)誤(a)中斷; (b)恢復(fù)
圖2(a)中,當(dāng)中心時(shí)統(tǒng)設(shè)備和B碼時(shí)間服務(wù)器故障時(shí),B碼時(shí)間服務(wù)器停止提供B碼服務(wù),B碼終端自動(dòng)轉(zhuǎn)入守時(shí)狀態(tài),仍可正常為系統(tǒng)提供B碼服務(wù)。
圖2(b)中,當(dāng)中心時(shí)統(tǒng)設(shè)備和B碼時(shí)間服務(wù)器剛啟動(dòng)時(shí),因時(shí)頻系統(tǒng)和B碼時(shí)間服務(wù)器都不穩(wěn)定,B碼時(shí)間服務(wù)器輸出的時(shí)間一般都與真實(shí)時(shí)間不符;此時(shí),中繼B碼終端在檢測(cè)到外部B碼后會(huì)自動(dòng)以收到的B碼為參考進(jìn)行授時(shí)輸出;同理,后續(xù)B碼解碼終端獲得的時(shí)間也是錯(cuò)誤的。時(shí)間服務(wù)處于錯(cuò)誤狀態(tài),會(huì)引起嚴(yán)重后果。
2.2.3 受擾時(shí)間跳變問(wèn)題
B碼鏈路受外部強(qiáng)電磁干擾的影響可能會(huì)出現(xiàn)時(shí)間跳變,導(dǎo)致解碼終端解碼錯(cuò)誤,從而引起時(shí)間跳變,存在隱患。
2.2.4 交流B碼幅度與調(diào)制比受限問(wèn)題
在靶場(chǎng)或地面站常利用交流B碼進(jìn)行授時(shí),交流B碼的幅度和調(diào)制比調(diào)整一般都通過(guò)調(diào)整可調(diào)電阻器進(jìn)行控制,在設(shè)備調(diào)試階段尚可操作,但當(dāng)系統(tǒng)完成集成和裝備后,一旦需要進(jìn)行交流B碼幅度與調(diào)制比的調(diào)整將非常困難,甚至有時(shí)需要設(shè)備斷電并打開(kāi)設(shè)備機(jī)箱才可操作??梢?jiàn),這種依靠硬件進(jìn)行交流B碼幅度和調(diào)制比調(diào)整的方法靈活性差、操作不便。
針對(duì)GJB 29911-1997版本無(wú)法跨年及閏秒問(wèn)題,可采用B碼版本切換與軟件跨年及閏秒方法進(jìn)行解決。
GJB 29911-1997版本的B碼在時(shí)間跨年時(shí),可采用軟件跨年與閏秒設(shè)計(jì),即在用時(shí)設(shè)備端的軟件程序中維護(hù)連續(xù)的“年”信息與“閏秒”定時(shí)器,并提前設(shè)定跨年定時(shí)器,當(dāng)時(shí)間到達(dá)“年末歲初”的那一秒時(shí),在計(jì)算機(jī)軟件程序中根據(jù)定時(shí)器的提示標(biāo)志進(jìn)行自動(dòng)跨年;當(dāng)需要“閏秒”時(shí),可提前通過(guò)“閏秒”定時(shí)器在用時(shí)設(shè)備端的軟件程序中通過(guò)設(shè)定“閏秒標(biāo)志”進(jìn)行閏秒。
此外,在B碼設(shè)備設(shè)計(jì)時(shí)可采用GJB 29911-1997版本與GJB 29911-2008版本B碼兼容的硬件設(shè)計(jì),在軟件層面可通過(guò)程控切換選擇GJB 29911-1997版本或GJB 29911-2008版本的B碼,當(dāng)需要版本升級(jí)時(shí)不需要進(jìn)行硬件設(shè)備的更換,只需要進(jìn)行程控切換即可。該設(shè)計(jì)提高了B碼設(shè)備的適用范圍,特別適用于長(zhǎng)期連續(xù)運(yùn)行的系統(tǒng),可帶來(lái)方便、降低成本。
針對(duì)B碼中斷與恢復(fù)時(shí)存在時(shí)間錯(cuò)誤問(wèn)題,可采用B碼恢復(fù)強(qiáng)制守時(shí)技術(shù)。
該技術(shù)需要在B碼終端采用“授時(shí)模式”、“守時(shí)模式”、“強(qiáng)制守時(shí)模式”三種工作狀態(tài)可轉(zhuǎn)換的設(shè)計(jì)?!笆跁r(shí)模式”是指B碼終端接收外部B碼并進(jìn)行多路分配的工作模式;“守時(shí)模式”是指B碼終端可以接收外部B碼但接收不到外部B碼時(shí),依靠自身時(shí)鐘進(jìn)行時(shí)間外推的工作模式;“強(qiáng)制守時(shí)模式”是指不接收外部B碼的工作模式,僅依靠自身時(shí)鐘進(jìn)行時(shí)間外推的工作模式。
當(dāng)中心時(shí)統(tǒng)設(shè)備或B碼時(shí)間服務(wù)器恢復(fù)前,需人工程控將B碼終端切換進(jìn)入“強(qiáng)制守時(shí)模式”,即此時(shí)無(wú)論外部B碼和外部10 MHz正確與否均不接受外部B碼和外部10 MHz,從而避免接收錯(cuò)誤時(shí)間;當(dāng)中心時(shí)統(tǒng)設(shè)備或B碼時(shí)間服務(wù)器完全恢復(fù)正常后,這時(shí)人工程控切換B碼終端解除“強(qiáng)制守時(shí)模式”,使B碼終端進(jìn)入“授時(shí)狀態(tài)”。從而,保證了用戶(hù)端B碼一直保持正常。
需要指出的是,因B碼終端內(nèi)置時(shí)鐘的準(zhǔn)確度水平有限,因此不支持長(zhǎng)時(shí)間的“守時(shí)模式”和“強(qiáng)制守時(shí)模式”,若時(shí)間太長(zhǎng)可能會(huì)導(dǎo)致B碼終端內(nèi)置時(shí)鐘外推時(shí)間與真實(shí)時(shí)間發(fā)生偏差,從而導(dǎo)致解除“強(qiáng)制守時(shí)模式”時(shí)發(fā)生時(shí)間跳變。
針對(duì)B碼受擾時(shí)間跳變問(wèn)題,可采用B碼接收解碼容錯(cuò)技術(shù)進(jìn)行解決。
B碼接收解碼容錯(cuò)是指當(dāng)解碼得到連續(xù)3秒正確的B碼信號(hào)后再進(jìn)行時(shí)間改變,否則,總是在上一秒正確時(shí)間的基礎(chǔ)上按照時(shí)間變換規(guī)則進(jìn)行時(shí)間外推。以“當(dāng)前時(shí)間”為2014年1月5日10時(shí)10分08秒為例進(jìn)行說(shuō)明,如表2所示。
表2 解碼容錯(cuò)技術(shù)示例
由表2看出,當(dāng)前秒的正確時(shí)間應(yīng)是“2014.01.05 10∶10∶11”,采用B碼接收解碼容錯(cuò)技術(shù)有如下效果:
第1組,連續(xù)3 s時(shí)間全部是正確時(shí)間,最終得到的“當(dāng)前秒”時(shí)間正確;
第2組,連續(xù)3 s時(shí)間的“當(dāng)前秒-2 s”是錯(cuò)誤時(shí)間,最終得到的“當(dāng)前秒”時(shí)間正確;
第3組,連續(xù)3 s時(shí)間的“當(dāng)前秒-1 s”和“當(dāng)前秒-2 s”都是錯(cuò)誤時(shí)間,最終得到的“當(dāng)前秒”時(shí)間正確;
第4組,連續(xù)3 s時(shí)間的都是錯(cuò)誤時(shí)間,且時(shí)間連續(xù),最終得到的“當(dāng)前秒”時(shí)間錯(cuò)誤(時(shí)間發(fā)生改變);
第5組,連續(xù)3 s時(shí)間的都是錯(cuò)誤時(shí)間,但時(shí)間不連續(xù),最終得到的“當(dāng)前秒”時(shí)間還是正確時(shí)間。
可見(jiàn),除非連續(xù)出現(xiàn)三 s及以上的錯(cuò)誤時(shí)間,且錯(cuò)誤時(shí)間連續(xù),B碼授時(shí)才會(huì)出現(xiàn)錯(cuò)誤。采用容錯(cuò)技術(shù)可以濾除B碼鏈路因受干擾而產(chǎn)生的瞬時(shí)時(shí)間跳變,極大的提高B碼信號(hào)的抗干擾能力。
針對(duì)交流B碼幅度與調(diào)制比受限問(wèn)題,可采用交流B碼數(shù)控幅度與調(diào)制比技術(shù)進(jìn)行解決,其原理圖如圖3所示。
程控指令控制數(shù)字調(diào)制器按照指定的幅度和調(diào)制比產(chǎn)生對(duì)應(yīng)的數(shù)控地址數(shù)據(jù),通過(guò)數(shù)控地址線(xiàn)控制DA轉(zhuǎn)換器產(chǎn)生相應(yīng)的臺(tái)階波,濾波處理后得到相應(yīng)幅度和調(diào)制比的交流B碼。交流B碼數(shù)控幅度與調(diào)制比技術(shù)示意圖,如圖4所示。
圖3 交流B碼數(shù)控幅度與調(diào)制比技術(shù)原理圖
圖4 交流B碼數(shù)控幅度與調(diào)制比技術(shù)示意圖
標(biāo)準(zhǔn)交流B碼的幅度為3.3 V,調(diào)制比為3.3∶1,交流B碼數(shù)控幅度可以實(shí)現(xiàn)1 V、2 V、3 V、4 V、5 V、6 V、7 V、8 V、9 V、10 V的調(diào)整,且每一種電壓都可以實(shí)現(xiàn)2∶1、3.3∶1、4∶1、5∶1、6∶1共5種數(shù)控調(diào)制比的調(diào)整,共計(jì)50種選項(xiàng),極大的提高了交流B碼的適用范圍。
某衛(wèi)星導(dǎo)航測(cè)試場(chǎng)系統(tǒng)的時(shí)間頻率子系統(tǒng)在初樣階段出現(xiàn)了無(wú)法跨年和閏秒、B碼中斷與恢復(fù)時(shí)存在時(shí)間錯(cuò)誤、受擾時(shí)間跳變、交流B碼幅度與調(diào)制比受限等問(wèn)題。
在正樣階段進(jìn)行了如下改進(jìn):
1)采用B碼版本切換與軟件跨年及閏秒設(shè)計(jì),并優(yōu)先使用GJB 2991-2008版本B碼,從體制上彌補(bǔ)了GJB 2991-1997版本B碼固有的無(wú)法跨年問(wèn)題;
2)B碼終端的設(shè)計(jì)采用“授時(shí)模式”、“守時(shí)模式”和“強(qiáng)制守時(shí)模式”三種工作模式,避免了B碼服務(wù)器在發(fā)生時(shí)間中斷后,設(shè)備恢復(fù)初期可能出現(xiàn)的時(shí)間錯(cuò)誤;
3)采用B碼解調(diào)容錯(cuò)技術(shù),避免了B碼終端和B碼解碼終端在測(cè)試場(chǎng)復(fù)雜電磁環(huán)境條件下可能出現(xiàn)的信號(hào)受擾時(shí)間錯(cuò)誤;
4)交流B碼的產(chǎn)生采用數(shù)控幅度和數(shù)控調(diào)制比設(shè)計(jì),可以根據(jù)需要在監(jiān)控中心對(duì)交流B碼的幅度和調(diào)制比進(jìn)行遠(yuǎn)程設(shè)置,方便快捷,提高了交流B碼的適用范圍。
目前,該系統(tǒng)已經(jīng)連續(xù)運(yùn)行三年多,B碼授時(shí)服務(wù)零故障。
通過(guò)對(duì)B碼信號(hào)進(jìn)行深入分析和研究,針對(duì)B碼工程應(yīng)用中常見(jiàn)的幾個(gè)問(wèn)題提出了切實(shí)有效的解決措施,提高了B碼授時(shí)服務(wù)的穩(wěn)定性和可用性,并在工程應(yīng)用中取得了良好的效果,具有一定的推廣價(jià)值。
[1]張 艷.基于FPGA的IRIG-BDC碼解碼器的設(shè)計(jì)[J].火控雷達(dá)技術(shù),2013,42(1):70-73.
[2]馮 強(qiáng),趙 帥,李 焱.基于DSP和FPGA的GPS-B碼時(shí)統(tǒng)終端系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2010,26(2-2):139-141.
[3]吳 衛(wèi),陳建軍,宋 虎.基于FPGA的IRIG-B碼解碼器的實(shí)現(xiàn)[J].雷達(dá)與對(duì)抗,2003,3:37-40.
[4]李群續(xù),張滬玲,李冠宇.岸船衛(wèi)星雙向?qū)r(shí)應(yīng)用系統(tǒng)IRIG-B碼設(shè)計(jì)[J].無(wú)線(xiàn)電工程,2010,40(2):42-43,60.
[5]國(guó)家標(biāo)準(zhǔn)GJB2991A-1997 B時(shí)間碼接口終端通用規(guī)范[S].1997.
[6]國(guó)家標(biāo)準(zhǔn)GJB2991A-2008 B時(shí)間碼接口終端通用規(guī)范[S].2008.