基于FPGA的IRIG-B碼解碼器設計
STATE_IDL1表示處于檢測碼元,當檢測出的碼元脈寬為8 ms后,將進入STATE_IDL2。進入狀態(tài)STATE_IDL2后,當第一個檢測出的碼元脈寬又是8 ms,則說明此刻檢測出的Pr碼元,即可以進入“秒”、“分”、“時”等后續(xù)檢測中;若第一個檢測出的碼元脈寬不是8 ms,則說明此刻不是幀的起始時間,轉入STATE_IDL1狀態(tài),繼續(xù)檢測。當進入“秒 ”檢測狀態(tài)(STATE_SEC),即可依次提取個位和十位信息,為增強系統(tǒng)穩(wěn)定性,如果發(fā)現(xiàn)STATE_SEC狀態(tài)中的第5個碼元不是索引碼元,狀態(tài)便轉入STATE_IDL1,否則繼續(xù)檢測“分”、“時”等信息。“分”、“時”、“天”信息的檢測過程與“秒”同理。

3 Modelsim驗證
根據B碼幀結構可知,“秒”、“分”、“時”和“天”信息的第41個,也就是“秒”起始后大約41 ms時刻。從圖10中可以清晰地看到大致在仿真時間4 1ms處出現(xiàn)o_FINI SH脈沖,o_FINISH作為解碼結束標志,即驗證了代碼的正確性。從圖10可知,解碼出的時間是110天8時7分21秒。

4 結束語
在FPGA系統(tǒng)中,毛刺是影響整個電子系統(tǒng)穩(wěn)定性的重要因素。本文中采用的去毛刺方法較好地解決了IRIG—B碼解碼中存在毛刺的問題,從而提高了系統(tǒng)的穩(wěn)定性。由于增加了解碼結束標志,本文的代碼移植性更強。經過Modelsim仿真驗證,該解碼器功能正確,具有較高的可靠性。
評論