UHF讀寫器設計中的FM0解碼技術
通過讀寫器命令設置,可以使標簽返回數據采用160 Kb/s的速率,在FM0碼相鄰兩個邊沿之間的間隔只可能有3種情況:0.5T、T、1.5T。在12 MHz的外部時鐘下,“0”的高半位寬“H”和低半位寬“H”為3.125μs,捕獲出的定時器計數值為0x25左右,記為0.5T;收到1個“0”或者1個“1”的位寬為6.25 μs,捕獲出的定時器計數值為Ox4B左右,記為T;在前同步碼中,“V”的位寬為9.375μs,捕獲出的定時器計數值為0x70左右,記為1.5T。解碼流程圖如圖4所示。本文引用地址:http://www.104case.com/article/187636.htm
根據FMO碼特點,當捕獲到一個“H”或者“L”時,要判斷這個O.5T是“0”的前半位還是后半位。是前半位時,要等待下一個0.5T結合成1個“0”;是后半位時,要與之前剩余的半位結合成“0”。捕獲到1個T寬度的數據時,則記為“1”。
在進行對接收到的FMO碼解碼時,因為沒有同步信號,所以必須要先對數據進行同步,也就是要先解碼到連續的12個“0”與之后的1010 V1前同步碼數據,才能對后面真正需要的數據進行解碼。在解前同步碼時,前12個“O”按照2個0.5T組成1個“0”的原則,要有連續的24個0.5T出現才會進行下面的解碼,不然就會返回重新開始統計12個“0”。在之后解碼1010V1時,要注意一個特殊的位“V”,當捕獲到一個1.5T寬度的數據時,才記為“V”;在此期間,只要解碼出一位有錯誤,則返回重新開始統計12個“0”。只有前同步碼全部正確解出時,才能進行對需要的數據進行解碼,依據捕獲到的寬度是0.5T還是1T來判斷是“0”的半位還是一個完整的“1”。
在EPC Gen2使用中,根據讀寫器發送命令的不同,標簽返回的FM0碼里或者存在CRC5,或者存在CRC16,或者沒有校驗,有CRC的碼在解碼完成后都要進行CRC校驗。當檢測到結束位時,CRC校驗正確,則本次通信正常,可以進行下一步的通信。
在實際運用中,讀寫器接收回路上會出現發送回路泄露過來的很多雜波信號以及一些毛刺,會有連續多個“0”出現,會形成連續的24個寬度為0.5T的間隔,可能會誤判成前同步碼開始,但后續的前同步碼解碼過程在出現1.5T寬的“V”時會出錯,在進行校驗或檢測停止位時也可能會出現錯誤,這時也要重新搜索前同步碼。
4 結束語
在UHF讀寫器設計中,關鍵問題就是對接收到的解調數據進行正確解碼,既要解決信號頻率的偏移,也要能在高速通信過程中,快速正確解碼,采用這種解碼方法可以在對FM0碼捕獲位寬的同時進行同步解碼,速度比較快,而且由于對載波頻率的變化不敏感,故讀卡成功率高。
評論