物聯(lián)傳媒 旗下網(wǎng)站
登錄 注冊

便攜式超高頻RFID讀寫器的FPGA實現(xiàn)

作者:不詳
來源:單片機(jī)與嵌入式系統(tǒng)
日期:2015-07-07 17:23:33
摘要:本文重點介紹基于Altera公司Cyclone系列FPGA和ISO1800 0-6C標(biāo)準(zhǔn)超高頻RFID讀寫器的軟硬件實現(xiàn)方法。
關(guān)鍵詞:RFID讀寫器ISO18000-6CFPGA

  引言

  射頻識別(Radio Frequency Identification,RFID)是利用微波進(jìn)行雙向數(shù)據(jù)傳輸?shù)囊环N非接觸式射頻自動識別技術(shù)。RFID系統(tǒng)具有使用壽命長、低功耗、數(shù)據(jù)傳輸快速、穩(wěn)定、安全、可靠,適應(yīng)性和抗干擾性強等優(yōu)點,已廣泛用于工業(yè)控制、消費類電子、醫(yī)療電子、現(xiàn)代物流和校園一卡通等方面。RFID技術(shù)是現(xiàn)代物聯(lián)網(wǎng)的核心技術(shù)。我國研究RFID技術(shù)起步比較晚,受軟件和硬件等條件限制RFID技術(shù)還未真正實現(xiàn)大規(guī)模應(yīng)用,大多數(shù)屬于中、低頻數(shù)據(jù)傳輸,距國外先進(jìn)技術(shù)還有一段距離。本文重點介紹基于Altera公司Cyclone系列FPGA和ISO1800 0-6C標(biāo)準(zhǔn)超高頻RFID讀寫器的軟硬件實現(xiàn)方法。

  1 系統(tǒng)原理和結(jié)構(gòu)

  1.1 RFID系統(tǒng)原理

  典型RFID系統(tǒng)由讀寫器(Reader)、射頻標(biāo)簽(RFIDTag)、天線(Antenna)、中間件(Middle Ware)和應(yīng)用程序(Application Ware)5部分組成。RFID系統(tǒng)結(jié)構(gòu)框圖如圖1所示。讀寫器安裝在固定位置,通過USB與PC連接,實現(xiàn)數(shù)據(jù)通信與讀寫,讀寫器對射頻標(biāo)簽操作實現(xiàn)用戶數(shù)據(jù)更新與存儲。由于系統(tǒng)基于ISO18000-6C標(biāo)準(zhǔn),射頻標(biāo)簽要符合該標(biāo)準(zhǔn),實現(xiàn)用戶數(shù)據(jù)存儲;讀寫器由編解碼電路、數(shù)據(jù)存儲電路、射頻前端收發(fā)電路、天線、電源電路等構(gòu)成;天線接收和發(fā)送超高頻微波信號;中間件、中間信息和數(shù)據(jù)處理軟件,對射頻讀寫器和中間件事件過濾、聚合和計算,抽象出對應(yīng)用軟件有邏輯意義的算法;應(yīng)用程序直接面對用戶人機(jī)交互界面。由應(yīng)用軟件操作讀寫器,讀寫器收發(fā)微波信號修改用戶射頻標(biāo)簽,應(yīng)用軟件是用戶體驗和判斷RFID系統(tǒng)成功的一個重要因素。

   便攜式超高頻RFID讀寫器的FPGA實現(xiàn)

  1.2 RFID讀寫器原理

  基于FPGA RFID讀寫器可分為3個模塊:FPGA最小系統(tǒng)、USB串行總線接口電路、RF信號收發(fā)電路。FPGA最小系統(tǒng)包含F(xiàn)PGA現(xiàn)場可編程邏輯陣列、JTAG配置電路、系統(tǒng)時鐘電路、數(shù)據(jù)存儲電路、顯示電路、電源電路。RFID讀寫器控制核心用Altera公司Cyclone系列的EP1C3T144芯片。由于FPGA基于SRAM技術(shù),下載配置芯片用Altera公司配套的EPCS1,下載模式采用JTAG模式,20 MHz有源時鐘晶振,0.3寸共陰數(shù)碼管,外接5 V直流電源,經(jīng)兩級LM1085轉(zhuǎn)換為3.3 V和1.5 V電壓,為FPGA內(nèi)核和引腳供電。數(shù)據(jù)存儲芯片選用Catalyst公司CMOS技術(shù)芯片EEPROMCAT24WC02,通過I2C總線與FPGA連接。USB串行總線接口芯片采用南京沁恒公司的USB通用接口芯片。RF信號收發(fā)模塊選用Chipcon公司的SmartRF03技術(shù)和0.18μm CMOS工藝的CC1100芯片作為微波信號收發(fā)前端,通過SPI總線與FPGA連接。

  在RFID系統(tǒng)中,讀寫器是連接射頻標(biāo)簽和PC機(jī)客戶端的核心,通過對讀寫器命令操作,實現(xiàn)用戶數(shù)據(jù)修改、存儲等操作。RFID讀寫器與標(biāo)簽數(shù)據(jù)傳輸可以分為從讀寫器到標(biāo)簽前向鏈路和標(biāo)簽到讀寫器后向鏈路,前向鏈路與后向鏈路采用半雙工方式通信,數(shù)據(jù)傳輸采用ASK調(diào)制,前向鏈路采用PIE碼,后向鏈路采用Miller碼,系統(tǒng)采用CRC-16校驗碼和特殊防沖突算法保證讀寫正確。RFID通信可分為2步:閱讀器首先獲得在輻射范圍內(nèi)標(biāo)簽ID號,然后對ID號符合要求的標(biāo)簽進(jìn)行讀寫相應(yīng)操作。讀寫器與上位機(jī)USB數(shù)據(jù)通信,通過USB設(shè)備枚舉完成HID人機(jī)接口設(shè)備識別和數(shù)據(jù)讀寫。

  2 系統(tǒng)硬件電路設(shè)計

  2.1 Cyclone EP1C3T144 FPGA最小系統(tǒng)

  FPGA最小系統(tǒng)包含可編程門陣列、電源電路、時鐘電路、復(fù)位電路、配置電路、濾波電路?,F(xiàn)場可編程門陣列采用EP1C3T144。它基于1.5 V,0.13μm全銅SRAM工藝、TQFP144封裝;104個I/O口,支持各種I/O標(biāo)準(zhǔn);支持LVDS,數(shù)據(jù)傳輸率為311 Mbps;2910LE邏輯單元、

  288 Kb RAM、1個PLL鎖相環(huán),支持66 MHz 32位PCI標(biāo)準(zhǔn),支持外接133 MHz DDR SDROM;單獨有源時鐘接口,外接20 MHz頻率的有源晶振;專用配置電路接口,3.3 V LVTTL供電。FPGA基于SRAM技術(shù),掉電數(shù)據(jù)易失,采用Altera公司配套的EPCS1JTAG下載模式。系統(tǒng)采用硬件和軟件復(fù)位:硬件復(fù)位接FPGA nconfig引腳,按下此鍵FPGA代碼從EEPROM重新配置;軟件復(fù)位是編寫代碼時設(shè)置reset引腳,按照代碼運行。

  由于FPGA芯片內(nèi)部EEPROM空間有限,F(xiàn)PGA芯片外掛一個2KB EEPROM 24C02,24C02與400kHz I2C接口兼容。供電電壓為1.8~6.0V,供電電流為3mA,具有頁寫緩沖器和寫保護(hù)功能,SOP8封裝。它還具有讀寫次數(shù)多、保存時間長、功耗低的特點。24C02硬件接口電路如圖2所示。

   便攜式超高頻RFID讀寫器的FPGA實現(xiàn)

  2.2 USB串行總線接口電路

  CH372簡易USB通用串行總線接口集成電路,兼容+5 V和+3.3 V供電,最大工作電流為30 mA,外接12 MHz頻率晶振,20引腳SOP封裝;兼容USB2.0數(shù)據(jù)傳輸協(xié)議,支持HID設(shè)備熱插熱拔,內(nèi)置USB底層通信協(xié)議,自動完成標(biāo)準(zhǔn)USB事件枚舉;支持?jǐn)?shù)據(jù)控制傳輸、批量傳輸、終端傳輸;默認(rèn)鏈接端點0所有事件,F(xiàn)PGA負(fù)責(zé)數(shù)據(jù)傳輸與處理,使用方便,CH372硬件接口電路如圖3所示。

  2.3 CC1100 RF收發(fā)電路

  CC1100是一款極低功耗UHF收發(fā)集成電路。其通信效果好、抗干擾性能強、穿透力強、靈敏度高;可自由設(shè)置收發(fā)頻率,可設(shè)置范圍為300~348 MHz、400~464MHz、800~928 MHz,可編程控制數(shù)據(jù)傳輸速率最高可達(dá)500 kbps,4線SPI(SI、SO、SCLK、CSn)接口。CC1100正常工作電壓為3.3 V,最高輸入電壓3.6 V,每個引腳輸入電壓應(yīng)相同。868~915 MHz發(fā)送模式輸出功率為+10 dBm,電流為30 mA,接收最大功率為+10 dBm,硬件自動CRC校驗,支持ASK調(diào)制解調(diào),調(diào)整外圍元件可方便調(diào)整收發(fā)頻率。CC1100采用數(shù)據(jù)緩沖技術(shù),具有2個64字節(jié)FIFO,緩沖發(fā)送和接收數(shù)據(jù)。CC1100可軟件設(shè)置RF發(fā)送功率、收發(fā)模式、調(diào)制格式、信道選擇和帶寬、數(shù)據(jù)傳輸速率、整機(jī)工作模式等。

  CC1100屬于半雙工通信,接收和發(fā)送在射頻控制模塊RF CONTRON控制下分時進(jìn)行,解調(diào)由積分器向下積分完成,AGC電路控制回路增益;調(diào)制基于直接頻率合成,載波信號由晶振與內(nèi)部PLL電路產(chǎn)生,發(fā)送模塊和接收模塊稍有區(qū)別。接收模塊包括:低噪聲放大器LAN、積分器INTEGRATION、模數(shù)轉(zhuǎn)換ADC、解調(diào)器DEMODU-LATOR、向前數(shù)據(jù)誤差處理器FEC/INTERLEAVER、包處理PACKET HANDLER、接收數(shù)據(jù)緩沖器RXFI FO、數(shù)字接口電路DIGITAL INTERFACE TO MCU;發(fā)送端與接收端不同的模塊有:壓控振蕩器VCO、混頻器MIXER、發(fā)送數(shù)據(jù)緩沖器TXFIFO,數(shù)據(jù)收發(fā)由不同模塊分時完成。

  CC1100具有2種工作狀態(tài)——空閑狀態(tài)和工作狀態(tài),每種狀態(tài)對應(yīng)電流不同??臻e狀態(tài)可分為等待WAIT狀態(tài),內(nèi)部電流1.9 mA;睡眠SLEEP狀態(tài),內(nèi)部電流400~900 nA;晶振的停振狀態(tài)僅維持寄存器值不變,內(nèi)部電流160 nA;工作狀態(tài)可分為接收(RX)和發(fā)送(TX)狀態(tài),接收狀態(tài)根據(jù)接收信號強弱內(nèi)部電流在14.2~15.4 mA范圍變化。發(fā)送狀態(tài)下,發(fā)送信號功率大小隨工作電流變化。14 mA時發(fā)射功率為-10 dBm,29 mA時發(fā)射功率為+20 dBm。根據(jù)工作狀態(tài)調(diào)整工作電流,可實現(xiàn)整機(jī)最低功耗。

  由于采用ISO18000-6C標(biāo)準(zhǔn)射頻空中接口協(xié)議,系統(tǒng)采用889 MHz發(fā)射和接收頻率,改變CC1100第12、13引腳外接電容C1、C2,電感L1、L2的參數(shù)可調(diào)整射頻收發(fā)頻率,發(fā)射天線采用50 Ω偶極子天線。12、13引腳LC網(wǎng)絡(luò)器件參數(shù)可由軟件SmartRF studio仿真得到,參考CC1100官方DATASHEET,根據(jù)實際情況微調(diào)。CC1100數(shù)據(jù)收發(fā)原理圖如圖4所示。

   便攜式超高頻RFID讀寫器的FPGA實現(xiàn)

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

  3.1 RF收發(fā)芯片CC1100軟件設(shè)計

  CC1100操作包括芯片數(shù)據(jù)讀寫、寄存器與命令濾波器設(shè)置訪問、數(shù)據(jù)包與數(shù)據(jù)傳輸速率設(shè)置、FIFO訪問、低功耗策略等。RFID讀寫器中CC1100數(shù)據(jù)傳輸采用同步連續(xù)方式,支持硬件數(shù)據(jù)包處理、FIFO緩沖、數(shù)據(jù)白化、交錯和前向處理。CC1100數(shù)據(jù)幀包含前導(dǎo)、同步數(shù)據(jù)、標(biāo)簽地址、數(shù)據(jù)長度、讀寫命令、數(shù)據(jù)地址、數(shù)據(jù)、CRC校驗碼、結(jié)束位。其中前導(dǎo)數(shù)據(jù)、同步數(shù)據(jù)通過CC1100寄存器設(shè)置硬件自動完成、CRC校驗碼硬件自動完成,其他數(shù)據(jù)需軟件設(shè)置或配置寄存器。數(shù)據(jù)幀結(jié)構(gòu)如表1所列。

   便攜式超高頻RFID讀寫器的FPGA實現(xiàn)

  CC1100通過4線SPI接口與FPGA連接,對內(nèi)部不同寄存器和不同命令濾波器操作完成數(shù)據(jù)收發(fā)。當(dāng)SO引腳讀數(shù)據(jù)時SCLK必須在第一個上升沿前被拉低,一個周期內(nèi)SCLK下降沿完成1位數(shù)據(jù)建立,上升沿數(shù)據(jù)保持;CSn=0片選信號有效,數(shù)據(jù)正常傳輸;在SCLK控制下SI為同步數(shù)據(jù)輸入,SO為同步數(shù)據(jù)輸出。數(shù)據(jù)通信完成后SCLK保持低電平,等待下次數(shù)據(jù)通信。CSn=1時CC1100為降低功耗處于睡眠或晶振停振狀態(tài)。CC 1100采用電磁波激活WOR低功耗技術(shù),CPU處于深度睡眠等待接收狀態(tài),數(shù)據(jù)到來后,無須喚醒CPU而直接存儲到RX FIFO。

  CC1100內(nèi)部可分為配置寄存器地址(0x00~0x2F)和命令濾波器地址(0x30~0x3F)。配置寄存器設(shè)置SPI引腳狀態(tài)、數(shù)據(jù)調(diào)制方式、編碼方式、校驗方式、數(shù)據(jù)傳輸速率、信道帶寬等;寄存器狀態(tài)字STATE第6位到第4位查詢當(dāng)前工作狀態(tài),000為空閑狀態(tài),001為接收狀態(tài),010為發(fā)送狀態(tài);命令濾波器設(shè)置當(dāng)前工作狀態(tài),SRX 0x34=0xFF時啟用接收模式,STX 0x35=0xFF時啟用發(fā)送模式。CC1100分別具有一個64位RX FIFO和TX FIFO,STATE狀態(tài)字監(jiān)測FIFO是否溢出。讀RX FIFO前必須保證FIFO不為空,寫TX FIFO前必須保證FIFO為空,否則讀寫數(shù)據(jù)將出錯。CC1100寄存器與濾波器設(shè)置可以通過軟件SmartRF Studio得到最佳配置。

  CC1100數(shù)據(jù)傳輸速率通過MDMCFG3.DRATE_M和MDMCFG4.DRATE_E配置寄存器和晶振頻率設(shè)置,先設(shè)定數(shù)據(jù)傳輸速率和晶振頻率,計算出MDMCFG3.DRATE_M和MDMCFG4.DRATE_E配置寄存器值。

  3.2 ISO18000-6C空中接口協(xié)議

  傳輸頻率范圍:860~960MHz。

  調(diào)制方式:ASK,每個信道500kHz,可設(shè)置52個信道,標(biāo)簽采用反向散射調(diào)制。

  最大發(fā)射功率:4W。

  編碼方式:PIE,Miller,F(xiàn)M0。

  校驗方式:CRC-16。

  數(shù)據(jù)傳輸速率:40~640kbps。

  4 系統(tǒng)實驗結(jié)果和結(jié)論

  RFID系統(tǒng)測試包括軟件測試、硬件測試、穩(wěn)定性和EMI測試。軟件測試包括用戶軟件、中間件、標(biāo)簽軟件、編解碼信號測試;硬件測試包括發(fā)射功率、收發(fā)距離、收發(fā)夾角、標(biāo)簽數(shù)量;EMI和穩(wěn)定性測試包括復(fù)雜電磁干擾測試等。用到的儀器有數(shù)字存儲示波器、矢量分析儀、邏輯測試儀、頻譜分析儀、NRT功率計測試儀。它們對讀寫次數(shù)與數(shù)據(jù)正確率、讀寫器一標(biāo)簽距離與數(shù)據(jù)正確率、天線發(fā)射功率與數(shù)據(jù)傳輸距離、天線對信號放大倍數(shù)與信號頻率關(guān)系進(jìn)行相關(guān)測試與數(shù)據(jù)分析。

  經(jīng)測試,RF放大器對889 MHz信號放大倍數(shù)最大,讀寫器與標(biāo)簽最大數(shù)據(jù)傳輸速率為240 kbps;傳輸距離在1 m內(nèi)天線發(fā)射功率為1.1 dBm,調(diào)整發(fā)射功率,最大傳輸距離可達(dá)3 m?;贗S018000-6C標(biāo)準(zhǔn)射頻標(biāo)簽協(xié)議RFID便攜式系統(tǒng)工作穩(wěn)定可靠,只需USB與PC機(jī)連接便可實現(xiàn)讀寫器與PC機(jī)數(shù)據(jù)通信,簡單、方便、可靠,可用于工業(yè)控制、消費類電子、食品安全追蹤、現(xiàn)代物流、校園一卡通等場所。