




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
RFID电子标签卡的防碰撞模块设计日期:2006-7-14来源:单片机及嵌入式系统应用 作者:陈志云 王豪才 龚关珍 姜义初字体:大 中 小 引 言 RFID(RadioFrequency IdentifiCation,射频识别)电子标签是一种把天线和IC封装到塑料基片上的新型无源电子卡片;具有数据存储量大、无线无源、小巧轻便、使用寿命长、防水、防磁和安全防伪等特点;是近几年发展起来的新型产品,是未来几年代替条形码走进“物联网”时代的关键技术之一。阅读器(即PCE,机)和电子标签(即PICC卡)之间通过电磁场感应进行能量、时序和数据的无线传输,如图l所示。在PCD机天线的可识别范围内,可能会同时出现多张PICC卡。如何准确识别每张卡,是A型PICC卡的防碰撞(即anticollision,也叫防冲突)技术要解决的关键问题。 1 A型卡防碰撞的工作原理 A型PICC卡采用了ISOIECl4443系列协议,配合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 防碰撞模块的设计21 引脚定义 防碰撞模块的外部信号引脚定义及其在卡中与其他模块的连接如图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引脚串行输出不同的响应数据。由于篇幅所限,后面主要介绍数据的发送模块是如何设计实现的。23 发送模块的设计 数据发送模块的设计实现如图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为0H7H时,发送该字节的07位。在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为O7H时,串行输出SAK帧,在Bit_num为8H时,输出奇校验位接着Byte_num变为8H,Bitnum变为OH,此时输出结束位“O”。(2)输出状态Txd_active产生模块设计 令输出状态信号Txd_active在比较结果相等时变为“l”,在Byte_num为8H。Bit_num为1H时变为“O”。3 仿真结果分析31 防碰撞模块对ANTICOLLISION命令的响应 在数据线rxd上设置一串数据,与图情况2中下传数据相同,其中定义帧头S为“10”和帧尾E为“0l”。启动Maxplus仿真器,得到输出信号的波形,如图6所示。对照图2情况2可见,在txd线上得到的输出数据和图2情况2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 质量管理体系实施及优化承诺书5篇范文
- 企业安全生产管理标准与操作流程手册
- 大学生创新创业活动策划指南
- 以大自然为主题的写景作文(14篇)
- 心理咨询服务投诉处理流程范本
- 经济学基础课程考试复习指南
- 员工试用期考核表及评价标准
- 商业智能系统需求分析报告
- 电力保护装置工作原理及维护手册
- 金融理财产品风险识别与防范
- 教师晋升答辩常见问题汇编
- 新加坡安全培训题库及答案解析
- (人教A版)选择性必修一数学高二上册 第一章 空间向量与立体几何(A卷·知识通关练+B卷提升练习)(原卷版)
- 2025煤矿安全规程解读
- 初级消防员培训课程教学大纲
- 2025-2026学年北师大版数学小学三年级上册(全册)教案设计及教学计划
- 2025年“学宪法讲宪法”主题活动知识竞赛题库附答案
- 2025年党纪法规知识测试题(含答案)
- 护理伦理与法律
- 网赌网贷专题教育
- (2025年)【辅警协警】笔试模拟考试试题含答案
评论
0/150
提交评论