摘要:在數(shù)字通信領(lǐng)域中,HDB3碼是一種非常適合在基帶信號傳輸系統(tǒng)中傳輸?shù)拇a型,并保持了AMI的優(yōu)點。為了滿足用戶的需求,提高通信系統(tǒng)工作穩(wěn)定性,HDB3編碼器專用集成電路(ASIC)集成了插“V”、插“B”和“V”碼極性糾正模塊,通過仿真和硬件驗證,它可以有效消除傳輸信號中的直流成分和很小的低頻成分,可以實現(xiàn)基帶信號在基帶信道中直接傳輸與提取,同時能很好地提取定時信號。
關(guān)鍵字:基帶信號;HDB3編碼器;門電路;ASIC
0 引言
數(shù)字通信的主要目的就是準確無誤地傳輸信道中所攜帶的信息。數(shù)字通信系統(tǒng)中,發(fā)送端把數(shù)字信號變成適合信道的基帶信號(基帶調(diào)制),然后經(jīng)過信道進行傳輸;接收端則把信道中的基帶信號還原成原始的數(shù)字信號(基帶解調(diào)),在這個調(diào)制解調(diào)的過程中首要的問題就是碼型的選擇問題。HDB3編碼具有很多優(yōu)點:其一,它很容易在其相應(yīng)基帶信號中提取定時信號;其二,HDB3碼無直流成分和很小的低頻成分;其三,傳輸效率高。因此,HDB3碼非常適合在基帶信道中進行傳輸,并有必要進行HDB3編碼器芯片的設(shè)計。
1 HDB3編碼器ASIC的設(shè)計流程
首先采用Verilog HDL進行前端設(shè)計,在軟件QuartusⅡ上編譯仿真;然后進行綜合、門電路仿真和硬件驗證;最后進行后端版圖設(shè)計。
2 HDB3編碼器的硬件描述語言設(shè)計思路
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)?ldquo;-1”輸出,同時讓符號標志位變?yōu)?ldquo;-”狀態(tài),同理,前一非“0”符號為“-”,輸出結(jié)果將是“+1”,符號標志將變?yōu)?ldquo;+”。設(shè)計流程見圖1,該模塊門電路見圖2。
2.2 插入“B”模塊
信息代碼經(jīng)過上級模塊(插入“V”模塊)以后,輸出的代碼將是極性正負交替的碼型。插入“B”模塊的功能是:當兩個連續(xù)的“V”之間有偶數(shù)個“1”時,要將該小段中第一個“0”替換成“B”,其符號與前一非“0”符號相反;當兩個連續(xù)的“V”間有奇數(shù)個“1”時,則無須替換。本模塊的設(shè)計精髓是:設(shè)計成可綜合的狀態(tài)機,利用狀態(tài)機的方法將信息代碼編成HDB3的碼。此設(shè)計共5個狀態(tài),并且將插入的破壞碼“B”的極性記錄下來,以便下級模塊進行“V”碼極性的糾正。在第一個狀態(tài)中,如果接到的數(shù)據(jù)是“+V”或“-V”,信息代碼原樣輸出,分別轉(zhuǎn)移到第2、第3個狀態(tài);如果是其他符號的數(shù)據(jù),信息代碼也原樣輸出,回到第一個狀態(tài)。在第二個狀態(tài)中,當有非“+1”符號輸入時,信息代碼原樣輸出,回到第二個狀態(tài);當有“+1”輸入時,說明兩個相鄰的“V”之間有偶數(shù)個“1”,轉(zhuǎn)移到第4個狀態(tài)。在第四個狀態(tài)中,當有“0”輸入時,則讓此刻的“0”替換成“-B”,回到第一個狀態(tài),重新開始判斷兩個連續(xù)的“V”之間是否有偶數(shù)個“1”;當有非“0”符號輸入時,回到第二個狀態(tài)。第三、第五個狀態(tài)工作方式與以上類似。狀態(tài)轉(zhuǎn)移圖見圖3,模塊門電路見圖4。
2.3 “V”碼極性糾正模塊
由于插入“B”模塊的存在,使得“V”碼的極性與前一非“0”符號的極性不能保持一致。因此,需要加一個“V”碼極性糾正模塊,在該模塊中,有兩個數(shù)據(jù)輸入端,一個是信息代碼,另外一個是記錄“B”碼極性的標志。當標志為“01”和“11”時,分別表示此刻插入“B ”碼極性是“-”和“+”。設(shè)計思路:當標志是“01”,且緊接著“B”碼后的第一個“V”碼極性是“+”時,就讓“+V”替換成“-V”輸出,同理,當標志是“11”,且緊接著“B”碼后的第一個“V”碼極性是“-”時,就讓“-V”替換成“+V”輸出,其他的狀態(tài)都保持原樣輸出。該模塊門級電路見圖5。
3 HDB3編碼器仿真結(jié)果分析
仿真結(jié)果見圖6,當輸入的原始信息代碼串“10101100000110000100001100001100111000011110000”經(jīng)過插入“V”模塊后,原始的信息代碼串被轉(zhuǎn)換成正負交替的極性碼(其中“V”碼除外,因為“V”碼的極性和前一非“0”碼的極性相同),輸出信號codeoutv為:“60206 200030620003600072600072600262000362620003”,并作為插入“B”模塊的輸入信號,其輸出信號為codeoutb,根據(jù)要求將對該串信息代碼插入破壞碼(“B”),在插入破壞碼后,使得“V”碼的極性不符合HDB3編碼的規(guī)則,因此在該模塊中增加了“B”碼極性的標志輸出,該標志在“V”碼極性糾正模塊中將codeoutb信息代碼的“V”碼極性進行糾正,最后輸出端codeout的輸出結(jié)果為:“6020620003062500760007261 0032610262000362625007”。
4 結(jié)語
該HDB3編碼芯片的設(shè)計采用了優(yōu)化技術(shù)和巧妙的邏輯電路設(shè)計,通過仿真和硬件驗證,它可以有效消除傳輸信號中的直流成分和很小的低頻成分,實現(xiàn)了基帶信號在基帶信道中直接傳輸與提取,并能很好地提取定時信號。最后采用0.25μm的硅柵工藝繪制版圖,很大程度上減小了版圖面積,且工藝先進、性能穩(wěn)定,芯片可廣泛應(yīng)用于數(shù)字通信領(lǐng)域。