當前位置:首頁 > EDA > 電子設計自動化
[導讀]摘要:HDB3(三階高密度雙極性)碼具有無直流分量、低頻成分少、連零個數(shù)不超過3個、便于提取時鐘信號等特點。通過對HDB3編解碼原理進行分析和研究,提出一種基于FPGA的HDB3編解碼實現(xiàn)方法,給出Verilog HDL語言的實現(xiàn)

摘要:HDB3(三階高密度雙極性)碼具有無直流分量、低頻成分少、連零個數(shù)不超過3個、便于提取時鐘信號等特點。通過對HDB3編解碼原理進行分析和研究,提出一種基于FPGA的HDB3編解碼實現(xiàn)方法,給出Verilog HDL語言的實現(xiàn)方法和仿真波形,完成硬件電路的設計和測試,采用該方法設計的HDB3編解碼器已應用于相關實驗設備中。
關鍵詞:HDB3編碼;HDB3解碼;FPGA;Verilog HDL


1 引言
    數(shù)字通信系統(tǒng)的某些應用可對基帶信號不載波調制而直接傳輸,其中傳輸線路對碼型的要求如下:信碼中不宜有直流分量,低頻分量應盡可能的少,碼型要便于時鐘信號提取。根據(jù)這些要求,ITU-T(國際電聯(lián))在G.703建議中規(guī)定,對于2 MHz、8 MHz、32 MHz速率的數(shù)字接口均采用HDB3(三階高密度雙極性)碼。HDB3碼具有無直流分量,低頻成分少,連零個數(shù)不超過3個等特點,便于時鐘信號的提取和恢復,適合在信道中直接傳輸。這里利用Verilog HDL語言設計用于數(shù)字通信系統(tǒng)中的HDB3編解碼器。

2 HDB3編碼模塊設計
    要設計一個實用的編碼模塊,首先要深入研究其編碼規(guī)則及其特點,然后根據(jù)編碼規(guī)則設計符合電路特性的編碼流程。HDB3碼的編碼規(guī)則包括:①將消息代碼變換成AMI碼,AMI碼的編碼規(guī)則是對碼流中的非“0”符號進行正負交替;②檢查AMI碼中的連零情況,當連零的個數(shù)小于4個時,保持AMI的形式不變;當連零的個數(shù)達到4個或超過4個時,則將非零碼后的第4個“0”替換成V碼,其中V碼的極性與前一非零碼(+1或-1)的極性保持一致,例如,前面的非零碼是+1,則將V碼記為+V;③完成插V操作后,檢查2個相鄰V碼之間非零碼的個數(shù)是否為偶數(shù),若為偶數(shù),則再將相鄰2個V碼中后一個V碼的前一非零碼后的第一個“0”變?yōu)锽碼,B碼的極性與前一非“0”碼的極性相反,同時B碼后面的非“0”碼極性再次進行交替變換,保證極性交替反轉特性。
    編碼規(guī)則中出現(xiàn)的V碼、B碼只是作為標識符,最終的電路實現(xiàn)還是“0”和“1”這兩種邏輯電平,因此需要采用二進制編碼對“1”、“0”、V、B進行編碼,“00”表示“0”、“0l”表示“1”,“10”表示B,“11”表示V。根據(jù)編碼規(guī)則和利用FPGA實現(xiàn)的特點,將編碼過程:首先插入V碼,然后插入B碼,最后是單雙極性變換。如果按照編碼規(guī)則的順序設汁.應該首先進行單雙極性變換,在完成插V和插B后,還需根據(jù)編碼規(guī)則變換當前B碼之后的非零碼的極性,這需要大量的寄存器來保存當前數(shù)據(jù)的狀態(tài),導致電路非常復雜,占用大量的FPGA內部邏輯單元,實現(xiàn)難度大,且成本高。HDB3編碼過程示意圖如圖l所示。

 


2.1 插入V碼過程
    插入V碼過程是對消息代碼里的連零串進行檢測,一旦出現(xiàn)4個連零串的時候,就把第4個“O”替換成破壞符V,其他情況下消息代碼原樣輸出。輸入的代碼經插V操作后全部轉換成雙相碼,即“0”變換成“00”,“1”變換成“01”,V變換成“l(fā)l”。圖2是插入V碼過程的流程,代碼輸入到插V模塊后,如果輸入是“l(fā)”,則輸出為“01”,同時計數(shù)器清零;如果輸入是“O”.則對輸入“O”的個數(shù)進行計數(shù),當計數(shù)器計數(shù)到第4個“O”時,輸出“11”作為V碼,同時計數(shù)器要清零用于下一輪檢測;計數(shù)器未滿4個“0”,則輸出“00”。

 


2.2 插入B碼過程
    當相鄰兩個V碼之間有偶數(shù)個非“0”碼時.則把后一個V碼之前的第1個非“0”碼后面的“0”碼變換成B碼。該模塊設計的難點在于插入B碼的過程中涉及一個由現(xiàn)在事件的狀態(tài)控制過去事件狀態(tài)的問題,按照實時信號處理的理論,這是無法實現(xiàn)的,這里使用兩組4位移位寄存器。采用4位移位寄存器是根據(jù)HDB3編碼規(guī)則的特點確定,經插V后,連零串中的第4個“0”變成V碼,代碼中連零個數(shù)最多是3個,而插入B碼操作是把在后一個V碼之前的第1個非零碼之后的“O”變換成B碼,這個長度不超過3個“0”,因此只需4位寄存器就可通過判斷現(xiàn)在的輸入狀態(tài)來決定是否應插入B碼。圖3是判斷是否插入B碼的流程.2組4位移位寄存器在時鐘的作用下逐位將數(shù)據(jù)移出,在移位的同時還需對寄存器的最低位進行操作,即判斷是否需插入B碼。這部分功能的實現(xiàn)需設置一個檢測當前V碼狀態(tài)的標志位firstv。

 


2.3 單雙極性變換過程
    分析HDB3碼的編碼規(guī)則,發(fā)現(xiàn)V碼的極性是正負交替的,余下的“1”和B碼的極性也是正負交替的,且V碼的極性與V碼之前的非零碼極性一致。因此可以將所有的“1”和B碼取出來做正負交替變換,而V碼的極性則根據(jù)“V碼的極性與V碼之前的非零碼極性一致”這一特點進行正負交替變換。具體操作是設置一個標志位flag,通過檢測判斷標志位的狀態(tài)來確定是否進行單雙極性變換,標志位要交替變換以實現(xiàn)“l(fā)”和“B”正負交替,V碼的極性也根據(jù)標志位變換。圖4是單雙極性變換過程的流程,“10”表示輸出正電平,“Ol”表示輸出負電平,“00”表示輸出為零電平。

 


3 HDB3解碼模塊設計
    根據(jù)編碼規(guī)則,V碼是為了解決4連零現(xiàn)象而插入的,而B碼總是出現(xiàn)在V碼之前,且只相隔2個“0”,因此只要在接收到的信號中找到V碼并將其和前面的3位代碼全部復原成“0”即可完成解碼過程。
3.1 HDB3解碼模塊建模
    首先外圍電路從HDB3碼中提取出時鐘、正整流信號和負整流信號,將這3路信號送到FPGA中,解碼模塊所用的時鐘是從HDB3碼中提取出來的時鐘。從正整流信號和負整流信號中可以檢測出2路包含V碼的信號,將2路V碼合成一路信號,然后對該路信號進行解碼,最后將雙相碼變成單相碼,圖5是解碼過程的流程。

 


3.1.1 V碼檢測過程
    V碼檢測同時進行正V碼檢測和負V碼檢測,這兩個檢測模塊的設計思想類似,這里對正V碼檢測模塊進行詳細說明。為了方便描述,假設從正整流電路輸入的信號為+P,從負整流電路輸入的信號為-N。+V碼檢測模塊是在-N的控制下,對輸入的+P進行檢測。其原理是:當+P的上升沿到來時,對輸入的+P脈沖進行計數(shù),當計數(shù)到1時,輸出一個脈沖作為+V脈沖,同時計數(shù)器清零,在計數(shù)期間,一旦檢測到-N信號脈沖,計數(shù)器立即清零,計數(shù)器重新從零計數(shù)。這是因為在兩個+P脈沖之間,存在-N脈沖,說明第2個+P脈沖不是+V碼,只有在連續(xù)兩個+P脈沖之間無-N脈沖,才能說明這兩個P脈沖在HDB3碼中是真正同極性的,才可以判斷第2個P脈沖實際上是+V碼,達到檢測+V碼的目的。-V碼檢測原理與+V碼檢測類似,所不同的是,-V碼檢測電路是在+P控制下,對-N信號進行計數(shù)、檢測和判定。
3.1.2 V碼和B碼解碼過程
    檢測V碼后,根據(jù)HDB3編碼規(guī)則,只需將V碼及之前3位碼全部置零就可同時完成扣V/扣B操作。這又會涉及到一個由現(xiàn)在事件狀態(tài)決定過去事件狀態(tài)的情況,仍可采用兩組4位移位寄存器解決。根據(jù)編碼規(guī)則,V碼是取代連“0”串中的第4個“0”,而B碼總是出現(xiàn)在V碼之前,且只相隔兩個“O”,當輸入是V碼后,只需同時將4位移位寄存器置零,即可同時完成V碼和B碼的解碼過程??鄢齎碼和B碼后,還需將雙相碼變換成單相碼,即當輸入是“00”時輸出“0”,輸入是“01”時輸出“l(fā)”,至此便完成了HDB3解碼。
3.2 HDB3解碼的Verilog HDL實現(xiàn)
    以下利用硬件描述語言實現(xiàn)解碼功能,這里只給出正V碼檢測模塊和扣V碼/扣B碼模塊的關鍵程序。


4 仿真分析
    設計的編解碼模塊是誤碼檢測儀的組成部分,采用Cy-clone系列FPGA(EPlC3T144C8)實現(xiàn)電路的核心功能,該器件擁有近3 000個邏輯單元,可滿足整個系統(tǒng)設計的要求。
4.1 HDB3編碼模塊仿真分析
    對該HDB3編碼模塊進行仿真驗證,圖6是仿真波形圖,仿真時鐘頻率為32 MHz,Codein表示待編碼的輸入信號,輸入的二進制代碼為:101011000001100001;VBcodeout是插入V碼和B碼后的輸出,觀察波形發(fā)現(xiàn),在A和B位置插入“11”作為V碼,在C位置插入B碼:Codeout是單雙極性變換后波形,“10”表示正電平,“01”表示負電平.從波形可看出實現(xiàn)了正負交替;Pos_rzhdb3out和Neg_rzhdb3out是最終的歸零碼輸出。該HDB3編碼模塊正確實現(xiàn)編碼功能。
4.2 HDB3解碼模塊仿真分析
    采用一個偽隨機序列發(fā)生器產生測試數(shù)據(jù),仿真時鐘頻率為32 MHz。將HDB3編碼模塊和解碼模塊相連接,觀察輸入和輸出波形。

 


    圖7是仿真波形,其中msequence9是一個周期為511的偽隨機序列碼,在A時刻產生第1個高電平;將該碼輸入到HDB3編碼模塊,完成編碼后輸入到解碼模塊中進行解碼,decodeout是解碼后的輸出,從B時刻開始輸出解碼后的數(shù)據(jù),可以發(fā)現(xiàn)其波形與輸入數(shù)據(jù)完全相同,因此解碼模塊實現(xiàn)了HDB3解碼功能。

5 結論
    所設計的HDB3編解碼模塊簡單實用,利用FPGA實現(xiàn)HDB3編解碼功能具有很強的靈活性,可以集成到不同的通信系統(tǒng)中,提高系統(tǒng)設計的速度。這里所涉及的仿真均為帶有時序信息的仿真,仿真時鐘頻率設為32 MHz,該頻率是HDB3碼應用的最高頻率。目前該編解碼模塊已成功應用于誤碼檢測儀中,性能穩(wěn)定可靠。


本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉