非接触式无线巡更系统能够在规定的值勤时间按照严格的巡更路线和巡更时间段,在有效时间段采集、保存巡逻人员读巡更点的时间和巡更点信息;在非有效时间内,有人读巡更点时检验巡更点是否有效、是否在允许的时间段,巡更点有效且在允许的时间段则进行相应的标记,并保存该巡更事件的良好情况,否则标记为违纪行为提示信息。它可识别不同类别的标签(巡更点),控制不同值勤人员的巡逻时间及允许的值勤范围和路线等;可以完成巡逻人员登记操作,也可对不同值勤人员的巡逻时间及允许的值勤范围、路线等进行设定,以有效地控制巡逻有效性。系统配有便捷的上位机管理软件,可完成设定、查询、统计和自动生成报表等功能,方便管理人员按部门或日期查询统计出勤、出差、请假等各种记录,真正实现考勤巡更情况的自动化管理。拥有硬件管理员权限的人员可对巡更机进行各种硬件设置,通过按键和液晶显示器上的菜单选项设置巡更机。另外,作为一个独立的手持系统,巡更机能完成采集、保存和查询数据等操作,并且耗电少、配有可重复充电的大容量电池,可持续长时间正常工作。
系统硬件设计
1 系统总体结构
非接触式无线巡更系统由PC、巡更机、RS232/ 485及UART转USB接口设备、巡更点标签等部分组成。PC安装数据库管理系统和值勤人员考勤管理软件,通过RS232、RS485或USB接口与巡更机相联接,对巡更机进行各种设置,从巡更机上采集考勤数据,对考勤数据进行处理,包括设置巡逻点信息、修改和读取巡更机内记录、进行数据分析统计和查询,以及生成各种报表等。巡更机的主要功能是记录值勤人员信息和采集巡更点巡逻时采集的数据,由单片机、 存储器、实时时钟、读巡更点接口模块、按键输入、液晶显示等模块组成。巡更机结构如图1所示。
图1 系统硬件结构图
2 控制模块
巡更机的处理器采用AT89S52单片机,它具有价格低廉、功耗低等特点,非常适合用在该系统中。AT89S52的P0口与三态地址锁存器形成地址总线的低8位A0~A7,以及数据总线D0~D7;AT89S52的P2口作为地址总线的高8位,即A8~A15。P1口和P3口用作其他I/O信号端,包括串行数据端口及SPI接口。
3 射频无线接口模块
射频无线模块是单片机与无线标签之间的通信接口,用于发送控制命令并读取无线标签上的信息。无线模块芯片采用 IA4421,IA4421是全集成的低功耗、多频道FSK收发器,在无须申请注册的433M、868M、915M频段的设计应用完全符合FCC和ETSI认证相关规定。IA4421能够产生一个时钟信号给微控制器使用,从而避免使用两个晶振。在低功率应用中,IA4421内部的唤醒定时器支持低功耗工作,其待机(Standby)电流仅为0.3μA。IA4421与微控制器的接口电路如图2所示。
图2 无线模块与微控制器接口图
4 串口转USB模块
该模块用于实现巡更机与PC之间的数据通信。本系统中采用了一片 CH341T,提供串口转USB接口,方便无串口的PC通过USB接口进行数据交换,支持单机运行和联机使用。其中RXD、TXD作为数据的I/O通道连接单片机串口,完成单片机与PC之间数据读取操作。
5 存储器模块
本系统采用SST25VF040 Flash存储器,其存储空间为4Mb,主要存储巡更机采集到的标签数据、操作人员、采集时间等信息。由于采用双向高速SPI总线进行传输,只需三根数据线加片选线就可进行数据读写操作,提供数十兆的总线速率,同I2C总线相比只再加几根片选线,就可挂接更多的SPI接口器件,既大大节省了地址数据I/O,又提高了系统的总线效率。
6 时钟铁电存储缓冲模块
该模块为系统提供可靠的时间和数据缓冲区域。FM3316铁电存储器提供内置的实时时钟(RTC)模块,只要设置好当前时间,就可以有效使用其内部的日历和周历。FM3316内部具有16Kb的非易失性铁电存储单元,可用来保存通信接口的地址、读卡时间、读标签数据等数据。FM3316提供可编程定时周期控制信号以刷新LCD显示器的时间显示,触发引脚接单片机外部中断引脚,在外部中断服务程序中刷新LCD显示器的时间显示。FM3316提供双向SPI总线进行传输接口,只需增加一条片选线就能挂载在已有的SPI双向总线上。FM3316通过SPI总线与单片机之间进行的地址和数据进行传输,通过SPI总线单片机可轻松设定和修改系统时间,将人员信息和读标签数据先保存起来,避免对Flash的频繁操作,提高系统寿命和可靠性。
7 无线电子标签
无线电子标签是集单片机、射频无线模块接口、存储单元、天线、电源电路等模块为一体的小型无线射频系统,是巡更机系统的简化,其核心是射频无线模块接口。
系统软件设计
单片机控制软件由FM3316驱动模块、Flash读写驱动模块、LCD驱动模块、键盘处理模块、 串口转USB通信模块、无线通信控制模块协议、命令处理以及菜单处理模块组成。其中,设计键盘处理模块和无线通信控制模块协议控制软件是难点,下面将对这两个模块的实现方法作具体的介绍。
1 键盘处理模块
系统设置了16键的键盘用于实现人机交互。用户可以通过键盘直接设置和查询考勤机的相关参数。16个按键分为4排,在 P1口高4位和低4位的逻辑控制下轮流扫描。对应代表 0~9 十个数字键及“Set”等6个功能键。按键连接及分布如图3所示。
图3 4×4键盘接口图
先从P1口的高4位输出低电平,低4位输出高电平,从P1口的低4位读取键盘状态。再从P1口的低4位输出低电平,高4位输出高电平,从P1口的高4位读取键盘状态。将两次读取结果组合起来就可以得到当前按键的特征编码。使用上述方法可得到16个键的特征编码。
将16个键的特征编码按顺序排成一张表,然后用当前读得的特征编码来查表,当表中有该特征编码时,它的位置就是对应的顺序编码。键盘扫描程序流程图如图4所示。
图4 键盘扫描程序流程图
2 无线通信控制协议模块
无线通信模块用于实现巡更机与巡更点电子标签的通信,巡更机可以通过天线发送无线信号命令对巡更点电子标签进行操作,如设置和读取电子标签地址编码、地点等信息。巡更机通过无线射频信号发送控制巡更点电子标签的命令包,等待电子标签的确认信号,电子标签收到巡更机发送来的信号立即返回确认信号,若巡更机没有在规定的时间内收到确认信号,则重新发送命令。电子标签收到命令后立即可进行相应处理,再通过无线射频信号将结果返回给巡更机并等待巡更机的确认信号,若电子标签没有在规定的时间内收到确认信号,则巡更机重新发送命令和数据信息。
下面介绍无线射频通信的实现。巡更机发送的命令数据包格式为:同步字节-命令字-标签地址-参数长度-参数-校验和。图5为巡更机发送命令执行结果时的命令及数据流程图。
图5 发送命令及数据流程图
无线射频电子标签成功接收命令后立刻执行,并向巡更机返回执行结果状态信息。返回的命令数据包格式为: 同步字节-命令字-标签地址-命令执行成功或失败-返回命令执行结果的长度-校验和。图6为电子标签接收命令及数据包后响应状态转换过程。
图6 接收命令及数据包响应状态转换过程
无线射频电子标签的处理程序有两个:一个是设定标签地址及标签内其他数据信息(Set Process),另一个是读取标签地址及标签内其他数据信息(Read Process)并将这些数据通过无线射频信号发送给巡更机。这两个程序的进入是通过命令字来判断的,判断处理过程对应为配置改写设置(Set Config)和数据读取(Read Data)。系统程序将这些操作结束后同样要通过无线射频信号将其状态码告知巡更机系统,以便于巡更系统进入下一工作状态。标签地址信息是为了区别在巡更机无线覆盖范围内多个标签而设定的区别码,这样可以有效避免误码和多个标签竞争出错的发生。
3 管理软件设计
系统管理软件是在Windows XP环境下,采用Visual Basic开发设计的,功能全面且用户界面友好。功能模块包括系统设置、巡更机控制、巡更记录和考勤统计,其结构框图如图7所示。
图7 管理软件结构框图
结束语
非接触式无线巡更系统的设计与开发使得巡更过程中数据的采集、处理和维护更加简单,手动设置巡更规则、对数据库中的数据进行统计查询和自动生成各种报表等巡逻人员的考勤管理工作变得方便迅捷。本文介绍的非接触式无线巡更系统具有良好的性能,特别是在通用性、稳定性方面表现突出,硬件设计可扩展性好,运行稳定。实践证明系统的功能完全满足了设计要求。