基于EDA技術(shù)的HDB3編碼器的設(shè)計(jì)與實(shí)現(xiàn)

相關(guān)專題: 芯片

0 引言

HDB3碼(High Density Bip01ar Code of threecodes,三階高密度雙極性碼)是串行數(shù)據(jù)傳輸?shù)囊环N重要編碼方式,也是數(shù)字通信系統(tǒng)中重要組成部分之一。和最常用的NRZ碼(Non—Return Zero,非歸零碼)相比,HDB3碼具有很多優(yōu)點(diǎn),例如:消除了NRZ碼的直流成分,具有時(shí)鐘恢復(fù)和更好的抗干擾性能,這使它更適合于長(zhǎng)距離信道傳輸。同時(shí),HDB3碼具有較強(qiáng)的檢錯(cuò)能力,當(dāng)數(shù)據(jù)序列用HDB3碼傳輸時(shí),若傳輸過(guò)程中出現(xiàn)單個(gè)誤碼,其極性交替變化規(guī)律將受到破壞,因而在接收端根據(jù)HDB3碼這一獨(dú)特規(guī)律特性,可檢出錯(cuò)誤并糾正錯(cuò)誤,同時(shí)HDB3碼方便提取位定時(shí)信息。因而HDB3碼作為數(shù)據(jù)傳輸?shù)囊环N碼型,應(yīng)用廣泛,成為ITU推薦使用的碼型之一。HDB3碼編譯碼器的實(shí)現(xiàn)有多種途徑,常用的解決方案是應(yīng)用專用的HDB3收發(fā)芯片,如選用專用E1收發(fā)芯片DS2153Q和單片機(jī)實(shí)現(xiàn)該碼制的轉(zhuǎn)換功能。本文提供了一種利用現(xiàn)代EDA技術(shù),以ACEX系列FPGA芯片EPlK10為硬件平臺(tái),以Quartus II為軟件平臺(tái),以VHDL,為開(kāi)發(fā)工具,適合于FPGA實(shí)現(xiàn)的HDB3編碼器的設(shè)計(jì)方案。

1 HDB3碼的編碼規(guī)則

HDB3碼的編碼規(guī)則如下:

(1)將消息代碼變換成AMI碼;

AMI碼(Alternate Mark Inversion)全稱是傳號(hào)交替反轉(zhuǎn)碼。這是一種將消息代碼0和1按如下規(guī)則進(jìn)行編碼:代碼0仍變換為傳輸碼0,而把代碼中的1交替地變?yōu)閭鬏敶a的+1,-1,+1,-l,……。

(2)檢查AMI碼中的連0情況,當(dāng)無(wú)4個(gè)或4個(gè)以上的連0串時(shí),則保持AMI的形式不變;若出現(xiàn)4個(gè)或4個(gè)以上連0串時(shí),則將1后的第4個(gè)0變?yōu)榕c前一非O碼(+1或-1)同極性的符號(hào),用V表示(+n己為+V,-n己為-V)。

(3)檢查相鄰v碼間的非0碼的個(gè)數(shù)是否為偶數(shù),若為偶數(shù),則再將當(dāng)前的V碼的前一非0碼后的第1個(gè)0變?yōu)?B或-B碼,且B的極性與前一非O碼的極性相反,并使后面的非0碼從V碼開(kāi)始再交替變化。

NRZ碼轉(zhuǎn)換為HDB3碼的過(guò)程如表l舉例所示。

2 HDB3編碼器的建模與實(shí)現(xiàn)

如果直接將要進(jìn)行編碼的數(shù)據(jù)按上述編碼原則先轉(zhuǎn)換成AMI碼,然后進(jìn)行加v碼,加B碼操作,會(huì)發(fā)現(xiàn)轉(zhuǎn)化成AMI碼時(shí)有一個(gè)“+1”“一1”碼極性形成的過(guò)程,而在加B碼操作之后,非零碼元相應(yīng)極性還有可能進(jìn)行反轉(zhuǎn),因此有兩個(gè)信號(hào)極性產(chǎn)生的過(guò)程。

分析HDB3的編碼結(jié)果:V碼的極性是正負(fù)交替的,余下的1碼和B碼看成為一體也是正負(fù)交替的,同時(shí)滿足V碼的極性與前面的非零碼極性一致。由此產(chǎn)生了利用FPGA進(jìn)行HDB3碼編碼的思路:先進(jìn)行加V碼,加B碼操作,在此過(guò)程中,暫不考慮其極性,然后將V碼,1碼和B碼分成兩組,分別進(jìn)行極性變換來(lái)一次實(shí)現(xiàn)。這樣可以提高系統(tǒng)的效率,同時(shí)減小系統(tǒng)延時(shí)。

HDB3編碼器的數(shù)字電路部分由三個(gè)模塊組成:V碼產(chǎn)生單元(v Gen),B碼產(chǎn)生單元(B Gen),單極性一雙極性轉(zhuǎn)換單元(single2double),其結(jié)構(gòu)圖如圖1所示。

2.1 V碼產(chǎn)生單元(V_Gen)

V碼產(chǎn)生單元的功能實(shí)際上就是對(duì)消息代碼里的四連0串的檢測(cè),即當(dāng)出現(xiàn)四個(gè)連0串的時(shí)候,把第四個(gè)0碼變換成V碼,而在其他情況下,則保持消息代碼的原樣輸出。為了為以后的編碼過(guò)程提供方便,將原信號(hào)中的一位碼元用2位二進(jìn)制傳輸碼表示,在進(jìn)行加V碼時(shí),統(tǒng)一用“11”標(biāo)識(shí)之,原l碼用“01”標(biāo)識(shí),0碼用“00”標(biāo)識(shí)。圖2所示為V碼產(chǎn)生單元的工作流程圖。

原信號(hào)NRZ_in通過(guò)V碼產(chǎn)生單元(V_Gen)后的信號(hào)V_Gen_out波形如圖3所示:

2.2 B碼產(chǎn)生單元(B_Gen)

B碼產(chǎn)生單元的功能是保證附加V碼后的序列不破壞“極性交替反轉(zhuǎn)”形成的無(wú)直流特性,即當(dāng)相鄰V碼之間有偶數(shù)個(gè)非0碼的時(shí)候,把后一小段的第1個(gè)0變換成一個(gè)非破壞符號(hào)一B碼。因此,在判斷某一0是否應(yīng)被轉(zhuǎn)化為B時(shí),首先應(yīng)保證其后第三位碼元為V碼元,因此,必須對(duì)當(dāng)前碼元進(jìn)行暫存,等待其后第三位碼元的到來(lái)。為實(shí)現(xiàn)此目的,首先把碼元(經(jīng)插V處理過(guò)的)放入一個(gè)3位的移位寄存器里,在同步時(shí)鐘的作用下,同時(shí)進(jìn)行是否加B碼的判決,等到碼元從移位寄存器里出來(lái)的時(shí)候,就可以決定是應(yīng)該變換成B碼,還是照原碼輸出。圖4所示為B碼產(chǎn)生單元的工作流程圖。

來(lái)源:電子技術(shù)


微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號(hào),免費(fèi)領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):5G網(wǎng)絡(luò)AI應(yīng)用典型場(chǎng)景技術(shù)解決方案白皮書
  • 2、回復(fù)“5G6G”免費(fèi)領(lǐng)取《5G_6G毫米波測(cè)試技術(shù)白皮書-2022_03-21
  • 3、回復(fù)“YD6G”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):6G至簡(jiǎn)無(wú)線接入網(wǎng)白皮書
  • 4、回復(fù)“LTBPS”免費(fèi)領(lǐng)取《《中國(guó)聯(lián)通5G終端白皮書》
  • 5、回復(fù)“ZGDX”免費(fèi)領(lǐng)取《中國(guó)電信5GNTN技術(shù)白皮書
  • 6、回復(fù)“TXSB”免費(fèi)領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費(fèi)領(lǐng)取《中國(guó)移動(dòng)算力并網(wǎng)白皮書
  • 8、回復(fù)“5GX3”免費(fèi)領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點(diǎn)本月熱點(diǎn)

     

      最熱通信招聘

      最新招聘信息