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