基于FPGA的IRIG-B碼解碼器設(shè)計
STATE_IDL1表示處于檢測碼元,當(dāng)檢測出的碼元脈寬為8 ms后,將進(jìn)入STATE_IDL2。進(jìn)入狀態(tài)STATE_IDL2后,當(dāng)?shù)谝粋€檢測出的碼元脈寬又是8 ms,則說明此刻檢測出的Pr碼元,即可以進(jìn)入“秒”、“分”、“時”等后續(xù)檢測中;若第一個檢測出的碼元脈寬不是8 ms,則說明此刻不是幀的起始時間,轉(zhuǎn)入STATE_IDL1狀態(tài),繼續(xù)檢測。當(dāng)進(jìn)入“秒 ”檢測狀態(tài)(STATE_SEC),即可依次提取個位和十位信息,為增強系統(tǒng)穩(wěn)定性,如果發(fā)現(xiàn)STATE_SEC狀態(tài)中的第5個碼元不是索引碼元,狀態(tài)便轉(zhuǎn)入STATE_IDL1,否則繼續(xù)檢測“分”、“時”等信息。“分”、“時”、“天”信息的檢測過程與“秒”同理。
3 Modelsim驗證
根據(jù)B碼幀結(jié)構(gòu)可知,“秒”、“分”、“時”和“天”信息的第41個,也就是“秒”起始后大約41 ms時刻。從圖10中可以清晰地看到大致在仿真時間4 1ms處出現(xiàn)o_FINI SH脈沖,o_FINISH作為解碼結(jié)束標(biāo)志,即驗證了代碼的正確性。從圖10可知,解碼出的時間是110天8時7分21秒。
4 結(jié)束語
在FPGA系統(tǒng)中,毛刺是影響整個電子系統(tǒng)穩(wěn)定性的重要因素。本文中采用的去毛刺方法較好地解決了IRIG—B碼解碼中存在毛刺的問題,從而提高了系統(tǒng)的穩(wěn)定性。由于增加了解碼結(jié)束標(biāo)志,本文的代碼移植性更強。經(jīng)過Modelsim仿真驗證,該解碼器功能正確,具有較高的可靠性。
評論