基于EPM3128的HDB3編譯碼器的實(shí)現(xiàn)
出處:electron1 發(fā)布于:2011-09-23 11:33:43
摘要: 數(shù)字基帶信號(hào)的傳輸是數(shù)字通信系統(tǒng)的一個(gè)重要組成部分, H DB3 編碼是數(shù)字基帶信號(hào)傳輸中常用的傳輸碼型。本文介紹了HDB3 編碼規(guī)則, 提出了一種基于EPM3128 實(shí)現(xiàn)編譯碼的方法, 該方法具有成本低、電路簡單、執(zhí)行速度快、升級(jí)方便等特點(diǎn)。同時(shí)由于CPLD 可重復(fù)編程的特點(diǎn), 可以對(duì)它進(jìn)行在線修改, 便于設(shè)備的調(diào)試和運(yùn)行。此編譯碼器已經(jīng)過實(shí)際測(cè)試, 運(yùn)行穩(wěn)定可靠, 可用于實(shí)際電路中。
0 引 言
數(shù)字基帶信號(hào)的傳輸是數(shù)字通信系統(tǒng)的重要組成部分。
在數(shù)字基帶傳輸系統(tǒng)中, 從信源輸出的信號(hào)一般是用“ 0” 、“ 1”兩種狀態(tài)表示的單極性不歸零碼( NRZ 碼) 。在進(jìn)行數(shù)字信號(hào)基帶傳輸時(shí), 必須考慮到傳輸信道的特點(diǎn), 將信息比特變換為適合于信道傳輸?shù)臄?shù)字信號(hào), 即進(jìn)行線路編碼。傳輸線路對(duì)碼型的基本要求為:
1) 容易提取定時(shí)信號(hào);
2) 不含有直流分量;
3) 低頻成分和高頻成分應(yīng)盡量減少;
4) 設(shè)備簡單、容易實(shí)現(xiàn)編解碼。
而HDB3 碼因其無直流成分、低頻成分少和連0 個(gè)數(shù)多不超過3 個(gè)等特點(diǎn), 而對(duì)定時(shí)信號(hào)的恢復(fù)十分有利, 并已成為CCITT 推薦使用的基帶傳輸碼型之一, 在實(shí)際的數(shù)字基帶傳輸中有著非常廣泛的應(yīng)用。
本文選用Altera 公司EPM3128 作為主控芯片, 詳細(xì)介紹了一種實(shí)現(xiàn)數(shù)字通信系統(tǒng)中的HDB3 碼編譯碼的實(shí)現(xiàn)方法。
主控芯片EPM3128AT C100 10 是一款高性能、低功耗、基于EEPROM 的CPLD, 片內(nèi)集成了2500 個(gè)可用門,8 個(gè)邏輯陣列模塊( LAB) , 每個(gè)LAB 由16 個(gè)宏單元組成, 多為用戶提供80 個(gè)I /O 口, 通過JT AG 接口進(jìn)行在線編程, 可以進(jìn)行100 次的程序燒寫。A LTERA 器件采用銅鋁布線的先進(jìn)CMOS 技術(shù), 功耗低、速度快, 采用互連結(jié)構(gòu), 提供快速、連續(xù)的信號(hào)延時(shí)和具有相同延時(shí)的時(shí)鐘總線結(jié)構(gòu)。邏輯集成度高, 開發(fā)周期短, 使用專用軟件設(shè)計(jì)輸入、處理、校驗(yàn)及器件編程一共僅需幾個(gè)小時(shí)。FPGA /CPLD 中寄存器資源或組合邏輯資源比較豐富, 更適合于時(shí)序電路和組合邏輯電路的設(shè)計(jì)。
1 HDB3 碼的編碼規(guī)則
HDB3 碼是AMI 碼的改進(jìn)型, 稱為三階高密度雙極性碼, 它克服了AMI 碼的長連0 串現(xiàn)象。HDB3 碼的編碼規(guī)則如下:
1) 將消息代碼變換成AMI碼
2) 檢查AMI 碼中0 的情況。當(dāng)無4 個(gè)或以上的連0串時(shí), 則保持AMI 碼的形式不變。當(dāng)出現(xiàn)4 個(gè)或以上的連0 串時(shí), 則將1 后的第4 個(gè)0 變?yōu)榕c前一非0 符號(hào)同極性的符號(hào), 用V 表示( + 1 記為+ V, - 1 記為- V) 。
3) 檢查相鄰V 符號(hào)間的非0 符號(hào)的個(gè)數(shù)是否為偶數(shù), 若為偶數(shù), 則再將當(dāng)前的V 符號(hào)的前一非0 符號(hào)后的第1 個(gè)0 變?yōu)? B 或- B 符號(hào), 且B 的極性與前一個(gè)非0符號(hào)的極性相反, 并使后面的非0 符號(hào)從V 符號(hào)開始再交替變化。
2 HDB3 編碼器的建模與實(shí)現(xiàn)
HDB3 碼的編碼過程, 依據(jù)其編碼算法可以分成三個(gè)步驟步完成: 1) 、插入V 碼; 2) 、插入B 碼; 3) 、單極性碼到雙極性碼轉(zhuǎn)換。其編碼模型如圖1 所示。

圖1 H DB3 編碼器模型
2. 1 插V碼模塊
插V 模塊的功能是對(duì)輸入的NRZ( 單極性不歸零碼)消息代碼中的4 連0 串的檢測(cè), 只要出現(xiàn)4 個(gè)連0 串時(shí)候, 把第4 個(gè)0 變換成符號(hào)V ( V 是邏輯1 高電平) , 而在其他情況下, 則保持消息代碼的原樣輸出。在插V 過程中, 為了區(qū)分不同的碼( 0、1、V 碼) , 我們分別用11 標(biāo)識(shí)“ V ”, 用01 標(biāo)識(shí)“1” ,用00 標(biāo)識(shí)“ 0” 。對(duì)輸入的NRZ 碼編碼的算法如圖2 所示。

圖2 插V 碼的流程
2. 2 插B 模塊的實(shí)現(xiàn)
插B 模塊的功能是保證附加V 符號(hào)后的序列不破壞極性交替反轉(zhuǎn)的規(guī)律, 使輸出信號(hào)頻譜無直流分量。
根據(jù)編碼規(guī)則, 當(dāng)相鄰V 符號(hào)之間有偶數(shù)個(gè)非0 符號(hào)時(shí),把后一小段的第1 個(gè)0 變換成一個(gè)非破壞符號(hào)( B 符號(hào),為了區(qū)分其它碼, 用?? 10 表示) 。圖3 所示為實(shí)現(xiàn)插B 功能的流程圖。根據(jù)HDB3 碼編碼規(guī)則, 圖3 中插B 模塊因?yàn)樯婕暗揭粋€(gè)由現(xiàn)在事件的狀態(tài)決定過去事件狀態(tài)的問題, 因此需要把輸入的信號(hào)延時(shí)3 個(gè)時(shí)鐘周期, 可以用3個(gè)串聯(lián)的D 觸發(fā)器來實(shí)現(xiàn)信號(hào)的鎖存。

2. 3 單極性變雙極性的實(shí)現(xiàn)
根據(jù)HDB3 編碼規(guī)則, 我們知道B 符號(hào)的極性與前一非零符號(hào)相反, V 極性符號(hào)與前一非零符號(hào)一致。因此, 可對(duì)V 單獨(dú)進(jìn)行極性變換(V 已經(jīng)由11 標(biāo)識(shí), 相鄰V 的極性是正負(fù)交替的) , 余下的1 和B 看成一體進(jìn)行正負(fù)交替, 從而完成HDB3 的編碼。由此我們可以將其分別進(jìn)行極性變換來實(shí)現(xiàn)。從前面的算法可知,“V ”、“ B” 、“ 1” 已經(jīng)分別用雙相碼“11” 、“ 10” 、“01 ”標(biāo)識(shí)。所以通過圖4 的算法可以很容易實(shí)現(xiàn)極性的轉(zhuǎn)換。這個(gè)部分遇到的問題是在Quar tusII軟件仿真過程中, 它無法識(shí)別- 1, 因?yàn)樗且粋€(gè)二進(jìn)制仿真系統(tǒng), 在它的波形仿真中只有“1” 和“0 ”兩種狀態(tài)。因此,這里采用了雙相碼來分別表示“ - 1” 、“+ 1” 、“ 0 ”, 即“ - 1” 、“ + 1” 、“ 0 ”分別用“11 ”、“ 01 、“ 00 ”表示。

3 HDB3 編碼器的仿真
HDB3 編碼器頂層結(jié)構(gòu)圖如圖5 所示。我們利用表1所示的多連零NRZ 消息代碼進(jìn)行分析, 并利用EDA 工具對(duì)源程序進(jìn)行編譯、適配、優(yōu)化、邏輯綜合與仿真。圖6~ 8 分別為插V 碼仿真波形圖、插B 碼仿真波形圖、極性轉(zhuǎn)換仿真波形圖。圖9 為系統(tǒng)編碼器仿真波形圖。各個(gè)子模塊及系統(tǒng)仿真結(jié)果顯示其完全可以達(dá)到編碼要求。
表1 HDB3 編碼舉例

但此時(shí)我們應(yīng)該注意到EPM3128 輸出的編碼并不是真正意義上的HDB3 編碼, 這里采用了“11”、“ 01” 、“ 00 ”來分別表示“ - 1” 、“ + 1” 、“ 0 ”。HDB3 碼是一個(gè)三電平變化波形, 不能單純依靠數(shù)字電路完成, 應(yīng)此我們還要利用多路模擬開關(guān)CD4052 把“ 11 ”、“ 01 ”、“ 00 ”分別轉(zhuǎn)換成- 1、+1、0。因這部分內(nèi)容比較簡單, 不在敘述, 請(qǐng)參考CD4052數(shù)據(jù)手冊(cè)。


4 HDB3 碼的譯碼規(guī)則
HDB3 碼的譯碼是編碼的逆過程, 其譯碼相對(duì)于編碼過程較簡單。從其編碼規(guī)則可知, 每一個(gè)破壞符號(hào)V 總是與前一非0 符號(hào)同極性。因此從收到的HDB3 碼序列中, 我們?nèi)菀鬃R(shí)別V 符號(hào), 同時(shí)也肯定V 符號(hào)及其前面的3 個(gè)符號(hào)必是連0 符號(hào), 于是可恢復(fù)成4 個(gè)連0 碼, 然后再將所有的- 1 變成+ 1 后便得到原消息代碼。
5 結(jié)束語
本文分析了HDB3 編譯碼的特點(diǎn), 提出了一種基于CPLD 器件的HDB3 編碼器及譯碼器的新的實(shí)現(xiàn)方法, 并在到Altera 公司的EPM3128AT C100 10 上, 進(jìn)行了驗(yàn)證和測(cè)試。目前, 很多NRZ 碼到HDB3 碼的編譯碼電路大都是用特定功能的芯片加外圍器件構(gòu)成。而本文設(shè)計(jì)的系統(tǒng)可以代替多個(gè)集成芯片和外圍離散器件來完成編譯碼任務(wù), 提高了H DB3 編譯器的集成度及信號(hào)傳輸?shù)目煽啃?。另外?可編程邏輯器件可反復(fù)編程的靈活性, 也便于對(duì)HDB3 編譯器進(jìn)行相應(yīng)的功能擴(kuò)展和維護(hù)。
參考文獻(xiàn):
[1]. CPLD datasheet http://m.58mhw.cn/datasheet/CPLD+_1136600.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場(chǎng)網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 掌握 DSP:原理剖析與應(yīng)用實(shí)踐2025/5/8 14:03:24
- 模糊邏輯在 DSP 上實(shí)時(shí)執(zhí)行2023/7/25 17:13:30
- 多速率DSP及其在數(shù)模轉(zhuǎn)換中的應(yīng)用2023/6/12 15:28:52
- 使用 DSP 加速 CORDIC 算法2023/3/29 15:46:30
- 高速DSP系統(tǒng)的信號(hào)完整性2022/9/26 16:45:38









