影音先锋熟女少妇av资源,国产精品52页,2021精品国产自在现线看,亚洲高清中文字幕在线

物聯(lián)傳媒 旗下網(wǎng)站
登錄 注冊
RFID世界網(wǎng) >  技術文章  >  其他  >  正文

基于STM32的RFID手持式閱讀器的研究與設計

作者:程小輝, 康燕萍
來源:電子技術應用
日期:2014-06-13 10:55:45
摘要:根據(jù)系統(tǒng)設計對芯片的性能、功耗、信息安全和傳輸速率的要求,選用STM32F103RBT6為閱讀器的微控制器。經(jīng)實驗測試,該閱讀器可觸摸操控,能讀寫S50和S70卡,具有數(shù)據(jù)存儲功能;采用鋰電池供電,充電時電源自動切換,具有待機時間長等功能。

  繼計算機和互聯(lián)網(wǎng)發(fā)展之后,物聯(lián)網(wǎng)的應用在各個領域迅速發(fā)展起來。射頻識別技術(RFID)是物聯(lián)網(wǎng)的核心技術之一。RFID是一種非接觸式的自動識別技術,其基本原理是利用射頻信號及其空間耦合和傳輸特性,實現(xiàn)對靜止或移動物體的自動識別[1]。RFID系統(tǒng)主要由閱讀器、射頻卡等部分組成,其中射頻識別閱讀器根據(jù)應用場合可分為固定式閱讀器和手持式閱讀器[2]。手持式閱讀器靈活性大、便于操作人員快速完成某一區(qū)域內的信息采集。

  隨著物聯(lián)網(wǎng)射頻識別技術的不斷發(fā)展,RFID閱讀器被廣泛應用于制造業(yè)、物流、港口、碼頭、車輛及人員管理等領域。

  1 硬件設計

  1.1 硬件結構設計

  RFID閱讀器基于STM32單片機設計,芯片型號選擇為STM32F103RBT6。該芯片為LQFP64封裝, 內部有128 KB Flash和20 KB RAM,采用32位的ARM CortexTM-M3內核, 最高支持主頻72 MHz,擁有2個SPI接口、 2個USART接口、1個USB接口、2個I2C接口和7個定時器。支持SWD和JTAG調試模式及IAP和ISP編程。

  STM32單片機支持J-Link在線調試,J-Link調試有兩種模式:JTAG調試和SWD調試。在線調試的便捷性,可以極大縮短程序的開發(fā)周期,提高開發(fā)效率。本系統(tǒng)采用的調試模式為SWD模式,只需2根SWDIO和SWCLK信號線,相比JTAG模式更加節(jié)約I/O口資源。閱讀器的硬件結構框圖如圖1所示。

基于STM32的RFID手持式閱讀器的研究與設計

  1.2 電源模塊設計

  系統(tǒng)可使用直流電源或電池供電,外部直流電源電壓為8.4 V;電池電壓為7.2 V,2 600 mA/h的鋰電池。電源模塊設計原理圖如圖2所示。

基于STM32的RFID手持式閱讀器的研究與設計

  電源模塊工作原理:當插座J1連接外部直流電源時,電流可經(jīng)過D4給電池充電,直流電源經(jīng)開關JP1連接IRF7404的G極,使IRF7404的D極與S極斷開,則系統(tǒng)使用外部直流電源供電;當不使用直流電源、按下開關時,D4可將CD_POWER與電池斷開,IRF7404的G極為低電平, IRF7404導通, 則系統(tǒng)使用電池供電。SYS_

  POWER電壓經(jīng)過LM2576S-3.3轉換為3.3 V為系統(tǒng)的各模塊供電。

  1.3 MF RC522模塊設計

  MF RC522是閱讀器的讀卡芯片,工作頻率為13.56 MHz,工作模式支持ISO 14443A標準,芯片內部驅動器可以直接驅動閱讀器的天線,無需其他電路。MF RC522具有3種接口模式:SPI接口模式、UART模式和I2C總線模式[3]。其中SPI模式的通信速度最快,可達到10 Mb/s。

  MF RC522與主機接口模式有關的兩個引腳為IIC和EA:當IIC引腳拉高時,表示當前模式為I2C模式,若IIC引腳為低電平時,再通過EA引腳電平來區(qū)分。EA為高電平時,表示SPI模式;為低電平時,則表示UART模式[4]。本設計中MF RC522與MCU采用SPI通信,與AT45DB161共享一個MCU的SPI2接口。

  在系統(tǒng)中,MF RC522和天線電路一起作為單獨模塊使用,以便于更換與維修。天線模塊與主板之間通過插座連接。

  天線是閱讀器中的一個重要組成部分。其作用是向外發(fā)射一組固定頻率的電磁波,為射頻卡提供能量、傳遞數(shù)據(jù)。

  本系統(tǒng)中使用的是PCB天線,天線的設計關系到閱讀器的讀寫距離,甚至關系到閱讀器是否能正常與射頻卡通信。RC522的天線設計須注意以下兩點:(1)為了讓射頻卡能獲取足夠大的能量驅動本身的集成電路,設計天線時應該保證向外輻射足夠大的電磁波; (2)為了提高讀卡數(shù)據(jù)的準確性,需要考慮調諧電路的通頻帶,確保調制信號的準確性。

  天線的匹配電路可分為:天線線圈、LC諧振電路和EMC濾波電路。RC522的天線匹配電路如圖3所示,其中RQ為品質因素Q的匹配電阻,Lant為天線的電感。

  1.4 顯示模塊設計

  閱讀器選用2.8英寸的TFT LCD觸摸屏。在本系統(tǒng)中移植了GUI模塊,使得人機交流界面操作更加便捷、友善。觸摸屏為四線電阻屏,使用ADS7843作為A/D轉換芯片。ADS7843是內置12位模/數(shù)轉換、低導通電阻模擬開關的串行接口芯片,模/數(shù)轉換輸出范圍0~4 095,工作電壓2.7 V~5 V,參考電壓VREF為1 V~VCC,轉換電壓的輸入范圍為0~VREF,最高轉換速率為125 kHz[5]。ADS7843與MCU的接口為SPI1。

基于STM32的RFID手持式閱讀器的研究與設計

  驅動層的程序基于硬件平臺,主要是為中間服務層提供硬件驅動接口函數(shù),完成底層的硬件操作。編寫STM32的內部資源驅動程序時,調用了ST公司的固件庫函數(shù)。

  中間服務層主要是為上層應用程序提供庫支持和服務接口。中間服務層的程序在驅動層程序上開發(fā),并封裝驅動程序的接口。如FATS文件系統(tǒng)是在AT45DB161的驅動程序上移植,為上層的應用程序提供文件創(chuàng)建、寫入、讀出、刪除等服務;GUI模塊是在LCD顯示驅動程序上開發(fā),將LCD驅動的畫點畫線函數(shù)封裝成不同的控件,在控件上加載相應的數(shù)據(jù)結構,為界面應用程序提供控件的創(chuàng)建、銷毀等操作。

  應用層程序是面向用戶,通過調用中間服務函數(shù)和庫函數(shù)來完成相應的數(shù)據(jù)處理和控制功能等。

  2.2 Free RTOS實時操作系統(tǒng)

  Free RTOS是一個輕量級的操作系統(tǒng),基本滿足較小系統(tǒng)的需要。該操作系統(tǒng)完全免費且源碼公開,同時具有可移植、可裁減、調度策略靈活的特點。

  在本設計中Free RTOS的任務之間的關系如圖5所示。

基于STM32的RFID手持式閱讀器的研究與設計

  2.3 GUI模塊

  GUI模塊是一個中間服務層程序,為顯示應用程序提供控件顯示服務。如控件的顯示位置、尺寸、顏色以及控件響應的回調函數(shù)入口地址等。在本系統(tǒng)中GUI控件包含有文本框、編輯框、進度條、圖像框、下拉列表、按鈕等。每個控件都可以注冊一個回調函數(shù),這個函數(shù)對應了該控件的響應功能函數(shù)。

  2.4 FAT文件系統(tǒng)

  FatFs文件系統(tǒng)是中間服務層程序,建立在AT45DB161驅動程序上,文件系統(tǒng)提供了磁盤I/O接口和應用程序接口。磁盤I/O接口函數(shù)位于diskio.c文件,常用的接口函數(shù)有讀磁盤disk_read()和寫磁盤disk_write()。這兩個函數(shù)分別調用AT45DB161驅動程序的讀扇區(qū)和寫扇區(qū)函數(shù)。在文件系統(tǒng)中一個扇區(qū)的大小為512 B,與AT45DB161的頁大小一致。

  為了使FatFs文件系統(tǒng)與Windows的文件系統(tǒng)兼容,要使用FAT32格式來格式化磁盤。f_open()函數(shù)與f_close()函數(shù)必須要成對出現(xiàn),即打開一個文件操作完成后必須要關閉這個文件。在對文件進行操作前必須先調用f_mount(0,&Fs)函數(shù)對工作區(qū)進行注冊,操作完成后也需要調用f_mount(0,NULL)函數(shù)對工作區(qū)進行注銷。

  2.5 MF RC522驅動程序流程

  本系統(tǒng)中使用的射頻卡為Mifare1 S50,也簡稱為M1卡,該卡有16個扇區(qū),每個扇區(qū)有4個塊,每個塊可存儲16 B的數(shù)據(jù)。MF RC522對M1卡進行讀寫控制,分別有尋卡、防碰撞、選卡、認證、讀塊和寫塊等過程。

  MF RC522驅動程序流程如下:

  (1)尋卡:尋找感應區(qū)內所有符合ISO14443A標準的卡,尋卡成功后,返回卡的類型。

  (2)防碰撞:通過防碰撞命令查看多張M1卡之間是否發(fā)生碰撞,若發(fā)生碰撞,使用防碰撞算法進行處理;若未發(fā)生碰撞,則MF RC522與M1卡進行通信,如果通信成功,讀出M1卡中的序列號。

  (3)選卡:根據(jù)M1卡的序列號進行選卡。

  (4)密碼驗證:密碼驗證模式有驗證A密鑰和驗證B密鑰,通過這兩種模式來驗證塊地址、密碼和卡片序列號。

  (5)讀數(shù)據(jù)塊:根據(jù)提供的塊地址讀取塊數(shù)據(jù)。

  (6)寫數(shù)據(jù)塊:根據(jù)提供的塊地址寫入塊數(shù)據(jù),操作完成后命令M1卡進入休眠狀態(tài)。

  2.6 AT45DB161D驅動程序

  AT45DB161D是一個外部Flash存儲器,擁有2 MB的容量,分為4 096個頁,可配置為每頁512 B,還擁有2個512 B的緩沖區(qū)。在主存儲器正在編程時,緩沖區(qū)允許接收數(shù)據(jù),且支持數(shù)據(jù)流式寫入。AT45DB161的初始化包括STM32的引腳配置和SPI2接口配置,初始化之后才能進行讀寫操作。讀寫頁操作流程如下:

  (1)讀頁操作流程

 ?、贆z測AT45芯片是否忙。若忙,則繼續(xù)讀忙,直到芯片空閑;若芯片空閑,則執(zhí)行流程②。

  ②向AT45芯片寫入命令0x53和頁地址。0x53命令是將Flash中整頁的數(shù)據(jù)讀到緩沖區(qū)1中。

 ?、巯駻T45芯片寫入命令0xD4和頁偏移地址及數(shù)據(jù)長度。0xD4命令是讀緩沖區(qū)1中的數(shù)據(jù)。

  ④讀頁操作完成。

  (2)寫頁操作流程

 ?、贆z測AT45芯片是否忙。若忙,則繼續(xù)讀忙,直到芯片空閑;若芯片空閑,則執(zhí)行流程②。

 ?、谙駻T45芯片寫入命令0x84、頁偏移地址及需要寫入的數(shù)據(jù)。0x84命令是將數(shù)據(jù)寫到緩沖區(qū)1中。

 ?、巯駻T45芯片寫入命令0x83和頁地址。0x83命令是將緩沖區(qū)1中的數(shù)據(jù)寫到Flash指定的頁。使用0x83命令,寫入前不需要對頁進行擦除操作。

 ?、軐戫摬僮魍瓿?。

  3 性能測試與實驗分析

  3.1手持式閱讀器的功能測試

  需要測試的功能有對M1卡讀寫、文件讀寫、與PC機數(shù)據(jù)通信等功能。為了便于測試上述功能,將本設計應用在校園消費系統(tǒng)上進行測試。測試步驟如下:

  (1)用串口線將RFID閱讀器與PC機相連。運行PC機的上位機程序,設置串口參數(shù)為:波特率9 600 b/s,數(shù)據(jù)位8 bit,停止位1 bit,無校驗位,無流控制。

  (2)對M1卡讀寫功能測試。通過上位機軟件發(fā)送指令和數(shù)據(jù)至閱讀器,閱讀器將指定數(shù)據(jù)寫入M1卡。然后再將M1卡數(shù)據(jù)讀出,傳回給上位機軟件顯示,并比較寫入數(shù)據(jù)和讀出數(shù)據(jù),如圖6所示。

基于STM32的RFID手持式閱讀器的研究與設計

  (3)文件讀寫測試。由于讀M1卡的數(shù)據(jù)以文件的形式存放在閱讀器的外部Flash中,該Flash由文件系統(tǒng)管理。用USB線連接閱讀器和PC機,閱讀器以盤符的形式在PC機上顯示,從磁盤中將文件復制到PC機上,用上位機軟件打開讀出軟件,記錄測試數(shù)據(jù)。

  (4)與PC機數(shù)據(jù)通信測試。以上兩項測試通過則表明閱讀器能與PC機進行正常通信。

  3.2 性能測試與分析

  系統(tǒng)的性能測試主要是鋰電池的續(xù)航時間及RFID有效讀卡距離等。系統(tǒng)性能測試如表1所示。

基于STM32的RFID手持式閱讀器的研究與設計

  (1)鋰電池的續(xù)航時間需要分別測試最長待機時間和連續(xù)工作時間。

 ?、僮铋L待機時間測試:將鋰電池充滿電,閱讀器使用電池供電,將閱讀器開機而不使用,記錄待機時間。

 ?、谶B續(xù)工作時間測試:將鋰電池充滿電,閱讀器使用電池供電,編寫一個測試程序,讓閱讀器定時每30 s讀取M1卡信息。記錄工作時間。

 ?、塾萌f用表分別測量閱讀器的待機消耗電流和工作消耗電流,并記錄電流值。

  (2)RFID有效讀卡距離。將閱讀器固定不動,M1卡平行放在閱讀器天線平面的正上方200 mm處,將M1卡緩慢向閱讀器移動,直到閱讀器能正確讀取M1卡中數(shù)據(jù)為止。測量卡與閱讀器天線之間的距離并記錄數(shù)據(jù)。

  通過對上述的系統(tǒng)功能、性能進行驗證,分析實驗測出的相應數(shù)據(jù),系統(tǒng)的功能基本能達到了初期預設的技術指標。

  本文設計的閱讀器有良好的人機交流界面,可通過觸控操作,顯示屏可顯示M1卡中存儲信息。經(jīng)過實驗證明,在70 mm的范圍內能準確讀寫M1卡中的數(shù)據(jù)。該閱讀器具有超長待機和低功耗的功能。經(jīng)過實際功能測試,已成功地將該設計應用于校園消費系統(tǒng)。