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