數(shù)字通信的主要目的就是準確無誤地傳輸信道中所攜帶的信息。數(shù)字通信系統(tǒng)中,發(fā)送端把數(shù)字信號變成適合信道的基帶信號(基帶調(diào)制),然后經(jīng)過信道進行傳輸;接收端則把信道中的基帶信號還原成原始的數(shù)字信號(基帶解調(diào)),在這個調(diào)制解調(diào)的過程中首要的問題就是碼型的選擇問題。HDB3編碼具有很多優(yōu)點:其一,它很容易在其相應基帶信號中提取定時信號;其二,HDB3碼無直流成分和很小的低頻成分;其三,傳輸效率高。因此,HDB3碼非常適合在基帶信道中進行傳輸,并有必要進行HDB3編碼器芯片的設計。
首先采用Verilog HDL進行前端設計,在軟件QuartusⅡ上編譯仿真;然后進行綜合、門電路仿真和硬件驗證;最后進行后端版圖設計。
2 HDB3編碼器的硬件描述語言設計思路
HDB3編碼原理:首先將信息代碼變換成交替反轉(zhuǎn)碼(AMI碼,AMI碼的編碼規(guī)則:將代碼中的“0”仍然變換成傳輸碼中的“0”,而把“1”交替地變換為傳輸碼中的+1,-1,+1,-1,…),然后來檢查交替反轉(zhuǎn)碼中的連“0”情況。假如在該串碼型中出現(xiàn)了4個或者4個以上
連“0”時,將每4個連“0”段的第4個“0”替換成一個破壞符號“V”,該破壞碼的極性與該串碼型中前一非“0”符號同極性。為了保證插入破壞符號后的序列不會破壞,將相鄰V符號極性交替出現(xiàn)。因此當兩個相鄰的V符號間有偶數(shù)個非“0”符號時,就要將該小段中第1個“0”變成“+B”或者“-B”,B符號的極性與前一非“0”符號相反,后面非“0”符號再交替變化。在單雙極性變換時,必須要區(qū)分“+1”,“-1”,“+V”,“-V”,“+B”,“-B”,“0”,因此用一串二進制來表示,具體表示如表1所示。
該HDB3編碼器由插入“V”模塊、插入“B”模塊和“V”碼極性糾正模塊組成。
2.1 插入“V”模塊
該模塊功能是將信息代碼轉(zhuǎn)換成正負交替的碼型,同時將每4個連“0”段的第4個“0”替換成“V”。首先判斷輸入的碼型是“0”或“1”,如果是“0”,每接收到一次,則讓一個兩位的計數(shù)器開始加“1”。為了保證計數(shù)的是4個連“0”,當輸入的編碼串中沒有出現(xiàn)4個連“0”而出現(xiàn)了“1”時,兩位計數(shù)器的計數(shù)初值重新清“0”。假如出現(xiàn)“0000”,還要判斷前一非“0”符號的極型,目的就是為了讓第4個“0”替換成與前一非“0”符號相同極性的破壞碼(V);如果輸入是“1”,只需判斷前一非“0”符號是“+”還是“-”,比如說,前一非“0”符號為“+”,那么此次的“1”變?yōu)椤?1”輸出,同時讓符號標志位變?yōu)椤?”狀態(tài),同理,前一非“0”符號為“-”,輸出結(jié)果將是“+1”,符號標志將變?yōu)椤?”。設計流程見圖1,該模塊門電路見圖2。