顧陽陽,付道文
(西安電子科技大學 電子工程學院,陜西 西安 710071)
基于FPGA的IRIG-B碼解碼器設(shè)計
顧陽陽,付道文
(西安電子科技大學 電子工程學院,陜西 西安 710071)
針對基于單片機的IRIG-B碼解碼器解碼精度低、工作穩(wěn)定性差等問題,提出了一種基于FPGA的IRIG-B碼解碼器設(shè)計。在實現(xiàn)過程中著重分析了輸入IRIG-B碼信號的毛刺問題,并采用三級D觸發(fā)器后接或門的方法,徹底消除毛刺對本系統(tǒng)穩(wěn)定性的影響。通過仿真驗證了本系統(tǒng)具有解碼精度高、工作穩(wěn)定性強、易于實現(xiàn)等優(yōu)點。
IRIG-B碼;解碼;毛刺
美國靶場司令委員會(Range Commanders Council,RCC)下屬機構(gòu)靶場間儀器組(Inter-Range Instrumentation Group,IRIG)為保證靶場試驗中各參試設(shè)備協(xié)同工作,制定了一種時間標準IRIG-B碼(簡稱B碼),由靶場時統(tǒng)站發(fā)送該碼,各設(shè)備接收此信號后再結(jié)合其測量數(shù)據(jù),從而達到測量數(shù)據(jù)的時間同步。我國靶場測量、控制、計算、通信、氣象等測試設(shè)備,均采用IRIG-B碼作為時間同步標準,其特點是可靠性高、接口標準、通用規(guī)范及使用靈活方便。
IRIG-B碼為一種串行的時間格式,其中每個脈沖稱為碼元。IRIG-B碼的幀速率為1 fip·s-1,一幀數(shù)據(jù)由100個碼元組成,分為第0、1、2、…、99個碼元,每個碼元長度為10 ms。時間格式中秒、分、時均用BCD碼表示,低位在前,高位在后。第1、2、3、4、6、7、8碼元屬于“秒”信息,共占用7個碼元;第10、11、12、13、15、16、17碼元屬于“分”信息,共占用7個碼元;第20、21、22、23、25、26碼元屬于“時”信息,共占用6個碼元;第30、31、32、33、35、36、37、38、40、41碼元屬于“天”信息,共占用10個碼元。
IRIG-B碼由位置識別標志、參考碼元、碼字和索引標志4種碼元組成。
B碼的位置識別標志脈寬為8 ms,每幀B碼中有10個位置識別標志碼元:P1、P2、…、P10。每10個碼元有一個位置識別碼,位置識別標志的重復率為碼元速率的10%。
圖1 位置識別標志
參考碼元Pr脈寬也為8 ms,作用是識別幀的起始時刻,“準時”參考點為參考碼元的前沿。
圖2 參考碼元
B碼的二進制“1”和“0”的脈寬分別為5 ms和2 ms,是用于傳遞秒、分、時等重要信息的碼元。
圖3 碼元“1”
圖4 碼元“0”
索引標志碼元脈寬為2 ms,位于“秒”、“分”、“時”、“天”信息的十位和個位之間。
圖5 索引標志
圖6為本文B碼的一幀數(shù)據(jù)示意圖,后續(xù)實驗就是對此幀數(shù)據(jù)進行解碼,此幀數(shù)據(jù)代表的時間信息為:110天8時7分21秒。
圖6 B碼幀結(jié)構(gòu)示意圖
FPGA解碼首先需要對碼元進行識別,對脈沖計數(shù),以脈沖下降沿作為計數(shù)結(jié)束。采用有限狀態(tài)機對第0、1、2、…、99碼元進行有序地解碼,首先判斷出參考碼元,再根據(jù)5 ms和2 ms碼元的位置提取出正確的時間信息。由于不同的系統(tǒng)可能采用不同解碼時鐘,為使系統(tǒng)有更好的重用性,需要對時鐘頻率進行歸一化。
2.1 消除毛刺
在組合電路、反饋電路和計數(shù)器中都可能產(chǎn)生毛刺信號,往往一個毛刺信號會影響整個電子系統(tǒng)的穩(wěn)定性。由于D觸發(fā)器對毛刺信號不敏感,通常的處理方法是通過D觸發(fā)器對輸入信號進行“過濾”,但這種方法有效的條件是毛刺不出現(xiàn)在D觸發(fā)器時鐘的上升沿,且持續(xù)時間不能維持1個時鐘周期,如圖7所示,否則,將會放大毛刺信號,對整個電子系統(tǒng)造成更不利影響。
圖7 D觸發(fā)器無法過濾的毛刺
圖8 3級D觸發(fā)器后接或門處理輸入信號
若在P碼元的5 ms處出現(xiàn)一個毛刺,而不作有效地毛刺處理,將會出現(xiàn)碼元誤判,甚至會導致整幀數(shù)據(jù)錯誤,影響各系統(tǒng)時間同步。輸入信號經(jīng)過圖8所示的處理后,不利于系統(tǒng)的毛刺將被“剔除”,從而增強系統(tǒng)的穩(wěn)定性。
當輸入信號處于低電平時出現(xiàn)毛刺,圖8的處理方法將會放大毛刺,但對于整個系統(tǒng)是沒有影響的,因為本系統(tǒng)采用高電平計數(shù)的方式識別碼元,當脈寬很窄時,便認為是毛刺干擾,舍去,比上升沿識別碼元更簡單且更具抗干擾性。這種毛刺處理方法,雖然引入了額外的組合電路,但根據(jù)輸入信號的特點,是不會產(chǎn)生毛刺的。
2.2 對脈沖寬度進行計數(shù)和碼元識別
本文采用的歸一化時鐘為1 MHz,脈寬2 ms、5 ms、8 ms的計數(shù)分別為2 000、5 000、8 000,由于脈寬不可能精確到某個值,所以需要放寬計數(shù)判別各個碼元。計數(shù)在1 500~2 500表示2 ms脈寬,計數(shù)在4 500~5 500表示5 ms脈寬,計數(shù)在7 500~8 500表示8 ms脈寬。輸入信號i_DATA處于高電平時,開始計數(shù),當時鐘i_CLK采集到i_DATA的下降沿時,即停止計數(shù),并以w_UP_DOWN信號作為脈沖結(jié)束標志。
2.3 提取“秒”、“分”等信息的狀態(tài)機
STATE_IDL1表示處于檢測碼元,當檢測出的碼元脈寬為8 ms后,將進入STATE_IDL2。進入狀態(tài)STATE_IDL2后,當?shù)谝粋€檢測出的碼元脈寬又是8 ms,則說明此刻檢測出的Pr碼元,即可以進入“秒”、“分”、“時”等后續(xù)檢測中;若第一個檢測出的碼元脈寬不是8 ms,則說明此刻不是幀的起始時間,轉(zhuǎn)入STATE_IDL1狀態(tài),繼續(xù)檢測。當進入“秒”檢測狀態(tài)(STATE_SEC),即可依次提取個位和十位信息,為增強系統(tǒng)穩(wěn)定性,如果發(fā)現(xiàn)STATE_SEC狀態(tài)中的第5個碼元不是索引碼元,狀態(tài)便轉(zhuǎn)入STATE_IDL1,否則繼續(xù)檢測“分”、“時”等信息?!胺帧?、“時”、“天”信息的檢測過程與“秒”同理。
圖9 狀態(tài)轉(zhuǎn)移圖
根據(jù)B碼幀結(jié)構(gòu)可知,“秒”、“分”、“時”和“天”信息的第41個,也就是“秒”起始后大約41 ms時刻。從圖10中可以清晰地看到大致在仿真時間4 1ms處出現(xiàn)o_FINISH脈沖,o_FINISH作為解碼結(jié)束標志,即驗證了代碼的正確性。從圖10可知,解碼出的時間是110天8時7分21秒。
圖10 Modelsim仿真示意圖
在FPGA系統(tǒng)中,毛刺是影響整個電子系統(tǒng)穩(wěn)定性的重要因素。本文中采用的去毛刺方法較好地解決了IRIG-B碼解碼中存在毛刺的問題,從而提高了系統(tǒng)的穩(wěn)定性。由于增加了解碼結(jié)束標志,本文的代碼移植性更強。經(jīng)過Modelsim仿真驗證,該解碼器功能正確,具有較高的可靠性。
[1] 張斌,張東來,王超,等.基于FPGA的IRIG-B(DC)碼同步解碼設(shè)計[J].測控技術(shù),2008,27(2):45-47.
[2] 郝帥,洪海麗,任宇飛,等.基于FPGA的IRIG-B(DC)碼編碼與解碼器設(shè)計[J].國外電子測量技術(shù),2012,31(8):64-67.
[3] 龐吉耀.基于FPGA的IRIG-B編碼器實現(xiàn)[J].現(xiàn)代電子技術(shù),2009,32(24):113-117.
[4] 吳煒,周燁,黃子強,等.FPGA實現(xiàn)IRIG-B(DC)碼編碼和解碼的設(shè)計[J].電子設(shè)計工程,2010,18(12):162-164,169.
[5] 馮娟,史浩山,趙宏偉,等.基于北斗授時信息的B碼轉(zhuǎn)換設(shè)計[J].信息安全與通信保密,2008(12):92-93.
[6] 魏穎,黃軍娜,姬琪,等.基于FPGA的時統(tǒng)設(shè)備的IRIG-B時間碼設(shè)計[J].北華大學學報:自然科學版,2006,7(6):570-572.
[7] 周國平,邢燦華.IRIG-B格式時間編碼電路的設(shè)計[J].機械制造與自動化,2005,34(2):88-90.
Design of an IRIG-B Decoder Based on FPGA
GU Yangyang,FU Daowen
(School of Electronic Engineering,Xidian University,Xi’an 710071,China)
To solve the problem of low decoding accuracy and poor working stability of an IRIG-B decoder based on the single chip microcomputer,this paper describes an IRIG-B decoding hardware implementation based on FPGA.In the process of implementation,emphasis is put on analyzing and processing burrs introduced by the IRIG-B code signal.The influence on the stability of the system caused by burrs is thoroughly eliminated by the method of three level D flip-flop followed by OR gate.This system has the advantages of higher decoding precision,stability and easy implementation.
IRIG-B;decoding;burr
2014- 10- 17
顧陽陽(1990—),男,碩士研究生。研究方向:電子對抗。E-mail:900224gyy@gmail.com。付道文(1990—),男,碩士研究生。研究方向:電子對抗。
10.16180/j.cnki.issn1007-7820.2015.05.012
TN764
A
1007-7820(2015)05-039-04