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

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

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

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

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

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

 


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

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

 開啟輔助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;打開AUX-RAM
MOV          CHPCON,#00H
 P4口默認(rèn)為I/O端口,可不設(shè)置。INT0設(shè)置為負(fù)邊沿觸發(fā)中斷方式。
2.2.2 中斷服務(wù)程序
 中斷服務(wù)程序ZDINT0依次對8路DC碼(P1口)進行信息解讀,每路解讀程序流程如圖4所示。

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

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