利用FPGA實(shí)現(xiàn)HDB3編解碼功能
2.1 插入V碼過程
插入V碼過程是對消息代碼里的連零串進(jìn)行檢測,一旦出現(xiàn)4個(gè)連零串的時(shí)候,就把第4個(gè)“O”替換成破壞符V,其他情況下消息代碼原樣輸出。輸入的代碼經(jīng)插V操作后全部轉(zhuǎn)換成雙相碼,即“0”變換成“00”,“1”變換成“01”,V變換成“l(fā)l”。圖2是插入V碼過程的流程,代碼輸入到插V模塊后,如果輸入是“l(fā)”,則輸出為“01”,同時(shí)計(jì)數(shù)器清零;如果輸入是“O”.則對輸入“O”的個(gè)數(shù)進(jìn)行計(jì)數(shù),當(dāng)計(jì)數(shù)器計(jì)數(shù)到第4個(gè)“O”時(shí),輸出“11”作為V碼,同時(shí)計(jì)數(shù)器要清零用于下一輪檢測;計(jì)數(shù)器未滿4個(gè)“0”,則輸出“00”。 本文引用地址:http://butianyuan.cn/article/191774.htm
2.2 插入B碼過程
當(dāng)相鄰兩個(gè)V碼之間有偶數(shù)個(gè)非“0”碼時(shí).則把后一個(gè)V碼之前的第1個(gè)非“0”碼后面的“0”碼變換成B碼。該模塊設(shè)計(jì)的難點(diǎn)在于插入B碼的過程中涉及一個(gè)由現(xiàn)在事件的狀態(tài)控制過去事件狀態(tài)的問題,按照實(shí)時(shí)信號處理的理論,這是無法實(shí)現(xiàn)的,這里使用兩組4位移位寄存器。采用4位移位寄存器是根據(jù)HDB3編碼規(guī)則的特點(diǎn)確定,經(jīng)插V后,連零串中的第4個(gè)“0”變成V碼,代碼中連零個(gè)數(shù)最多是3個(gè),而插入B碼操作是把在后一個(gè)V碼之前的第1個(gè)非零碼之后的“O”變換成B碼,這個(gè)長度不超過3個(gè)“0”,因此只需4位寄存器就可通過判斷現(xiàn)在的輸入狀態(tài)來決定是否應(yīng)插入B碼。圖3是判斷是否插入B碼的流程.2組4位移位寄存器在時(shí)鐘的作用下逐位將數(shù)據(jù)移出,在移位的同時(shí)還需對寄存器的最低位進(jìn)行操作,即判斷是否需插入B碼。這部分功能的實(shí)現(xiàn)需設(shè)置一個(gè)檢測當(dāng)前V碼狀態(tài)的標(biāo)志位firstv。
評論