rfid开发技术及实践(西电版)第4章低频rfid阅读器设计

上传人:tian****1990 文档编号:81767489 上传时间:2019-02-22 格式:PPT 页数:46 大小:1.12MB
返回 下载 相关 举报
rfid开发技术及实践(西电版)第4章低频rfid阅读器设计_第1页
第1页 / 共46页
rfid开发技术及实践(西电版)第4章低频rfid阅读器设计_第2页
第2页 / 共46页
rfid开发技术及实践(西电版)第4章低频rfid阅读器设计_第3页
第3页 / 共46页
rfid开发技术及实践(西电版)第4章低频rfid阅读器设计_第4页
第4页 / 共46页
rfid开发技术及实践(西电版)第4章低频rfid阅读器设计_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《rfid开发技术及实践(西电版)第4章低频rfid阅读器设计》由会员分享,可在线阅读,更多相关《rfid开发技术及实践(西电版)第4章低频rfid阅读器设计(46页珍藏版)》请在金锄头文库上搜索。

1、第4章 低频RFID阅读器设计,4.1 低频ID卡 4.2 EM4095 4.3 低频RFID阅读器程序设计,4.1 低频ID卡 低频RFID由于频率较低,带宽有限,所以不适合传输大量数据以及数据写入。因此低频RFID标签通常是以ID卡的形式出现,即在标签中固化一串ID号,阅读器仅可以阅读,不能写入和更改。 ID卡仅提供一个ID卡号,通常用作身份识别,更多的功能需要依赖于阅读器。阅读器读取ID号进行比对后,执行相关处理或者传入上位机或网络进行处理。,4.1.1 常见低频ID卡 低频ID卡通常采用无源设计,将ID芯片和天线封装在一起,做成卡片或标签的样式,其结构如图4-1所示。 常见的ID芯片有

2、EM公司的EM4100及其兼容的TK4001系列、HID系列和摩托罗拉的产品等。目前,市场上使用较多的为前两种,其读取方法不尽相同: EM4100系列ID卡芯片可使用同一个公司配套的EM4095读卡芯片,方便读取其ID号。 HID系列卡有自己的加密协议和读取方法,并且不公开,所以EM4095读卡芯片无法读取其ID号,只能使用专用HID类读卡器。因此本书中不详细讲解此系列卡。,图4-1 ID卡结构,4.1.2 EM4100 EM4100是EM公司生产的只读型非接触ID卡芯片,典型频率为125 kHz,内部固化64 bit数据,一旦进入阅读器范围内,并与阅读器天线发出的载波耦合后,将64 bit的

3、数据不断发回阅读器。EM4100内部64 bit相关定义如图4-2所示。,图4-2 EM4100内部64 bit相关定义,64 bit数据共分为五部分,其含义如下: 同步头:共由9个1组成,用于识别数据开始传送。 版本信息和客户ID:共由D00D13中的8 bit组成,分别记录版本信息和客户ID号。 数据:共由D20D93中的32 bit组成,用于存储ID卡号。 校验位。P为每一行数据的偶校验,例如,P0为0行校验,即D00D03 4 bit的偶校验。PC为每一列数据的偶校验,例如,PC0为D00D90 10 bit的偶校验。 停止位。S0为停止位,即单bit0。,4.1.3 EM4100解码

4、 对EM4100进行解码时,判断一帧完整数据的开始,需要判断同步头,因为数据中的行列校验会保证数据中不会连续出现9个1。由于只要在阅读器范围内,EM4100就会循环送出内部的64bit数据,并且最后一个停止位为数据0。因此判断同步头的方法是当第一次读取数据时,遇到0至1的跳变开始计数,如果读到连续9个1,则为同步头,从同步头往后可依次读取剩余的bit位。,EM4100内部的64 bit数据采用时钟(典型频率为125 kHz)64分频的速率进行发送,每位bit的传送时间为: (1s/125000) 64 = 512 s 数据采用曼彻斯特码编码,即每个bit被分为两位传输,每两个曼彻斯特码宽度为5

5、12 s,如表4-1所示。,表4-1 曼彻斯特码,4.2 EM4095 EM4095是EM微电子公司生产的一款低频AM调制解调芯片,常用作低频RFID阅读器的模拟前端。 4.2.1 功能概述 EM4095是一款CMOS芯片,与MCU的接口简单,在RFID阅读器中可用于天线驱动和调制解调。除此之外,还有如下其他特性: 内置的PLL锁相环可自适应天线谐振载波。 无需外部振荡器。 100150 kHz载波频率范围。,数据发送采用OOK(100%AM调幅)方式,使用桥路激励器。 数据发送通过调幅方式,可使用单芯片通过外部调节。 睡眠模式电流1 A。 兼容USB供电范围。 4085温度范围。 SO16封

6、装。 EM4095共有16个引脚,其芯片引脚图如图4-3所示。 EM4095芯片的引脚定义如表4-2所示。,图4-3 EM4095引脚图,表4-2 EM4095芯片的引脚定义,4.2.2 原理图 EM4095内部结构比较简单,其原理图如图4-4所示。 1. SHD EM4095的引脚SHD和MOD用来操作设备,SHD的功能如下: 当SHD为高电平时,EM4095为睡眠模式,电流消耗最小。在上电时,SHD输入必须是高电平,用来使能正确的初始化操作。 当SHD为低电平时,回路允许发射射频信号,并开始对天线上的振幅调制信号进行解调。,图4-4 原理图,2. MOD 引脚MOD是用来对125 kHz射

7、频信号进行调制的,其功能如下: 在MOD引脚上施加高电平时,会阻塞天线驱动,并关掉电磁场。 在MOD引脚上施加低电平时,会使片上VCO进入自由运行模式,天线上将出现没有经过调制的125 kHz的载波。 EM4095用作只读模式,引脚MOD没有使用,推荐将它连接至VSS。,3. 锁相环 锁相环由环路滤波、采样器和比较模块等组成。通过使用外部电容分压,DEMOD_IN引脚上得到天线上真实的高电压。这个信号的相位和驱动天线驱动器信号的相位进行比较。所以锁相环可以将载波频率锁定在天线的谐振频率上。 根据天线种类的不同,系统的谐振频率可以在100150 kHz的范围内。当谐振频率在这一范围内的时候,它就

8、会被锁相环锁定。,4. DEMOD_IN DEMOD_IN引脚作接收链路的输入信号。接收模块解调的输入信号是天线上的电压信号。DEMOD_IN输入信号的级别应该低于VDD-0.5 V,高于VSS + 0.5 V。通过外部电容分压可以调节输入信号的级别。分压器增加的电容必须通过相对较小的谐振电容来补偿。 5. RDY/CLK RDY/CLK为外部微处理器提供ANT1上信号的同步时钟以及EM4095内部状态的信息。ANT1上的同步时钟表示PLL被锁定并且接收链路操作点被设置,其状态受到SHD和MOD的影响如下:, 当SHD为高电平时,RDY/CLK引脚被强制为低电平。 当SHD上的电平由高转低时,

9、PLL为锁定状态,接收链路工作。经过时间Tset后,PLL被锁定,接收链路操作点已经建立。这时候,传送到ANT1上的信号同时也传送至RDY/CLK,提示微处理器可以开始观察DEMOD_OUT上的信号和与此同时的时钟信号。 当MOD为高电平时,ANT驱动器关闭,但此时RDY/CLK引脚上的时钟信号仍然在继续。 当SHD引脚上的电平从高到低,经过时间Tset后,RDY/CLK引脚上的信号被100 k的下拉电阻拉低。这样做是为了能在标签的AM调制低于100%情况下,从RDY/CLK引脚提供一个指示信号。,6. DVDD和DVSS DVDD和DVSS管脚应该分别与VDD以及VSS连接。为了使通过管脚D

10、VDD和DVSS的驱动器电流所造成的电压降不会引起VDD和VSS上的电压降,在DVSS和DVDD管脚之间应该加一个100 nF的电容,并使其尽量靠近芯片。这将防止由于天线驱动器引起的电源尖峰。此外,对管脚VSS和VDD进行隔离也是有用的。 所有和管脚DC2/AGND/DMOD_IN相关的电容都应该连接到相同的VSS线上。这条线应该直接和芯片上的管脚VSS相连。该线不能再连接其他元件或者成为DVSS供电线路的一部分。 AGND管脚上的电容值可以从220 nF上升到1 F。电容越大,接收噪声越小。AGND的电压可以通过外部电容和内部的2 k电阻进行滤波。,7. ANT EM4095不限制ANT驱动

11、器发出的电流值。这两个输出的最大绝对值是300mA。对天线谐振回路的设计应该使最大的尖峰电流不超过250 mA。如果天线的品质因数很高,这个值就可能超过,因此必须通过串联电阻加以限制。 增加Cdc2电容值,将增加接收带宽,进而增加斜坡信号的接收增益。Cdc2的推荐范围是6.822 nF;Cdec的推荐范围为33220 nF。电容值越高,开始上升时间越长。 8. FCAP FCAP引脚上的为偏置电压,它补偿了外部天线驱动器引起的相位偏移。,4.2.3 与MCU接口 EM4095管脚较少,结构简单,与MCU的接口如图4-5所示。 EM4095通过跳线分别与ATmega16A的相关引脚相连,其跳线如

12、图4-6所示。 ATmega16A的相关引脚如图4-7所示。 分析电路图可知,EM4095管脚与ATmega16A管脚的对应关系如表4-3所示。,图4-5 EM4095与MCU接口,图4-6 跳线,图4-7 ATmega16A的相关引脚,表4-3 EM4095管脚与Atmega16A管脚的对应关系,4.3 低频RFID阅读器程序设计 低频RFID阅读器程序的主要工作是正确地读取标签的ID号码,一般分为三部分:初始化程序、驱动程序和主程序。 下述内容用于实现任务描述4.D.1,即使用AVR通过EM4095读取一个EM4100卡的卡号,并通过串口输出。 4.3.1 初始化程序 初始化程序用于各种管

13、脚和器件的初始化,以便能够正常进行解码。 基于模块化和移植的考虑,可将本例中GPIO设置子程序单独封装成子函数gpio_ config(),具体源码如下:,【描述4.D.1】gpio_config( ) /gpio配置 void gpio_config(void) /PD7、PC7和PD2管脚配置 DDRD |= (1PD7); PORTD |= (1PD7); DDRC |= (1PC7); PORTC |= (1PC7); DDRD ,EM4095相关管脚设置子程序单独封装成子函数EM_config(),具体源码如下: 【描述4.D.1】EM_config( ) /em4095配置 voi

14、d EM_config(void) /em4095相关管脚配置 DDRB |= EM_SHD | EM_MOD; DDRB ,/定时器1配置,实现精确定时 TCCR1B ,串口设置子程序单独封装成子函数uart_config(),具体源码如下: 【描述4.D.1】uart_config( ) /串口设置 void uart_config(void) /串口相关寄存器配置 UCSRA |=(1U2X); UCSRB |=(1RXCIE);,UCSRC |=(1URSEL)|(1UCSZ1)|(1UCSZ0); UCSRC ,4.3.2 驱动程序 驱动程序是EM4095能够正确解码的相关演示程序和

15、解码子程序。因本例中曼彻斯特码有严格的码元间隙,所以需要512 s的延时子函数。该函数单独封装成子函数delay_512 s(),具体源码如下: 【描述4.D.1】delay_512 s( ) /512 s延时子函数 void delay_512 s(int x) /使用定时器实现定时 TIFR|=(1OCF1A); TCNT1=0; while(TCNT1x); ,读取ID卡号需要曼彻斯特码解码,其解码首先需要判断同步头,此部分功能单独封装成子函数read_id_start(),具体源码如下: 【描述4.D.1】read_id_start( ) /判断同步头 char read_id_start(void) char code_st=1; char i; char c_l;,while(!(PINB,if(c_l!=0) codei=1; else codei=0; code_st=0; while(PINB ,else code_st=0; /返回判断同步头情况 if(code_st=1) return 1; else return 0; ,本例中,曼彻斯特解码功能单独封装成子函数read_id(),具体源码如下: 【描述4.D

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号