《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的多路解調(diào)IRIG-B碼應(yīng)用設(shè)計(jì)
基于單片機(jī)的多路解調(diào)IRIG-B碼應(yīng)用設(shè)計(jì)
來(lái)源:微型機(jī)與應(yīng)用2011年第7期
劉小寶,王志林,童 斌
(91245部隊(duì),遼寧 葫蘆島 125001)
摘要: 闡述了用單片機(jī)實(shí)現(xiàn)同時(shí)解調(diào)多路IRIG-B碼的應(yīng)用設(shè)計(jì),利用單片機(jī)中斷查詢(xún)的方法,以有限的單片機(jī)資源實(shí)現(xiàn)最多可同時(shí)解調(diào)8路IRIG-B碼。
Abstract:
Key words :

摘  要: 闡述了用單片機(jī)實(shí)現(xiàn)同時(shí)解調(diào)多路IRIG-B碼的應(yīng)用設(shè)計(jì),利用單片機(jī)中斷查詢(xún)的方法,以有限的單片機(jī)資源實(shí)現(xiàn)最多可同時(shí)解調(diào)8路IRIG-B碼。
關(guān)鍵詞: IRIG-B碼;時(shí)間碼;B(AC)碼B(DC)碼;碼元;同步誤差

 IRIG-B碼(以下簡(jiǎn)稱(chēng)B碼)是美國(guó)靶場(chǎng)測(cè)量組推薦的格式時(shí)間碼之一,該碼在世界各國(guó)靶場(chǎng)應(yīng)用廣泛。B碼又分為直流碼IRIG-B(DC)碼(以下簡(jiǎn)稱(chēng)DC碼)和交流碼IRIG-B(AC)碼(以下簡(jiǎn)稱(chēng)AC碼),DC碼傳輸距離小但授時(shí)同步誤差小,AC碼傳輸遠(yuǎn)但授時(shí)同步誤差相對(duì)較大。詳細(xì)的B碼波形及信息定義請(qǐng)參閱參考文獻(xiàn)[1]。B碼授時(shí)需要授時(shí)終端回送B碼作為自動(dòng)測(cè)量和監(jiān)控同步誤差的依據(jù)。因此,在點(diǎn)對(duì)多B碼授時(shí)體系中,將存在一臺(tái)設(shè)備同時(shí)解調(diào)多路B碼現(xiàn)象,用單片機(jī)完成多路B碼解調(diào)任務(wù)具有節(jié)省硬件資源、控制靈活等特點(diǎn)。本文以W78E058B單片機(jī)為基礎(chǔ),提出了基于單片機(jī)的多路解調(diào)IRIG-B碼的應(yīng)用設(shè)計(jì)方法。
1 設(shè)計(jì)原理
1.1 B碼授時(shí)原理

 時(shí)間終端設(shè)備通過(guò)接收B碼授時(shí),同時(shí)產(chǎn)生B碼回送上級(jí)時(shí)間設(shè)備,上級(jí)時(shí)間設(shè)備負(fù)責(zé)送出授時(shí)B碼并測(cè)量時(shí)延和監(jiān)視授時(shí)情況,如圖1所示。時(shí)間終端設(shè)備解調(diào)授時(shí)B碼得到時(shí)、分、秒等時(shí)間信息和秒頭,用于B碼同步;時(shí)間設(shè)備解調(diào)回送B碼得到時(shí)、分、秒等時(shí)間信息和秒頭,用于測(cè)量B碼環(huán)路時(shí)延并監(jiān)視授時(shí)情況,如圖2所示。

1.2 單片機(jī)解碼原理
 AC碼經(jīng)解調(diào)電路解調(diào)得到DC碼,單片機(jī)通過(guò)解讀DC碼可以得到B碼信息。DC碼信息由基本碼元組成,每碼元占用10 ms的時(shí)間寬度。碼元含義依據(jù)高低電平寬度來(lái)定義,分為“0碼”、“1碼”和“P碼”,如圖3所示。

    用1 kHz信號(hào)作為外中斷源,中斷服務(wù)程序?qū)Ω髀稤C碼高低電平分別計(jì)數(shù),計(jì)數(shù)結(jié)果作為判定碼元信息位的依據(jù)。

 


1.3 容錯(cuò)機(jī)制
 計(jì)數(shù)用的1 kHz信號(hào)由本地時(shí)鐘分頻產(chǎn)生,其與各路DC碼存在相位漂移。當(dāng)1 kHz和DC碼的邊沿非常接近時(shí)會(huì)存在冒險(xiǎn)現(xiàn)象,這將使計(jì)數(shù)結(jié)果可能出現(xiàn)±1的偏差。例如,高電平實(shí)際寬度為2 ms,出現(xiàn)冒險(xiǎn)時(shí),可能誤計(jì)為1 ms或3 ms。因此,設(shè)計(jì)容錯(cuò)機(jī)制為:計(jì)數(shù)結(jié)果為1 ms、2 ms、3 ms時(shí),判定為0碼;計(jì)數(shù)結(jié)果為4 ms、5 ms、6 ms時(shí),判定為1碼;計(jì)數(shù)結(jié)果為7 ms、8 ms、9 ms時(shí),判定為P碼。理論和實(shí)踐證明,此容錯(cuò)機(jī)制有效率為100%。
2 應(yīng)用設(shè)計(jì)
2.1 硬件設(shè)計(jì)

 用W78E058B單片機(jī)來(lái)實(shí)現(xiàn)解碼(最多可同時(shí)解調(diào)8路B碼)。端口分配為:P0口用作數(shù)據(jù)端口和低位地址口,P1口輸入8路DC碼,P2口低4位作為高位地址口,高4位和P4口作為8路解碼秒頭標(biāo)志信號(hào)出。本地1 kHz接入INT0作為單片機(jī)解碼中斷服務(wù)程序觸發(fā)中斷源,中斷服務(wù)程序中依次對(duì)8路DC碼計(jì)數(shù)識(shí)別,解讀到的B碼信息由P0口寫(xiě)入專(zhuān)用雙口RAM芯片。解碼秒頭標(biāo)志信號(hào)與相應(yīng)的DC碼經(jīng)觸發(fā)裝置得到對(duì)應(yīng)某路解調(diào)秒頭信號(hào)。至此8路B碼解調(diào)硬件設(shè)計(jì)任務(wù)完成。
2.2 軟件實(shí)現(xiàn)
2.2.1 單片機(jī)初始化

 開(kāi)啟輔助RAM區(qū)AUX-RAM,共256 B,存放8路前一秒B碼信息,每路每秒B碼信息占用10 B,8路B碼信息需80 B。
CHPNER      EQU        F6H
CHPCON      EQU        BFH
MOV          CHPNER,#87H
MOV          CHPCON,#59H
ORL          CHPCON,#00010000B;打開(kāi)AUX-RAM
MOV          CHPCON,#00H
 P4口默認(rèn)為I/O端口,可不設(shè)置。INT0設(shè)置為負(fù)邊沿觸發(fā)中斷方式。
2.2.2 中斷服務(wù)程序
 中斷服務(wù)程序ZDINT0依次對(duì)8路DC碼(P1口)進(jìn)行信息解讀,每路解讀程序流程如圖4所示。

 本理論是在多年實(shí)踐的基礎(chǔ)上提出來(lái)的,并且在研制時(shí)間設(shè)備對(duì)時(shí)同步檢測(cè)儀過(guò)程采用了該技術(shù),經(jīng)設(shè)備運(yùn)行和實(shí)際使用環(huán)境檢測(cè)符合設(shè)計(jì)要求,該設(shè)計(jì)性能良好。如果用更高配置的CPU來(lái)代替W78E058B,則CPU剩余的資源還可以完成時(shí)間設(shè)備的其他功能任務(wù)。在點(diǎn)對(duì)多時(shí)間體系中,時(shí)間設(shè)備可以減少大量的硬件資源,設(shè)備在完成相同功能的情況下完全可以做到小型化,而且設(shè)備在維修性、可靠性和靈活性方面也有很大的提高。
參考文獻(xiàn)
[1] 國(guó)防科學(xué)技術(shù)工業(yè)委員會(huì).B時(shí)間碼接口終端[S].GJB2991-97,1997:2-3.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。