新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于FPGA的IRIG-B碼解碼器設計

基于FPGA的IRIG-B碼解碼器設計

作者: 時間:2016-09-12 來源:網(wǎng)絡 收藏

摘要 針對基于單片機的IRIG—B碼精度低、工作穩(wěn)定性差等問題,提出了一種基于FPGA的IRIG—B碼器設計。在實現(xiàn)過程中著重分析了輸入 IRIG—B碼信號的問題,并采用三級D觸發(fā)器后接或門的方法,徹底消除對本系統(tǒng)穩(wěn)定性的影響。通過仿真驗證了本系統(tǒng)具有解碼精度高、工作穩(wěn)定性強、易于實現(xiàn)等優(yōu)點。

本文引用地址:http://butianyuan.cn/article/201609/303567.htm

關鍵詞 IRIG—B碼;解碼;

美國靶場司令委員會(Range Commanders Council,RCC)下屬機構靶場間儀器組(Inter—Range Instrumen—tation Croup,IRIG)為保證靶場試驗中各參試設備協(xié)同工作,制定了一種時間標準IRIG—B碼(簡稱B碼),由靶場時統(tǒng)站發(fā)送該碼,各設備接收此信號后再結合其測量數(shù)據(jù),從而達到測量數(shù)據(jù)的時間同步。我國靶場測量、控制、計算、通信、氣象等測試設備,均采用IRIG—B碼作為時間同步標準,其特點是可靠性高、接口標準、通用規(guī)范及使用靈活方便。

1 B碼簡介

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%。

a.jpg

參考碼元Pr脈寬也為8 ms,作用是識別幀的起始時刻,“準時”參考點為參考碼元的前沿。

b.jpg

B碼的二進制“1”和“0”的脈寬分別為5 ms和2 ms,是用于傳遞秒、分、時等重要信息的碼元。

c.jpg

d.jpg

索引標志碼元脈寬為2 ms,位于“秒”、“分”、“時”、“天”信息的十位和個位之間。

e.jpg

圖6為本文B碼的一幀數(shù)據(jù)示意圖,后續(xù)實驗就是對此幀數(shù)據(jù)進行解碼,此幀數(shù)據(jù)代表的時間信息為:110天8時7分21秒。

f.jpg

2 FPGA解碼

FPGA解碼首先需要對碼元進行識別,對脈沖計數(shù),以脈沖下降沿作為計數(shù)結束。采用有限狀態(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)造成更不利影響。

g.jpg

若在P碼元的5 ms處出現(xiàn)一個毛刺,而不作有效地毛刺處理,將會出現(xiàn)碼元誤判,甚至會導致整幀數(shù)據(jù)錯誤,影響各系統(tǒng)時間同步。輸入信號經(jīng)過圖8所示的處理后,不利于系統(tǒng)的毛刺將被“剔除”,從而增強系統(tǒng)的穩(wěn)定性。

h.jpg

當輸入信號處于低電平時出現(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ù)在1500~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信號作為脈沖結束標志。

2.3 提取“秒”、“分”等信息的狀態(tài)機


上一頁 1 2 下一頁

關鍵詞: IRIG―B碼 解碼 毛刺

評論


相關推薦

技術專區(qū)

關閉