射频识别技术在物联网中的应用设计
2012-10-14陈渭力林永兴
陈渭力,李 伟,林永兴
浙江理工大学科技与艺术学院,浙江杭州 311121
0 引言
射频识别技术RFID( radio frequency identifiestion) 是21世纪非常流行的一种自动识别技术,其应用场合越来越广,尤其随着物联网技术发展,应用将更上一层楼,目前在停车场,学校图书馆,食堂,公交车上已经屡见不鲜。这里我们设计一种利用单片机开发的新型手持射频卡读写器,作为通用射频卡检测设备。
1 系统设计
本系统主要由电源管理单元、单片机AT89C52、射频卡读写模块(主要由MFRC500构成)、无线模块、键盘显示电路及其他外围电路构成,系统如图1所示。
图1
手持射频卡读写器的工作原理如下:整个手持机由电源管理单元给各个模块提供工作电压,由单片机控制射频卡芯片,并通过天线发射电磁波(区域大小取决于天线的设计质量),当有射频卡(也可以称作电子标签,RFID卡,非接触卡)进入天线发射的有效范围时,射频卡里有一个LC串联谐振电路,它的工作频率与射频卡读写器天线发射的频率相一致,由于电磁波提供的激励能量,使得射频卡里的LC谐振电路产生了感应电势,电压达到一定电压值,就作为卡内其它电路工作的电源,然后射频卡将数据通过内部电路以同样的频率发送回去,读写器通过天线接收到射频卡的信号后,进行解调解码,并根据冲突检测和校验,来判断有效的数据,接着通过单片机的串口发送数据给无线模块SIM900D,SIM900D可使用短信或者TCP/IP数据流两种方式来进行数据的无线传输,由于短信方式比较适合数据量少,单方向的场合,这里为了使该设计具有更广的使用,所以采用TCP/IP数据流的方式,与远程控制数据中心进行数据交互。
2 硬件电路设计
2.1 读写器的主要控制器
手持读写器的主要的CPU采用ATMEL公司的AT89C52。它是一款常用的51单片机。被应用到各种工业控制和消费电子领域中。其成本低,开发平台简单。当然在这个系统里理论上完全可以用其他单片机或者ARM控制器来替换。
2.2 射频卡读写器设计
射频卡读写主要通过射频卡芯片MF RC500及其必要的外围电路构成,射频卡芯片是整个读写器的核心,它可以实现读写射频卡(电子标签)所有必要的功能,包括射频信号的产生、调制、解调等。此芯片实际上是单片机与射频卡之间进行数据传输的关键。任何射频卡上的数据读写都要通过此芯片来传送。通过传送不同的命令给此芯片,就能实现不同的控制。
此芯片需要在OSCSIN和OSCOUT引脚上外接13.56MHz晶振,当然也可使用其他外部时钟,但不推荐这样做,因为它本身的时钟已经足够稳定。
为了实现最佳性能,射频卡芯片的模拟部分使用单独的电源,它对内部的震荡器、模拟解调器和解码器提供工作电压,同时对驱动部分和数字部分也各使用单独电源供电,此读卡器,我利用磁珠把各电源进行分开。
此芯片支持不同的CPU接口,单片机通过控制射频卡芯片的NCS引脚来选择射频卡芯片,在射频卡芯片上电或硬件复位后,此芯片马上复位它的接口模式,并根据几个固定引脚上的逻辑电平来识别当前CPU接口的类型。我们这里选择了地址线与数据线分时复用的接口类型,其具体操作是:当ALE为逻辑1时,将地址锁存到内部的相应锁存器中,然后由读写信号完成对芯片的数据读写。
在这个部分,读写器的天线设计也相当的重要,它的设计质量将直接影响读写射频卡的有效距离,我们参考芯片的数据手册,采用直接匹配的天线,其有效距离最远可以达到10cm。在天线电路的设计里,我们主要考虑两个方面的问题:
第一个方面是对电磁干扰的滤波,由于这个读写器的工作频率为13.56MHz,由时钟电路产生,但它也伴随产生13.56 MHz中的3次、5次等高次谐波。为达到国际EMC要求,良好地控制这些电磁干扰。本读写器使用低通滤波器来控制电磁干扰。
第二个方面是为了天线的性能达到最好,需要考虑天线电路的阻抗匹配。
2.3 电源的设计
由于本手持机在使用无线模块时,需要较大的电流。另外本设备为手持机,所以系统设计采用优科能源的可充电聚合物锂离子电池组件(2节串联,每节3.7V的标称电压),可充电(需另购充电器,充电电压为8.4V),电池电压通过降压型DCDC芯片AOZ1016A转换成5V电压输出,此芯片的输入电压范围较大(从4.5V~16V),最大可以输出3.6A的电流,完全满足本手持机的电压需要。
2.4 显示器的设计
显示部分采用160×96点阵液晶屏,这个液晶屏是总线型的,它与单片机的连接采用数据并行模式,直接与单片机的PO口相连,而液晶屏的读写控制信号R/W则直接连接单片机的读写信号上,另外液晶屏的片选信号CS,指令/数据寄存器选择信号A0,复位信号RESET和串并行选择端P/S,都需要分别连接到单片机的其他I/O口。
2.5 键盘的设计
键盘设计使用单片机P1口的八个I/O口实现,采用4×4矩阵动态扫描模式,可设计提供11个数字键(包括小数点)、确认键、取消键、退格键、2个功能键,共16个按键。满足一般手持设备的按键需求。
2.6 无线通讯模块
目前市场上提供的无线通讯模块有很多,为了适应更多的国家使用,我们使用刚刚推出的四频的无线模块SIM900D(它是SIM340DZ的替代品),此模块自带TCP/IP协议栈,无需其他CPU的支持就能利用TCP/IP数据流方式进行无线数据传输。当然它也使用标准的AT命令,性能稳定,使用方便。本手持机中,单片机通过串口与SIM900D进行通信,由于单片机AT89C52采用5V供电,而SIM900D使用4.3V供电,所以需要在5V电压的基础上进行降压,我们这里采用简单的二极管进行串接降压。当然此模块还需要SIM卡接口电路,由于SIM卡是经常被手碰到的地方,需要给SIM卡加上ESD保护电路。
3 软件设计
手持机软件系统用C51进行直接编写,当然如果扩展外部储存器,也可考虑在本系统中采用嵌入式操作系统,并在操作系统的基础上编写自己的应用驱动程序,我们这里考虑到本手持机只是作为物流读写射频卡的中间设备,数据处理类型和任务较少,较复杂的应用处理可以由远程数据控制中心来实现,所以这里采用C51直接编写全部程序,系统的各个单元部分用单独的任务线程设计,在减少了软件设计的复杂度的同时,也增强了软件系统的稳定性和可读性。
本系统软件设计主要包括,系统初始化,键盘扫描处理,液晶显示,射频卡的读写,以及无线模块的控制与数据通讯等主要部分,由于系统初始化,键盘扫描处理,LCD显示,都是非常常见的应用设计,下面主要说明射频卡的读写部分的设计。
3.1 射频卡的读写软件设计
射频卡的读写,最主要是对芯片进行控制。因此读写程序也主要是完成单片机对射频卡芯片MF RC500的控制,从而实现芯片与射频卡之间的数据交互,工作流程如下:
1)单片机对射频卡芯片进行初始化,使其进入正常的工作状态;
2)等待中断信号(射频卡芯片通过天线检测到有效的射频卡进入有效范围后,产生中断信号给单片机);
3)由单片机发送相应的指令给射频卡芯片,进行请求,防碰撞,选择等操作;
4)单片机发送相应的指令对读写射频卡密码进行验证;
5)验证完毕后,读取射频卡指定块的内容或者写入相应地址块的数据;
6)完成数据读写后,向卡发送停止命令,并可判断卡有没有离开。
3.2 无线模块的数据传输的软件设计
由于无线模块SIM900D自带TCP/IP协议栈,在本手持读写器里,单片机通过其串口,利用AT命令就可以对SIM900D进行数据通讯。主要流程如下:
1)先由单片机通过I/O脚控制模块上电,使SIM900D上电复位;
2)单片机通过串口发送AT命令控制无线模块SIM900D与远程服务器建立TCP连接(预先需要知道远程数据控制中心服务器的IP地址和端口);
3)连接建立后,单片机把准备好的数据发送给无线模块SIM900D,通过前面建立好的数据通道进行数据传输;并读取无线模块SIM900D从远程数据中心返回的数据;
4)数据处理好后,关闭当前建立的TCP连接,然后再关闭无线模块SIM900D的电源,以节约耗电,继续等待下一次的通讯。
4 结论
本手持机主要支持IS014443A协议的射频卡的读写,此射频卡目前已经被广泛使用。利用此设计方案,开发的物流手持射频卡读写器,具有携带方便,成本低,软件修改方便,可使用场合多的特点,随着物联网的发展,其应用前景一定非常广阔。
[1]谢高生,易灵芝,王根平.动态密钥在Mifare射频IC卡识别系统中的应用[J].计算机测量与控制,2009,17(4):725-726.
[2]李朝青.单片机原理及接口技术.北京:北京航空航天大学出版式,2006,12.