發布時間:所屬分類:計算機職稱論文瀏覽:1次
摘 要: 摘 要:為了研究 H D B3 碼的編碼原理,采用了兩種方法來實現 H D B3 碼編碼器。方案一:先進行非 0 碼的極性變化及帶極性的插 V 操作,然后再進行帶極性插 B 操作;方案二:先進行插 V 操作,再進行插 B 操作,最后再進行極性變化。最后驗證可得,當時鐘頻率為 100 M H
摘 要:為了研究 H D B3 碼的編碼原理,采用了兩種方法來實現 H D B3 碼編碼器。方案一:先進行非 0 碼的極性變化及帶極性的插 V 操作,然后再進行帶極性插 B 操作;方案二:先進行插 V 操作,再進行插 B 操作,最后再進行極性變化。最后驗證可得,當時鐘頻率為 100 M H z時,雖然兩種方案都能實現 H D B3 碼的編碼,并且功耗相同,但是兩種方案硬件電路所占用的總邏輯單元不相同,方案二占用的總邏輯單元比方案一少 9 個。因此,在功耗一定的情況下,方案二優于方案一。
關鍵詞:FPG A ;H D B3 碼;邏輯資源;功耗
為了適應信道,信號在傳輸前一般要進行編碼處理[1]。編碼形式多種多樣,而 H D B3 碼低頻成分少,連續的 0 不超過 3 個,而且無直流特性,所以應用范圍較廣[2]。本研究采用 V H D L 語言,設計了兩種 H D B3 碼編碼器,并對這兩種編碼系統進行了對比分析[3]。
1、碼編碼原理
H D B3 碼主要由 3 個關鍵步驟獲得:序列極性變化、序列插 V 操作及序列插 B 操作[4]。
序列極性變化:檢測到非 0 碼時,將其極性依次正負變化[5 6]。
序列插 V 操作:序列中若檢測到連續 4 個 0,則在該處插入 V ,其他情況原樣輸出。
序列插 B 操作:判斷輸入序列中兩個相鄰 V 符號之間的非 0 碼個數,如果其值為偶數,那么便將 B 碼插入序列中對應的位置,否則就保持原樣輸出。
本設計中,兩種方案的 3 個關鍵步驟執行順序不一樣。方案一首先對序列進行非 0 碼極性變化及帶極性插 V 操作,然后再對序列進行帶極性插 B 操作;方案二首先進行插 V 操作,然后再進行插 B 操作,最后再進行極性變化。
2、碼的硬件電路
2.1 方案一的硬件電路
chaV 是非 0 碼極性形成及帶極性插 V 模塊,在此硬件電路中,該功能模塊用 flag_v_1﹙flag_v_v﹚代表前 一個非 0 碼﹙前一 V 碼﹚的極性,若標志信號為 0 則代表極性為負,若為 1 則為正[7]。當輸入信號 input為 1 時,根據 flag_v_1 的值,out_v 輸出對應的極性信號[8];當輸入信號 input為 0 時,那么內置計數器就進行加一操作,與此同時判斷該計數器的值是否等于 4,如果剛好等于 4,那么 out_v 端口便輸出一個 V﹙首個 V 的正負號與前一個非 0 符號保持相同,后面 V 的符號正負變化﹚,否則原樣輸出[9]。
chaB 是帶極性的插 B 模塊,在此硬件電路中,該功能模塊采用四位移位寄存器來進行帶極性插 B 操作,當 chaV 模塊的輸出信號 out_v 輸入移位寄存器時,chaB 模塊中的移位寄存器的第四級同時判斷該輸入信號是否為 V﹙+ V 或 V﹚,如果是,便繼續判斷當前 V 的極性是否和前一個非 0 碼極性相同。如果相同,那么 out_b 便原樣輸出,如果不相同,那么 out_b 便輸出與當前 V 極性相同的 B﹙由于采用了移位寄存器,使得最后輸出的 B 在兩個 V 碼之間后一個非 0 符號后﹚。
2.2 方案二的硬件電路
方案二的硬件電路如圖 2 所示,chaV 、chaB、jixing 分別是插 V 模塊、插 B 模塊和極性形成模塊。
在此硬件電路中,chaV 模塊先判斷輸入信號 input是否為 0,若是,則繼續判斷是否為第 4 個 0,若是,則將 out_v 輸出 V﹙不帶極性﹚,其他情況原樣輸出。chaB 模塊采用四位移位寄存器來進行不帶極性插 B 操作,當 chaV 模塊輸出的信號 out_v 輸入移位寄存器時,chaB 模塊中的移位寄存器的第 4 級同時判斷該輸入信號是否為 V 。若是 V ,則開始計數非 0 碼的個數,直到下一個 V 結束計數,同時判斷該計數值的奇偶性,若為偶數,則輸出 B﹙由于 chaB 模塊采用了移位寄存器,使得最終輸出的 B 在 2 個 V 碼中后一非 0 符號后﹚,否則原樣輸出。
當 out_b 信號進入 jixing 模塊時,該模塊根據 flag 信號﹙前一非 0 碼與 B 的極性標志﹚對 0 和 B 進行正負極性交替,同時也可得到 V 的極性,故輸出 H D B3 碼 out_t。
3、仿真結果及分析
3.1 方案一的仿真結果與分析
在此方案中,input是輸入的待編碼信號,clk 為 100 M H z時鐘端,clr是清零端,flag_v_1、flag_v_v 分別是前一非 0 碼、前一 V 碼的極性標志。由仿真可得,當輸入 10011000011100001100001011 時,插 V 操作及極性形成信號 out_v 是 + 100 1 + 1000 + V 1 + 1 1000 V + 1 1000 + V 10 + 1 1﹙如果用 0 代表 0,1 代表 B,2 代 表 1,3 代 表 V ,5 代 表 + B,6 代 表 + 1,7 代 表 + V ,那 么 對 應 的 十 進 制 為 60026000726200036200072062﹚,插 B 后的信號﹙H D B3 碼編碼信號﹚out_b 是 + 100 1 + 1000 + V 1 + 11000 V + 1 1 + B00 + V 1 + 1 1﹙對應的十進制為 60026000726200036250072062﹚。但由于使用了移位寄存器,導致輸出有延遲[10]。
方案一的功耗如圖 4 所示,總功耗為 63.86 m W ,靜態功耗為 60.15 m W ,I/O 功耗為 3.71 m W 。
方案一的資源占用如圖 5 所示,組合邏輯占用 57 個,邏輯單元共占用 69 個。
3.2 方案二的仿真結果與分析
方案二的仿真結果如圖 6 所示
10011000V 111000V 11000V 1011﹙其中 0 代 表 0,1 代 表 1,2 代 表 B,3 代 表 V ,那 么 對 應 的 十 進 制 為 10011000311100031100031011﹚,插 B 操作后的信號 out_b 是 0011000V 111000V 11B00V 1011﹙0 代表 0,1 代表 1,2 代表 B,3 代表 V ,那么對應的十進制為 10011000311100031120031011 ﹚。極性轉化后的信號﹙H D B3 碼編碼信號﹚out_t是 + 100 1 + 1000 + V 1 + 1 1000 V + 1 1 + B00 + V 10 + 1 1﹙0 代表 0,1 代表 B,2 代 表 1,3 代 表 V ,5 代 表 + B,6 代 表 + 1,7 代 表 + V ,那 么 對 應 的 十 進 制 為 60026000726200036250072062﹚。但由于使用了移位寄存器,導致輸出有延遲。
方案二的功耗如圖 7 所示,總功耗為 63.86 m W ,靜態功耗為 60.15 m W ,I/O 功耗為 3.71 m W 。
4、對比分析
本設計中,兩種方案的 3 個關鍵步驟執行順序不一樣,方案一首先進行非 0 碼極性變化及帶極性插 V 操作、然后再進行帶極性插 B 操作;方案二首先進行插 V 操作,然后進行插 B 操作,最后再進行極性變化。雖然上述兩種方案都能對輸入信號進行 H D B3 碼編碼,并且功耗相同,但所占用的邏輯資源不同,性能比較如表 1 所示。
從表 1 可以看出,在功耗相同的情況下,方案二占用的總邏輯單元比方案一少 9 個,所以相對來說方案二優于方案一。本程序設計可能不是最優的,結果還稍有誤差,所以在后續的工作中需要繼續優化這兩種方案。——論文作者:楊 盢,肖順文
參考文獻:
[1] 段吉海,黃智偉.數字通信系統建模與設計[M ].北京:電子工業出版社,2004:1 288.
[2] 樊昌信,張甫翊,吳成柯.通信原理[M ].5 版.北京:國防工業出版社,2001:77 78.
[3] 徐斌.基于 FPG A 的 LD PC 碼譯碼器研究[D ].廈門:華僑大學,2018.
[4] 龍光利.基于 CPLD 的 H D B3 碼編解碼電路的設計[J].微計算機信息,2010,26﹙2﹚:169 171.
[5] 謝文濤.基于 SO PC 技術的 H D B3 編碼器設計[D ].西安:長安大學,2014.
[6] 李春暉.基于 System V iew 的 H D B3 編碼器設計[J].信息通信,2014﹙9﹚:41.
[7] 郝志強,劉興斌,胡金海,等.基于 FPG A 的 H D B3 編解碼方法及其在陣列電導探針流動測井中的應用[J].石油儀器, 2012,26﹙2﹚:76 79.
[8] 程斌.三階高密度雙極性 H D B3 碼編解碼的 V H D L 設計及仿真[D ].蘇州:蘇州大學,2008.
[9] 王曉聰,何永泰.基于 FPG A 的 H D B3 碼編碼器優化設計與分析[J].現代電子技術,2011,34﹙24﹚:146 148.
[10] 潘松,黃繼業.ED A 實用教程[M ].北京:科學出版社,2005:77 79.