0 前言
射頻識(shí)別(即RadioFrequencyIdentification,,以下簡稱RFID)技術(shù)是從九十年代興起的一項(xiàng)自動(dòng)識(shí)別技術(shù),。它利用無線射頻方式進(jìn)行非接觸雙向通信,以達(dá)到識(shí)別目的并交換數(shù)據(jù),。與磁卡,、IC卡等接觸式識(shí)別技術(shù)不同,RFID系統(tǒng)的電子標(biāo)簽和讀寫器之間無須物理接觸就可完成識(shí)別,,因此它可實(shí)現(xiàn)多目標(biāo)識(shí)別,、運(yùn)動(dòng)目標(biāo)識(shí)別,可在更廣泛的場合中應(yīng)用,。本文研制的射頻識(shí)別系統(tǒng)和相應(yīng)的數(shù)據(jù)校驗(yàn)算法是對(duì)射頻識(shí)別技術(shù)的一次成功嘗試,。
1 射頻識(shí)別原理
典型的RFID系統(tǒng)由電子標(biāo)簽(Tag),讀寫器(Read/WriteDevice)以及數(shù)據(jù)交換,、管理系統(tǒng)等組成,。電子標(biāo)簽也稱射頻卡,它具有智能讀寫及加密通信的能力,。讀寫器由無線收發(fā)模塊,、天線、控制模塊及接口電路等組成,。射頻識(shí)別是無源系統(tǒng),,即電子標(biāo)簽內(nèi)不含電池,電子標(biāo)簽工作的能量是由讀寫器發(fā)出的射頻脈沖提供。電子標(biāo)簽接收射頻脈沖,,整流并給電容充電,。電容電壓經(jīng)過穩(wěn)壓后作為工作電壓。數(shù)據(jù)解調(diào)部分從接收到的射頻脈沖中解調(diào)出數(shù)據(jù)并送到控制邏輯,??刂七壿嫿邮苤噶钔瓿纱鎯?chǔ)、發(fā)送數(shù)據(jù)或其它操作,。EEPROM用來存儲(chǔ)電子標(biāo)簽的ID號(hào)及其它用戶數(shù)據(jù),。
2 射頻識(shí)別系統(tǒng)設(shè)計(jì)
目前各大芯片廠商都開發(fā)了用于射頻識(shí)別的ASIC(數(shù)字模擬邏輯混合型專用電路),本文研制的射頻識(shí)別系統(tǒng)是基于德州儀器公司的TMS3705基站芯片,,由基站芯片設(shè)計(jì)基站發(fā)射和接收電路,,同時(shí)設(shè)計(jì)基站天線?;赥MS3705基站芯片搭建射頻基站,,臺(tái)灣聯(lián)陽電子提供了基于TMS3705的射頻基站模塊RFM001.
圖1基站芯片及射頻基站模塊
射頻卡發(fā)射數(shù)據(jù)后由射頻基站天線接收,由基站處理后經(jīng)基站的輸出腳把得到的數(shù)據(jù)流發(fā)給微處理器的輸入口,?;局煌瓿尚盘?hào)的接收和整流工作,而信號(hào)的解調(diào)解碼的工作由微處理器來完成,。微處理器要根據(jù)輸入信號(hào)在高電平,、低電平的持續(xù)時(shí)間來模擬時(shí)序進(jìn)行解碼操作。現(xiàn)在比較流行的編碼方法有Mancheester編碼,,Biphase編碼,。
本系統(tǒng)是基于TMS3705基站芯片的射頻識(shí)別系統(tǒng),所采用的射頻卡是RFM001讀寫卡,,要想正確的完成射頻識(shí)別系統(tǒng)的開發(fā),,必須了解所使用的射頻卡的讀寫特性。這些特性包括:EEPROM的存儲(chǔ)分配,、卡的同步信號(hào),、發(fā)射頻率、卡控制邏輯,、寫卡以及其他卡操作的命令格式等,。
2.1 數(shù)據(jù)在RFM001射頻卡中的存儲(chǔ)格式
包含Startbyte共有14bytes數(shù)據(jù)
用戶數(shù)據(jù)區(qū)共有10個(gè)字節(jié),建議采用對(duì)數(shù)據(jù)進(jìn)行CRC校驗(yàn),,故建議第2-9byte為用戶數(shù)據(jù)區(qū),,第10、11byte為CRC校驗(yàn)碼,。
以下給出基站讀取數(shù)據(jù)的時(shí)序(如圖2),,由射頻卡發(fā)出的數(shù)據(jù)采用FSK調(diào)制,。
圖31個(gè)字節(jié)的傳輸格式
每個(gè)Byte的格式如圖3,由10bits組成,,第一個(gè)bit是STARTbit固定為HI,,最后一個(gè)bit是Stopbit固定為LOW,第2-9bit實(shí)際發(fā)送的數(shù)據(jù)(最先收到的bit為LSB),,由于是負(fù)邏輯數(shù)據(jù)需要反相處理(LOW=1,、HI=0)。
2.2 RFM001射頻卡寫入格式
要將用戶數(shù)據(jù)寫入RFM001射頻卡,,必須遵循下列格式,。
用戶數(shù)據(jù)區(qū)的數(shù)據(jù)可由用戶完全決定,但建議采用2byte校驗(yàn)碼的CRC校驗(yàn)來校驗(yàn)數(shù)據(jù),。所以對(duì)于10個(gè)byte的用戶數(shù)據(jù),,前面8個(gè)字節(jié)作為用戶數(shù)據(jù),后面2個(gè)字節(jié)作為用戶數(shù)據(jù)的CRC校驗(yàn)碼,。
對(duì)于一位的寫入采用的是脈寬調(diào)制,,根據(jù)占空比的不同來確定是寫入1還是寫入0,具體占空比見圖4.
圖4位寫入方式
2.3 射頻識(shí)別系統(tǒng)硬件設(shè)計(jì)
射頻識(shí)別系統(tǒng)主要硬件組成是由單片微處理器構(gòu)成射頻信號(hào)的解碼模塊,,其主要構(gòu)成如下框圖,,其中通過RS232串行通訊將數(shù)據(jù)交給PC機(jī)進(jìn)行處理。
圖5射頻識(shí)別系統(tǒng)硬件框圖
2.4 射頻識(shí)別系統(tǒng)軟件設(shè)計(jì)
射頻識(shí)別系統(tǒng)的軟件設(shè)計(jì),,其核心部分是射頻卡發(fā)出的射頻信號(hào)的讀取和用戶數(shù)據(jù)的寫入射頻卡,。
2.4.1 射頻信號(hào)的讀取
將TXCT置為Low,Delay50ms后,,再將TXCT恢復(fù)成High.
此時(shí)約過3ms,SCIO開始輸出數(shù)據(jù),,第一個(gè)Byte即為STARTByte,,總共輸出14Bytes數(shù)據(jù)。見圖6.
圖6射頻信號(hào)讀取控制
2.4.2 射頻信號(hào)的寫入
根據(jù)射頻信號(hào)的寫入格式,,按照如下的寫入時(shí)序,,即可將數(shù)據(jù)寫入射頻卡內(nèi)。見圖7.
圖7射頻卡寫入控制
3 CRC數(shù)據(jù)校驗(yàn)算法
CRC校驗(yàn)是為了檢查信息字段是否傳送正確而設(shè)置的,,它是信息字段的函數(shù),。建議采用CCITT推薦的16位的循環(huán)冗余校驗(yàn)碼(CRC-CCITT),其生成多項(xiàng)式為:G(x)=X16+X12+X5+1.CRC校驗(yàn)碼由于其實(shí)現(xiàn)簡單,,驗(yàn)錯(cuò)率高,,因而在許多通訊場合廣泛采用。本文采用的CRC-CCITT,,能檢測(cè)出所有的雙錯(cuò),、奇數(shù)位錯(cuò),、突發(fā)長度不大于16的突發(fā)錯(cuò)以及99.997%的突發(fā)長度為17的突發(fā)錯(cuò)和99.998%的突發(fā)長度大于或等于18的突發(fā)錯(cuò)。CRC校驗(yàn)碼的數(shù)學(xué)原理本文在此不作介紹,。本文在這里說明怎樣實(shí)現(xiàn)CRC校驗(yàn),。CRC校驗(yàn)碼的運(yùn)算可以用移位寄存器和半加器來實(shí)現(xiàn)。如附圖8所示,。
圖8CRC校驗(yàn)實(shí)現(xiàn)原理
發(fā)送端的校驗(yàn)過程:
1)先設(shè)定CRC校驗(yàn)碼(2個(gè)bytes)的初始值為00H,,00H(000000000000000)。(圖8中0-15表示CRC的bit0-15),。
2)CRC校驗(yàn)碼全部右移一位,,由A處與要進(jìn)行CRC校驗(yàn)的數(shù)據(jù)的第1個(gè)Bit作XOR運(yùn)算。
3)步驟2運(yùn)算后A處的結(jié)果為1時(shí),,反相MSB(Bit15),,檢查MSB是否為1,是為1時(shí)則反相Bit13和Bit10,,不是則轉(zhuǎn)到步驟4.
A處的結(jié)果為0時(shí),,檢查MSB是否為1,是為1時(shí)則反相Bit3和Bit10,,不是則轉(zhuǎn)到步驟4.
4)檢查A處是否已做64次,,不是,重復(fù)步驟2到4.
5)重復(fù)2-4,,做CRC運(yùn)算,,所得最后數(shù)值就是CRC校驗(yàn)碼。
接收端校驗(yàn)的過程,,其實(shí)就是所有信息碼加上CRC校驗(yàn)碼作為一個(gè)整體,,再求一次CRC校驗(yàn)的過程,如果最后結(jié)果是全零,,則表示CRC校驗(yàn)正確,,否則表示錯(cuò)誤。由于和發(fā)送端實(shí)現(xiàn)原理相同,,這里就不再重復(fù),。
雖然上面是以一種硬件實(shí)現(xiàn)的方法為例說明,但按照其中描述的數(shù)據(jù)流向卻可以輕松的由軟件實(shí)現(xiàn),。由于所討論的射頻識(shí)別系統(tǒng)的傳輸速率不大,,建議在這里不用專門硬件而用軟件方式實(shí)現(xiàn)CRC校驗(yàn),其計(jì)算量是很小的,。限于篇幅,,未列出源程序。
4 結(jié)論
本文研制的射頻識(shí)別系統(tǒng)已成功應(yīng)用于投幣式洗衣機(jī)的替代產(chǎn)品,,具有較好的實(shí)際使用效果,。射頻卡中存有使用洗衣機(jī)的次數(shù),,射頻識(shí)別系統(tǒng)識(shí)別到合法卡后,洗衣機(jī)開始運(yùn)轉(zhuǎn),,同時(shí),,射頻卡中的使用次數(shù)相應(yīng)減少,從而替代了投幣,。