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