FPGA實(shí)現IRIG-B(DC)碼編碼和解碼的設計
當檢測到P5時(shí),時(shí)間信號已經(jīng)檢測出來(lái),這些時(shí)間信號都放在相應的寄存器(都是BCD碼的并行信號)中,當有使能信號EN時(shí),此時(shí)將已經(jīng)檢測出的時(shí)間信號加1 s,并在輸出1 pps信號的同時(shí)輸出時(shí)間信號,這樣就保證了時(shí)間的準確性,也是用10 MHz的時(shí)鐘同步,然后將時(shí)間信號在監測到2個(gè)脈寬為8 ms的位置標示信號時(shí)清零。FPGA對IRIG-B碼的解碼仿真如圖6所示。
如上圖,當第3行的信號使能信號EN觸發(fā)1個(gè)上升電平時(shí),時(shí)間信號會(huì )在此時(shí)加上1 s。原先解碼出來(lái)的時(shí)間信號秒、分、時(shí)、天信號為sec_out[7..0]、min_out[7..0]、hour_out[6..0]、day_out [10..0],加1 s后的時(shí)間信號放在寄存器sec_final[7..0]、min_final[7..0]、hour_final[6..0]、day_final[10..0]中,已經(jīng)將它們化為十進(jìn)制數,根據B碼的格式,它們的第4位均為無(wú)效信號,即sec_out[4]、min_ out[4]、hour_out[4]、day_out[4]、sec_final[4]、min_final[4]、hour_final[4]、day_final[4]都是無(wú)效信號。
當使能信號EN有效時(shí),即在FPGA處理時(shí)間信號加1 s的過(guò)程中,當原先的秒信號sec_out寄存器為59 s時(shí),加1 s后,輸出的sec_final寄存器使其秒清零,并且在分信號寄存器加一。同理適用于分、時(shí)、天信號,它們都有一個(gè)上限,分信號的上限同樣是59時(shí)信號的上限是23,而天信號的上限是365或366,需要進(jìn)行判斷后得出,一旦超過(guò)了各自信號的上限,輸出寄存器就會(huì )自動(dòng)清零,同時(shí)進(jìn)位加一。
由圖6可以知道,寄存器sec_out的值為十六進(jìn)制數45,使能信號EN有效后,即加上1 s后,sec_final的值為十六進(jìn)制數46,因為其第4位無(wú)效,所以秒時(shí)間為26,最后解碼出來(lái)的時(shí)間是145天11時(shí)41分26秒。這些時(shí)間信號存在FPGA的寄存器中,當1 pps輸出時(shí),它們會(huì )隨10 MHz的時(shí)鐘頻率同步輸出到外部總線(xiàn)上,外部總線(xiàn)接受到時(shí)間信號實(shí)現時(shí)間同步,去校準從設備的實(shí)時(shí)時(shí)間,實(shí)現了FPGA對IRIG-B的解碼。
4 結論
隨著(zhù)通信技術(shù)和通信媒體的發(fā)展,如何解決時(shí)統信號在不同媒體中的傳輸,對靶場(chǎng)時(shí)間統一系統提出了更高的要求。
本設計中用到Cyclone的EP1C6Q240C8芯片,并且使用modelsim實(shí)現功能和時(shí)序仿真。實(shí)踐證明,通過(guò)FPGA完成了對IRIG-B碼的編、解碼設計,能夠實(shí)現與系統時(shí)鐘信號的精確同步,當GPS送入pps_in信號時(shí),FPGA進(jìn)行編碼,輸出的IRIG-B碼暫時(shí)保存在FPGA的存儲器中,當需要為外部設備提供精確的對時(shí)時(shí)鐘時(shí),FPGA進(jìn)行解碼操作,輸出同步脈沖信號1pps和時(shí)間信號,從而去校準從設備的實(shí)時(shí)時(shí)間,使設備具有精度高的同步的時(shí)鐘基準,獲得精確且同步的控制效果,便于對從設備進(jìn)行遠程管理和監測。
評論