你的位置:首頁 > RF/微波 > 正文

射頻識別技術(shù)軟硬件系統(tǒng)研制

發(fā)布時(shí)間:2009-09-29

中心議題:
  • 射頻識別原理
  • 射頻識別系統(tǒng)設(shè)計(jì)
解決方案:
  • 采用對數(shù)據(jù)進(jìn)行CRC校驗(yàn)
  • 通過RS232串行通訊將數(shù)據(jù)交給PC機(jī)處理
  • 采用CCITT推薦的16位的循環(huán)冗余校驗(yàn)碼(CRC-CCITT)
射頻識別(即RadioFrequencyIdentification,以下簡稱RFID)技術(shù)是從九十年代興起的一項(xiàng)自動(dòng)識別技術(shù)。它利用無線射頻方式進(jìn)行非接觸雙向通信,以達(dá)到識別目的并交換數(shù)據(jù)。與磁卡、IC卡等接觸式識別技術(shù)不同,RFID系統(tǒng)的電子標(biāo)簽和讀寫器之間無須物理接觸就可完成識別,因此它可實(shí)現(xiàn)多目標(biāo)識別、運(yùn)動(dòng)目標(biāo)識別,可在更廣泛的場合中應(yīng)用。本文研制的射頻識別系統(tǒng)和相應(yīng)的數(shù)據(jù)校驗(yàn)算法是對射頻識別技術(shù)的一次成功嘗試。
  
射頻識別原理

典型的RFID系統(tǒng)由電子標(biāo)簽(Tag),讀寫器(Read/WriteDevice)以及數(shù)據(jù)交換、管理系統(tǒng)等組成。電子標(biāo)簽也稱射頻卡,它具有智能讀寫及加密通信的能力。讀寫器由無線收發(fā)模塊、天線、控制模塊及接口電路等組成。射頻識別是無源系統(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號及其它用戶數(shù)據(jù)。
  
射頻識別系統(tǒng)設(shè)計(jì)
  
目前各大芯片廠商都開發(fā)了用于射頻識別的ASIC(數(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ā)給微處理器的輸入口?;局煌瓿尚盘柕慕邮蘸驼鞴ぷ鳎盘柕慕庹{(diào)解碼的工作由微處理器來完成。微處理器要根據(jù)輸入信號在高電平、低電平的持續(xù)時(shí)間來模擬時(shí)序進(jìn)行解碼操作?,F(xiàn)在比較流行的編碼方法有Mancheester編碼,Biphase編碼。
  
本系統(tǒng)是基于TMS3705基站芯片的射頻識別系統(tǒng),所采用的射頻卡是RFM001讀寫卡,要想正確的完成射頻識別系統(tǒng)的開發(fā),必須了解所使用的射頻卡的讀寫特性。這些特性包括:EEPROM的存儲(chǔ)分配、卡的同步信號、發(fā)射頻率、卡控制邏輯、寫卡以及其他卡操作的命令格式等。
  
1數(shù)據(jù)在RFM001射頻卡中的存儲(chǔ)格式
  
包含Startbyte共有14bytes數(shù)據(jù)
                   

用戶數(shù)據(jù)區(qū)共有10個(gè)字節(jié),建議采用對數(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)制。

                      


                                                               圖3 1個(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).

2RFM001射頻卡寫入格式

  
要將用戶數(shù)據(jù)寫入RFM001射頻卡,必須遵循下列格式。
                      

用戶數(shù)據(jù)區(qū)的數(shù)據(jù)可由用戶完全決定,但建議采用2byte校驗(yàn)碼的CRC校驗(yàn)來校驗(yàn)數(shù)據(jù)。所以對于10個(gè)byte的用戶數(shù)據(jù),前面8個(gè)字節(jié)作為用戶數(shù)據(jù),后面2個(gè)字節(jié)作為用戶數(shù)據(jù)的CRC校驗(yàn)碼。
  
對于一位的寫入采用的是脈寬調(diào)制,根據(jù)占空比的不同來確定是寫入1還是寫入0,具體占空比見圖4.
           
                                                                              圖4位寫入方式
 [page] 
3射頻識別系統(tǒng)硬件設(shè)計(jì)
  
射頻識別系統(tǒng)主要硬件組成是由單片微處理器構(gòu)成射頻信號的解碼模塊,其主要構(gòu)成如下框圖,其中通過RS232串行通訊將數(shù)據(jù)交給PC機(jī)進(jìn)行處理。
                                
                                                      圖5射頻識別系統(tǒng)硬件框圖
  
射頻識別系統(tǒng)軟件設(shè)計(jì)
  
射頻識別系統(tǒng)的軟件設(shè)計(jì),其核心部分是射頻卡發(fā)出的射頻信號的讀取和用戶數(shù)據(jù)的寫入射頻卡。
  
1射頻信號的讀取
  
將TXCT置為Low,Delay50ms后,再將TXCT恢復(fù)成High.
  
此時(shí)約過3ms,SCIO開始輸出數(shù)據(jù),第一個(gè)Byte即為STARTByte,總共輸出14Bytes數(shù)據(jù)。見圖6.
                  
                                                        圖6射頻信號讀取控制

2射頻信號的寫入
  
根據(jù)射頻信號的寫入格式,按照如下的寫入時(shí)序,即可將數(shù)據(jù)寫入射頻卡內(nèi)。見圖7.
                   
                                                           圖7射頻卡寫入控制
3CRC數(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,能檢測出所有的雙錯(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)。由于所討論的射頻識別系統(tǒng)的傳輸速率不大,建議在這里不用專門硬件而用軟件方式實(shí)現(xiàn)CRC校驗(yàn),其計(jì)算量是很小的。限于篇幅,未列出源程序。
  
本文研制的射頻識別系統(tǒng)已成功應(yīng)用于投幣式洗衣機(jī)的替代產(chǎn)品,具有較好的實(shí)際使用效果。射頻卡中存有使用洗衣機(jī)的次數(shù),射頻識別系統(tǒng)識別到合法卡后,洗衣機(jī)開始運(yùn)轉(zhuǎn),同時(shí),射頻卡中的使用次數(shù)相應(yīng)減少,從而替代了投幣。
要采購射頻么,點(diǎn)這里了解一下價(jià)格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
?

關(guān)閉

?

關(guān)閉