基于FPGA的二次群數字信號分接部分功能實(shí)現
根據上面二次群幀結構的分析,二次群的幀頭信碼為:”1111010000“10個(gè)bit,在FPGA中,定義一個(gè)10位的寄存器,二次群信碼從右向左進(jìn)入10位寄存器,如果10位寄存器的值連續兩次為:”1111010000則表示幀頭捕獲成功,幀同步建立。同樣如何連續兩個(gè)二次群幀時(shí)間長(cháng)度內沒(méi)有捕獲到幀頭信碼,則表示幀丟失,產(chǎn)生幀丟失告警。VHDL語(yǔ)言代碼實(shí)現如下程序段:

4.基群信號提取
一個(gè)二次群信號復接了四個(gè)基群信號,基群信號提取是在二次群幀同步的狀態(tài)下把二次群信號按一分四的規則進(jìn)行串并轉化。因為二次的復接是按bit復接,所以二次群一幀中第一位為第一個(gè)群的第一位,二次群一幀中第二位為第二個(gè)群的第一位,以此類(lèi)推。VHDL語(yǔ)言代碼實(shí)現如下程序段:

5.去除插入碼及負碼速調整
去除插入碼及負碼速調整是二次群的關(guān)鍵部分,首先要去除幀頭插入的F1、F2和F3;接著(zhù)去除C1、C25DC3;最后根據C1、C2和C3值來(lái)判斷第161位V否為插入碼,如果C1C2C3為:1 11,則V是插入碼應去除,如果C1C2C3為:000,則V是基群的信碼,不應去除。把去除了插入碼的信號輸入到一個(gè)FIFO,用經(jīng)過(guò)負碼速調整過(guò)的2.048MHz時(shí)鐘讀出輸出基群信號如圖3所示。

由于寫(xiě)到FIF0的時(shí)鐘是不均勻的,不利于后端處理,所以必須做負碼速調整,即把2.112MHz速率調整到2.048MHz速率。FPGA實(shí)現的原理是根據2.112MHz速率和2.048MHz速率的有效信碼個(gè)數是一樣多的,可以根據它們的個(gè)數進(jìn)行調整。如果根據2.048MHz速率輸出的信碼少了則稍微提高2.048MH z時(shí)鐘的頻率,如果根據2.048MHz速率輸出的信碼多了則稍微降低2.048MHz時(shí)鐘的頻率。
評論