基于A(yíng)RM的RFID閱讀器設計
文章出處:http://psychicreadingswithdeb.com 作者:蘆東昕 李強 柳長(cháng)安 人氣: 發(fā)表時(shí)間:2011年10月21日
RFID是Radio Frequency Identification的縮寫(xiě),即射頻識別。一種非接觸式的自動(dòng)識別技術(shù),它通過(guò)射頻信號自動(dòng)識別目標對象并獲取相關(guān)數據,識別的距離可達幾十厘米至幾米,且根據讀寫(xiě)的方式,可以輸入數千字節的信息,同時(shí),還具有極高的保密性,識別工作無(wú)須人工干預,可工作于各種惡劣環(huán)境。
RFID技術(shù)可識別高速運動(dòng)物體并可同時(shí)識別多個(gè)標簽,操作快捷方便。其應用范圍十分廣泛,主要有商品零售、商品防偽、交通運輸、物流倉儲、安全管理、醫療衛生、圖書(shū)檔案和國防軍事等。
RFID系統由三部分組成:1. 標簽(Tag,即射頻卡),由耦合元件及芯片組成,標簽含有內置天線(xiàn),用于和射頻天線(xiàn)間進(jìn)行通信;2. 閱讀器,讀?。ㄔ谧x寫(xiě)卡中還可以寫(xiě)入)標簽信息的設備;3. 天線(xiàn),在標簽和讀取器間傳遞射頻信號。本文主要介紹基于A(yíng)RM,工作頻率在13.56MHz的RFID閱讀器設計方案。
1系統硬件設計
1.1 系統主要芯片介紹
本設計方案的兩個(gè)主要芯片是LPC2212和MF RC500。LPC2212功耗低,性能高,接口資源豐富,可以在RFID閱讀器的基礎上進(jìn)行其它功能的擴展,實(shí)現一個(gè)多功能應用系統。
MF RC500是PHILIPS公司生產(chǎn)的應用于13.56MHz非接觸式通信中高集成讀卡IC系列中的一員。MF RC500支持ISO14443A所有的層,內部的發(fā)送器部分不需要增加有源電路就能夠直接驅動(dòng)近操作距離的天線(xiàn)(可達100mm);接收器部分提供一個(gè)堅固而有效的解調和解碼電路用于ISO14443A兼容的應答器信號;數字部分處理ISO14443A幀和錯誤檢測奇偶CRC,此外它還支持快速CRYPTO1加密算法用于驗證MIFARE系列產(chǎn)品。
1.2 系統總體設計
系統從功能上主要分為4大模塊:控制模塊、發(fā)送接收數據模塊、串行通信模塊和顯示模塊。各模塊組成的系統總框圖如圖1所示。
控制模塊主要由微控制器LPC2212和晶振組成,負責整個(gè)系統的控制工作。
發(fā)送接收數據模塊主要由MF RC500、晶振和天線(xiàn)組成。MF RC500分為模擬部分和數字部分。模擬部分負責對射頻卡的發(fā)送接收操作,發(fā)送主要完成驅動(dòng)天線(xiàn),提供13.56MHz的能量載波并根據寄存器的設置對發(fā)送數據進(jìn)行調制;接收主要完成對射頻卡發(fā)送的信號進(jìn)行檢測和解調并根據寄存器的設定進(jìn)行處理。數字部分則通過(guò)并口和中斷與微控制器LPC2212通信。MF RC500的能量載波由13.56MHz晶振提供,天線(xiàn)則主要由LC低通濾波器和LC諧振電路組成。
串行通信模塊主要由RS-232-C標準采用的9芯接口和電平轉換電路MAX232A組成。本模塊負責閱讀器與PC機通訊,可進(jìn)行程序下載,射頻卡信息修改等。
2 系統軟件設計
軟件設計包括三個(gè)模塊:系統初始化模塊、射頻卡與讀寫(xiě)器通信模塊和LCD顯示模塊。下面詳細介紹以上模塊。
2.1 系統初始化模塊
為了使系統能夠正常運行,必須在系統復位時(shí)對系統進(jìn)行初始化工作。其中包括中斷向量表的建立和REMAP(重映射)操作、各種模式堆棧初始化操作、時(shí)鐘初始化操作、串口初始化操作和中斷選擇初始化操作。
ARM7處理器有7種異常模式,其中斷向量位置是固定的(地址0x00000000-0x0000001C),LPC2212采用64字節存儲中斷向量表。為了實(shí)現LPC2212在不同操作模式下對中斷的使用,必須對LPC2212中Flash的Boot Block塊和SRAM空間的一小部分REMAP。另外,需要對各種模式的堆棧進(jìn)行初始化。
LPC2212振蕩器工作在振蕩模式,外部晶體振蕩頻率為20-25MHz,通過(guò)內部PLL電路調整時(shí)鐘,使系統運行速度更快。程序首先使能PLL但不連接PLL,然后設置外設時(shí)鐘與系統時(shí)鐘的分頻比,接著(zhù)設置PLL的乘因子和除因子。設置完成后,把數據正確寫(xiě)入硬件,并等待PLL跟蹤完成。最后,使能PLL并使PLL連上系統。
串口是讀卡器與PC機通信端口,在使用前須設置串口波特率、接收和發(fā)送數據字符格式和初始化FIFO(先進(jìn)先出隊列)。
串口和RC500都是基于IRQ中斷,使用前,須對LPC2212中斷選擇寄存器進(jìn)行配置,把串口和RC500的中斷請求分配為IRQ模式。
2.2 射頻卡與讀寫(xiě)器通信模塊
本系統采用M1(MIFARE 1)智能卡,本卡自帶天線(xiàn),內含加密控制邏輯和通訊邏輯電路,M1分為16個(gè)扇區,每個(gè)扇區為4塊,每塊16個(gè)字節,以塊為存取單位,每個(gè)扇區有獨立的一組密碼及訪(fǎng)問(wèn)控制,可一卡多用。M1射頻卡與讀寫(xiě)器的通信流程圖如圖2所示。
復位應答(Answer to request):M1射頻卡的通訊協(xié)議和通訊波特率是定義好的,當有卡片進(jìn)入讀寫(xiě)器的操作范圍時(shí),讀寫(xiě)器以特定的協(xié)議與它通訊,從而確定該卡是否為M1射頻卡,即驗證卡片的卡型。
防沖突機制 (Anti-collision Loop):當有多張卡進(jìn)入讀寫(xiě)器操作范圍時(shí),防沖突機制會(huì )從其中選擇一張進(jìn)行操作,未選中的則處于空閑模式等待下一次選卡,該過(guò)程會(huì )返回被選卡的序列號。
選擇卡片(Select Tag):選擇被選中的卡的序列號,并同時(shí)返回卡的容量代碼。
三次互相驗證(Three Authentication):選定要處理的卡片之后,讀寫(xiě)器就確定要訪(fǎng)問(wèn)的扇區號,并對該扇區密碼進(jìn)行密碼校驗,在三次相互認證之后就可以通過(guò)加密流進(jìn)行通訊。(在選擇另一扇區時(shí),則必須進(jìn)行另一扇區密碼校驗。)
2.3 LCD顯示模塊
顯示模塊完成射頻卡信息在LCD上的顯示功能。用戶(hù)可以顯示專(zhuān)用符號、數字、漢字和圖形。顯示模塊主要分為兩部分:第一部分是根據閱讀器從射頻卡讀入的信息確定要顯示的內容,顯示圖形時(shí),則要計算顯示坐標;第二部分是根據系統所采用的LCD建立專(zhuān)用符號庫、漢字庫,顯示圖形時(shí),則要把第一部分得到的坐標轉化為L(cháng)CD上的顯示坐標。
3 改進(jìn)的防沖突算法
根據ISO14443協(xié)議,M1型卡傳統的防沖突算法是動(dòng)態(tài)二進(jìn)制檢索樹(shù)算法。它首先利用MANCH ESTER編碼“沒(méi)有變化”的狀態(tài)來(lái)檢測碰撞位,然后把碰撞位設為二進(jìn)制“1”,用SELECT命令發(fā)送碰撞前接收的部分卡片序列號和碰撞位,如果卡片開(kāi)頭部分序列號與其相同,則做出應答,不相同則沒(méi)有響應。以此來(lái)縮小卡片范圍,最終達到無(wú)碰撞。圖3顯示了兩個(gè)卡片(PICC #1和PICC #2)的防碰撞流程。
圖4 尋卡死循環(huán)
為了解決死循環(huán)問(wèn)題,在傳統算法的基礎上設置了一個(gè)記錄碰撞位數的變量,如果第二次碰撞位數和第一次相等,則把SELECT發(fā)送的部分卡號增加一位,設為二進(jìn)制數“1”發(fā)送出去。如果在規定時(shí)間內沒(méi)有收到應答,則把增加位設為“0”發(fā)送出去??梢杂行ьA防由于應答器異步導致的死循環(huán)問(wèn)題。針對圖4的改進(jìn)流程如圖5。
圖5 改進(jìn)的防沖突流程
4 結束語(yǔ)
本文給出了一個(gè)基于A(yíng)RM的RFID閱讀器軟硬件框架,實(shí)現了對射頻卡的基本讀寫(xiě)等功能。閱讀器采用的ARM微處理器,接口資源豐富,還有很多空閑接口,可在閱讀器的基礎上進(jìn)行擴展,例如,可利用ARM的其它接口驅動(dòng)電機,利用射頻卡對電機實(shí)現控制,只有卡內信息正確,系統才能向電機發(fā)出控制命令,從而在硬件上增加了安全性。另外,改進(jìn)的防沖突算法也使讀卡器在應答器異步發(fā)送數據的情況下有效的避免死鎖。本文對實(shí)現帶有RFID功能的多功能系統有一定的參考價(jià)值和實(shí)用價(jià)值。
參考文獻:
[1]游戰清,李蘇劍等.無(wú)限射頻識別技術(shù)(RFID)理論與應用[M].電子工業(yè)出版社,2004.
[2]李駒光,聶雪媛等.ARM應用系統開(kāi)發(fā)詳解—基于S3C14510B系統設計[M].清華大學(xué)出版社,2003.
[3]周立功等.ARM微控制器基礎與實(shí)戰[M].北京航空航天大學(xué)出版社,2003.
[4]Bhuptani Manish,Moradpour Shahram.RFID Field Guide Deploying Radio Frequency Identification Systems[M].Prentice Hall PTR,2005.
[5]Klaus Finkenzeller.RFID Handbook:Fundamentals and Applications in Contactless Smart Cards and Identification[M].John Wiley & Sons,2003.