GPRS/RFID技术在巡更系统中的应用
封装形式,比普通8051核单片机快8~12倍,硬件看门狗,具有1个全双工异步串行通信口,1个高速SPI通信端口,10位ADC,8通道且价格便宜,特别适合小型嵌入式终端使用。GPRS模块采用BENQ 22,此模块是台湾明基公司GSM/GPRS模块产品系列的主导产品,该模块为带TCP/IP协议的900/1 800/1 900三频段工业模块,主要用于无线公话、车载系统、监控、防盗系统。由于该模块内嵌了TCP/IP协议,这大大降低了对整个系统硬件和软件的要求。BENG22模块的工作电压为3.2 V~4.2 V,通话时最小功耗为230 mA最大为260 mA,待机时功耗小于6 mA;支持3 V的SIM卡,支持语音、短信息、传真功能,支持GSM和GPRS 2种模式。读卡器中MF RC522是Philips公司最新推出的一款非接触式低功耗读写基站芯片,它是应用于13.56 MHz非接触式通信中高集成读卡IC系列中的一员。该读卡IC系列利用了先进的调制和解调概念,完全集成了13.56 MHz下所有类型的被动非接触式通信方式和协议。MF RC522支持ISO14443A所有的层,传输速度最高达424 Kb/s,具有3种主机接口方式:SPI模式、UART模式、I2C模式。本设计采用SPI模式进行读卡器与单片机通信。巡更机硬件框图如图2所示。
3 终端巡更机软件设计
系统软件主要包括单片机与GPRS模块的通信,以及读卡器读取数据给单片机两大部分。
在系统初始化完成后,应用程序对外围电路发出的信号进行监测、识别、处理。考虑事件的多发,不定时的特性,本应用将μC/OS II操作系统移植到软件系统上,采用该实时操作系统来实现多任务处理。监控系统大多都是后台程序,系统运行起来就开始进行监听,当有信号触发时则进行相应的服务进程,例如,巡更人员到岗,周围环境突发警情等。软件流程图如图3所示。
3.1 GPRS模块的软件设计
GPRS与单片机通信的关键部分是该模块的初始化,初始化完成后,单片机向GPRS模块发送数据,步骤如下:
(1)运用命令AT+IPR=9 600(默认)设置波特率,可自由用此命令切换通信速率。支持掉电保存,因此只需要设1次,不需要每次开机重设。
(2)运用命令AT+CGDCONT=1,"IP","CMNET"命令设置GPRS接入网关。
(3)运用命令AT+CGCLASS="B"设置移动终端的类别为B类,即同时监控多种业务,但只能运行1种业务。
(4)运用命令AT+CGACT=1,1命令激活GPRS功能,如果返回OK,则GPRS连接成功;如果返回ERROR则意味着GPRS失败。
(5)运用命令AT+CIPSTART="TCP","客户端IP","端口号"来连接客户端服务器。
(6)AT%CGPC0=1,"PAP",1(PAP验证,默认的用户名和密码)AT$DESTINFO="XXXX.XXXX.XXXX.XXXX", 1,1234这1条指令中XXXX.XXXX.XXXX.XXXX指的是远端的1个IP地址,这个IP地址必须是正确的,1234指的是端口号,这个端口号是远端的接收程序默认或者设定的端口号。这里设定的端口号必须要和远端接收程序的端口号一致。
通过上面的初始化,单片机读取的读卡器信息就可以通过GPRS数据业务将巡更员的信息发到监控中心[2]。
3.2 读卡器软件设计
读卡器软件设计是单片机控制MF RC522对MIFARE卡的操作,包括主控程序、PIC单片机初始化、读卡器核心模块RC522初始化、RC522读写子程序、防冲突子程序和数据块操作子程序等[3]。
单片机与MIFARE卡进行通信是通过天线发送协议IS014443A所规定的指令代码和数据格式来实现的。例如向卡片发送数据是通过向读卡器核心模块RC522内的FIFOData寄存器写入待发送数据,Command寄存器装入命令Transceive的代码0x1e,RC522就会将数据发送出去,卡中返回数据则存放在FIFOData寄存器中,由单片机读取后写入串口通过GPRS发送到控制中心。读卡器对MIFARE卡片的操作流程如图4所示[4]。
(1)复位应答操作通知MF RC500有效工作范围(距离)内寻找MIFARE卡片。
(2)如果多余1张的MIFARE卡片在读卡器天线的有效工作范围(距离)内,必须执行防重叠操作,返回1张卡片的序列号,作为本次操作的对象,而其他卡片处于等待状态。
(3)在成功执行防重叠操作之后或在任何时候,当程序员想与己知序列号的卡片进行通信时,必须执行选择卡片操作,以建立与所选卡片的通信,同时返回该卡片的字节数。
(4)为保证对卡片操作的合法性,在对卡片操作前必须在卡片和读卡器之间进行认证操作。
3.3 上位机软件设计
监控中心的上位机软件采用VC 6.0实现,主要作用是监控各个巡更机信息,并通过GPRS数据链路给各个巡更机发送命令。本系统不属于重点讨论对象,只简要概述。