1.引言
無線射頻技術(shù) RFID(radio frequency identification)是20 世紀(jì)90 年代興起的一種非接觸的自動(dòng)識(shí)別技術(shù),利用其射頻信號(hào)空間傳播的特性——通過空間耦合(交變磁場或電磁場)實(shí)現(xiàn)無接觸信息傳遞,并通過所傳遞的信息來實(shí)現(xiàn)對(duì)被識(shí)別物體的自動(dòng)識(shí)別。識(shí)別過程不需要物理接觸,不需要人工管理即可完成標(biāo)簽信息的寫入和讀取。采用RFID 技術(shù),可以一次性實(shí)現(xiàn)對(duì)多個(gè)目標(biāo)以及運(yùn)動(dòng)目標(biāo)的識(shí)別。此外,電子標(biāo)簽是可讀寫的,能儲(chǔ)存大量信息,安全性保密性強(qiáng),并且不怕外部灰塵、污漬等,具有較強(qiáng)的環(huán)境適應(yīng)能力。正是由于具有這些其它識(shí)別方式不具備的優(yōu)勢(shì),RFID 技術(shù)在物流、運(yùn)輸、交通、生產(chǎn)、防偽等領(lǐng)域有著廣泛的應(yīng)用和巨大的發(fā)展前景。
本文以 AS3990 芯片為核心設(shè)計(jì)一種以MSP430f149 芯片為控制器的超高頻RFID 手持式讀寫器。對(duì)于符合EPCGen2 標(biāo)準(zhǔn)的電子標(biāo)簽,它能完成的所有讀寫及控制操作。其移動(dòng)智能管理功能主要應(yīng)用在物流、供應(yīng)鏈、倉庫等場合。
2.系統(tǒng)概述及設(shè)計(jì)原理
在無線射頻識(shí)別系統(tǒng)中,RFID讀寫器是用來識(shí)別標(biāo)簽并將采集到的數(shù)據(jù)信息送入后臺(tái)進(jìn)行處理的關(guān)鍵設(shè)備,對(duì)保證RFID 系統(tǒng)的正確性和可靠性工作中具有關(guān)鍵作用。同時(shí)RFID讀寫器也可以對(duì)標(biāo)簽進(jìn)行寫操作,將信息存儲(chǔ)在標(biāo)簽中。讀寫器的設(shè)計(jì)是完全以ISO/IEC18000-6C 標(biāo)準(zhǔn)協(xié)議為基礎(chǔ)的。
2.1 ISO/IEC18000 -6C 協(xié)議簡介
ISO/IEC18000-6C 協(xié)議規(guī)定在數(shù)據(jù)傳輸時(shí), 先傳輸高字節(jié), 并且其前向鏈路的調(diào)制方式都是采用ASK, 并用PIE 編碼, 防沖突算法是基于概率和分槽算法;其后向鏈路則是通過反向散射調(diào)制技術(shù)來實(shí)現(xiàn)數(shù)據(jù)傳輸, 可以選擇密勒編碼或者FM0 編碼。6C 標(biāo)準(zhǔn)采用了相對(duì)簡單的加密算法以防止在讀寫器獲取標(biāo)簽信息的過程中, 把敏感數(shù)據(jù)擴(kuò)散出去。此算法僅在讀寫器給標(biāo)簽傳送數(shù)據(jù)時(shí)對(duì)信息進(jìn)行加密, 而標(biāo)簽傳送到讀寫器的數(shù)據(jù)信息是不加密的, 其實(shí)現(xiàn)過程是讀寫器將從標(biāo)簽獲得一個(gè)16bit 寬隨機(jī)數(shù)與將要傳送的16bit 寬數(shù)據(jù)進(jìn)行模2 和計(jì)算得到密文, 然后由標(biāo)簽解密獲得讀寫器發(fā)送的原始數(shù)據(jù)。
2.2 防沖突機(jī)制
在標(biāo)簽內(nèi)具有一個(gè)16 位的隨機(jī)數(shù)發(fā)生器,以解決防沖突算法問題。查詢命令含有槽計(jì)數(shù)器參數(shù)Q。標(biāo)簽在收到查詢命令后, 參與標(biāo)簽應(yīng)在 (0,2 Q -1 )范圍內(nèi)挑選一個(gè)隨機(jī)數(shù)值, 并將該挑選的數(shù)值載入其計(jì)數(shù)器, 挑選數(shù)值為零的標(biāo)簽會(huì)轉(zhuǎn)換成應(yīng)答狀態(tài), 并立即進(jìn)行應(yīng)答挑選數(shù)值非零的標(biāo)簽則應(yīng)轉(zhuǎn)換成仲裁狀態(tài),并等待發(fā)出查詢調(diào)整或查詢命令。
詢問機(jī)采用的是三個(gè)基本操作來管理標(biāo)簽群,即選擇、盤存、訪問。每個(gè)操作均由一個(gè)或一個(gè)以上的命令組成。三個(gè)基本操作的定義如下:
(1) 選擇: 讀寫器選擇標(biāo)簽群以便于盤存和訪問的過程。詢問機(jī)可以用一個(gè)或多個(gè)的選擇命令在盤存之前選擇特定的標(biāo)簽群。
(2) 盤存: 詢問機(jī)識(shí)別標(biāo)簽的過程。詢問機(jī)在四個(gè)通話的其中一個(gè)通話中傳輸查詢命令,開始一個(gè)盤存周期, 一個(gè)或多個(gè)的標(biāo)簽可以應(yīng)答, 詢問機(jī)檢查某個(gè)標(biāo)簽應(yīng)答, 請(qǐng)求該標(biāo)簽發(fā)出PC、EPC 和CRC-16。
(3) 訪問: 詢問機(jī)與各標(biāo)簽交易的過程,即讀取或?qū)懭霕?biāo)簽。訪問前必須要對(duì)標(biāo)簽進(jìn)行識(shí)別, 訪問由多個(gè)命令組成。若多個(gè)標(biāo)簽應(yīng)答,讀卡器通過檢測和解決波形的沖突, 可以解決其中一個(gè)標(biāo)簽發(fā)來的16bit 密鑰, 其他未解決的標(biāo)簽會(huì)收到錯(cuò)誤的16bit 密鑰, 并返回仲裁狀態(tài)。發(fā)出查詢命令后將啟動(dòng)一個(gè)盤存周期, 詢問機(jī)發(fā)出一個(gè)或多個(gè)的查詢調(diào)整或重復(fù)查詢命令。查詢調(diào)整命令只是重復(fù)以前的查詢命令, 可以令Q 增值或減值, 但不會(huì)將新的標(biāo)簽引入該盤存周期。重復(fù)查詢命令則重復(fù)以前的查詢命令, 但參數(shù)不變, 也不會(huì)將新的標(biāo)簽引入該盤存周期。處于仲裁或應(yīng)答狀態(tài)的的標(biāo)簽收到查詢調(diào)整命令后,首先調(diào)整 Q, 然后在(0,2 Q-1 )范圍內(nèi)挑選一個(gè)隨機(jī)數(shù)值, 將該數(shù)值載到槽計(jì)數(shù)器內(nèi)。挑選數(shù)值為零的標(biāo)簽應(yīng)轉(zhuǎn)換到應(yīng)答狀態(tài)并立即應(yīng)答; 挑選數(shù)值非零的標(biāo)簽應(yīng)轉(zhuǎn)換到仲裁狀態(tài), 并等待下次命令。
3.系統(tǒng)硬件設(shè)計(jì)
3.1 主要芯片介紹
MSP430 采用了目前流行的精簡指令集(RISC)結(jié)構(gòu),一個(gè)時(shí)鐘周期可以執(zhí)行一條指令,使MSP430 在8MHz 晶振工作時(shí),指令速度可達(dá)8MIPS。其有多達(dá) 64KB 尋址空間包含ROM、RAM、閃存RAM 和外圍模塊。MSP430 系列單片機(jī)結(jié)合TI 地高性能模擬技術(shù),各成都集成較豐富的片內(nèi)外設(shè)。視型號(hào)不同可能組合有以下功能模塊:看門狗,模擬比較器A,定時(shí)器A,定時(shí)器B,串口0、1,硬件乘法器,液晶驅(qū)動(dòng)器,10 位及更高精度ADC、DAC 等。同其它微控制器相比,MSP430 系列單片機(jī)可以大大延長電池的使用壽命,并且具有ESD 保護(hù),抗干擾力強(qiáng)。
AS3990HUF 讀寫器芯片是一個(gè)具有集成模擬前端和交換協(xié)議系統(tǒng)的900M讀寫器系統(tǒng)。并且它符合ISO18000-6C(EPCGen2 專門用于物流管理)的標(biāo)準(zhǔn)。它具有低壓傳輸碼、低壓解碼器、CRC 碼效驗(yàn)、可選擇的時(shí)鐘輸出,具有20mA 內(nèi)的電壓輸出供外部設(shè)備使用,為RF 輸出階段提供電壓、具備 ASK(鍵控)和PR-ASK 調(diào)制(其中ASK 為可調(diào)式調(diào)制)、支持跳頻、斷電,待機(jī)和工作三種模式,還可以可以用USB 供電。
3.2 硬件設(shè)計(jì)
3.2.1 射頻模塊設(shè)計(jì):射頻模塊部分以AS3990HUF 為核心芯片,外接功放使其功率滿足遠(yuǎn)距離讀寫傳輸所需的必要條件。射頻部分是讀寫器最前端部分,當(dāng)控制電路發(fā)送來收發(fā)指令時(shí),射頻電路就會(huì)完成發(fā)送指令的載波調(diào)制并向射頻標(biāo)簽發(fā)送載波,以及對(duì)返回的接收信號(hào)的解調(diào)處理并且將處理后的基帶信號(hào)傳送給控制電路。
3.2.2 數(shù)字模塊設(shè)計(jì):數(shù)字部分設(shè)計(jì)是以MSP430 系列單片機(jī)為核心芯片,數(shù)字部分的主要功能包括實(shí)現(xiàn)發(fā)送到標(biāo)簽命令的波形編碼、返回信號(hào)的解碼、讀寫命令流程控制、差錯(cuò)控制、發(fā)送控制命令和接受數(shù)據(jù),實(shí)現(xiàn)與上位機(jī)應(yīng)用程序之間的接口協(xié)議,輸入和輸出信號(hào)的采集和處理、實(shí)現(xiàn)讀寫器功能的相關(guān)算法、控制射頻電路的工作模式等(包括對(duì)輸出功率,讀標(biāo)簽方式,載波頻率等的控制)
3.2.3 天線設(shè)計(jì):設(shè)計(jì)使用的天線主要是為了實(shí)現(xiàn)將電磁波輻射出去,并用于接收從標(biāo)簽處返回的電磁波信號(hào)。通過采用圓極化微帶天線方案,可以實(shí)現(xiàn)增益為3db,尺寸大小為80mm*80mm*6 mm。
4.系統(tǒng)軟件設(shè)計(jì)
4.1 驅(qū)動(dòng)軟件設(shè)計(jì)
硬件驅(qū)動(dòng)軟件編寫程序采用C 語言,主要采用模塊化編程思想。系統(tǒng)主程序?yàn)橐粋(gè)完整的RFID 讀寫器系統(tǒng),其用來控制硬件電路每個(gè)模塊的工作狀態(tài)和工作模式,協(xié)調(diào)整個(gè)讀寫器讀寫過程的工作。這個(gè)讀寫器硬件驅(qū)動(dòng)的主程序主要可以分為以下幾個(gè)部分:串口通信程序,讀寫標(biāo)簽程序,防沖突程序,數(shù)據(jù)處理程序等。圖 2 為讀寫電子標(biāo)簽的主程序流程圖:
圖2 讀寫電子標(biāo)簽的主程序流程圖
4.2 應(yīng)用軟件設(shè)計(jì)
應(yīng)用軟件位于上位機(jī)上,運(yùn)行在windows 操作系統(tǒng)之上。因此,采用了C++語言編程,實(shí)現(xiàn)包括對(duì)電子標(biāo)簽內(nèi)數(shù)據(jù)的讀出與寫入,讀用戶數(shù)據(jù),存儲(chǔ)用戶數(shù)據(jù),對(duì)標(biāo)簽加密解密及“不可修改”的操作,對(duì)讀寫器工作模式的設(shè)定等。圖3 為軟件系統(tǒng)的方框圖:
圖3 系統(tǒng)軟件方框圖
5.結(jié)語
本文設(shè)計(jì)的 RFID超高頻手持式讀寫器充分結(jié)合了軟硬件的優(yōu)勢(shì),可以實(shí)現(xiàn)對(duì)EPCGEN2電子標(biāo)簽的讀寫操作。使用文中設(shè)計(jì)的天線,讀標(biāo)簽距離可以到 1.4m,寫標(biāo)簽距離可以到1m。多標(biāo)簽使用時(shí)抗沖突性能良好,可以同時(shí)讀取20 個(gè)電子標(biāo)簽。該讀寫器可以通過串口與上位機(jī)相連并傳輸數(shù)據(jù)。該讀寫器具有成本低、靈敏度高、通信穩(wěn)定、信息可靠、操作簡單等優(yōu)點(diǎn),在各個(gè)行業(yè)的應(yīng)用前景十分廣闊,對(duì)RFID 的推廣也具有重要意義。
來源:中國一卡通網(wǎng)