基于RI-R6C-001A IC与ISO15693

摘要:文中给出了采用ti公司最新的射频收发器芯片ri-r6c-001a,并结合微处理器设计iso/iec15693读卡器的具体方法,同时介绍了ri-r6c-001a的通信协议和iso/iec15693标准。
1 概述
ic卡的发展经历了从存储卡到智能卡、从接触式卡到非接触式卡、以及从近距离到远距离的过程。对于接触卡(iso/iec7816标准定义),读卡机必须和卡的触点接触才能与卡进行信息交换,因此存在磨损严重、易受污染、寿命短、操作费时等缺点。为解决上述问题,人们开始采用非接触式卡技术。
非接触式卡又称射频卡或感应卡。它采用无线电调制方式和读卡机进行信息交换。射频识别?rfid?技术是从九十年代兴起的一项自动识别技术。它利用无线射频方式进行非接触双向通信,以达到识别目的并可进行数据交换。
rfid与磁卡、ic卡等接触式识别技术不同,rfid系统的电子标签和读写器之间无须物理接触就可完成识别,因此它具有多目标识别、运动目标识别的特点。
目前iso/iec10536定义的卡称为密耦合卡;iso/iec 14443定义的卡则是近耦合卡(picc),对应的读卡机简写为pcd;而iso/iec15693对应的卡是遥耦合卡(vicc),对应的读卡机简写为vcd。vicc比picc具有更远的读卡距离(为1m左右),二者均采用13.56mhz工作频率,并都具有防冲突机制。
2 硬件设计
图1所示是一个射频读写系统的工作原理图,它主要由asic和vicc两部分组成。
2.1 asic电路的工作原理
对于图1所示的射频读写系统,iso/iec 15693-2所规定的vcd与vicc通信物理层协议全部可由asic芯片ri-r6c001来实现,用户通过同步串行接口(spi),并遵照asci的通信要求就可实现vicc的读写操作。mcu和asic的通信接口有三根线:sclock、din、dout,分别代表时钟线、数据输入线、数据输出线。时钟线是双向的,发送数据时由mcu控制,接收数据时则由asic控制, asic在时钟的上升沿锁存数据。dout除了具有在接收数据期间的数据输出功能外,还有表征asic内部fifo的功能。dout带有内部下拉,平时为低电平。输入数据过程中,当asic的16位fifo寄存器满时,dout线会自动跳变为高电平,直到fifo寄存器为空,dout线又会跳变为低电平。在dout为高电平期间,输入数据无效。除了通信线外,系统还有一条m_err线,用于在同时读多张卡的时候表征数据的冲突情况。同样,m_err线也有内部下拉,平时为低电平,冲突时此线会升为高电平。
对asic的操作有三种模式:普通模式、寄存器模式和直接模式。直接模式下,mcu要直接面向射频信号处理,比较复杂,所以此种模式一般不用。普通模式和寄存器模式均为标准的数字信号操作,其区别在于规定芯片操作的一些参数不同(例如规定所采用的射频协议、调制方式及传输速率是在命令序列中规定,还是由寄存器来设定的)。普通模式每条指令均含有该指令使用的参数,而寄存器模式指令序列中并不含这些参数,而是由预先写入的寄存器中的数值来决定。若使ri-r6c-001a芯片正常工作,asic上电后必须首先初始化时间寄存器。
2.2 vicc-tag-it应答器
vicc-tag-it应答器完全兼容于iso/iec15693标准协议。vicc-tag-it应答器内有国际统一且不重复的8字节(64bit)唯一识别内码(unique identifier,简称uid)。图2是uid唯一识别内码的格式示意图,其中第1~48bit共6字节为生产厂商的产品编码;第49~56bit的1个字节为厂商代码(iso/iec7816-6/am1),最高字节固定为“eo”;8位afi(应用识别号)和8位dsfid(数据存储格式)用来对卡和特定应用的特征进行标识。卡内有2kbit eeprom,分成64个块,每块32个bit。每个块均可以锁定,以保护数据不被修改。afi、dsfid和32个块均可读可写,用以存储用户数据。vicc-tag-it采用13.56mhz的载波频率,工作于“reader talks first”模式,即一问一答的模式。卡内有防冲突机制,可以同时读取多张卡而不会造成冲突。特别应当指出:vicc-tag-it内没有逻辑加密电路,无法实现密码功能,也正是这一点限制了vicc-tag-it在其它保密性要求较高领域的应用。
3 通信协议
发给asic的命令序列必须符合asic通信协议和iso/iec15693-3规范。
3.1 命令结构
图3所示是该系统的命令序列时序图。在普通模式下,该系统的命令序列结构如下:
起始位(s1) 命令字(cmd) 数据 结束位(es1)
起始位(s1):收发器和微处理器之间的通信开始位,当sclock位保持高电平时,将在din产生一个上升沿(参见图3)。
命令字节:用于规定asic与vicc通讯时的有关参数。如果该端为30h则表示该系统支持的射频协议是iso15693(256选1),采用fm调制方式,调制率10%,返回数据波特率为6.67kb/s。注意:命令字节的发送顺序是高位在先,即:msb first。
数据:数据域内容由15693-3规定?这个数据一般发送到tag。
结束位(es1):收发器和微处理器之间的通信结束位,当sclock位保持高电平时,将在din产生一个下降沿(见图3)。
通常在寄存器模式下,命令字节是1位,且该位为1。
iso15693-3命令的一般格式如下:
起始位(s1) flags 命令顺号 命令内容 crc16 结束位(es1)
在iso15693命令序列中,flags用于规定命令内容中某些可选域的存在。由于s1和es1在asic命令序列中已经存在,所以只须把iso15693命令序列中flags、命令序号、命令内容、crc16等域的内容取出并填入asic序列中的数据域然后打包即可。数据域的发送顺序为低位在先,即:lsb first。
3.2 响应结构
图4所示是vicc的响应时序。vicc响应的一般格式是:
起始位(s2) flags 响应内容 crc16 结束位(es2)
其中起始位s2用于表示vicc响应数据的开始,其定义是当sclock为高电平时,dout产生一个上升沿(参见图4)。而结束位es2则表示vicc响应数据的结束。它被定义为当sclock为高电平时,dout产生一个下降沿(如图4)。
4 结束语
考虑到命令字节(8位)发送的顺序是msb first,其它数据均是lsb first;而且“s1 01111011 00000001 11000es1”是时间寄存器的初始化序列;同时,在命令发送过程中,双向时钟sclock线由mcu控制,因此,在接收vicc响应之前必须进行时钟线的切换,以将控制权交由asic控制。对于fifo管理,发送每一位时都要检测dout的电平,dout为高时停止发送,直到dout恢复到低电平为止。发送命令字节后,应适当延时,以利于asic正确动作,同时应考虑电路的抗干扰能力。对于iso15693-3规定的flags、命令序列号、命令内容等字节,还应进行crc16校验。关于反碰撞问题,可采用“二进制搜索”算法并选用曼彻斯特编码。为实现这种算法,需要一组命令并由应答器处理,同时应答器要拥有唯一的序列号(uid),例如磁场中有两张卡,其uid分别是:“e00700000234d1e1”和“e00700000234d2d8”,那么,用命令来查询当前磁场范围内卡的卡号,就能很好的解决碰撞问题。

智能生活的开启,来看看最近比较火的网红UONI由利电动拖把
电压型滞环控制的同步Buck变换器
平衡矢量网络分析仪VNA测试的技巧分析
分析 丨人形机器人需要什么样的BLDC电机控制芯片?
音圈电机在人脸识别系统中的应用
基于RI-R6C-001A IC与ISO15693
全球游戏市场规模持续增长,预计2020年市场规模增至1960亿美元
交流开关电器常用的灭弧措施
公共充电桩权威报告发布,万城万充推荐度排行第六
当代企业的数字安全,能“脆皮”到什么程度?
石墨烯研发接连突破 未来或将成为理想产氢平台
ARM:从未断供华为 与海思会保持长期合作
被英特尔抢代工订单 台积电与富士通联盟共抗敌
雷达技术的进步和舱内传感的发展
调光台灯的设计
创建线程有那么难么?创建线程的大坑要避开
华润微可提供全套功率器件解决方案 满足细分应用的需求
深入解读 PaddlePaddle EDL
纳微NV6134A助力小米13 Ultra澎湃秒充
叶甜春说:IC制造业最核心的竞争力还是IC装备制造