基于FPGA的HDB3編解碼器的設(shè)計(jì)說(shuō)明書(shū)
基于FPGA的HDB3編解碼器的設(shè)計(jì)說(shuō)明書(shū),基于,fpga,hdb3,編解碼器,設(shè)計(jì),說(shuō)明書(shū),仿單
基于FPGA的HDB3編解碼器的設(shè)計(jì)
張長(zhǎng)森,河南理工大學(xué),計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,中國(guó)焦作,電子郵件:zhangchangsen@hpu.edu.cn
徐 琪,河南理工大學(xué),計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,中國(guó)焦作,電子郵件:xuqitongxin@163.com
摘 要:本文簡(jiǎn)要介紹了HDB3的基本原理和結(jié)構(gòu),分析了現(xiàn)有的HDB3編碼器和譯碼器的缺點(diǎn),然后提出了一個(gè)基于FPGA的HDB3編碼器和譯碼器的新的設(shè)計(jì),并介紹了硬件設(shè)計(jì)電路和軟件仿真。在Quartus7.2的開(kāi)發(fā)環(huán)境中,通過(guò)VERILOG-HDL在EP2C35F672C8 CycloneII系列的芯片上來(lái)實(shí)現(xiàn)仿真。結(jié)果表明,本設(shè)計(jì)滿足HDB3編碼器和譯碼器的要求,具有簡(jiǎn)易的硬件電路和靈活可變的軟件,運(yùn)算快速,可以用在特定的通信系統(tǒng)。
關(guān)鍵詞:FPGA;HDB3;編碼器和譯碼器
I. 介 紹
通信鏈路的編碼研究是現(xiàn)代數(shù)字通信技術(shù)的重要課題。行模式選擇正確時(shí),有利于提高通信質(zhì)量,改善傳輸性能和擴(kuò)展傳播距離。HDB3(高密度雙相碼)被稱為高角度雙相編碼,它甚至被允許“0”數(shù)量最大不超過(guò)3,這有利于定時(shí)信號(hào)的復(fù)位。因?yàn)樗褂脴O性逆轉(zhuǎn),基帶信號(hào)沒(méi)有直流分量,且非常小的低頻成分,這個(gè)曼徹斯特代碼有一個(gè)特定的錯(cuò)誤檢測(cè)能力,而且非常容易解碼?,F(xiàn)在,這個(gè)代碼被廣泛用于數(shù)字移動(dòng)通信、數(shù)字光纖通信和數(shù)字微波通信系統(tǒng),這是一個(gè)現(xiàn)代數(shù)字通信系統(tǒng)的主要組成部分。它也是一個(gè)數(shù)字光纖光學(xué)通訊設(shè)備和PCM設(shè)備的接口模式,PCM設(shè)備是CCITT推薦的PCM基礎(chǔ)組、中等組和三組。因此,研究HDB3編解碼器是至關(guān)重要的。
II. HDB3編碼和解碼的基本準(zhǔn)則
HDB3碼是一種基于AMl的代碼改進(jìn)的雙相NRZ碼。當(dāng)數(shù)據(jù)不會(huì)出現(xiàn)超過(guò)四個(gè)或含0字符的四個(gè)字符時(shí),HDB3碼是AMI碼(替代馬克反演碼),也就是說(shuō)交替極性信號(hào)。當(dāng)數(shù)據(jù)出現(xiàn)在四個(gè)以上或含0的四個(gè)以上字符時(shí),首先字符根據(jù)AMI編碼規(guī)則進(jìn)行編碼,然后遵循這些步驟。
第四個(gè)“0”必須改變?yōu)榉恰?”脈沖,標(biāo)志著“+ V”或“V”,也被稱為“破壞性的脈沖”。至于“+ V”或“V”,其正極性和負(fù)極性應(yīng)與原非極性的“0”的極性相同。與此同時(shí),相鄰的“V”的標(biāo)志交替變換極性,以確保代碼沒(méi)有直流組件。在本文中,字符串“000V”被稱為“破壞性序列”。當(dāng)信號(hào)“V”和另一個(gè)相鄰的信號(hào)之間的非“0”的數(shù)目是單的時(shí)候,編譯后的代碼是HDB3編碼。相反,第一個(gè)“0”在“破壞性序列”應(yīng)當(dāng)更換為“+B”或“-B”。對(duì)于“+B”或“-B”,它的正極性和負(fù)極性應(yīng)當(dāng)與前面的非“0”的相反,而非“0”的符號(hào)在“V”的后面,然后開(kāi)始變換。它的轉(zhuǎn)換步驟見(jiàn)圖1。
二進(jìn)制序列
1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1
AMI碼
1 -1 1 0 0 0 0 -1 0 0 0 0 0 0 0 0 1
編碼的第一步
1 -1 1 0 0 0 V -1 0 0 0 -V 0 0 0 -V 1
編碼的第二步
1 -1 1 0 0 0 V -1 0 0 0 -V B 0 0 V -1
圖1.HDB3編碼的格式
HDB3碼的解碼是編碼的逆過(guò)程,解碼比編碼更容易實(shí)現(xiàn)??梢钥闯鼍幋a規(guī)則,符號(hào)的破壞性脈沖極性總是與“V”前一樣,包括“B”。因此,從HDB3的編碼序列很容易識(shí)別“V”的符號(hào)。與此同時(shí),可以得出結(jié)論,“V”的標(biāo)志和三個(gè)相鄰符號(hào)必須是0,所以它們可以恢復(fù)成四個(gè)相鄰的“0”代碼。然后所有的“-1”變成“+1”,這是可用的最初資料來(lái)源。
III. HDB3編解碼器的設(shè)計(jì)
目前,許多學(xué)者已經(jīng)在設(shè)計(jì)和研究HDB3編解碼器。一方面是,堵塞“B”后添加“V”。另一方面是,該變量的信號(hào)雙極或單極輸出在參考文獻(xiàn)[1]中實(shí)現(xiàn)。當(dāng)破壞符號(hào)插入時(shí),信號(hào)的極性在編程過(guò)程中預(yù)留一邊。該變量雙極或單極輸出信號(hào)也在參考文獻(xiàn)[2]中計(jì)算出來(lái)。首先,四個(gè)相鄰的“0”代碼以及增加的“V”被檢測(cè)出來(lái)。此外,一個(gè)破壞性的序列判定電路被設(shè)計(jì)出來(lái)。最后,HDB3編碼獲得?;贑D22103的HDB3編解碼器也被其他學(xué)者應(yīng)用,這些設(shè)計(jì)方法大部分都基于AMI編解碼器的進(jìn)化。HDB3編解碼器的規(guī)則一步一步進(jìn)行到完全一致,過(guò)程復(fù)雜,缺乏優(yōu)化。插入“V”和“B”在這個(gè)過(guò)程中沒(méi)有分開(kāi),但這兩個(gè)步驟在本文中通過(guò)設(shè)置的信號(hào)參數(shù)合并到一起。根據(jù)實(shí)際需要,已經(jīng)插入的脈沖“V”和“B”分別被“+ 1”或“1”取代。在系統(tǒng)的編譯過(guò)程中,字符串“00”是用來(lái)表示符號(hào)“0”,“01”代表符號(hào)“0”,“11”被視為“-1”,這是不同于其他設(shè)計(jì)系統(tǒng)中的增加脈沖“V”和插入脈沖“B”后的信號(hào)極性判斷。
A. 編碼器的設(shè)計(jì)
HDB3編碼電路方框圖如圖2所示,根據(jù)HDB3規(guī)則進(jìn)行編碼。零界的檢測(cè)首先通過(guò)輸入NRZ碼來(lái)實(shí)現(xiàn),確定哪一個(gè)是四個(gè)“0”代碼相鄰的,相鄰的四個(gè)“0”碼將取代破壞性的“000V”或“B00V”序列。第一個(gè)相鄰的四個(gè)“0”代碼必須被摧毀的“000 V”序列所取代,有兩個(gè)邏輯電路的圖插入“V”脈沖和“B”脈沖。一個(gè)是當(dāng)輸入信號(hào)序列是AMI碼,輸入信號(hào)直接輸出。另一個(gè)是當(dāng)輸入的信號(hào)數(shù)量是等于或大于4,4n(n = 1、2、…N)空數(shù)字而不是使用大規(guī)模數(shù)據(jù),插入“V”脈沖。而“V”脈沖的位置僅僅是替代了空著的第一個(gè)符號(hào)位,輸出四個(gè)空字符串。在“B”的脈沖填滿了HDB3碼。根據(jù)破壞性序列的準(zhǔn)則,決定“B”脈沖是否插入“V”信號(hào)脈沖。是否加入大量空號(hào)或者原來(lái)的數(shù)字是保留在第一個(gè)4位空字符串中。同時(shí),通過(guò)判斷奇偶校驗(yàn)的非零字符的數(shù)量,在兩個(gè)破壞性脈沖之間選擇哪一個(gè)破壞時(shí)序電路。最后HDB3編碼序列的電路輸出扭轉(zhuǎn)形成交替,輸入序列和輸出序列是串行輸入和串行輸出。
HDB3的編碼可以通過(guò)可編程芯片EP2C35F672C8來(lái)完成,兩極的HDB3編碼是通過(guò)外部電路對(duì)稱的結(jié)構(gòu)來(lái)完成,電路如圖3所示。pin1和pin2分別是正向和負(fù)向的單極輸入脈沖,這是由晶體管、電阻和電容組成,極性是由結(jié)合了高低信號(hào)的PNP型和NPN型的基極和發(fā)射級(jí)而改變的。
圖2.HDB3編碼電路的功能模塊圖解
圖3.HDB3編碼的電路圖
B. 解碼器的設(shè)計(jì)
HDB3解碼是其逆變換,這時(shí)HDB3碼會(huì)減少到一個(gè)二進(jìn)制的NRZ碼。HDB3解碼電路圖如圖4所示。首先,HDB3編碼及其逆變換通過(guò)一個(gè)平衡放大與非門(mén)的輸出。然后,HDB3+和HDB3-信號(hào)由雙或單輸出轉(zhuǎn)換。因?yàn)槠茐男悦}沖對(duì)HDB3編碼的影響,信號(hào)的互相及時(shí)轉(zhuǎn)換不能用于兩路二進(jìn)制信號(hào)。因此信號(hào)甚至可能是一個(gè)非連續(xù)的兩個(gè)脈沖信號(hào),以免另一個(gè)等同于“0”?!癡”脈沖的檢測(cè)是兩路脈沖,兩路二進(jìn)制代碼的雙脈沖信號(hào),這被稱為“V”脈沖。此外,NRZ信號(hào)輸出的時(shí)間決定是否發(fā)送到與非門(mén)?!癇”脈沖和“V”脈沖信號(hào)同時(shí)得到。最后綜合兩個(gè)從“HDB3+”和“HDB3-”輸出的信號(hào),“V”脈沖被減少到NRZ信號(hào)。HDB3解碼的電路圖如圖5所示。
圖4.HDB3解碼電路的功能模塊圖解
圖5.HDB3解碼的電路圖
圖6.編碼流程圖 圖7.解碼流程圖
編碼和解碼軟件流程在圖6和圖7中。
verilog hdl仿真程序的一部分編碼和解碼:
插入“V”的過(guò)程。
always @(clk==1)
if (data_in='0' and sl3v(3 downto 1)="000")
numv<='1'; judv<='1';sl3v<=('1' & sl3v(3 downto 1));
else numv<='0'; judv<='0';sl3v<=data_in & sl3v(3 downto 1);
The process of counting.
if (judv='1')
sl2v<="000";
else always @(clk==1)
if (sl2v="111")
sl2v<=sl2v;
else sl2v<=sl2v+1;
The process of "V" point tracking.
if (numv='1')
parv<='0';
else always @(clk==1)
if(data_in='1')
parv<='1';
else parv<='0';
HDB3編解碼器的實(shí)時(shí)仿真是通過(guò)QartusII 7.2來(lái)實(shí)現(xiàn)的,包括輸出仿真結(jié)果,波形是否完全符合HDB3編解碼器在圖8和圖9中的編碼規(guī)則,編碼頻率100MHZ是系統(tǒng)時(shí)鐘輸入。在圖8中data_in1000011包括輸入二進(jìn)制代碼的連續(xù)四個(gè)字符0。在HDB3編碼的基礎(chǔ)原則上,輸出碼轉(zhuǎn)換數(shù)據(jù)輸出data_out是 11。在圖9中輸入系統(tǒng)時(shí)鐘,時(shí)鐘頻率100MHZ。data0是HDB3輸入代碼類型,data1是HDB3相反的代碼,data_out是二進(jìn)制輸出流。
圖8.HDB3編碼的仿真波形
圖9.HDB3解碼的仿真波形
IV.結(jié) 論
FPGA技術(shù)用于數(shù)字通信系統(tǒng),用芯片可以實(shí)現(xiàn)多種數(shù)字邏輯功能并且由于靈活多變的方式而提高了工作效率。在本文中,HDB3編解碼器的設(shè)計(jì)是基于FPGA實(shí)現(xiàn)的。首先,硬件電路的設(shè)計(jì)以及電路的仿真由軟件來(lái)完成,因?yàn)樗怯珊芎?jiǎn)單的硬件電路來(lái)演示的。當(dāng)進(jìn)行仿真的時(shí)候,添加脈沖“V”和“B”在一起。本設(shè)計(jì)使用的芯片是Altera公司的CycloneII系列,有強(qiáng)大的模擬功能。該系統(tǒng)基于光纖通信原理實(shí)驗(yàn)箱,有簡(jiǎn)單的硬件電路、可擦寫(xiě)的EP2C35F672C8芯片和編譯能力強(qiáng)的verilog hdl語(yǔ)言,具有容易升級(jí),高靈活性的特點(diǎn)。系統(tǒng)只有12個(gè)存儲(chǔ)單元和12個(gè)寄存器,冗余少,運(yùn)算速度快。本設(shè)計(jì)雖沒(méi)有應(yīng)用通信實(shí)驗(yàn)教學(xué),但滿足了實(shí)際的通信系統(tǒng)傳輸?shù)木幋a要求,具有實(shí)際應(yīng)用價(jià)值。
公 認(rèn)
這項(xiàng)工作是中國(guó)河南省計(jì)劃科技工程(批準(zhǔn)號(hào)No.052422047)支持的,是第三個(gè)河南理工大學(xué)的研究生學(xué)位論文創(chuàng)新基金項(xiàng)目,感謝導(dǎo)師張長(zhǎng)森教授和通信實(shí)驗(yàn)室全體成員。
參考文獻(xiàn)
[1] WANG Guang-yu; ZHANG Xiang-dong.A New Method Using
VHDL Language to Code the HDB3[J].Communications Technology,
vol.12, pp.21–14, December 2007.
[2] Jia Huibin; Wang Lanxun. HDB3 Encoder and Decoder Based on
FPGA. Electronic Science and Technology. pp.37–40, September 2005.
[3] Jiang Qing,Lv Yi. Fast Implementation using programmable logic
devices HDB3 Encoder[J]Electronic Technology. pp.21-23,July 2004.
[4] Fang Zhihao,Zhu Qiuping. Optical Fiber Communication[M].Wu
Chang: Wuhan University Press,2004.
[5] HuBei zhongyou technology ind.Communication theory test guide
book[M]:2003.
[6] Wu Haitao,Chen Yingjun,Liang Yingchun.Design of HDB3 Codec
Based on FPGA[J]. Microcomputer Information, vol.6, pp.236–238,
January 2008.
[7] XU Jin.Design of a HDB3 Encoder Based on VHDL Technology[J].
Communications Technology, vol.34, pp.28–31, August 2008.
[8] WAND Su-zhenWAND Tao. A Way to Implement the HDB 3
Encoding-decoding Based on VHDL Language[J]. Journal of Inner
Mongolia Normal University(Natural Science Edition)vol.35,
pp.300–303, March 2007.
[9] XIE WuYANG RuiSHAO Xin. A simple method of HDB3
coding based on FPGA[J]. Applied Science and Technology, vol.12,
pp.16–18, May 2007.
[10] QIAO Jihong, GU Weijuan. Circuit design of HDB3 based on
CPLD[J].Journal of Beijing Technology and Business University:
Natural Science Edition, vol.23, pp.50–52, January 2007
收藏
編號(hào):12802983
類型:共享資源
大?。?span id="muq9ps6" class="font-tahoma">5.62MB
格式:ZIP
上傳時(shí)間:2020-05-24
20
積分
- 關(guān) 鍵 詞:
-
基于
fpga
hdb3
編解碼器
設(shè)計(jì)
說(shuō)明書(shū)
仿單
- 資源描述:
-
基于FPGA的HDB3編解碼器的設(shè)計(jì)說(shuō)明書(shū),基于,fpga,hdb3,編解碼器,設(shè)計(jì),說(shuō)明書(shū),仿單
展開(kāi)閱讀全文
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學(xué)習(xí)交流,未經(jīng)上傳用戶書(shū)面授權(quán),請(qǐng)勿作他用。