射頻識別技術(shù)軟硬件系統研制
將TXCT置為L(cháng)ow,Delay 50 ms后,再將TXCT恢復成High.
此時(shí)約過(guò)3 ms,SCIO開(kāi)始輸出數據,第一個(gè)Byte即為START Byte,總共輸出14 Bytes數據。見(jiàn)圖6.
根據射頻信號的寫(xiě)入格式,按照如下的寫(xiě)入時(shí)序,即可將數據寫(xiě)入射頻卡內。見(jiàn)圖7.
圖7 射頻卡寫(xiě)入控制
3 CRC數據校驗算法
CRC校驗是為了檢查信息字段是否傳送正確而設置的,它是信息字段的函數。建議采用CCITT推薦的16位的循環(huán)冗余校驗碼(CRC-CCITT),其生成多項式為:G(x)=X16+X12+X5+1.CRC 校驗碼由于其實(shí)現簡(jiǎn)單,驗錯率高,因而在許多通訊場(chǎng)合廣泛采用。本文采用的CRC-CCITT,能檢測出所有的雙錯、奇數位錯、突發(fā)長(cháng)度不大于16的突發(fā)錯以及99.997%的突發(fā)長(cháng)度為17的突發(fā)錯和99.998%的突發(fā)長(cháng)度大于或等于18的突發(fā)錯。CRC校驗碼的數學(xué)原理本文在此不作介紹。本文在這里說(shuō)明怎樣實(shí)現CRC校驗。CRC校驗碼的運算可以用移位寄存器和半加器來(lái)實(shí)現。如附圖8所示。
圖8 CRC校驗實(shí)現原理
發(fā)送端的校驗過(guò)程:
1)先設定CRC校驗碼(2個(gè)bytes) 的初始值為00H,00H(000000000000000).(圖8中0-15表示CRC的bit0-15).
2)CRC校驗碼全部右移一位,由A處與要進(jìn)行CRC校驗的數據的第1個(gè)Bit作XOR運算。
3)步驟2運算后A處的結果為1時(shí),反相MSB(Bit15),檢查MSB是否為1,是為1時(shí)則反相Bit13和Bit10,不是則轉到步驟4.
A處的結果為0時(shí),檢查MSB是否為1,是為1時(shí)則反相Bit3和Bit10,不是則轉到步驟4.
4)檢查A處是否已做64次,不是,重復步驟2到4.
5)重復2-4,做CRC運算,所得最后數值就是CRC校驗碼。
接收端校驗的過(guò)程,其實(shí)就是所有信息碼加上CRC校驗碼作為一個(gè)整體,再求一次CRC校驗的過(guò)程,如果最后結果是全零,則表示CRC校驗正確,否則表示錯誤。由于和發(fā)送端實(shí)現原理相同,這里就不再重復。
雖然上面是以一種硬件實(shí)現的方法為例說(shuō)明,但按照其中描述的數據流向卻可以輕松的由軟件實(shí)現。由于所討論的射頻識別系統的傳輸速率不大,建議在這里不用專(zhuān)門(mén)硬件而用軟件方式實(shí)現CRC校驗,其計算量是很小的。限于篇幅,未列出源程序。
4 結 論
本文研制的射頻識別系統已成功應用于投幣式洗衣機的替代產(chǎn)品,具有較好的實(shí)際使用效果。射頻卡中存有使用洗衣機的次數,射頻識別系統識別到合法卡后,洗衣機開(kāi)始運轉,同時(shí),射頻卡中的使用次數相應減少,從而替代了投幣。
評論