王 紅
內(nèi)蒙古交通職業(yè)技術(shù)學(xué)院赤峰,內(nèi)蒙古赤峰 024005
將分布于不同地域的各種系統(tǒng)中的時(shí)間統(tǒng)一于一個(gè)標(biāo)準(zhǔn)時(shí)間或者與標(biāo)準(zhǔn)時(shí)間之差限定在某一范圍之內(nèi),我們稱之為時(shí)間同步。當(dāng)前,時(shí)間同步在很多行業(yè)領(lǐng)域中都起著至關(guān)重要的作用。比如在航空航天、交通運(yùn)輸以及電力系統(tǒng)等領(lǐng)域,要求時(shí)間同步的精度要達(dá)到微秒甚至納秒級(jí),各系統(tǒng)才能正常高效地運(yùn)作。
為滿足各行業(yè)對(duì)時(shí)間同步的高精度要求,很多商家都研制出了基于GPS 的對(duì)時(shí)裝置,GPS 即全球定位系統(tǒng)(GPS)是目前比較完善的全球共享的高精度時(shí)間發(fā)布系統(tǒng)。這些裝置接收來(lái)自GPS 的標(biāo)準(zhǔn)時(shí)間信息,解碼并轉(zhuǎn)換為各種時(shí)間格式碼提供給不同的系統(tǒng)對(duì)時(shí)之用,如DCF77 格式碼、BJT 格式碼、IRIG-B 格式碼等,這些格式碼各有優(yōu)缺點(diǎn)。而IRIG-B 碼作為一種國(guó)際通用的時(shí)間編碼,對(duì)時(shí)精確,簡(jiǎn)化了對(duì)時(shí)回路,并包含完整的絕對(duì)時(shí)標(biāo)信息,因此得到了廣泛的應(yīng)用。
IRIG(Inter Range Instrumentation Group)碼,是美國(guó)靶場(chǎng)司令委員會(huì)制定的一種時(shí)間標(biāo)準(zhǔn),其包含4 種并行二進(jìn)制時(shí)間碼格式和6 種串行二進(jìn)制時(shí)間碼格式,而IRIG-B 時(shí)間碼格式是其中最常用的一種。IRIG-B 碼包含有秒、分鐘、小時(shí)、一年中的第幾天、年份、二進(jìn)制的秒計(jì)日等時(shí)間信息,且發(fā)送頻率為每秒一次,因此其中還隱含著標(biāo)準(zhǔn)的秒脈沖信息。
圖1 IRIG-B(DC)碼示意圖
圖1 是 IRIG-B(DC)碼的示意圖。它是一種采用脈寬編碼方式編碼的串行時(shí)間碼,每秒發(fā)送一幀,一幀包括100 個(gè)碼元。每個(gè)碼元都是由總寬度為10ms 的脈沖組成,其中由高電平所占寬度的不同代表著不同的碼型,即:二進(jìn)制的"0"、"1"和位置識(shí)別標(biāo)志。二進(jìn)制"0"的脈寬為2ms,二進(jìn)制"1"的脈寬為5ms,位置識(shí)別標(biāo)志的脈寬為8ms。每10 個(gè)碼元就會(huì)有一個(gè)位置識(shí)別標(biāo)志,因此,在一幀數(shù)據(jù)內(nèi)共有10 個(gè)位置識(shí)別標(biāo)志,即:P1,P2,P3,…,P9,P0,另外還有一個(gè)幀參考標(biāo)志碼元PR,脈寬也為8ms。一幀數(shù)據(jù)中包含三大部分信息:第一部分按順序分別為秒、分、時(shí)、天、年等信息,第二部分為控制功能位,第三部分是用二進(jìn)制的秒來(lái)表示的一天中的時(shí)間信息,此部分計(jì)時(shí)信息每24 小時(shí)循環(huán)1 次。
碼元的"準(zhǔn)時(shí)"參考點(diǎn)是其脈沖前沿,一幀數(shù)據(jù)從幀參考標(biāo)志PR 碼元開(kāi)始,而其前一個(gè)碼元正是上一個(gè)幀周期中的最后一個(gè)位置識(shí)別標(biāo)志P0 碼元。因此當(dāng)連續(xù)出現(xiàn)兩個(gè)8ms 脈寬的碼元時(shí),在這兩個(gè)碼元之后的下一個(gè)碼元即為當(dāng)前一幀數(shù)據(jù)中秒的開(kāi)始。從參考碼元PR 開(kāi)始對(duì)碼元進(jìn)行編碼,即從第0號(hào)碼元開(kāi)始依次至第99 號(hào)碼元,共計(jì)100 個(gè)碼元。在一幀數(shù)據(jù)的第一部分信息中,秒、分、時(shí)、天、年的位置在位置識(shí)別標(biāo)志P0~P6 之間,均用BCD 碼表示,低位在前,高位在后;依次占用的碼元為秒7 位即第1,2,3,4,6,7,8 號(hào)碼元、分7 位即第10,11,12,13,15,16,17 號(hào)碼元、時(shí)6 位即第20,21,22,23,25,26,27 號(hào)碼元、天10 位即第30,31,32,33,35,36,37,38,40,41 號(hào)碼元、年8 位即第50,51,52,53,55,56,57,58 號(hào)碼元,其中每段信息中均有一個(gè)脈寬為2ms 的索引標(biāo)志,依次為第5,14,24,34,44,54 號(hào)碼元。第二部分信息即一些控制功能位,位于位置識(shí)別標(biāo)志P6~P8 之間。第三部分信息即二進(jìn)制秒計(jì)日信息位于位置識(shí)別標(biāo)志P8~P0 之間,占據(jù)第80~97 碼元,共計(jì)17 位。
對(duì)IRIG-B 格式時(shí)間碼進(jìn)行解碼就是利用MCS-51 系列單片機(jī)及其外圍電路接收來(lái)自時(shí)統(tǒng)設(shè)備的IRIG-B 碼,根據(jù)IRIG-B碼的數(shù)據(jù)格式,解讀出其中所包含的各種時(shí)間信息,通過(guò)程序設(shè)計(jì)將其轉(zhuǎn)換為其它各種不同的時(shí)間格式碼,以供不同的設(shè)備對(duì)時(shí)之用。另外,根據(jù)IRIG-B 碼的發(fā)送頻率為每秒一次,并參考PR 碼元的上升沿,可以形成一路標(biāo)準(zhǔn)秒脈沖信息,與串口信息同時(shí)輸出。解碼的關(guān)鍵在于對(duì)IRIG-B 碼中各個(gè)碼元的脈寬進(jìn)行檢測(cè),以確定碼頭,并對(duì)碼元開(kāi)始計(jì)數(shù),然后依次檢測(cè)隨后的98 個(gè)碼元脈沖寬度,以確定秒、分、時(shí)、天、年、二進(jìn)制秒計(jì)日等信息。
圖3 解碼裝置原理框圖
來(lái)自時(shí)統(tǒng)設(shè)備的IRIG-B(DC)碼,多為RS422/RS485 接口信號(hào),經(jīng)75176 集成塊轉(zhuǎn)換為T(mén)TL 電平。為避免將一些外部干擾信號(hào)帶入CPU,需經(jīng)過(guò)7404 反相器去干擾整形,即去掉TTL 電平信號(hào)中的一些可能存在的毛刺波形,同時(shí)增加信號(hào)的驅(qū)動(dòng)能力,提高了信號(hào)在傳輸過(guò)程中的抗干擾性。將去擾整形后的TTL 電平信號(hào)送至單片機(jī)89C2051 的INT0 端。
IRIG-B 時(shí)間碼經(jīng)過(guò)單片機(jī)的處理后,解碼出各種時(shí)間信息,通過(guò)TXD 引腳送入MAX232 芯片,轉(zhuǎn)為RS232 電平信號(hào)后送到串口輸出端子,供給需進(jìn)行時(shí)間同步的各類裝置設(shè)備對(duì)時(shí)使用。另外,根據(jù)IRIG-B 時(shí)間碼的參考幀標(biāo)志信息,由單片機(jī)P1.5 引腳輸入一路秒脈沖對(duì)時(shí)信息。為提高輸出秒脈沖信息的抗干擾性及增加驅(qū)動(dòng)能力,將其經(jīng)光耦TLP521 隔離后送至輸出端口。秒脈沖采用靜態(tài)空接點(diǎn)的方式輸出,可通過(guò)短接塊完成有源輸出和無(wú)源輸出兩種方式之間的切換。
幀參考標(biāo)志、“秒”、“分”、“時(shí)”、“天”、“年”的BCD 碼、計(jì)日的二進(jìn)制秒等信息可分別存放在單片機(jī)內(nèi)部RAM 中可位尋址的20H~29H 單元中,根據(jù)代表“1”、“0”的碼元寬度對(duì)相應(yīng)的位置1 或清0。
關(guān)于脈寬的判斷,本設(shè)計(jì)采用單片機(jī)內(nèi)部時(shí)鐘,為定時(shí)器T0 賦計(jì)時(shí)0.5ms 的初值。當(dāng)INT0 引腳接收的信號(hào)的電平由低變高的時(shí)候,打開(kāi)T0 定時(shí)器,則T0 定時(shí)器開(kāi)始計(jì)時(shí),當(dāng)計(jì)滿0.5ms 時(shí),進(jìn)入T0 中斷,T0 中斷程序即對(duì)發(fā)生0.5ms 的次數(shù)進(jìn)行計(jì)數(shù),計(jì)數(shù)器加1;當(dāng)INT0 引腳電平由高變低時(shí),關(guān)閉T0 定時(shí)器停止計(jì)時(shí),通過(guò)讀取T0 中斷中計(jì)數(shù)器的值來(lái)計(jì)算來(lái)自INT0 引腳的脈沖寬度,脈沖寬度即等于計(jì)數(shù)值乘以0.5ms。當(dāng)脈沖寬度在1.5-3.5ms 范圍內(nèi)時(shí),認(rèn)為脈寬為2ms,即為二進(jìn)制0 碼元;當(dāng)脈沖寬度在3.5-6.5ms 范圍內(nèi)時(shí),認(rèn)為脈寬為5ms,即為二進(jìn)制1 碼元;當(dāng)脈沖寬度>6.5ms 時(shí),認(rèn)為脈寬為8ms,即為位置識(shí)別標(biāo)志碼元。根據(jù)脈沖寬度解碼出IRIG-B 碼中所包含的各種時(shí)間信息,并存入單片機(jī)的內(nèi)部RAM 單元中。根據(jù)年份,將天數(shù)換算成月份和日期。
除了送出絕對(duì)時(shí)標(biāo)信息外,在幀參考標(biāo)志上升沿出現(xiàn)時(shí),可同時(shí)送出另外一種對(duì)時(shí)方式,即脈寬約為100ms 的秒脈沖信息。在幀參考標(biāo)志上升沿出現(xiàn)時(shí),將P1.5 置1,由于每個(gè)碼元寬度為10ms,因此當(dāng)計(jì)數(shù)到十個(gè)碼元時(shí)清零P1.5,即形成脈寬為100ms 的秒脈沖。
本程序最終通過(guò)串行口中斷程序輸出解碼后的時(shí)間信息,并同時(shí)自P1.5 腳輸出脈寬為100ms 的秒脈沖信息。為了獲得準(zhǔn)確完整的時(shí)間信息后再進(jìn)行輸出,本設(shè)計(jì)在主程序開(kāi)始前先進(jìn)行通過(guò)一個(gè)子程序進(jìn)行一次預(yù)對(duì)時(shí),以確保時(shí)間信息的準(zhǔn)確性。而串口中斷程序是用一個(gè)循環(huán)語(yǔ)句將連續(xù)單元存放的處理過(guò)的時(shí)間信息陸續(xù)送出。
本設(shè)計(jì)程序的關(guān)鍵在于如何處理當(dāng)前接收的信息與輸出的信息之間的時(shí)間差問(wèn)題。由于在接收到當(dāng)前一秒的時(shí)間信息時(shí),解出的時(shí)間信息已經(jīng)滯后,若不經(jīng)過(guò)加一秒處理即送出,則此時(shí)間信息剛好比B 碼標(biāo)準(zhǔn)時(shí)間滯后一秒。因此,需要將此時(shí)的時(shí)間信息進(jìn)行加一秒處理,在下一秒的幀參考標(biāo)志上升沿出現(xiàn)時(shí)將經(jīng)過(guò)加一秒處理過(guò)的時(shí)間信息送出去,這時(shí)送出去的時(shí)間信息與B 碼標(biāo)準(zhǔn)時(shí)間才是同步吻合的。時(shí)間信息在經(jīng)過(guò)加1 秒處理后除了秒信息發(fā)生變化外,可能還會(huì)產(chǎn)生年月日時(shí)分及一年中天數(shù)的變化,由于月份又有大月、小月、閏月之分,閏月可通過(guò)年除以4 取余的方法判斷是否為閏年,再進(jìn)行相應(yīng)月份、日期的處理。因此,時(shí)間每加一秒,都要考慮到這些信息的變化;又因?yàn)闀r(shí)間的不可重復(fù)性,因此在編程時(shí)要充分考慮到各種可能引起時(shí)間信息變化的因素。
本IRIG-B 解碼裝置有電路設(shè)計(jì)簡(jiǎn)捷、性能穩(wěn)定、抗干擾能力強(qiáng)、體積小等優(yōu)點(diǎn),而且所用CPU 芯片采用市場(chǎng)上通用ATMEL 公司的89C2051 單片機(jī),具有很高的性價(jià)比。近年來(lái),中國(guó)、西歐、美國(guó)等許多國(guó)家生產(chǎn)的電力系統(tǒng)配電設(shè)備、遙測(cè)設(shè)備等,與時(shí)間系統(tǒng)的接口大都采用IRIG-B 碼格式,因此IRIG-B 格式時(shí)間碼的應(yīng)用日趨廣泛。從本IRIG-B 時(shí)間解碼裝置中解調(diào)出來(lái)的1pps 標(biāo)準(zhǔn)秒脈沖信號(hào),亦可為一些時(shí)統(tǒng)設(shè)備提供對(duì)時(shí)之用,因此本裝置具有較高的應(yīng)用價(jià)值。
[1]馬紅皎,胡永輝.GPS&IRIG-B 碼時(shí)間系統(tǒng)分析.電子科技,2005(7):21-25.
[2]劉浩,蘇理,丁敏.IRIG-B 碼對(duì)時(shí)在保護(hù)測(cè)控裝置中的實(shí)現(xiàn).江蘇電機(jī)工程,2007(1):48-50.
[3]雷震,魏豐.IRIG-B格式時(shí)間碼在GPS同步時(shí)鐘卡中的應(yīng)用.現(xiàn)代電子技術(shù),2004(5):75-79.
[4]朱祖揚(yáng),薛兵.基于IRIG-A 碼輸出的超小型GPS時(shí)鐘設(shè)計(jì).單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2006(12):22-24.
[5]何立民.單片機(jī)高級(jí)教程-應(yīng)用與設(shè)計(jì)(第2版).北京:北京航空航天大學(xué)出版社,2007.