RFID电子标签卡的防碰撞模块设计

2007-03-09 19:03:27来源: 互联网
[b]引 言 [/b] RFID(RadioFrequency IdentifiCation,射频识别)电子标签是一种把天线和IC封装到塑料基片上的新型无源电子卡片;具有数据存储量大、无线无源、小巧轻便、使用寿命长、防水、防磁和安全防伪等特点;是近几年发展起来的新型产品,是未来几年代替条形码走进“物联网”时代的关键技术之一。阅读器(即PCE,机)和电子标签(即PICC卡)之间通过电磁场感应进行能量、时序和数据的无线传输,如图l所示。在PCD机天线的可识别范围内,可能会同时出现多张PICC卡。如何准确识别每张卡,是A型 PICC卡的防碰撞(即anticollision,也叫防冲突)技术要解决的关键问题。 1 A型卡防碰撞的工作原理 A型PICC卡采用了ISO/IECl4443系列协议,配合PCD机共同实现防碰撞的快速交互通信。为了从多张PICC卡中快速识别出一张来单独进行通信,A型卡采用了位碰撞监测协议实现防碰撞过程,即阅读器对卡返回的唯一识别号(即UID)数据帧中的每一位进行冲突监测。当多张A型PICC卡在同一时刻向PCD机传送UID数据帧时,一定会在同时返回的某一位上有不同的位值。根据Manchester编码规则,这一位正负边沿抵消了,故PCD机无法识别的该数据位即为碰撞位。碰撞位监测到后马上启动防碰撞过程。PCD机主动地发出一系列命令数据帧(即下传),主要是ANTICOLLISION命令和SEELECT命令。PICC卡被动地响应每一条指令(即上传)完成交互的会话过程。 对于ANTICOLLISION命令,如果PICC卡本身固有的UID CLn和命令中所带的UID CLn数据位相等,则发送UIDCLn的其余位;否则,不发送响应.根据协议规定,ANTICOLLISION命令(即第l部分:下传数据)和PICC卡的响应(即第2部分:上传数据)组合成一个防碰撞帧.而且防碰撞帧的数据位总数为56位。16≤下传数据位数≤55;l≤上传数据位数≤40。防碰撞帧举例如图2所示。由于56位的防碰撞帧可以在任意位置上分开,因此分两种情况:在一个完整的数据字节之后分开,则在第1部分的最后一个数据位之后有一个校验位;在一个数据字节内分开,则在第1部分的最后一个数据位之后不加校验位。情况1和情况2的不同分开方法如图2所示。 对于SELECT命令,如果PICC卡内固有的UIDCLn和命令中的UID CLn相等,则发送SAK帧,否则不发送响应。 2 防碰撞模块的设计 2.1 引脚定义 防碰撞模块的外部信号引脚定义及其在卡中与其他模块的连接如图3所示。 防碰撞模块外部信号定义的VHDL代码如下。 entity ANTICOLLICSION_BLOCK is port (clk:in std_logic;—— 时钟信号 reset:in steL_logic;——复位信号 rxd:in std_logic;一一外部数据串行输入 active:in std_logic;——外部数据输入的状态 Csn_fb:in std_logic_vector(7 downto 0) —— 来自ROM的并行数据 Csn_full:in std_logic;——ROM接口中的输出Latch“满” Rd_csn:out std_logic;一一允许读ROM Txd:out std_logic;一一数据串行输出 Txd_active:out std_logic--一数据输出的状态 ); end ANTiCOLLlCsIoN_BLOCK; 2.2 模块划分 防碰撞模块主要分为4个部分:数据接收模块(A)、读ROM模块(B)和数据比较(C)发送模块(D),如图4所示。A的作用是:接收PCD机发送的命令信号,从rxd引脚串行输入后对每个字节进行校验。并进行串并转换,按字节逐个存入7个Latch中。B的作用是:从ROM接口模块中读出卡内固有的UID CLn,按字节存入4个Latch后,计算UIDCLn的4个字节的异或值(即卡的BCC字节),并存入锁存器。C和D的作用是:比较PCD机命令中的UIDCL.和卡的UIDCLn,并根据比较结果决定是否输出响应.如果比较结果相同,则根据命令的类型(ANTICOLLISION命令或SELECT命令)从txd引脚串行输出不同的响应数据。由于篇幅所限,后面主要介绍数据的发送模块是如何设计实现的。 2.3 发送模块的设计 数据发送模块的设计实现如图5所示。 2.3.1 实现对ANTICOLLISl0N命令的响应 (1)输出数据txd产生模块的设计 当来自PCD机的指令数据接收完毕(即Data_input_end=“1”)和读卡内ROM的UID数据结束(即Csn_input_end=“l”)后,判别器启动位计数器和字计数器来控制数据比较模块,逐个比较Latch中的数据.比较结果相等(即Bit_not_match=“0”)时,令位计数器停止计数一个时钟周期,此时字计数器和位计数器的值仍然分别等于NVB的高4位和低4位。以图2情况1为例,字计数器值(即Byte_num)为2H,位计数器值(即Bit_num)为5H,输出信号产生模块从txd引脚发送起始位“0”;根据字计数器地址,从卡的UID CLn和BCC中选取字节,输出数据产生模块在Bit_num为0H"7H时,发送该字节的0"7位。在Bit_num为8H时,计算并发送该字节的奇校验位;当字计数器值为7H,位计数器值为OH时,表示所有的剩余UID CLn数据位和BCC已全部发送,此时发送结束位。 (2)输出状态Txd__active产生模块的设计 在比较结果相等(即Bit_not_matCh_“l”)时,令输出状态信号Txd_active变为“l”,表明发送开始,在Bytenum为7H,Bit_num为lH时,变为“0”,表明发送结束。 2.3.2 实现对SELECT命令的响应 (1)输出数据txd产生模块设计 在比较结果相等时,输出起始位“0”,并且令位计数器停止计数一个时钟周期,此时Bytc_num为7H,Bit_num为OH。在接下来的8个时钟周期里,即Bytc_num为7H,Bit_num为O"7H时,串行输出SAK帧,在Bit_num为8H时,输出奇校验位.接着Byte_num变为8H,Bitnum变为OH,此时输出结束位“O”。 (2)输出状态.Txd_active产生模块设计 令输出状态信号Txd_active在比较结果相等时变为“l”,在Byte_num为8H。Bit_num为1H时变为“O”。 3 仿真结果分析 3.1 防碰撞模块对ANTICOLLISION命令的响应 在数据线rxd上设置一串数据,与图情况2中下传数据相同,其中定义帧头S为“10”和帧尾E为“0l”。启动Maxplus仿真器,得到输出信号的波形,如图6所示。对照图2情况2可见,在txd线上得到的输出数据和图2情况2中上传数据(即UID CLn的其余位)相同。说明设计的防碰撞模块对ANTICOLLISION命令的响应是正确的。 3.2 防碰撞模块对SELECT命令的响应 在输入数据线rxd上设置如图7所示的一串数据。由图8可见,输出数据线txd上的数据为“S00000000|1|E,这是正确的SAK响应。说明设计的

关键字:rfid电子标签  电子  电子标签  标签

编辑: 引用地址:http://www.eeworld.com.cn/wltx/RFID/200703/2220.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
rfid电子标签
电子
电子标签
标签

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved