基于14443一A协议的无源电子标签数字集成电路设计
在无线通信中数据的传输在空间进行,因此无源电子标签的数据通信涉及通信和信息安全等技术,其中信息的安全性是无源电子标签设计时需要解决的核心问题。适应于无源电子标签的通信协议有多种,其中ISO/IEC14443协议是目前应用较广的协议。本文采用这一协议在安全性设计基础上,完成无源电子标签数字集成电路芯片的设计。
l 芯片的电路结构
根据ISO/IEC 14443一A协议对标签通信的规定,本文设计的无源电子标签数字电路芯片的结构如图1所示,主要由通信安全、信息安全、存储以及控制等4个单元组成,图l同时给出各个单元中所需子电路模块的组成结构。
由于电子标签采用的半双工通信方式,为减小芯片面积,本文采用复用的方法对各单元的子电路模块进行设计。在信道层次上,将加密/解密子电路模块复用,将校验码的生成和校验子电路模块复用;在子电路模块内部层次上,将计数器以及锁存器等电路复用。
电子标签以被动方式通过天线的感应获得能量,如果电路的功耗过大,将出现能量不足和信号不稳定等状态,因此本文采用门控时钟技术和控制电路节点跳变方法降低所设计电子标签的功耗。在结构层次上,以门控时钟取代原始时钟,为子电路模块提供时钟信号;在子电路模块内部层次上,控制电路系统内部各触发器和锁存器输出的跳变次数。
2 控制单元以及存储单元
考虑到系统任务的复杂度,控制单元调度任务的工作由主控制和从协议控制2个子电路模块协同完成。主控制子电路模块用于协调通信安全、信息安全以及存储等单元中各子电路模块,为从协议控制子电路模块做准备;从协议控制子电路模块用于完成预设的通信方案。
由于本文设定标签接收和发送的最大字节数为32位,而各子电路模块的接口总线为8位,为了协调电路系统发送存储数据和加密操作的时序,控制单元设置了一由28个字节构成的寄存器组,作为虚拟RAM,以暂存数据。
标签操作的数据存放在存储单元的E2PROM电路中,为了与总线接口配合,存储单元中包含了接口电路,以完成控制单元与E2PROM之间的总线转换。
3 通信安全单元
在无线通信过程中,由于信号容易受到突发的偶然因素和系统本身使用特点的影响产生干扰,考虑到电子标签的半双工通信方式及其成本,本文在通信安全单元的设计中,采用数据编码技术、信道编码技术和防冲突访问控制等3种技术进行检错。通过改进米勒码解码器对接收信号进行解码,并以曼彻斯特码编码器对发送信号进行编码。通信安全单元既需要生成信道循环冗余校验码和奇校验码,又要对接收的信道校验码进行校验,这2个功能具有相同的电路结构,数据以比特流的形式传输,因此可采用功能复用方法设计循环冗余校验和奇校验模块子电路。本文同时基于面向位冲突帧的树型搜索算法的防冲突访问机制,设计防冲突访问控制子电路模块。
4 信息安全单元
对无源电子标签信息的安全性造成威胁的因素有人为和客观2种,结合本文研制的电子标签存储的数据量较少特点,信息安全单元可采用如下技术设计:
(1)采用基于DES(Data Encryption Standard)密码体系的CFB方式设计加密协处理器,使有效数据加密后才在信道中传输;
(2)采用基于DES密码体系的三重相互认证机制,使阅读器和电子标签可分别确认对方操作的合法性。
4.1 密码体系的优化设计
DES密码体系CFB方式的设计核心是加密函数,其结构以及优化方案可由图2所示体系给出。主要包括初始置换、逆初始置换、循环结构以及置换选择A的优化设计。
如果以连线方法实现初始置换的位映射关系,不仅使版图的布局布线工作量增大,而且连线占用面积也较大,因此,本文采用移位寄存器方法实现初始置换的功能。考虑到初始置换表中每一列的值分别对应每一输入字节的位2,4,6,8和位1,3,5,7,而且这里设定的接口总线宽为1个字节,所以可将初始置换表按照如下矩阵进行转换:{初始置换表}={初始置换的每一列}×{每个字节由低位到高位排列}
而且,每一位数据分别存储在8个移位寄存器的第一个位置,当接收到1个字节,各移位寄存器的内容均右移一位,于是便可得到图2中的初始置换电路结构。类似地,逆初始置换也以移位寄存器的方法实现位映射关系。
考虑到研制芯片中时钟周期的裕度较大,因此,采用两次循环结构展开和二级流水线相结合的技术设计循环结构,实现了在面积和速度上取得较好平衡的目标,其结构的优化方法在如图2中一并给出。
对置换选择A,将其置换表中的数值分成上下2部分,每部分数据按照每行8位的格式排列,并将上半部分的前4位数据和下半部分的后4位数据合成为1个字节,而且对经过置换选择的密钥进行循环左移,结构如图2中的置换选择A电路结构所示。
4.2 三重相互认证机制
由于信息安全单元采用对称密钥DES密码体系对数据进行加解密,阅读器和标签具有相同的密钥,因此,可采用基于DES密码体系的三重认证机制确保数据的真实性。阅读器和标签只有经过相互认证后,才能对存储的数据和参数进行操作,主要步骤包括:
(1)阅读器发送“认证查询口令”到标签,标签产生一随机数RA,加密后反馈回阅读器;
(2)阅读器产生一随机数RB,并且使用共同的密钥K,将RA和RB加密成数据块Tokenl并发送给标签,标签对收到的Tokenl解密,并将从中取得的RA与原先发送的RA比较,一致时,将收到的RB加密成数据块Token2,并反馈回阅读器,进一步确认双方的合法身份;
(3)阅读器对收到的Token2解密,并将从中取得的RB与原先发送的RB比较,一致时,则发送身份确认命令到标签,标签响应并确认。
5 验证平台
为检验所设计数字集成电路芯片的通信功能,本文设计了相应的验证平台,结构如图3所示。
测试向量发生器用于产生各测试向量,为芯片提供输入信号;阅读器数据发送器将测试向量转换为电子标签数字集成电路能够识别的帧格式;响应分析器用于侦查所设计芯片的响应是否为输入信号要求的反馈。
针对通信功能,本文对输入信号组合加于约束,所设计的测试向量集具备如下特征:
(1)测试校验出错情况:当标签接收数据的校验码出错,测试检错功能。
(2)测试序列号出错情况:当标签接收的序列号与期望值不一致,测试检错功能。
(3)测试命令数目出错情况:当标签接收的命令数目与期望值不一致,命令数目约束比期望值多或少,测试检错功能。
(4)测试命令出错情况:当标签接收命令为当前通信状态不能接收的命令,命令约束为其他通信状态的操作命令,测试检错功能。
(5)测试命令操作时间间隔出错情况:当标签在规定的时间间隔内接收命令,时间间隔范围约束为一次操作完成时间和帧保护时间,测试检错功能。
6 结 语
本文采用Synopsys工具,结合中芯国际的0.35μm工艺库,可以得到本文所设计芯片的面积和功耗如表1、表2所示:
表1、表2中,工艺库定义的芯片面积以一个与非门作为单位,因此本文设计芯片的面积为36 877.750 000 μm2,功耗为30.845 8 mw。根据上述验证平台和测试向量集,对本文所研制芯片进行通信功能测试,其结果的波形截图如图4所示。由图4可见设计电路能够检测出校验码、命令数目和命令等出错情况。