基于SkyeModule M8模块的UHF射频读卡器设计
文章出处:http://www.nexussmartsolutions.com 作者:李俊敏 张晓光 朱滨峰 人气: 发表时间:2011年10月23日
引言
射频识别技术RFID是二十世纪九十年代兴起的自动识别技术,是一项利用射频信号通过空间耦合(交变磁场或电磁场)实现无接触信息传递并通过所传递的信息达到识别目的的技术。它与早期的识别技术(条形码、磁卡等)相比,具有可非接触识别(识读距离可以从10cm至几十米)、存储能力大、可识别高速运动物体、抗恶劣环境、保密性强、可同时识别多个识别对象等突出特点,因此它可在更广泛的场合得到应用。
目前,工作频率为UHF的射频读卡器的设计方法主要有三种:采用离散高频元件设计、集成射频芯片设计及OEM方法来完成射频模块。采用离散高频元件设计读卡器,电路的设计和调试难度非常大,开发设备要求高。针对这种情况,许多芯片制造厂商陆续也开发了UHF集成芯片,如Melexis公司推出的低功耗FSK/FM/ASK收发器芯片TH71221就属于这类芯片,但并没有给出相应的开发评估板,开发起来还存在一定的困难。同时许多厂家推出了UHF射频识别模块,用户可以通过OEM方法生产自己的UHF读卡器,降低了开发难度,缩短开发周期。
射频识别系统
一个典型的射频识别系统主要由应用系统、射频读卡器和射频标签三部分组成(图1)。射频标签和射频读卡器分别属于信息载体和信息采集设备,而由它们所构成的射频识别系统归根到底是为应用系统服务的。射频读卡器与应用系统之间的应用程序接口API通常用一组可由应用系统开发工具(如VC++,VB,PB等)调用的标准接口函数来表示。
UHF射频读卡器的设计
射频读卡器主要分为两部分:控制模块与射频模块。在射频识别系统中,射频读卡器的任务是通过射频模块向标签发射读取信号,并接收标签的应答,对标签的对象标识信息进行解码,再通过控制模块将对象标识信息连带标签上的其他相关信息传输到应用系统计算机以供处理。在本设计中比较了众多的射频收发模块最终选用由Skyteck公司开发的Skymodule M8模块。
M8模块
M8模块提供了一个低功耗、高性能、高效率的UHF读卡器设计平台,它是一个多协议OEM模块,可以用来读写满足ISO18000-6 A/B、EPC Class 0/0+或1、EPC Class1 Gen2和其它协议的频率范围为860~960MHZ的UHF标签。还可以在现场通过升级固件程序来增加新的标签协议和兼容性。M8模块的射频输出功率可以通过程序在15mw~500mw之间范围内设定。在5V电压下,M8模块的智能电源管理可以使电流低于100μA(休眠模式),这样可以使设备用电池来驱动。为了简化对M8模块的操作,模块留有一个20针的接口。只需要根据具体应用来设计相关的控制模块,并通过导线与接口相连,就可以以指定的通讯方式与M8模块进行数据交互。与控制模块的接口包括UART (TTL)、I2C和SPI,还可以通过RS-232、USB接口直接与计算机通讯。M8模块内置有便携式天线,还具有一个50Ω的输出阻抗,用来与外部天线相连,模块的读卡距离与外部天线有着直接关系。其外观图如图2所示。
控制模块设计
由图1可知,控制模块主要包括两部分:以微控制器(如单片机)为核心的控制单元和通讯接口单元。
控制单元的主要功能就是对射频模块功能进行配置并与之通信取得射频模块所获得的射频标签信息,将获取的标签信息通过通讯接口上传给上位计算机,同时也可以接收上位机对射频读卡器的配置指令。还有,射频读卡器还需要留有一个可以直接与计算机通讯的接口,有利于上位机软件的设计与开发。因此,需要根据控制单元的功能要求来选择控制单元微控制器,并实现各种通信接口。在此,控制单元是一个以AT89S53为核心的单片机系统,该单片机片内含有12K Bytes的Flash Memory和256Bytes×8的RAM,3个16位定时器/计数器,9个中断源,可编程串行UART通道,SPI接口。
通讯接口单元又可以分为两部分:芯片级总线接口单元(M8模块支持I2C、SPI、UART等)和现场总线级接口单元(RS232、RS485、CAN总线等)。控制单元通过芯片级总线接口单元来对射频模块进行配置和读取射频模块所捕获的射频标签信息。
在本设计中控制模块上需要留有一个接口,一方面与单片机的SPI引脚相连,另一方面通过导线与M8模块通讯,这样就实现了控制模块与M8模块的通讯。为了将所采集的标签信息传输给上位计算机,可以使控制模块与计算机之间通过串口通讯。控制模块的电路原理图如图3所示。
软件设计
本设计中单片机软件主要分为两部分:单片机与M8模块之间的SPI通讯和单片机与上位计算机的串口通讯。Skyteck公司已经为M8模块制定了专门的通讯协议,单片机只需要按照通讯协议格式就可以通过SPI接口与M8模块进行通讯,读取标签信息或对M8模块进行配置。为了实现单片机与计算机之间的通讯,也需要制定两者之间的通讯协议。这样,单片机就可以把获得的标签信息按照通讯协议的格式传输给计算机。用户则可以根据具体应用,开发出相应计算机软件来对标签信息进行管理。
结语
目前,笔者已经采用M8模块设计出了射频读卡器,并通过选择合适的天线并将其应用在远距离人员考勤系统中。通过读卡器对人员的非接触信息采集,然后把信息传到上位机,可以对人员进行有效的管理,用来浏览、查询、统计和修改数据库内的员工信息。该读卡器在实际应用中操作方便、运行可靠。