李 晨
(沈陽師范大學 物理科學與技術學院,遼寧 沈陽110034)
在通過數字通信進行數據傳輸時,通常要把數據進行長距離的傳輸,在數據信息進行傳輸之前,通常要對原始的數據信息進行編碼,轉變為數字基帶信號,在經過數據調制之后進行傳輸。而另一端的接收端,先對數據進行解調將數字基帶信號進行恢復,然后通過解碼器進行數據解碼,還原為傳輸之前的信息編碼。在實際的遠距離傳輸過程中,高頻分量的衰減程度隨著傳輸距離的增加愛而增加。此外,信號中的直流分量會受到傳入通道中的電容的隔斷作用;而低頻率分量會因為耦合變壓器的衰減作用而變弱,極大的影響了信號的傳輸距離和信號的質量。針對上述情況,在傳輸過程中應當對信號當中的,高頻分量、低頻分量、直流分量進行限制。此外,為了充分利用有限的頻帶,定時時鐘信息通常不進行傳入,采取在傳輸的碼型中記性提取的辦法,這就要求傳輸的碼型要具備提取定時時鐘的能力。在對雙極性反碼的基礎上改進的HDB3編碼,具備了低頻成分量少、不含直流成分的 優點。在提取定時時鐘時,不會因為多個0編碼的出現造成難以提取的問題。同時,HDB3具備一定程度的檢錯能力。FPGA又稱為現場可編程門陣列,可以根據系統設計的需要,設計者可以通過FPGA對其進行編程,能夠完成數字電路的各種邏輯功能。通過FPGA內部的邏輯結構,邏輯器件在確定邏輯功能之后,能夠勝任復雜的邏輯電路和時序電路,具有很廣闊的應用前景。本文中將HDB3與FPGA進行結合,克服了HDB3編碼集成度低、難以維護和升級的缺點。
相對于HDB3碼的編碼原理,解碼的原理就相對來說比較簡單了。與編碼規則相對應,我們對受到破壞的符號進行觀察,受到破壞的符號與前邊的符號均是相同極性的(除0以外)。根據這一特點,可以推斷出破壞點V的位置。推斷出V破壞點前邊肯定是連續的“0”,對這4個連續的“0”碼進行還原,然后將剩余的-1、+1改成符號“1”,這樣就能完成對原信息編碼的過程。而相對應的解碼過程,其本質就是對編碼過程的逆處理。HDB3碼原來是一條雙極性的單路碼流,對其進行分離,成為兩條單極性的碼流:-HDB3、+HDB3。然后再碼流中找出編碼過程中插入的V碼和B型碼,將-HDB3碼中的B00V,還原為0000;與前者類似,唯一不同的是將-HDB3中的000V還原為0000.
V碼分為+V碼和-V碼,檢測過程中應當同時進行檢測,因其監測過程基本相同,在此我們只對+V碼進行介紹。對+V碼的監測原理就是,控制在負整流電路輸入的信號,對在正整流電路輸入的信號進行檢測。在正整流電路到來時對其進行計數,每當計數到1后,就會發出一個正碼脈沖,并對清零計數器。在計數沒有達到1時,檢測到負整流電路信號則清零計數器。因為,只有當兩個正整流脈沖之間沒有扶正流信號時,兩者才都是同極性的的,以此來達到檢測正V碼的目的。同正V碼的檢測原理類似,唯一不同的便是,負V碼的檢測是在控制正整流信號的前提下,對負整流信號進行計數。在完成了對V、B碼的檢測之后,需要將V碼和B碼之前的三個編碼全部還原成“0”碼。這一過程是通過現在的事件,決定過去的事件,這時就需要通過移位寄存器去解決。
在解碼電路中包括三個主要的組成部分,V型脈沖監測部分、單雙極性變換部分、取代碼消除電路部分。將輸入的HDB3碼設定為高電平,對接收到的首先進行單雙進行在轉換,即將單路雙極性的HDB3,分離成兩條單極性HDB3碼流。再通過后續的觸發器,分離后得到的+HDB3和-HDB3碼流進行不歸零操作。通過B3觸發器與兩條肺門線路構成電路,對V型脈沖進行檢測。如果所檢測的HDB3碼流中不含有V型脈沖時,檢測電路中的兩條非門輸入的為高電平;如果含有V型脈沖,則與之相反,輸出的為低電平。剩余的觸發器和非門組成了一條電路,具有取消代碼的功能。
有多種方式能夠實現通過硬件實現HDB3編碼的解碼過程,其中FPGA實現的方式具有以下優點:(1)相對數字電路集成芯片,FPGA具有高集成度的特點,能夠良好的對其進行替代。(2)電路抗干擾能力強,傳輸的信號穩定。(3)能夠支持多達1000多次的反復擦寫能力,如果需要對電路進行變更和修改時,只需在源文件上進行修改,提升了設計電路時的靈活性。(4)設計周期短、設計成本低。(5)支持仿真測試,方便了對所設計的電路的檢測。在此,我們選用的的是FPGA來進行HDB3的解碼硬件實現過程。具體過程如下所述:
利用QuartusII的圖形編輯器輸入HDB3解碼電路,然后按照原理圖對其進行編譯,在編譯完成后建立一個邏輯元件符號,以便高級數字通信系統設計時使用。最后,添加一個仿真的輸入源,以供電路邏輯功能仿真時使用
仿真的過程就是在電路中輸入各種情況的編碼,測試相應的輸出,以此來驗證設計是否達到了設計的要求。在仿真設計中為了方便數據的傳輸,將HDB3編碼器輸出端與HDB3解碼器輸入端連接在一起。分別施加系統可能遇到的各種情況,來對輸出端的響應進行檢測,根據仿真可以得知,信號在經過編碼電路之后,編輯碼基本正確。完成仿真之后,通過Quartus II的 Programmer功能,將設計的文件進行下載,并存儲到芯片當中,最后調試集成板。
采用HDB3編碼與FPGA結合的方式,提升了DHB3編碼的靈活性,減少了外圍元件的數量,提高系統集成度,降低了系統設計的難度,并且可以將其添加到不同的信息系統當中,應用范圍廣。本文基于FPGA對HDB3進行了系統設計和實現,并采用仿真電路和仿真設計,對設計的系統進行檢測,通過對信號的波形和頻譜進行分析,實現了教學的實踐,增強了對HDB3編碼原理的認識,具有很強的應用前景。
[1]LEE B-K,EHSANI M.Advanced simulation model for brushless DC motor drives[J].Electric Power Components and Systems,2003,31(9):841-868.
[2]蔣海波,崔新藝,曾凌波,等.無刷直流電機模糊控制系統的建模與仿真[J].西安交通大學學報,2005,39(10):1116-1120.
[3]喬繼紅,顧偉娟.基于 CPLD的HDB3碼編譯碼器的設計[J].北京工商大學學報:自然科學版,2005.23,1:50-52.
[4]Quartus II Version 5.0 Handbook.Altera Corporation[EB/OL].http://www.altera.com.
[5]卿浩,辜承林,唐小琦,等.無刷直流電機模糊控制系統的建模及仿真分析[J].微電機,2006,39(3):19-21.