曼徹斯特解密 曼徹斯特編碼解碼方法與流程

2021-10-17 02:02:06 字數 2115 閱讀 6923

本發明涉及一種曼徹斯特編碼解碼方法,屬於積體電路技術領域。

背景技術:

rfid在電子領域被廣泛採用,解125khz rfid編碼可以通過專用晶元或者微控制器軟體來解決。使用專用晶元會增加硬體複雜度,增加生產成本,而通常的微控制器軟體解曼徹斯特編碼都需要開啟定時器的邊沿捕捉,並儲存高低電平的持續時間,通過高低電平的持續時間來判定翻轉的電平是高還是低或是空跳轉,這種方法需要邊沿捕計時,並且考慮空閒跳變的干擾,浪費程式資源空間。

技術實現要素:

為了解決上述問題,本發明提供一種曼徹斯特編碼解碼方法,該方法僅需要1個定時器即可,只需要記錄跳變時間,可以大大降低軟體開銷,節省ram與rom。

解決上述問題的技術方案為:一種曼徹斯特編碼解碼方法,包括以下步驟:

s1、起始幀讀取,起始幀為連續n個1,因為停止位為0,緊隨其後的起始幀必然為1,起始幀的第乙個位元位必然為1個跳變,即在n個t0週期裡,每隔1/2*t0必有跳變,有2*n-1個跳變邊沿,在n*t0時間內檢測是否有2*n-1個跳變,如果有則說明起始幀判定正確,此時讀取資料並記錄;

s2、資料幀讀取,起始幀讀取結束後立即進入資料幀讀取階段,延時大於1/2*t0小於t0,等待跳變邊沿,跳變後的電平資料即為當前資料幀位元位資料;

s3、校驗資料讀取是否正確。

進一步地,s1中具體步驟為,設定起始幀有效跳變時間在20*t1~30*t1之間,如果在此區間內產生跳變,則起始幀有效計數加1,否則起始幀有效計數清零;如果起始幀有效計數計數值大於等於2*n-2,則進入資料幀讀取階段。

進一步地,s2中具體步驟為,起始幀讀取完畢後,直接進入資料幀讀取階段,延時4/5*t0,即40*t1,等待邊沿跳變,記錄跳變後的電平資料並將資料計數器加1;資料計數器大於等於55個位元,則表示資料幀讀取完畢。

進一步地,s3中採用行列行列奇偶校驗或冗餘校驗。

進一步地,對資料幀進行奇偶校驗的具體步驟為,每行第五個與每列第十個數分別奇偶校驗,如果行列校驗都通過則表明rfid標籤接收正確。

本發明的優點在於:通過對起始幀的判斷和資料讀取省去了邊沿捕計時,該方法僅需要1個定時器即可,只需要記錄跳變時間,可以大大降低軟體開銷,節省ram與rom。

下面結合附圖對本發明作進一步詳細描述。

附圖說明

圖1為起始幀判斷示意圖;

圖2為資料幀判斷示意圖;

圖3為起始幀判斷**流程圖;

圖4為資料幀**流程圖。

具體實施方式

為了加深對本發明的理解,下面將結合實施例和附圖對本發明作進一步詳述,該實施例僅用於解釋本發明,並不構成對本發明保護範圍的限定。

參見圖1-4所示,本發明所提供的一種曼徹斯特編碼解碼方法,包括

125khz rfid訊號的載波頻率為125khz,被調製訊號的頻率為2khz,採用曼徹斯特編碼,曼徹斯特編碼的編碼方式如下:電平由高到低翻轉代表1,由低到高代表0。

通過檢測邊沿變換的時間計數判斷起始幀,記錄下起始幀結束位置,幀結束位置確定後,延時3/4個週期等待邊沿跳變,記錄跳變後的電平訊號,跳變後的訊號,就是所需的rfid解碼資料。該方法僅需要1個定時器即可,只需要記錄跳變時間,可以大大降低軟體開銷,節省ram與rom。

具體實施方法:

設解調訊號的週期為t0,取樣週期為t1,t1遠小於t0,在此設定50*t1=t0。起始幀1的個數為n個。

1、起始幀讀取:

起始幀為連續n個1,因為停止位為0,緊隨其後的起始幀必然為1,起始幀的第乙個位元位必然為1個跳變,即在n個t0週期裡,有2*n-1個跳變邊沿。設定起始幀有效跳變時間在20*t1~30*t1之間,如果在此區間內產生跳變,則起始幀有效計數加1,否則起始幀有效計數清零。如果起始幀有效計數值大於等於2*n-2,則進入資料幀讀取階段;

2、資料幀讀取:

起始幀讀取完畢後,直接進入資料幀讀取階段,延時4/5*t0,即40*t1,等待邊沿跳變,記錄跳變後的電平資料並將資料計數器加1。資料計數器大於等於55個位元,則表示資料幀讀取完畢。

3、奇偶校驗

為防止資料接收錯誤,要對資料幀進行奇偶校驗。每行第五個與每列第十個數分別奇偶校驗。如果行列校驗都通過則表明rfid標籤接收正確。

上述步驟所對應的的**為:

1.1、起始幀判斷**:

1.2、資料幀判斷**

以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。

曼徹斯特編碼 差分曼徹斯特編碼

1 曼徹斯特編碼 manchester encoding 位中間電平從低到高跳變表示 0 位中間電平從高到低跳變表示 1 2 差分曼徹斯特編碼 differential manchester encoding 在最初訊號的時候,即第乙個訊號時 如果中間位電平從低到高,則表示0 如果中間位電平從高到低...

曼徹斯特編碼

曼徹斯特編碼 sun 403 曼徹斯特編碼 manchester encoding 也叫做相位編碼 pe 是乙個同步時鐘編碼技術,被物理層使用來編碼乙個同步位流的時鐘和資料。曼徹斯特編碼被用在乙太網媒介系統中。曼徹斯特編碼提供乙個簡單的方式給編碼簡單的二進位制序列而沒有長的週期沒有轉換級別,因而防止...

曼徹斯特編碼

曼徹斯特編碼 manchester encoding 也叫做相位編碼 pe 是乙個同步時鐘編碼技術,被物理層使用來編碼乙個同步位流的時鐘和資料。曼徹斯特編碼被用在乙太網媒介系統中。曼徹斯特編碼提供乙個簡單的方式給編碼簡單的二進位制序列而沒有長的週期沒有轉換級別,因而防止時鐘同步的丟失,或來自低頻率位...