引言
随着计算机和嵌入式系统的发展,IC卡已经融入人们的日常生活,并发展成几大类,其中非接触IC卡的出现引起了人们的特别关注。与之相应,能够读取非接触IC卡内信息的读写器(阅读器)也在不断地发展和更新。非接触式卡又称射频卡(应答器),它使用无线电调制方式和阅读器进行信息交换。通常根据以下几种标准来设计,即ISO/IEC10536标准、ISO/IEC14443标准、 ISO/IEC15693标准。根据ISO/IEC10536标准设计的卡称为"密耦合卡",对应的阅读器也相应遵循ISO/IEC10536标准设计;根据ISO/IEC14443标准设计的卡是近耦合卡,对应的阅读器遵循ISO/IEC14443标准设计;根据ISO/IEC15693标准设计的卡是遥耦合卡,对应的阅读器遵循ISO/IEC15693标准设计。遥耦合卡比近耦合卡具有更远的读卡距离,但二者均采用13.56 MHz工作频率,均具有防冲突机制[1]。
本文以射频识别技术的实际应用为背景,以智能车辆识别系统的设计为实例,阐述了使用一种TI公司生产的工作于13.56 MHz的典型射频IC卡进行系统开发的方法。该系统
1系统总体结构及方案设计
本系统采用基于IS015693协议的TI公司的工作于13.56 MHz的射频标签(RI-I02-112A,RI-I03-112A等)为射频信息钮,由基于RI-R6C一001A[2]的射频信息钮读头模块、天线、单片机、电源稳压模块(UA7805)、串口通信电路(MAX232)、液晶显示电路(SED1335、MAX749)[3]、无线收发模块(AYG一 59C)[4]等组成。电源稳压模块把整个系统的工作电压稳定在5 V,MAX749芯片主要是为液晶模块提供所需的负电压。系统总体结构框图如图1所示。
把此系统用于城市的公交车运行情况的统计上,前提是要把每辆公交车上贴一个射频卡,在每一个站牌处安装一个由阅读器组成的系统(包括阅读器、液晶模块、无线收发模块)。该系统的工作过程如下:
首先,由应用软件通过单片机(PIC16F874)向射频信息钮读卡模块(RI-R6C一001A)发出指令(如读射频卡的UID),射频信息钮读卡模块把单片机发过来的数据按所选择的射频协议(ISO15693)[5]的要求对数据进行编码和调制CONTROL ENGINEERING China版权所有,然后经过天线发送出去。此时,在阅读距离范围内的电子标签(射频卡)收到此命令,经过认证,如果正确,则按命令的要求把自己的UID发送出去(如果错误,则返回错误信息)。读卡模块经过天线收到此信息,对其进行解调和解码后,通过SPI串口送给单片机。单片机把收到的数据通过RS232串口送给收发模块(AYG一59C),收发模块以短消息的形式把数据发送给控制中心,然后控制中心把收到的数据以短消息群发的形式送给各个智能站牌。站牌处的无线收发模块收到此信息后,通过串口RS232送给单片机。单片机把此信息送给液晶显示模块CONTROL ENGINEERING China版权所有,通过液晶显示模块乘客就可以知道公交车行驶的情况。
2系统硬件设计
硬件主要包括单片机MCU、RI一R6C-001A、液晶显示器、时钟电路、匹配电路及接口等外围电路。下面给出各部分的详细说明及相关设计。
2.1 MCU部分
图2为MCU加外围器件的应用原理[6],也即控制部分电路原理。
控制部分首先辅助RI-R6C一001A工作。因为RI-R6C一001A芯片要正常工作,实现射频阅读器的功能,不但要有外围电路控制工程网版权所有,而且还要有控制器对其进行适当的控制。PIC16F874控制器有丰富的位操作指令,有SPI串行口和精简的指令集,能够很容易地模拟RI-R6C-001A传送数据的时序以及时钟切换的时序。由于RI-R6C一001A对外只提供4个引脚(DOUT、DIN、SCLOCK、M-ERR),所以控制器的接口电路相对较简单。DOUT、DIN、SCLOCK三个引脚分别连接到单片机的SPI串行口SDI、SDO、SCK三根线上www.cechina.cn,用来实现数据的串行传输。M-ERR引脚用来检测接收到射频卡中的数据是否发生错误(若有错误,则此引脚变为高电平),因此把此引脚接到单片机的外部中断输入33引脚,用于检测接收数据是否有错误,进而单片机对其作出相应的处理。由于RI-R6C一001A在接收射频卡中的数据并把它发送给控制器时,要求控制器对其发送的数据是否结束作出判断,并且RI-R6C-001A不发送数据时就不再送时钟CONTROL ENGINEERING China版权所有,所以在此电路设计中把RI-R6C一001A的SCLOCK引脚也接到了具有电压变化中断功能的 RB4引脚。RB4引脚外接