基于曼徹斯特碼的解析方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信號處理技術(shù)領(lǐng)域,特別是涉及一種基于曼徹斯特碼的解析方法及裝置。
【背景技術(shù)】
[0002]曼徹斯特編碼(Manchester Encoding)是一種同步時鐘編碼技術(shù),也叫做相位編碼(PE),在以太網(wǎng)媒介系統(tǒng)中,由于曼碼中含豐富的時鐘信號,直流分量基本為零,接收器能夠較容易恢復(fù)同步時鐘,并同步解調(diào)出數(shù)據(jù),具有很好的抗干擾性能,采用一個同步位流的時鐘和數(shù)據(jù)進行編碼,更適合于物理層中信道傳輸。在本專利文獻中,沒有特別說明即使用“曼徹斯特編碼信號”來特指采用曼徹斯特編碼規(guī)則進行編碼,繼而進行傳輸?shù)臄?shù)據(jù)。
[0003]曼徹斯特編碼規(guī)則中,曼徹斯特編碼信號中每一位數(shù)據(jù)的中間有一個跳變,由高電平向低電平跳變代表數(shù)據(jù)位“I”,由低電平向高電平跳變代表數(shù)據(jù)位“O”,該跳變作為數(shù)據(jù)的同時也提供時鐘信號。傳統(tǒng)技術(shù)中,曼徹斯特編碼信號中一個數(shù)據(jù)序列“001101”如圖1所示,由此可知,曼徹斯特編碼信號中每一位數(shù)據(jù)是由中間發(fā)生跳變的一對單電平組成。
[0004]現(xiàn)有的曼碼進行解析和編碼可選擇專業(yè)的曼碼解析芯片、FPGA(現(xiàn)場可編程門陣列)和單片機等芯片實現(xiàn),然而就成本而言,專業(yè)的曼碼解析芯片和FPGA毫無優(yōu)勢,反而因其功率和制造成本較高,不適合推廣應(yīng)用,而目前常見的基于MCU曼碼解析,其軟件設(shè)計比較麻煩,解碼的錯誤率比較高。
【發(fā)明內(nèi)容】
[0005]鑒于以上所述現(xiàn)有技術(shù)的缺點,本發(fā)明的目的在于提供一種基于曼徹斯特碼的解析方法及裝置,用于解決現(xiàn)有技術(shù)基于專門芯片進行曼碼解析成本過高,且常見基于MCU進行曼徹斯特碼解析軟件編寫復(fù)雜、解碼準(zhǔn)確率不高的問題。
[0006]為實現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種基于曼徹斯特碼的解析方法,包括:
[0007]采集曼徹斯特編碼信號;
[0008]獲取該曼徹斯特編碼信號中數(shù)據(jù)頭;
[0009]檢測該數(shù)據(jù)頭對應(yīng)高電平的持續(xù)時間為整數(shù)倍或半數(shù)倍,確定該曼徹斯特編碼信號的第一位二進制碼以及緩存中第二位二進制碼所對應(yīng)的指針;
[0010]依次讀取相鄰間隔高電平或低電平的持續(xù)時間,根據(jù)數(shù)據(jù)頭逐位判斷該曼徹斯特編碼信號中數(shù)據(jù)位的二進制碼值;
[0011]按位依次組合所述曼徹斯特編碼信號中各數(shù)據(jù)位的二進制碼值得到相應(yīng)地解碼值。
[0012]優(yōu)選地,所述按位依次組合所述曼徹斯特編碼信號中各數(shù)據(jù)位的二進制碼值得到相應(yīng)地解碼值的步驟之前,還包括:
[0013]將延時定時器設(shè)為預(yù)設(shè)時間的中斷模式,調(diào)整定時器為輸入捕獲模式,在預(yù)設(shè)時間內(nèi)檢測是否有曼徹斯特編碼信號觸發(fā),根據(jù)觸發(fā)的曼徹斯特編碼信號檢測數(shù)據(jù)包是否接收完成。
[0014]優(yōu)選地,所述采集曼徹斯特編碼信號的步驟,具體為:
[0015]采用雙沿捕獲的模式,記錄曼徹斯特編碼信號相鄰沿的數(shù)值所對應(yīng)的高、低電平及持續(xù)時間,存入緩存內(nèi)。
[0016]優(yōu)選地,所述獲取該曼徹斯特編碼信號中數(shù)據(jù)頭的步驟,具體為:
[0017]根據(jù)高電平的持續(xù)時間判斷是否為數(shù)據(jù)頭,且高電平持續(xù)時間至少不低于2T。
[0018]優(yōu)選地,檢測該數(shù)據(jù)頭對應(yīng)高電平的持續(xù)時間為整數(shù)倍或半數(shù)倍,確定該曼徹斯特編碼信號的第一位二進制碼的步驟,具體為:
[0019]當(dāng)檢測該數(shù)據(jù)頭對應(yīng)高電平的持續(xù)時間為整數(shù)倍時,則可確定該第一位二進制碼為“O”;當(dāng)檢測該數(shù)據(jù)頭對應(yīng)高電平的持續(xù)時間為半數(shù)倍時,則可確定該第一位二進制碼為丄;
[0020]依次讀取緩存中曼徹斯特編碼信號,從第二位二進制碼依次解析曼徹斯特編碼信號;
[0021]當(dāng)數(shù)據(jù)頭為高電平且持續(xù)時間為整數(shù)倍,在緩存中,第二位二進制碼低電平為數(shù)據(jù)頭數(shù)據(jù)偏移3的數(shù)據(jù);
[0022]當(dāng)數(shù)據(jù)頭為高電平的持續(xù)時間為半數(shù)倍,在緩存中,第二位二進制碼高電平為數(shù)據(jù)頭數(shù)據(jù)偏移2的數(shù)據(jù)。
[0023]優(yōu)選地,所述依次讀取相鄰間隔高電平或低電平的持續(xù)時間,根據(jù)數(shù)據(jù)頭逐位判斷該曼徹斯特編碼信號中數(shù)據(jù)位的數(shù)值的步驟,具體為:
[0024]以讀取高電平的持續(xù)時間或低電平的持續(xù)時間進行解碼;
[0025]當(dāng)讀取高電平的持續(xù)時間為T,則該位二進制碼為“O”,其后一位二進制碼為“I”;當(dāng)讀取高電平的持續(xù)時間為0.5T,且前一位低電平時間為T,則該位二進制碼為“O”;當(dāng)讀取高電平的持續(xù)時間為0.5T,其前一低電平時間為0.5T,則該位二進制碼與前一位二進制碼相同;
[0026]當(dāng)讀取低電平的持續(xù)時間為T,則該位二進制碼為“I”,其后一位二進制碼為“O”;當(dāng)讀取低電平的持續(xù)時間為0.5T,且前一位高電平時間為T,則該位二進制碼為“I”;當(dāng)讀取低電平的持續(xù)時間為0.5T,其前一高電平時間為0.5T,則該位二進制碼與前一位二進制碼相同。
[0027]優(yōu)選地,所述按位依次組合所述曼徹斯特編碼信號中各數(shù)據(jù)位的二進制碼值得到相應(yīng)地解碼值的步驟,具體為:
[0028]按照該曼徹斯特編碼信號的各個數(shù)據(jù)位的所對應(yīng)的二進制碼依次排列,組合成該曼徹斯特編碼信號的解碼值。
[0029]本發(fā)明的另一目的在于提供一種基于曼徹斯特碼的解析裝置,包括:
[0030]采集單元,適用于采集曼徹斯特編碼信號;
[0031]獲取單元,適用于獲取該曼徹斯特編碼信號中數(shù)據(jù)頭;
[0032]確定單元,適用于檢測該數(shù)據(jù)頭對應(yīng)高電平的持續(xù)時間為整數(shù)倍或半數(shù)倍,確定該曼徹斯特編碼信號的第一位二進制碼以及緩存中第二位二進制碼所對應(yīng)的指針;
[0033]判斷單元,適用于依次讀取相鄰間隔高電平或低電平的持續(xù)時間,根據(jù)數(shù)據(jù)頭逐位判斷該曼徹斯特編碼信號中數(shù)據(jù)位的二進制碼值;
[0034]組合單元,適用于按位依次組合所述曼徹斯特編碼信號中各數(shù)據(jù)位的二進制碼值得到相應(yīng)地解碼值。
[0035]優(yōu)選地,還包括:
[0036]檢測單元,適用于將延時定時器設(shè)為預(yù)設(shè)時間的中斷模式,調(diào)整定時器為輸入捕獲模式,在預(yù)設(shè)時間內(nèi)檢測是否有曼徹斯特編碼信號觸發(fā),根據(jù)觸發(fā)的曼徹斯特編碼信號檢測數(shù)據(jù)包是否接收完成。
[0037]如上所述,本發(fā)明的基于曼徹斯特碼的解析方法及裝置,具有以下有益效果:
[0038]通過采集曼徹斯特編碼信號,獲取對應(yīng)的數(shù)據(jù)頭,根據(jù)數(shù)據(jù)頭周期長度確定曼徹斯特編碼信號第一位二進制碼,讀取該曼徹斯特編碼信號的相鄰間隔的高電平或低電平持續(xù)時間,根據(jù)持續(xù)時間為T或0.5T結(jié)合其前一位的二進制碼值,依次識別當(dāng)前數(shù)據(jù)位的二進制碼值。在曼徹斯特碼解析過程中,采用了數(shù)據(jù)頭部與高、低電平持續(xù)時間相結(jié)合的解析方式,從而大大提高了曼徹斯特碼的解碼率,同時,其該方法的軟件設(shè)計,代碼量小,結(jié)構(gòu)簡單,配合微控制器實現(xiàn)曼碼解碼,具有成本低廉、低功耗等優(yōu)點。
【附圖說明】
[0039]圖1顯示為本發(fā)明實施例中的一種基于曼徹斯特碼的解析方法流程圖;
[0040]圖2顯示為本發(fā)明實施例中的一種基于曼徹斯特碼的解析相鄰兩位示意圖;
[0041]圖3顯示為本發(fā)明實施例中的一種基于曼徹斯特碼的解析方法的實施例流程圖;
[0042]圖4顯示為本發(fā)明實施例中的一種基于曼徹斯特碼的解析裝置結(jié)構(gòu)框圖;
[0043]圖5顯示為本發(fā)明實施例中的一種基于曼徹斯特碼的解析裝置的實施例結(jié)構(gòu)圖。
[0044]元件標(biāo)號說明:
[0045]1、采集單元,2、獲取單元,3、確定單元,4、判斷單元,5、組合單元,6、檢測單元,7、傳感器,8、網(wǎng)關(guān)。
【具體實施方式】
[0046]以下通過特定的具體實例說明本發(fā)明的實施方式,本領(lǐng)域技術(shù)人員可由本說明書所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點與功效。本發(fā)明還可以通過另外不同的【具體實施方式】加以實施或應(yīng)用,本說明書中的各項細節(jié)也可以基于不同觀點與應(yīng)用,在沒有背離本發(fā)明的精神下進行各種修飾或改變。
[0047]請參閱圖1至圖5。需要說明的是,本實施例中所提供的圖示僅以示意方式說明本發(fā)明的基本構(gòu)想,遂圖式中僅顯示與本發(fā)明中有關(guān)的組件而非按照實際實施時的組件數(shù)目、形狀及尺寸繪制,其實際實施時各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復(fù)雜。
[0048]實施例一
[0049]如圖1所示,為本發(fā)明實施例中的一種基于曼徹斯特碼的解析方法流程圖,詳述如下:
[0050]步驟SlOl,采集曼徹斯特編碼信號;
[0051]其中,采用雙