金卡工程自1993年启动以来,IC卡发展经历了普通存储卡、逻辑加密卡和CPU卡,从接触卡向非接触卡迅猛发展,目前,公交、食堂、商场、会所等多使用TypeA卡。但是相对TypeA卡来说,TypeB卡芯片具有更高的安全性,接收信号时,不会因能量损失而使芯片内部逻辑及软件工作停止,支持更高的通信速率,抗干扰能力也更强,随着TypeB卡的应用越来越普遍,就需要大量的TypeB卡阅读器。TypeB卡种类很多,如ST、Atmel、Motolola等公司均有自己的TypeB卡。本文以SR176卡为例,利用FM1715基站芯片设计一款阅读器。
1 FM1715基站芯片及SR176卡介绍
1.1 FM1715芯片介绍
FM1715是复旦微电子股份有限公司设计的,基于ISO14443标准的非接触卡阅读器专用芯片,它采用CMOS E2PROM工艺,支持13.56MHz频率下的Type A和TypeB两种非接触通信协议,以及多种加密算法。
FM1715的主要特点如下:
高集成度的模拟电路,只需最少量的外围电路;
操作距离可达10cm;
支持ISO14443 TypeA及TypeB协议;
内部带有加密单元;
支持6种接口模式。
1.2 SR176卡介绍
SR176卡是一种非接触的内存芯片,使用外部的无线电磁波传输功率;包含176位E2PROM用户空间,使用ST微电子公司的CMOS半导体技术制造;内存结构被分为16块,每块16位,其中有11块允许用户写入使用。
经过13.56MHz的载波对SR176进行访问。输入数据是标准的振幅对称的调幅波,经检波、解码后,将调幅度转化为键控讯号(ASK),这个讯号的调幅度是10%。输出数据是利用比特的移项键控(BPSK),加载变化产生一个847KHz副载波,在接收和发送模式下,SR176和阅读器之间的传送速率是106kb/s。
(1)性能参数
符合ISO14443-2 TypeB射频接口规范;
符合ISO14443-3 TypeB数据帧格式规范;
工作频率为13.56MHz;
副载波为847kHz;
数据交互速率为106kb/s;
256位数据存储容量;
64位卡片唯一序列号,8位卡芯代号,8位保护字;
17位可锁定E2PROM用户数据区;
数据更新次数大于100 000次,保存期超过10年。
(2)存储结构
SR176卡256位存储区分为8组,即16个块,每块16位;对SR176的数据存储操作以16位为基本单位。存储区的结构如表1所列,存储器的头4个块为卡片唯一的64位序列号,不可更改。第4-14块为17位、可锁定E2PROM的用户数据区,用于应用数据的存储。
第15块为控制块,低字节的高4位为保留位,应用过程中利用卡芯代号选择对某一特定卡片执行操作;高字8位为用户数据区锁定控制字节,每一位对应于一组存储区域锁定状态,为0表示该组允许写操作,为1表示该组禁止写操作,第15块具有一次性可编程特性,即若某位已设为1,则将被禁止重置为0。卡片出厂时该字节的缺省值为0x03,禁止了对卡片序列号的改写。
(3)卡片状态转换图
图1为卡片状态转换图
2 阅读器电路原理及关键参数选择
2.1 阅读器原理框图
与微处理器接口:FM1715支持与不同的微处理器接口,总线控制有独立的读/写模式、通用的读/写选通模式以及握手联络方式的通用读/写选通信号(EPP)3种工作模式。
发射电路:FM1715系统工作在13.56MHz频率下,这一频率产生于一个石英晶体振荡器,用于驱动FM1715并且提供给天线13.56MHz的载波。但是除了13.56MHz载波信号外,还会有能量以高次谐波的方式往外发射。国际EMC规则规定了在一个宽频范围内发射能量的大小,因此,必须有一个合适的滤波器过滤输出信号以满足此规定。图2中L0和C0就是实现此功能的滤波器。
接收电路:FM1715的内部接收电路利用卡的回应信号在副载波的双边带上都有调制这一概念来进行工作。用芯片内部产生的VMID作为RX引脚输入信号的偏置。为了稳定VMID的输出,在VMID与地之间须连接一个电容C4;接收电路需要在RX和VMID之间连接一个分压电路。
2.2 元器件参数选择
推荐的选择参数如表2所列。当然,具体情况根据实际电路进行调整。
3 FM1715的天线设计
3.1 天线原理及分析
图3为天线原理图
图3中,C3//CV2用来与天线电感在13.56MHz频率时产生谐振;C1//CV1用来匹配50Ω电阻;R1//R2用来调整天线的品质因数。
3.2 天线PCB示意图及参数选择
图4为天线PCB示意图
3.2.1 参数计算方法
(1)线圈电感估算
式中:L为线圈电感(nH);l为圈的周长(cm,mm)。D为线的直径或者导体的宽度(mm)。N为圈数;P为配置参数。P配置参数对应的天线线圈结构如表3所列。
当然也可以用专用仪器测量电感值。
(2)谐振电容估算
fc=13.56MHz,由Cs=C2+CV2与L谐振可得:
式中:Lant为线圈电感,Rext为品质因数电阻,Rant为线圈电阻。
(3)阻抗匹配电容的估算
Cp=(C1+CV1)与Cs=(C2+CV2)用来匹配阻抗(R11//R2+Rg),以达到最高效率。
(4)利用电阻调整品质因数
Q=WL/(R1//R2+Rg),使其在30-60之间,一般取35较好。
实际中,品质因数Q在大于30后的增加量,对卡片操作距离的增加无明显帮助,品质因数Q必须小于60,以确保数据通信稳定、可靠;否则,天线的有效工作距离内有死区,而不能可靠地进行数据通信。
3.2.2 天线的影响参数
天线所产生的交变磁场会在靠近它周围的金属物体上感应出电压,从而在该金属表面产生涡流导致天线失谐并减弱磁场,直接的现象就是刷卡距离缩短,更严重的是无法刷卡,建议天线和大量金属物体的距离尽量增大,如果天线下面是电路板,则可以减少大面积铺铜,以减小对天线的干扰。
4 嵌入式软件设计
4.1 阅读器软件主流流程
图5为阅读器软件主流程图。
4.2 基站芯片读/写TypeB卡关键部分程序员代码
本文介绍的阅读器是用51系列单片机控制的,编程使用Keil C51。
函数声明:uchar ExeCommand(uchar iLen,uchar*buff, uchar cmdCode);
功能:向FM1715发送命令集。
参数:iLen为待发送命令集的长度,buff指向待发送数据的指针,cmdCode是命令码。
返回值:成功,返回ID_OK;失败,返回ID_ERR。
4.3 阅读器PC端软件设计
PC软件利用串口控件,通过串口对阅读器发送相关命令,从而实现阅读器的设计,PC端程序界面如图6所示,通过实验,能准确操作TypeB卡。
结语
经实验应用证明,设计的SR176的阅读器完全满足各项应用指标,性能稳定可靠,能够阅读10cm以内无论所有位于射频能量场的SR176卡,并能准确完成对卡片的读/写等控制操作,该阅读器适用于所有使用TypeB卡的场合,具有非常广阔的应用前景。