數(shù)字基帶傳輸系統(tǒng)的FPGA設(shè)計(jì)與實(shí)現(xiàn)
2 編、譯碼模塊的設(shè)計(jì)與仿真
編、譯碼模塊的設(shè)計(jì)是在QuartusⅡ軟件開發(fā)平臺(tái)上,采用VHDL語言來實(shí)現(xiàn)的。
2.1 編碼模塊的設(shè)計(jì)
編碼模塊的方框圖如圖1所示。
四連“0”檢測及補(bǔ)“1”電路 根據(jù)編碼規(guī)則,當(dāng)輸入的信號(hào)遇到四連“0”碼的時(shí)候,四連“0”碼將由取代節(jié)“B00V”或者“000V”取代。因此,首先要檢測出哪些是四連“0”碼,哪些是非四連“0”碼。在檢測出四連“0”碼后,還要將破壞脈沖V加入在第四個(gè)0的位置上。
取代節(jié)選擇電路 當(dāng)需要用取代節(jié)代替四連“0”碼時(shí),應(yīng)判斷采用哪一種取代節(jié),即選擇四連“0”碼中第一個(gè)0碼變?yōu)锽碼,還是變?yōu)?碼。如果傳號(hào)數(shù)為奇數(shù),采用“000V”取代;如果傳號(hào)數(shù)為偶數(shù),則采用“B00V”取代。
破壞點(diǎn)形成電路 將補(bǔ)放的“1”碼變成破壞點(diǎn),使后續(xù)的V碼與前面相鄰的“1”碼極性相同,破壞了交替反轉(zhuǎn)的規(guī)律,形成了破壞點(diǎn)。
單—雙極性變換電路 HDB3碼極性形成電路有兩個(gè)功能:一是正常傳號(hào)“B”正負(fù)交替極性的形成;二是破壞點(diǎn)“V”脈沖的正負(fù)交替極性的形成,并輸出HDB3碼。
2.2 譯碼模塊的設(shè)計(jì)
譯碼模塊的方框圖如圖2所示。
破壞點(diǎn)檢測電路 即找V碼,在s消息的二進(jìn)制代碼中,若找出相鄰兩個(gè)同極性的碼元,則可以確定后一個(gè)碼元必為V碼。
取代節(jié)去除電路 在V碼出現(xiàn)時(shí)刻將信碼流中的V碼及其前面的第三位碼置為“0”,即去掉取代節(jié)。
雙—單極性變換電路 進(jìn)行全波整流,將“+1”和“-1”還原為1。變換后的碼元即為原信息碼。
2.3 編碼模塊的仿真
根據(jù)圖1所示的編碼模塊方框圖在QuartusⅡ平臺(tái)上用VHDL語言編程,編譯通過后可進(jìn)行仿真。
當(dāng)輸入信碼為全“0”碼時(shí),編碼結(jié)果為0-100-1+100+1-100-1+100+1……的序列,如圖3所示。圖中clock為時(shí)鐘信號(hào),data_in為輸入信碼,data_out為編碼后的結(jié)果。data_out為00,表示“0”電平;data_out為01(十進(jìn)制數(shù)字為1),表示“+1”電平;data_out為11(十進(jìn)制數(shù)字為3),表示“-1”電平。
當(dāng)輸入信碼為11111000001111100000……時(shí),編碼結(jié)果為-1+1-1+1-1000-10+1-1+1-1+1000+1……的序列,如圖4所示。
由圖3,圖4可知,編碼結(jié)果完全正確。
評論