“實現(xiàn)一種便攜式射頻識別讀寫系統(tǒng)。在對RFID系統(tǒng)的組成和原理進行分析的基礎上,提出基于PIC16F874控制器和RI—R6C一001A射頻芯片實現(xiàn)讀寫器的設計方法;給出相應的電路原理和程序流程以及部分程序。
”
引言
隨著計算機和嵌入式系統(tǒng)的發(fā)展,IC卡已經(jīng)融入人們的日常生活,并發(fā)展成幾大類,其中非接觸IC卡的出現(xiàn)引起了人們的特別關注。與之相應,能夠讀取非接觸IC卡內(nèi)信息的讀寫器(閱讀器)也在不斷地發(fā)展和更新。非接觸式卡又稱射頻卡(應答器),它使用無線電調(diào)制方式和閱讀器進行信息交換。
通常根據(jù)以下幾種標準來設計,即ISO/IEC10536標準、ISO/IEC14443標準、ISO/IEC15693標準。根據(jù)ISO/IEC10536標準設計的卡稱為“密耦合卡”,對應的閱讀器也相應遵循ISO/IEC10536標準設計;根據(jù)ISO/IEC14443標準設計的卡是近耦合卡,對應的閱讀器遵循ISO/IEC14443標準設計;根據(jù)ISO/IEC15693標準設計的卡是遙耦合卡,對應的閱讀器遵循ISO/IEC15693標準設計。遙耦合卡比近耦合卡具有更遠的讀卡距離,但二者均采用13.56 MHz工作頻率,均具有防沖突機制[1]。
本文以射頻識別技術的實際應用為背景,以智能車輛識別系統(tǒng)的設計為實例,闡述了使用一種TI公司生產(chǎn)的工作于13.56 MHz的典型射頻IC卡進行系統(tǒng)開發(fā)的方法。該系統(tǒng)采用性價比較高的PIC16F874單片機作為主控器件,具有更強的研究性、實用性和推廣性。
1系統(tǒng)總體結(jié)構(gòu)及方案設計
本系統(tǒng)采用基于IS015693協(xié)議的TI公司的工作于13.56 MHz的射頻標簽(RI-I02-112A,RI-I03-112A等)為射頻信息鈕,由基于RI-R6C一001A[2]的射頻信息鈕讀頭模塊、天線、單片機、電源穩(wěn)壓模塊(UA7805)、串口通信電路(MAX232)、液晶顯示電路(SED1335、MAX749)[3]、無線收發(fā)模塊(AYG一59C)[4]等組成。電源穩(wěn)壓模塊把整個系統(tǒng)的工作電壓穩(wěn)定在5 V,MAX749芯片主要是為液晶模塊提供所需的負電壓。系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示。
把此系統(tǒng)用于城市的公交車運行情況的統(tǒng)計上,前提是要把每輛公交車上貼一個射頻卡,在每一個站牌處安裝一個由閱讀器組成的系統(tǒng)(包括閱讀器、液晶模塊、無線收發(fā)模塊)。該系統(tǒng)的工作過程如下:
首先,由應用軟件通過單片機(PIC16F874)向射頻信息鈕讀卡模塊(RI-R6C一001A)發(fā)出指令(如讀射頻卡的UID),射頻信息鈕讀卡模塊把單片機發(fā)過來的數(shù)據(jù)按所選擇的射頻協(xié)議(ISO15693)[5]的要求對數(shù)據(jù)進行編碼和調(diào)制,然后經(jīng)過天線發(fā)送出去。此時,在閱讀距離范圍內(nèi)的電子標簽(射頻卡)收到此命令,經(jīng)過認證,如果正確,則按命令的要求把自己的UID發(fā)送出去(如果錯誤,則返回錯誤信息)。
讀卡模塊經(jīng)過天線收到此信息,對其進行解調(diào)和解碼后,通過SPI串口送給單片機。單片機把收到的數(shù)據(jù)通過RS232串口送給收發(fā)模塊(AYG一59C),收發(fā)模塊以短消息的形式把數(shù)據(jù)發(fā)送給控制中心,然后控制中心把收到的數(shù)據(jù)以短消息群發(fā)的形式送給各個智能站牌。站牌處的無線收發(fā)模塊收到此信息后,通過串口RS232送給單片機。單片機把此信息送給液晶顯示模塊,通過液晶顯示模塊乘客就可以知道公交車行駛的情況。
2系統(tǒng)硬件設計
硬件主要包括單片機MCU、RI一R6C-001A、液晶顯示器、時鐘電路、匹配電路及接口等外圍電路。下面給出各部分的詳細說明及相關設計。 2.1 MCU部分
圖2為MCU加外圍器件的應用原理[6],也即控制部分電路原理。
控制部分首先輔助RI-R6C一001A工作。因為RI-R6C一001A芯片要正常工作,實現(xiàn)射頻閱讀器的功能,不但要有外圍電路,而且還要有控制器對其進行適當?shù)目刂啤IC16F874控制器有豐富的位操作指令,有SPI串行口和精簡的指令集,能夠很容易地模擬RI-R6C-001A傳送數(shù)據(jù)的時序以及時鐘切換的時序。
由于RI-R6C一001A對外只提供4個引腳(DOUT、DIN、SCLOCK、M-ERR),所以控制器的接口電路相對較簡單。DOUT、DIN、SCLOCK三個引腳分別連接到單片機的SPI串行口SDI、SDO、SCK三根線上,用來實現(xiàn)數(shù)據(jù)的串行傳輸。M-ERR引腳用來檢測接收到射頻卡中的數(shù)據(jù)是否發(fā)生錯誤(若有錯誤,則此引腳變?yōu)楦唠娖剑虼税汛艘_接到單片機的外部中斷輸入33引腳,用于檢測接收數(shù)據(jù)是否有錯誤,進而單片機對其作出相應的處理。
由于RI-R6C一001A在接收射頻卡中的數(shù)據(jù)并把它發(fā)送給控制器時,要求控制器對其發(fā)送的數(shù)據(jù)是否結(jié)束作出判斷,并且RI-R6C-001A不發(fā)送數(shù)據(jù)時就不再送時鐘,所以在此電路設計中把RI-R6C一001A的SCLOCK引腳也接到了具有電壓變化中斷功能的RB4引腳。RB4引腳外接一個二極管,與軟件結(jié)合起來,要求當控制器供應時鐘時,RB4引腳處于高電平輸出狀態(tài),經(jīng)過二極管,RB4引腳不會輸入時鐘;
當RI-R6C-001A供應時鐘時,RB4引腳處于輸入狀態(tài),SCLOCK信號輸入此引腳,從而可以對發(fā)送數(shù)據(jù)是否結(jié)束作出相應的判斷。其次控制器還要適時控制LCD的液晶顯示,圖2中,ADJ、CTRL是與MAX749相連的,提供LCD所需的-20 V電壓;C5、C6、C7、E4、E7以及DO~D7是與LCD相連的控制信號與數(shù)據(jù)信號;同時也通過MAX232控制無線收發(fā)模塊AYG一59C數(shù)據(jù)的發(fā)送和接收。
2.2射頻部分
微處理器與RI-R6C一001A之間的通信主要通過幾根連線實現(xiàn),圖3所示為射頻芯片加外圍器件的應用原理[2]。
射頻電路由三大部分組成:RI-R6C一001A應用電路,與單片機相連的接口電路,天線發(fā)送、接收電路。在RI-R6C-001A應用電路中,L1、L2、C2組成的T型網(wǎng)絡以及L3、C9組成的LC網(wǎng)絡都起濾波作用,使RI-R6C-001A通過天線接收的數(shù)據(jù)不至于流向發(fā)送端TX-OUT,因為此芯片發(fā)送數(shù)據(jù)時頻率是13.56 MHz,而接收信號的副載波頻率是13.56 MHz/28和13.56 MHz/32(FM)或13.56 MHz/32(AM),R-MOD端的電阻R2決定發(fā)送信號的調(diào)制深度;
R3、L4、C10、C11組成串聯(lián)諧振電路,匹配阻抗為50 Ω。可調(diào)電容C11用來準確調(diào)整電路諧振點在13.56 MHz,這一設計有利于閱讀器正確的收/發(fā)信息。
3系統(tǒng)軟件設計
RI-R6C-001A射頻芯片正常工作時,一個基本的請求、應答時序如圖4所示。
由圖4可知,當控制器由發(fā)送轉(zhuǎn)換為接收過程中,它同時由主動轉(zhuǎn)化為被動,由發(fā)送時鐘轉(zhuǎn)換為接收時鐘。這里有時鐘切換問題。
a時刻表示控制器發(fā)送數(shù)據(jù)結(jié)束(發(fā)送數(shù)據(jù)時由控制器送出時鐘);b時刻控制器把DIN置高電平,為SCLOCK準備一個控制模式的轉(zhuǎn)換或者準備一個結(jié)束信號ES1;c時刻DIN下降,控制器明確表明把SCLOCK的控制權(quán)交給射頻芯片RI-R6C一001A(此時SCLOCK=O,并且控制器和射頻芯片RI-R6C-001A的時鐘線都處于輸出狀態(tài));
d時刻DIN再次置高電平,表明控制器離開對總線的控制,直到DIN下降從而要求收回時鐘的控制權(quán)。在d時刻,SCLOCK仍然等于O,但控制器的SCLOCK引腳為輸入狀態(tài),射頻芯片RI-R6C-001A的SCLOCK引腳為輸出狀態(tài)。d時刻之后,射頻芯片RI-R6C-001A便開始把接收到的從標簽過來的數(shù)據(jù)送給控制器,以便下一步對收到的數(shù)據(jù)進行處理。
當射頻芯片RI-R6C-001A控制時鐘時,它將發(fā)送一個S2給控制器。S2對應于標簽發(fā)過來的SOF,然后接著發(fā)送數(shù)據(jù)7位(圖中所示)和一個ES2對應于標簽過來的EOF。e時刻表示標簽過來的數(shù)據(jù)射頻芯片RI-R6C-001A傳送結(jié)束。e時刻之后,控制器把DIN置低的目的是收回時鐘的控制權(quán),DIN引腳再一次出現(xiàn)一個高電平脈沖,表示控制器收回了對時鐘的控制權(quán),在高電平脈沖期間時鐘將改變方向。根據(jù)需要,可以再進行下一次發(fā)送指令。
在智能車輛識別系統(tǒng)中,閱讀器對應答器的操作主要是讀標簽的UID,因此,實現(xiàn)軟件時,應嚴格按照圖4所示的時序要求。其實,閱讀器對接收到的一系列數(shù)據(jù)先進行判斷,然后決定執(zhí)行什么命令,再將該命令轉(zhuǎn)換為應答器所能接受的無線處理方式。注意,由于閱讀器對命令的分析和執(zhí)行都需要時間,所以要保證操作完成的速度和正確性。
例如,在發(fā)命令CMD之后,要有一個很短的時間延遲,再發(fā)二進制數(shù)據(jù),以確保RI-R6C-001A能正確地動作。操作指令和參數(shù)均用十六進制數(shù)表示;同時,閱讀器按照ISO15693無線協(xié)議規(guī)范,將命令信息包調(diào)制發(fā)出。當?shù)玫綉鹌鞯膽鹦畔⒑螅傧蚩刂破靼l(fā)送操作結(jié)果信息。命令處理過程實際上是命令的解釋和執(zhí)行過程。下面以讀一個標簽的UID為例(其他命令的用法與之類似),給出系統(tǒng)的工作流程,如圖5所示。
下面是讀標簽UID的程序段[5-6]:
由SPI口模擬的RI-R6C-001A的時序結(jié)果如圖6所示。圖6中,上升沿采樣數(shù)據(jù),兩幅圖中均有兩個信號,上面的是時鐘信號SCLOCK,下面的是數(shù)據(jù)線DIN。起始位后,發(fā)送的數(shù)據(jù)是十六進制的7D,緊接著是停止位,然后又是一個起始位,依次循環(huán)。從時序圖中可以看出,用SPI口能完全模擬該射頻芯片的協(xié)議。
結(jié)語
本系統(tǒng)在完成硬件和軟件設計后進行了制版、調(diào)試和測試。經(jīng)過測試,閱讀器完成了與IC卡之間的數(shù)據(jù)傳輸,已經(jīng)可以使用。系統(tǒng)中程序的設計采用PIC16F87X匯編語言和C語言,通過利用PC機、仿真器以及MPLAB ICE集成開發(fā)環(huán)境,完成了軟件的調(diào)試。如果硬件和軟件設計合理,則可進一步提高其可靠性和安全性,再加上成本低廉、讀寫電路簡單,應用必然會更加廣泛。
編輯:jq
-
IC卡
+關注
關注
2文章
173瀏覽量
34855 -
嵌入式
+關注
關注
5143文章
19575瀏覽量
315708 -
RFID
+關注
關注
390文章
6403瀏覽量
241383 -
計算機
+關注
關注
19文章
7638瀏覽量
90353
發(fā)布評論請先 登錄
東集RFID讀寫器有什么用
RFID固定式讀寫器的五大技術特點解析

高頻工業(yè)RFID讀寫器

RFID讀寫器哪種性價比高?RFID讀寫器哪家做的比較好

制鞋線體去毛刺工藝段現(xiàn)場RFID讀寫器進行數(shù)據(jù)傳輸應用
不同類型的RFID超高頻讀寫器及其應用場景淺析

工業(yè)制造行業(yè)的RFID讀寫器形狀大小如何選型

巴魯夫rfid讀頭國產(chǎn)平替版——高頻RFID讀寫器

物聯(lián)網(wǎng)系統(tǒng)中非接觸近場通信方案RFID技術詳解(一)_RFID綜述篇

使用TRF7970A的NFC/HF RFID讀寫器

CI520|13.56MHz非接觸式讀寫器NFC讀卡芯片(A卡)

涉密領域好幫手-RFID GJB固定式讀寫器

評論