基于FPGA的IRIG-B(DC)碼解碼
2.1 全局控制模塊
全局控制模塊產(chǎn)生全局控制信號count,對其他模塊進行時序管理。首先,將輸入的10 MHz頻率倍頻到50 MHz,使得整個工程以50 MHz的頻率運行。其次,判斷輸入的B(DC)碼碼元的上升沿,在碼元的上升沿時刻對全局控制信號count復位,接下來在50 MHz頻率的控制下全局控制信號count開始計數(shù)。count的低17比特是2.2 ms的計數(shù)器,count的第17,18比特是對B(DC)碼碼元采樣點的標記,范圍是0~3。count的第19~25比特是對B(DC)碼碼元的統(tǒng)計,范圍是0~99。最后,搜索幀頭的功能。對B碼采樣模塊輸出的數(shù)據(jù)進行判斷,當搜索到連續(xù)兩個標志位P0,PR時,則認為搜索到幀頭,開始BCH譯碼,否則認為沒有搜索到幀頭,控制信號count復位,重新搜索。
2.2 B碼采樣模塊
B碼采樣模塊在B(DC)碼碼元上升沿時刻開始以2.2 ms間隔對其采樣,由于B碼的碼元寬度為10 ms所以每個B(DC)碼碼元采樣到四個值。‘P’碼元采樣到的數(shù)據(jù)是“1110”,如圖4所示。同理,‘0’碼元采樣到的數(shù)據(jù)是“0000”,‘1’碼元采樣到的數(shù)據(jù)是“1100”。將采樣到的值反饋給全局控制模塊以便進行幀頭搜索并傳遞給BCH譯碼模塊。本文引用地址:http://www.ex-cimer.com/article/190174.htm
為了防止干擾造成的抖動對輸入信號造成誤判,采取的修正方法是在全局控制信號count的控制下,在B(DC)碼碼元的每個采樣點處間隔兩個主鐘連續(xù)采樣三次.然后將這三次的采樣值兩兩按位與,再將相與的結(jié)果相或便得到該采樣點處的真實值,有效地防止了干擾造成的信號誤判。
2.3 BCH譯碼模塊
BCH譯碼模塊在控制信號count的控制下對B(DC)碼采樣模塊輸出的數(shù)據(jù)進行判斷,當為“1110”時,對應的碼元信息為‘P’;當為“0000”時,對應的碼元信啟、為‘0’;當為“1100”時,對應的碼元信息為‘1’,并按照秒、分、時、天、TOD在B(DC)碼中所對應的碼元位置進行相應的組合。
2.4 天、時、分、秒、TOD提取模塊
天、時、分、秒、TOD提取模塊是將BCH譯碼模塊中輸出的數(shù)據(jù)存入天、時、分、秒、TOD寄存器中。圖5是在ModelSim SE 6.6下的仿真,TOD為86 399,365天23時59分59秒分別存入了TOD、天、時、分、秒寄存器。從圖5觀察TOD、天、時、分、秒輸出正確。
評論