基于ARM的雙頻RFID讀寫系統(tǒng)設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第1頁
基于ARM的雙頻RFID讀寫系統(tǒng)設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第2頁
基于ARM的雙頻RFID讀寫系統(tǒng)設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第3頁
基于ARM的雙頻RFID讀寫系統(tǒng)設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第4頁
基于ARM的雙頻RFID讀寫系統(tǒng)設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

精品文檔-下載后可編輯基于ARM的雙頻RFID讀寫系統(tǒng)設(shè)計(jì)-設(shè)計(jì)應(yīng)用摘要:本文設(shè)計(jì)了能對(duì)低頻和高頻RFID卡進(jìn)行操作的雙頻RFID讀寫系統(tǒng)。系統(tǒng)基于ARM微處理器S3C44B0X,利用S3C44B0X的內(nèi)部接口實(shí)現(xiàn)與RFID模塊和其它外設(shè)的連接,簡化了硬件。軟件設(shè)計(jì)中,通過對(duì)ARM嵌入式系統(tǒng)的編程實(shí)現(xiàn)對(duì)RFID卡的讀寫、顯示以及數(shù)據(jù)的存儲(chǔ)、查詢等功能。系統(tǒng)還可通過USB接口與上位機(jī)(PC)連接,使用方便靈活。

1引言

RFID(RadioFrequencyIdentificationTechnology,無線射頻識(shí)別技術(shù))由于具有高速移動(dòng)物體識(shí)別、多目標(biāo)識(shí)別和非接觸識(shí)別等特點(diǎn),顯示出巨大的發(fā)展?jié)摿蛻?yīng)用空間,被認(rèn)為是21世紀(jì)有發(fā)展前途的信息技術(shù)之一。射頻識(shí)別技術(shù)雖然有很多優(yōu)點(diǎn),但其技術(shù)本身也有局限性。對(duì)RFID系統(tǒng)而言,低頻系統(tǒng)具有良好的對(duì)水、肉體等可導(dǎo)媒介的穿透力,而速度、距離、抗沖突性較差;而高頻系統(tǒng)則正好相反。如能結(jié)合各種頻率系統(tǒng),用其所長,則可以使RFID適應(yīng)多種場合,拓展其應(yīng)用范圍。本文設(shè)計(jì)的系統(tǒng)正是基于這一出發(fā)點(diǎn),將低頻和高頻二種頻率的RFID模塊組合在一起,構(gòu)成雙頻系統(tǒng),使系統(tǒng)兼具低頻可穿透性和高頻良好的距離、速度、抗沖突性等方面的優(yōu)勢。鑒于目前國內(nèi)市場上應(yīng)用為廣泛的射頻卡和讀寫器實(shí)現(xiàn)方法,本文采用ARM嵌入式系統(tǒng)作為微控制器,設(shè)計(jì)了能對(duì)低頻125KHz和高頻13.56MHz的二種頻率RFID卡操作的讀寫模塊,實(shí)現(xiàn)了的雙頻RFID讀寫系統(tǒng)。

2系統(tǒng)設(shè)計(jì)

由于ARM微處理器具有運(yùn)行速度快,接口功能豐富,其應(yīng)用越來越廣泛。本文采用三星公司的S3C44B0X,它是ARM7系列的低功耗的32位RISC處理器,具有ARM7TDMI內(nèi)核,有豐富的內(nèi)置部件,包括8K字節(jié)Cache和內(nèi)部SRAM,帶自動(dòng)握手聯(lián)絡(luò)的2通道UART,定時(shí)器,通用I/O口,ADC和I2C-BUS控制器等。尤其是它的內(nèi)置液晶顯示器接口,可直接連接LCD顯示器,無需專用LCD顯示器接口芯片,可使成本降低,很適合在本系統(tǒng)中使用。讀寫系統(tǒng)的結(jié)構(gòu)如圖1所示。

圖1系統(tǒng)結(jié)構(gòu)框圖

整個(gè)系統(tǒng)由ARM嵌入式系統(tǒng)(包括S3C44B0X,SDRAM存儲(chǔ)器和FLASH存儲(chǔ)器),低頻RFID卡讀寫模塊,高頻RFID卡讀寫模塊,USB接口,LCD顯示器以及蜂鳴器、狀態(tài)指示燈等組成。RFID模塊是北京華閏得公司開發(fā)的具有串行數(shù)據(jù)通信接口的模塊,低頻讀寫模塊是CR001,為工作于125kHz的EM4001卡;高頻模塊是CR013,為工作于13.56MHz的MF卡。由于RFID模塊具有TTL電平的串行通信接口,這樣ARM微處理器可直接通過片上的二個(gè)UART接口與其連接,不需要電平轉(zhuǎn)換即可輕松實(shí)現(xiàn)與RFID模塊的通信。嵌入式系統(tǒng)與PC機(jī)的連接則通過USB接口實(shí)現(xiàn)。

因?yàn)榈皖lRFID卡一般都是只讀卡,進(jìn)入讀卡器磁場范圍后,就自動(dòng)發(fā)出信號(hào)。ARM微處理器通過不斷檢測端口捕捉信號(hào),一旦讀到卡,就讀取信息,并在LCD上顯示。對(duì)于高頻卡,可根據(jù)需要進(jìn)行讀或?qū)懖僮鳌?/p>

LCD顯示器采用320*240點(diǎn)陣的STN型彩色液晶模塊,可直接與S3C44B0X連接,成本也較低。對(duì)LCD的顯示控制直接使用S3C44B0X內(nèi)部的LCD驅(qū)動(dòng)控制器實(shí)現(xiàn),它能自動(dòng)產(chǎn)生LCD驅(qū)動(dòng)控制所需的信號(hào)。在這種接口方式下,LCD顯示緩沖區(qū)映射在系統(tǒng)的存儲(chǔ)器空間上,程序只需將像素點(diǎn)內(nèi)容寫入存儲(chǔ)器對(duì)應(yīng)地址就可以實(shí)現(xiàn)對(duì)應(yīng)LCD屏上像素點(diǎn)顏色的顯示刷新,控制十分方便。

鍵盤和狀態(tài)指示燈的操作控制采用ZLG7290實(shí)現(xiàn)。ZLG7290是一款功能較強(qiáng)的按鍵處理和7段數(shù)碼管顯示芯片,提供了I2C串行接口和鍵盤中斷信號(hào),可方便地與S3C44B0X連接。

在上位機(jī)(PC機(jī))上,通過設(shè)計(jì)專門的軟件實(shí)現(xiàn)對(duì)RFID卡的讀寫操作,并對(duì)RFID卡進(jìn)行管理。由于PC機(jī)功能強(qiáng)大,如再配上數(shù)據(jù)庫系統(tǒng),可以對(duì)大量用戶的數(shù)據(jù)和信息進(jìn)行存儲(chǔ)和查詢等處理,滿足多種應(yīng)用的需要。

3系統(tǒng)的軟件設(shè)計(jì)

3.1RFID模塊操作

CR001模塊與S3C44B0X的串口(UART0)相連,在接收數(shù)據(jù)前首先要對(duì)UART0進(jìn)行初始化。根據(jù)CR001的使用規(guī)范,設(shè)置波特率為9600Baud,數(shù)據(jù)位為8位,1位停止位,無校驗(yàn)位。為使ARM對(duì)低頻RFID卡及時(shí)作出響應(yīng),軟件采用中斷方式接收數(shù)據(jù),即當(dāng)S3C44B0X的UART0接收到數(shù)據(jù)時(shí),產(chǎn)生中斷,在中斷服務(wù)程序中接收CR001模塊的數(shù)據(jù)。

根據(jù)CR001射頻讀寫模塊的使用規(guī)范,CR001模塊輸出的數(shù)據(jù)包有5個(gè)字段,即起始符(STX,02H)、數(shù)據(jù)(10個(gè)ASCII字符)、校驗(yàn)和(2個(gè)ASCII字符)、LD和LF(0DH和0AH)、結(jié)束符(ETX,03H)。因此在軟件設(shè)計(jì)中,當(dāng)收到UART0的數(shù)據(jù)時(shí),首先要判斷一個(gè)數(shù)據(jù)包的起始符和結(jié)束符,以確定一個(gè)數(shù)據(jù)幀的起止位置,然后再檢驗(yàn)數(shù)據(jù)的校驗(yàn)和是否正確。只有在接收的數(shù)據(jù)無誤時(shí),再將其中的數(shù)據(jù)取出、存儲(chǔ),并在LCD上顯示。中斷服務(wù)軟件的流程如圖2所示。

圖2CR001模塊的中斷服務(wù)程序流程

CR013射頻讀寫模塊是采用Philips公司的Mifare技術(shù)設(shè)計(jì)的微型嵌入式、非接觸式IC卡讀寫模塊,內(nèi)嵌ISO14443TypeA協(xié)議解釋器,并可直接驅(qū)動(dòng)射頻天線。這是一種以被動(dòng)方式工作的卡,剛進(jìn)入天線有效感應(yīng)區(qū)的卡得電進(jìn)入空閑(IDLE)狀態(tài),它只吸收感應(yīng)區(qū)內(nèi)的磁場能量,不會(huì)首先發(fā)出信號(hào)。當(dāng)讀卡設(shè)備發(fā)出請(qǐng)求信號(hào),符合條件的卡才會(huì)響應(yīng)。因此處理器與模塊之間以一問一答式的半雙工方式進(jìn)行通信。

對(duì)CR013模塊的讀寫過程相對(duì)較復(fù)雜,要執(zhí)行一系列的操作指令,包括詢卡、請(qǐng)求、防沖突、選卡、裝載密鑰、驗(yàn)證密碼、讀塊、寫塊,這一系列的操作必須按固定的順序。尋卡時(shí),處理器需要執(zhí)行請(qǐng)求、防沖突、選卡操作,與CR013模塊建立起通信關(guān)系,在通過裝載密鑰、驗(yàn)證密碼操作后,才可進(jìn)行讀卡或?qū)懣ú僮鳌?/p>

1、防沖突

防沖突就是從多張卡中選出一張卡來操作,又叫防碰撞、防重疊。如果知道卡的序列號(hào),則可跳過此步,直接執(zhí)行下一步選卡命令。若不知道卡的序列號(hào),則必須調(diào)用防碰撞函數(shù),得到感應(yīng)區(qū)內(nèi)卡的序列號(hào)。若同時(shí)有多張卡在感應(yīng)區(qū)內(nèi),防碰撞函數(shù)能檢測到,并且從中選出一張卡的序列號(hào)來。

2、選擇卡片

根據(jù)上一步收到的卡號(hào),發(fā)出選卡命令。經(jīng)過這一步后才真正選中了一張要操作的卡,以后的操作都對(duì)這張卡進(jìn)行。

整個(gè)尋卡過程包括請(qǐng)求、防沖突、選卡三個(gè)步驟。當(dāng)微處理器發(fā)出尋卡命令時(shí),實(shí)際上微處理器執(zhí)行了以上3個(gè)步驟。為防止死鎖,本文設(shè)置每步操作的次數(shù)為3次,若3次不成功則尋卡失敗。程序流程如圖3所示。

圖3CR013模塊尋卡程序流程

3、密鑰裝載和驗(yàn)證密碼

微處理器發(fā)出讀、寫命令后,在進(jìn)行讀寫操作前必須先執(zhí)行密鑰裝載和驗(yàn)證密碼。驗(yàn)證密碼又叫、證實(shí)。模塊將裝載到讀卡芯片F(xiàn)M1702SL中的密碼與卡中指定扇區(qū)的密碼進(jìn)行,如果密碼相同,則成功,卡允許進(jìn)行讀寫操作。

3.2LCD顯示軟件設(shè)計(jì)

LCD用于顯示用戶操作界面,為此需要在屏幕上繪制圖形,顯示數(shù)據(jù)和文字。在對(duì)LCD控制器進(jìn)行操作前,首先要對(duì)LCD控制器的專用寄存器進(jìn)行初始化,內(nèi)容包括定義3個(gè)LCD控制寄存器,3個(gè)幀緩沖區(qū)地址寄存器和3個(gè)顏色查找表寄存器。

為了在LCD上顯示字符和圖形,需要建立繪圖和字符顯示庫函數(shù)。繪圖函數(shù)包含一些基本的繪圖功能,如畫點(diǎn)、畫線、畫矩形框和區(qū)域填充等。其中畫點(diǎn)是基本的函數(shù),其它函數(shù)都可以調(diào)用畫點(diǎn)函數(shù)實(shí)現(xiàn)。

為了在LCD上顯示字符,還要建立ASCII字符和漢字字符的點(diǎn)陣庫和顯示函數(shù)。顯示ASCII字符的原理是在特定的坐標(biāo)位置畫點(diǎn),形成人們可以識(shí)別的字符圖形。點(diǎn)的坐標(biāo)根據(jù)建立的ASCII字符點(diǎn)陣庫來確定。ASCII字符的點(diǎn)陣庫可以根據(jù)字符的點(diǎn)陣位置生成點(diǎn)陣數(shù)組供調(diào)用。漢字的顯示原理與ASCII字符相同,事先也要建立漢字點(diǎn)陣字庫,這一過程可通過專用的字庫生成軟件實(shí)現(xiàn)。另外,為了節(jié)省存儲(chǔ)器空間,只需建立本系統(tǒng)要用到的漢字小字庫,而不必生成所有常用字的點(diǎn)陣。

3.3鍵盤和指示燈的軟件設(shè)計(jì)

對(duì)鍵盤和指示燈的操作控制是由ZLG7290實(shí)現(xiàn)的,由于S3C44B0X具有I2C接口,因此可直接與ZLG7290連接。編程時(shí)首先要對(duì)I2C總線進(jìn)行初始化,然后打開鍵盤中斷。當(dāng)鍵盤有鍵被按下時(shí),ZLG7290的INT引腳會(huì)產(chǎn)生一個(gè)低電平的中斷請(qǐng)求信號(hào)。在ARM的中斷程序中通過I2C總線讀取鍵值,再根據(jù)鍵值完成相應(yīng)功能。

3.4USB接口通信

為方便與PC機(jī)接口,本系統(tǒng)采用應(yīng)用廣泛的USB接口與PC機(jī)通信。因S3C44B0X本身不帶USB接口,必須要進(jìn)行擴(kuò)展。但是,USB接口協(xié)議非常復(fù)雜,固件編程和WDM驅(qū)動(dòng)程序的編寫都是相當(dāng)麻煩的工作。為降了設(shè)計(jì)難度,縮短開發(fā)周期,本文采用哈爾濱訊通公司的通用串行總線模塊USB100。該模塊內(nèi)部封裝了USB協(xié)議和細(xì)節(jié),即插即用,完全滿足USB1.1標(biāo)準(zhǔn),對(duì)USB接口的操作如同對(duì)外部存儲(chǔ)器操作一樣方便,無需任何外接元件。

USB100模塊有2根狀態(tài)信號(hào)RXF和TXE,用于與ARM聯(lián)絡(luò)。RXF為低表示模塊有數(shù)據(jù)輸出,ARM可以讀取數(shù)據(jù);TXE則表示USB100發(fā)送緩沖區(qū)的狀態(tài),TXE為低表示USB100發(fā)送緩沖器未滿,可以向發(fā)送緩沖區(qū)寫數(shù)據(jù)。在編程時(shí),可以采用查詢方式實(shí)現(xiàn)數(shù)據(jù)的收發(fā)。

3.5RTC實(shí)時(shí)時(shí)鐘顯示功能

為了顯示讀卡和寫卡的時(shí)間,需要使用實(shí)時(shí)時(shí)鐘(RTC)。S3C44B0X具有一個(gè)獨(dú)立的RTC功能模塊,能夠像鐘表和日歷一樣保存并自動(dòng)計(jì)算時(shí)間。RTC的寄存器保存了表示時(shí)間的8位BCD碼數(shù)據(jù),包括秒、分、時(shí)、日、星期、月和年,編程時(shí)主要是對(duì)這些參數(shù)進(jìn)行初始化設(shè)置。在LCD上顯示實(shí)時(shí)時(shí)鐘時(shí),需定時(shí)地從上述的寄存器中取出相應(yīng)的數(shù)據(jù)。由于LCD上字符是根據(jù)ASCII碼顯示的,而RTC的寄存器中存放的時(shí)間參數(shù)都以BCD碼形式存儲(chǔ),因此在LCD顯示日期和時(shí)間之前,必須先對(duì)時(shí)間數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換,即將BCD碼轉(zhuǎn)換為ASCII碼。

3.6PC機(jī)軟件

PC機(jī)軟件基于windows操作系統(tǒng),采用VisualC#2022進(jìn)行編程。軟件的功能主要包括在PC機(jī)上顯示操作面板,通過與ARM嵌入式系統(tǒng)通信實(shí)現(xiàn)對(duì)RFID卡的讀寫操作,并將卡的相關(guān)信息在PC機(jī)上顯示;此外,軟件還能訪問數(shù)據(jù)庫,將從卡中讀取的數(shù)據(jù)存入數(shù)據(jù)庫中,或?qū)?shù)據(jù)庫中的取出數(shù)據(jù)寫入RFID卡,還能根據(jù)用戶的需要查詢相關(guān)信息。數(shù)據(jù)庫采用MicrosoftofficeAccess數(shù)據(jù)庫系統(tǒng),并采用結(jié)構(gòu)化查詢語言(SQL)對(duì)數(shù)據(jù)庫訪問。

4結(jié)束語

本文以ARM微處理器S3C44B0X為,設(shè)計(jì)實(shí)現(xiàn)了RFID雙頻讀寫器系統(tǒng)。在對(duì)高頻RFID卡的尋卡過程中,通過對(duì)操作次數(shù)的限制,有效地防止了死鎖。系統(tǒng)具有LCD顯示器,通過鍵盤操作便可對(duì)RFID卡的進(jìn)行讀寫。設(shè)計(jì)的USB接口可方便地與PC機(jī)連接,在PC機(jī)上實(shí)現(xiàn)對(duì)RFID卡的操作。系統(tǒng)功能強(qiáng),使用靈活,可滿足多種應(yīng)用場合。由于采用了低成本的ARM微處理器,簡化了硬件,提高了系統(tǒng)的性價(jià)比。

參考文獻(xiàn):

[1].S3C44B0Xdatasheet/datasheet/S3C44B0X_589522.html.[2].RISCdatasheet/datasheet/RISC+_1189725.html.[3].ARM7TDMIdatasheet/

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論