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