摘 要:HDB3碼(3階高密度雙極性碼)保持AMI碼極性反轉(zhuǎn)的特點,減少連0串的長度,有利于提取定時信息,廣泛用于數(shù)字通信系統(tǒng)中。針對現(xiàn)有HDB3編碼器中存在編碼復(fù)雜、輸出延時長等缺點,設(shè)計一種統(tǒng)一位置判斷和極性判斷的HDB3編碼器,并從實際應(yīng)用出發(fā),將誤碼檢測和位同步提取融入譯碼器芯片中。仿真和實測表明,編譯碼功能正確,且相對延時較小、靈活性高,具有實用價值。
關(guān)鍵詞:HDB3碼;編譯碼器;FPGA;VHDL
中圖分類號:TN79 文獻(xiàn)標(biāo)識碼:B 文章編號:1004373X(2008)1600102
Design of HDB3 Codec Based on FPGA
LU Jingqi
(College of Zhongshan,University of Electronic Science Technology of China,Zhongshan,528402,China)
Abstract:The HDB3 code(high density bipolar order3 encoding) keeps the feature of polarity inversion of AMI code,which reduces the length of zeros,therefore beneficial for extraction of timing message.To solve the drawbacks of the existing HDB3 encoders,a HDB3 encoder based on block encoding unified polarity judgement and position polarity judgment is proposed.Besides,a HDB3 decoder which contains error detection and timing message distiller is also discussed from the practical view.Simulation and practice results show the new HDB3 Codec have a right function and can be applied to actual circuits.
Keywords:HDB3;codec;FPGA;VHDL
目前,信道編碼被廣泛地應(yīng)用于數(shù)字通信、圖像處理系統(tǒng)中,成為數(shù)據(jù)傳輸中不可缺少的部分。HDB3(High Density Bipolar)碼是AMI碼的改進型,具有無直流分量,少低頻分量,易于提取位同步信號并具有內(nèi)在的檢錯能力等優(yōu)點,成為廣泛應(yīng)用于基帶傳輸系統(tǒng)中的碼型,ITUT G.703規(guī)定:2 Mb/s,8 Mb/s和34 Mb/s的數(shù)字接口均采用HDB3碼,因此設(shè)計一個穩(wěn)定的HDB3碼的編譯碼器就顯得很有價值。市場上雖有專用的CD22103A芯片,但是該芯片只具有編譯碼功能,在使用時需另配位同步提取和電壓極性轉(zhuǎn)換電路,不利于系統(tǒng)的集成。本文從HDB3的編碼原理著手,設(shè)計了一種基于FPGA的統(tǒng)一位置判斷和極性判斷的HDB3編碼器,并從實際應(yīng)用及FPGA結(jié)構(gòu)出發(fā),將誤碼檢測和位同步提取融入譯碼器芯片中。
1 HDB3編碼規(guī)則
從二進制的NRZ消息代碼到HDB3碼的編碼規(guī)則.\\是:
(1) 當(dāng)NRZ碼序列中連續(xù)出現(xiàn)‘0’的個數(shù)小于4個時,按AMI碼規(guī)則進行編碼,即將‘1’碼變?yōu)椤?1’,‘-1’交替脈沖;
(2) 當(dāng)代碼序列中出現(xiàn)4個或4個以上的連‘0’碼時,則將連‘0’段按4個‘0’分節(jié),即“0000”為一節(jié),并使第4個‘0’碼變?yōu)椤?’碼,用V脈沖表示,且V脈沖的極性與前一個‘1’脈沖的極性相同,稱V為破壞碼,“000V”為破壞節(jié)。
(3) 如果所得序列中相鄰2個破壞碼V間‘1’脈沖的個數(shù)為偶數(shù),則還需將破壞節(jié)中的第一個‘0’碼變?yōu)椤?’碼,用B脈沖表示。此時破壞節(jié)就變?yōu)椤癇00V”形式。B脈沖的極性與其前一個‘1’脈沖的極性相反,而與其后的V脈沖極性相同。
2 HDB3編碼部分
編碼部分的模塊如圖1所示,其中關(guān)鍵部分是BV碼元判決和BV極性判決2部分電路。
2.1 BV碼元判決
將編碼后的信碼‘1’、補信碼‘B’和破壞碼‘V’都看作是‘1’碼。根據(jù)編碼規(guī)則,‘V’必須與前一‘B’同極性,如果條件不滿足,則必須插入與‘V’同極性的補信碼‘B’。因此,當(dāng)遇到4個連‘0’時,除了第一個4連‘0’固定用“000V”取代外,取代節(jié)“B00V”或“000V”的選取由前一B,V的極性是否相同來判決。
2.2 BV極性的判決
根據(jù)編碼規(guī)則,HDB3碼序列中的‘B’和‘V’都應(yīng)保持極性交替變化的規(guī)律,并且應(yīng)該保證‘V’與前一‘B’同極性,利用這一性質(zhì),很容易實現(xiàn)正負(fù)極性碼元的分開。從FPGA輸出的P1,N1信號經(jīng)過單-雙極性變換電路(如CC4052四選一開關(guān))合成一路雙極性脈沖序列,即HDB3碼序列。
3 HDB3譯碼部分
相對于編碼,HDB3譯碼較為簡單,從實用性的角度出發(fā),在譯碼電路部分融入誤碼檢測和位同步提取電路,總體框圖如圖2所示。
3.1 誤碼檢測
由于HDB3碼具有一定的內(nèi)在檢錯能力,因此從實用性考慮,設(shè)計此部分電路。當(dāng)輸入碼元序列中連續(xù)出現(xiàn)3個以上的′0′碼,或同極性碼元連續(xù)到達(dá)的個數(shù)大于2個時,均表示接收到的編碼或位同步提取出錯,ERROR輸出為高電平。
3.2 位同步提取電路
位同步提取是否正確是譯碼器能否正確譯碼的關(guān)鍵?;贔PGA強大的邏輯宏單元,本設(shè)計考慮將位同步提取集成于譯碼器內(nèi)部,通過應(yīng)用FPGA的LPM宏模塊,配置數(shù)字鎖相環(huán),實現(xiàn)片內(nèi)位同步提取,提高系統(tǒng)的集成度。
3.3 取代碼譯碼部分
從編碼原理看出,每一破壞符號總是與前一非‘0’符號同極性,因此,從收到的符號序列中很容易找到破壞點V,從而用“0000”取代消息碼,再將所有的+1,-1變成‘1’后便得到原信息代碼。
4 FPGA仿真實現(xiàn)
在QuartusⅡ開發(fā)平臺下,完成上述原理的HDB3編譯碼器的仿真。通過在仿真文件中加載不同的激勵,輸出波形完全符合HDB3碼的編碼要求,仿真波形如圖3,圖4所示。
5 結(jié) 語
經(jīng)過仿真分析和實際測試,該編譯碼器能夠正常工作,達(dá)到預(yù)期的效果。本設(shè)計通過編碼分組保持碼元的極性交替變換,通過極性生成完成取代節(jié)的定位和選取,并在譯碼單元從實際應(yīng)用出發(fā),集成誤碼檢測和位同步提取電路,具有消耗資源較少、外圍電路簡單等優(yōu)點。若修改本地時鐘頻率,并且和可編程邏輯結(jié)合,還可用于其他速率的實際通信編碼電路中,比專用芯片成本低、集成度更高、更加靈活。
參 考 文 獻(xiàn)
[1]樊昌信,張甫翊,吳成柯.通信原理[M].5版.北京:國防工業(yè)出版社,2001.
[2]羅偉雄,韓力,原東昌.通信原理與電路[M].北京:北京理工大學(xué)出版社,2000.
[3]段吉海,黃智偉.基于CPLD/FPGA的數(shù)字通信系統(tǒng)的建模與設(shè)計[M].北京:電子工業(yè)出版社,2004.
[4]潘松,黃繼業(yè).EDA技術(shù)與VHDL[M].北京:清華大學(xué)出版社,2005.
[5]王誠,吳繼華,范麗珍.Altera FPGA/CPLD設(shè)計[M].北京:人民郵電出版社,2005.
[6]張厥盛.鎖相技術(shù)\\.西安:西安電子科技大學(xué)出版社,1994.
[7]付燕.基于SOC的HDB3編譯碼及幀同步電路[D].鄭州:鄭州大學(xué),2004.
[8]賈惠彬,王蘭勛.基于CPLD的HDB3編譯碼器[J].電子科技,2005(9):3740.
[9]Quartus Ⅱ Verison 6.0 Handbook,Altera Corporation [EB/OL].http://www.altera.com.
[10]Cyclone Device Family Data Sheet Altera Corporation [EB/OL].http://www.altera.com.