摘 要: 給出了一種改進型的RFID讀寫器" title="讀寫器">讀寫器設(shè)計方案。介紹了各硬件模塊,并給出了軟件的總體流程,、防碰撞" title="防碰撞">防碰撞算法及實現(xiàn)代碼,最后進行了研發(fā)測試,。對比基于射頻芯片的RFID讀寫器設(shè)計,,此方案提高了系統(tǒng)靈敏度和讀寫距離" title="讀寫距離">讀寫距離,。本設(shè)計擁有自主知識產(chǎn)權(quán),,已用于開放式門禁系統(tǒng)" title="門禁系統(tǒng)">門禁系統(tǒng)。實踐表明,,該系統(tǒng)電路穩(wěn)定,,運行正常。
關(guān)鍵詞: RFID,;讀寫器;ISO-15693協(xié)議,;DSP
?
射頻識別技術(shù)(RFID)是上世紀(jì)80年代興起并不斷走向成熟的一項自動無線識別和數(shù)據(jù)獲取技術(shù),。與傳統(tǒng)的條碼、磁卡等自動識別技術(shù)相比,,RFID技術(shù)在工作距離,、保密性、智能化及其環(huán)境適應(yīng)能力等方面都有顯著優(yōu)勢,且可同時識別多個高速運動物體,,有廣闊的發(fā)展前景[1],。
RFID系統(tǒng)由電子標(biāo)簽、天線,、讀寫器三部分組成,。讀寫器通過天線發(fā)送、接收信號,,無接觸地讀取和識別標(biāo)簽中所保存的數(shù)據(jù),,并將信息傳送至上位機進一步處理,從而達到目標(biāo)識別的目的,。由此可見,,讀寫器是RFID技術(shù)的核心。目前HF頻段RFID讀寫器的研發(fā)正處于逐步成熟階段,,國際上知名的大公司有TI,、Philips等,國內(nèi)生產(chǎn)廠商相對較少,,且大部分都是在已有射頻芯片的基礎(chǔ)上進行數(shù)字部分的研發(fā),,系統(tǒng)集成商則是在國外公司知識產(chǎn)權(quán)的基礎(chǔ)上根據(jù)客戶需要做適當(dāng)改進。
HF頻段RFID系統(tǒng)中標(biāo)簽所獲能量微弱,,無力再向周圍發(fā)射無線電波,,只能反射來自讀寫器的電磁波,故標(biāo)簽的響應(yīng)信號微弱,影響讀寫距離,。本文針對這一問題,,在介紹電子標(biāo)簽的基礎(chǔ)上,給出了一種基于開放式門禁系統(tǒng)應(yīng)用的讀寫器設(shè)計方法,,提出將模擬板,、數(shù)字板分別研發(fā)的思想,大大提高了讀寫距離,。該讀寫器工作頻率為13.56MHz,,符合ISO-15693協(xié)議。硬件電路采用TI的TMS320F2812為主控芯片,,以符合ISO-15693協(xié)議的所有無源標(biāo)簽為讀寫目標(biāo),,軟件設(shè)計很好地實現(xiàn)了多卡識別的防碰撞算法" title="防碰撞算法">防碰撞算法。
1 電子標(biāo)簽簡介
每個電子標(biāo)簽由耦合元件及芯片組成,,內(nèi)部一般保存有約定格式的電子數(shù)據(jù),,且具有無法修改、仿造,、全球唯一的識別號(UID),。在HF頻段RFID系統(tǒng)中,,當(dāng)讀寫器處于工作狀態(tài)時,與其相連的天線線圈不斷地向外發(fā)出一組固定頻率(13.56MHz)的電磁波,。當(dāng)無源電子標(biāo)簽進入讀寫器工作區(qū)域時,,在該電磁波的激勵下,標(biāo)簽內(nèi)的LC串聯(lián)諧振電路產(chǎn)生諧振,,從而使電容充電而產(chǎn)生電荷,。該電容又通過一個單向?qū)щ姷碾娮颖茫瑢㈦娙輧?nèi)的電荷泵送到另一個電容內(nèi)存儲,。當(dāng)后者充電達到2V時,,它就可用作為標(biāo)簽內(nèi)部其他電路的工作電源。標(biāo)簽芯片中的有關(guān)電路對讀寫器發(fā)來的信號進行解調(diào),、解碼,、解密,然后對命令請求,、密碼,、權(quán)限等進行判斷。若為“讀”命令,,控制邏輯電路則從存儲器中讀取有關(guān)信息,,經(jīng)加密、編碼,、調(diào)制后通過標(biāo)簽內(nèi)部天線再發(fā)送給讀寫器,;若為修改信息的“寫”命令,有關(guān)控制邏輯就會使內(nèi)部電荷泵提升工作電壓,,以擦除EEPROM中的內(nèi)容并進行改寫,;若經(jīng)判斷發(fā)現(xiàn)所對應(yīng)的密碼和權(quán)限不符,則返回出錯信息[2],。
2 讀寫器硬件設(shè)計
目前的RFID讀寫器大多采用一塊射頻芯片完成整個系統(tǒng)的收發(fā),,雖簡單易行,但降噪性能和系統(tǒng)靈敏度始終沒有改善,。
本設(shè)計提出模擬,、數(shù)字部分分別研發(fā)的思想,硬件框圖如圖1所示,。由DSP芯片產(chǎn)生脈沖位置編碼(PPM)信號,,再對13.56MHz載頻進行調(diào)制。已調(diào)信號的功率很弱,,需先進行功率放大,,再經(jīng)濾波和調(diào)諧加到天線上,以提高對卡的操作距離,。系統(tǒng)可通過DSP實現(xiàn)輸出功率控制,,最小功率為0.25W。天線線圈在13.56MHz工作頻率上呈現(xiàn)阻抗形式,,為了實現(xiàn)與50Ω系統(tǒng)的功率匹配,,需先通過匹配電路將此阻抗轉(zhuǎn)換為50Ω電阻,然后通過50Ω同軸電纜連接到讀寫器末級,。在接收通道中,,由標(biāo)簽響應(yīng)回來的信號,首先通過帶通濾波器取出一邊帶,,放大后送入解調(diào)器,,最后將解調(diào)后的信號送入DSP芯片上作A/D采樣判決,并進行解碼和校驗,,完成整個信號的接收處理,。該讀寫器用于開放式門禁系統(tǒng)時,除完成簡單的標(biāo)簽識別外,,還需通過RS232接口與上位機通信, 由此形成大的數(shù)據(jù)網(wǎng)絡(luò),以實現(xiàn)對標(biāo)簽的管理,、操作等。因此讀寫器的硬件設(shè)計分為模擬部分和數(shù)字部分,。模擬部分即射頻模塊,;數(shù)字部分又可分為主控模塊,電源管理模塊和對外接口模塊,、所選芯片如表1所示,。
?
?
2.1 模擬部分
本設(shè)計自主研發(fā)了一塊供電電壓為24V的模擬板,簡要論述如下,。
2.1.1 發(fā)送模塊
??? 發(fā)送模塊的功能:(1)13.56MHz的晶振產(chǎn)生載波信號,,DSP將欲發(fā)送的信息及調(diào)制幅度(10%)傳送至74HC125D芯片端,完成ASK調(diào)制,;(2)NPN型射頻功率晶體管實現(xiàn)功率放大,;(3)經(jīng)匹配電路將載頻由天線發(fā)送出去。
2.1.2 接收模塊
??? 接收模塊的功能:(1)設(shè)計窄帶濾波器取出一邊帶,,并濾除13.56MHz頻率分量,;(2)二級放大電路;(3)將邊帶信號與本地13.56MHz載波混頻后獲得調(diào)制到423kHz單副載波上的中頻信號,;(4)將中頻信號放大并包絡(luò)檢波出原始信號,;(5)運放LM358整形放大;(6)將解調(diào)后的模擬信號送至DSP采樣,。
該射頻模塊的輸出阻抗為50?贅,,外接天線的匹配狀況對系統(tǒng)的接收性能有直接影響,用網(wǎng)絡(luò)分析儀調(diào)試天線諧振在13.56MHz,,輸出阻抗為50?贅,。此外,,應(yīng)防止和抑制電磁干擾,提高電磁兼容性,,要選擇介電常數(shù)公差小的基材,。射頻部分盡量使用SMT(表面貼裝式)元件,減少過孔,,并在表面加接地金屬屏蔽層[3],。
2.2 數(shù)字部分
2.2.1 主控模塊
本系統(tǒng)采用DSP芯片TMS320F2812作為信號采集和處理的核心。該芯片采用高性能的靜態(tài)CMOS技術(shù),,是基于TI C×28內(nèi)核的32位定點數(shù)字信號處理器,。其優(yōu)化的事件管理器、快速靈活的中斷管理,,為RFID讀寫系統(tǒng)提供了更加靈活,、高效的控制方案[4]。
在本設(shè)計中,,DSP芯片的供電電壓為3.3V和1.8V,,外部采用27.12MHz晶振,通過片內(nèi)鎖相環(huán)5倍頻后,,時鐘頻率高達135.6MHz,。DSP的主控作用體現(xiàn)在:它首先通過片上自帶的12位ADC對模擬板發(fā)來的信號進行采集,并將采集后的數(shù)據(jù)暫存在片內(nèi)存儲器中,,通過軟件配合實現(xiàn)噪音處理,、曼徹斯特解碼及檢測碰撞等,隨后進行具體讀寫命令的判斷和執(zhí)行,,并通過串行接口RS232與上位機通信,。DSP的GPIO口具體使用情況如下:
GPIOA:用于通道(bit5)、相位(bit8)和調(diào)制度(bit14)選擇,、命令(bit15)的輸出以及讀寫器的開關(guān)控制(0x0000),。
GPIOB:報警動作。
GPIOD:運行燈(bit5),,報警燈(bit6)指示,。
GPIOF:串行口232通信(bit4發(fā)、bit5收),。
在該模塊的設(shè)計中,,還需總線隔離器74HC245芯片,實現(xiàn)射頻模塊與DSP的GPIOA口的連接,。
2.2.2 電源管理模塊
該模塊的主要器件為L7805及PS767D318,,電路原理如圖2所示。其中,,24V輸入電壓經(jīng)三端穩(wěn)壓器L7805后,,穩(wěn)壓至5V,。由于DSP的供電電壓為3.3V和1.8V,故還需外接雙輸出低壓差電壓轉(zhuǎn)換器PS767D318,,實現(xiàn)第二級電平轉(zhuǎn)換,。
?
2.2.3 對外接口模塊
該模塊的主要器件為MAX232芯片,它是一款符合EIA RS-232標(biāo)準(zhǔn)和V28規(guī)范的雙向發(fā)送/接收接口芯片,,通過標(biāo)準(zhǔn)的九針串口與上位機相連。
3 讀寫器軟件設(shè)計
3.1 總體設(shè)計流程
讀寫器應(yīng)用于開放式門禁系統(tǒng)時,,需要PC機監(jiān)控,,兩者以主從方式工作。主控模塊上電復(fù)位完成初始化后,,進入等待狀態(tài),。當(dāng)PC機發(fā)來指令后,中斷喚醒主控模塊接收指令并處理相應(yīng)程序,,完畢后將信息返回PC機并再次進入等待狀態(tài),,總體流程如圖3所示。當(dāng)中斷喚起讀寫器發(fā)送命令并已檢測到有標(biāo)簽進入時,,便進行接收,。接收部分流程如圖4所示。主控模塊在發(fā)出命令后,,立即對模擬板發(fā)來的信號ADC采樣,,并不斷采集噪聲,隨后完成檢測數(shù)據(jù),、解碼,、校驗、防碰撞等處理,,最后將標(biāo)簽信息發(fā)回PC機,退出中斷,。
?
?
3.2 多卡識別時防碰撞算法的實現(xiàn)
當(dāng)讀寫器處于工作狀態(tài)時,其天線覆蓋范圍內(nèi)的所有標(biāo)簽都將被激活,,隨時準(zhǔn)備響應(yīng)讀寫器的命令,,這就造成了標(biāo)簽的碰撞。
在ISO15693協(xié)議中,,適用于多卡識別的命令有Inventory,、Stay quiet等。Inventory用以查詢天線覆蓋范圍內(nèi)的UID(標(biāo)簽識別號),,其幀格式包括Flags(標(biāo)志位),、Mask length(掩碼長度)、Mask value(掩碼值)等,。讀寫器發(fā)送Inventory命令時須定制所需的時隙長度,,并在指令域后添加掩碼碼長和碼值,。假設(shè)Mask length,Mask value均為0,,時隙長度slot設(shè)為16,,則讀寫器在slot=0時發(fā)送Inventory命令,工作區(qū)域內(nèi)卡號尾數(shù)為0的標(biāo)簽將會首先響應(yīng),,并以一定的幀格式發(fā)回自己的UID,,隨后在時隙slot=1時,讀寫器繼續(xù)發(fā)送EOF,,工作區(qū)域內(nèi)尾數(shù)為1的標(biāo)簽將會響應(yīng),。依此類推,直到讀寫器發(fā)出第15個EOF,,一個完整的Inventory命令結(jié)束,。若在工作區(qū)域內(nèi)有兩張標(biāo)簽的卡號分別為****82H和****12H,則在slot=2時,,兩張卡均響應(yīng)且產(chǎn)生碰撞,。此時需記錄下碰撞位置2,然后在下一個Inventory命令中,,設(shè)置Mask length=4,、Mask value=2,則在新一輪的slot中,,兩張標(biāo)簽將分別在slot=8和slot=1時響應(yīng),,這樣就很好地解決了防碰撞問題。Stay quiet命令用于使工作區(qū)內(nèi)與發(fā)送幀中UID相同的標(biāo)簽處于靜止?fàn)顟B(tài),,不再響應(yīng)任何ISO命令,。下面給出防碰撞算法的實現(xiàn)編碼(以16時隙為例):
function push(mask,address),;pushes on private stack
function pop(mask,,address);pops from private stack
function pulse_next_pause,;generates a power pulse
function store(VICC_UID),;stores VICC_UID
function poll_loop(sub_address_size as integer);
address length must be four (4) bits.
pop(mask,,address)
mask=address & mask,;generates new mask;send the Request
mode=anticollision
send_Request(Request_cmd,,mode,,mask length,mask[0])
for address=0 to(2^sub_address_size-1)
if no_collision_is_detected then;VICC is inventoried
store(VICC_UID)
??? else,;remember a collision was detected
??? push(mask,,address)
??? endif
??? pulse_next_pause
??? next sub_address;if some collisions have been detected and not yet processed,,the function calls itself recursively to process the last,;stored collision
?? if stack_not_empty then poll_loop (sub_address_size)
?? end poll_loop
?? main_cycle
?? mask=null? address=null
?? push(mask,address)? poll_loop(sub_address_size)
?? end_main_cycle
4 測試
? 研發(fā)設(shè)計過程中,,對該讀寫器的性能進行了多項測試,,主要測試項目及測試結(jié)果如下:
?(1)運行穩(wěn)定性:在長時間不關(guān)機情況下,運行正常,,無死機或重新啟動現(xiàn)象,,讀寫能力正常,工作距離有±5cm輕微浮動,。
?? (2)與上位機通信情況:正常。
? ?(3)虛檢漏檢情況:無,。
? ?(4)防碰撞能力:每秒40個,。
? ?(5)讀寫距離:單天線1.1m左右,雙天線1.8m~2m,。
? ?(6)速率問題:下行信號最快速率26.48kb/s,,上行信號最快速率為26.69kb/s。對于開放式門禁系統(tǒng)完全滿足實際需求,。對于那些對讀寫距離或速度有更高要求的系統(tǒng),,如倉庫管理、不停車自動收費等系統(tǒng)需要用UHF頻段的射頻識別系統(tǒng)甚至是有源的射頻識別系統(tǒng)方案來解決,。
?? 本文設(shè)計了一種符合ISO-15693協(xié)議的HF頻段RFID讀寫器,,配合適當(dāng)?shù)奶炀€,讀寫距離可達1.1m左右,,多卡識別能力可達每秒40張,。基于該讀寫器的門禁系統(tǒng)已投入應(yīng)用,,系統(tǒng)工作穩(wěn)定,,效果良好。與市面上現(xiàn)有的HF頻段長距離讀寫器相比,,在工作距離相同的情況下,,多卡防碰撞識別能力有顯著提高,且產(chǎn)品信價比高,,系統(tǒng)靈敏度好,,運行穩(wěn)定可靠。在此讀寫器的基礎(chǔ)上,只要稍加改動也可開發(fā)成其他RFID應(yīng)用系統(tǒng),,如考勤系統(tǒng),、公交車收費系統(tǒng)、超市自動售貨,、電子防盜,、圖書館、洗衣店等管理系統(tǒng)等,。
參考文獻
[1] Klaus Finkenzeller.識別(RFID)技術(shù)[M].北京:電子工業(yè)工業(yè)出版社,,2002,5.
[2] 周曉中,,陽春華,,劉偉群.非接觸式Mifare卡讀寫器開發(fā)[J].微型機應(yīng)用,2005,,24(4):15.
[3] 武慧芝,,朱云龍,羅海波.基于物流倉儲管理的RFID讀寫器設(shè)計[J].電子技術(shù)應(yīng)用,,2006,,32(3):75.
[4] 蘇奎峰,呂強,,耿慶鋒,,等.TMS320F2812原理與開發(fā)[M].北京:電子工業(yè)出版社,2005.