4 软件设计
系统的软件设计包括上位机软件和下位机软件两部分。上位机软件部分主要针对计算机平台,采用C++语言编写.控制节点终端设备和接收节点终端设备发送的数据,然后做进一步处理。考虑到网络的规模最大为256节点,上位机采用轮询方式控制各个节点终端设备,维持整个网络正常运行。控制节点终端设备的命令主要有:(1)发送数据命令:下位机接收到该命令的响应是发送采集到的数据,即缓存在数据存储模块中的数据;(2)写标签命令:下位机接收到该命令的响应是向感应区内的标签写入新的数据;(3)时间设置命令:下位机的响应是根据参数更新DS1302的数据;(4)设置功率命令:设置射频收发模块的发射功率以调节读写标签的距离;(5)写分机号命令:该命令为单机命令,可为每个节点终端设备写入一个唯一的分机号,以便区别不同的终端设备。下位机软件设计主要针对单片机平台,采用C语言编写,主要是各功能模块的驱动程序,如射频模块的控制、数据存储模块的数据读写、时钟模块的输出、LCD显示模块的数据显示程序、USB接口的驱动程序等。图7为下位机软件流程图。
5 通信协议设计
通信协议是网络正常工作必不可少的,主要是对计算机和节点终端设备间通信帧格式的具体规范与统一,例如帧长度确定、命令字意义、参数长度、帧起始标志、结束标志等。具体帧格式规定如表1所示。每帧数据有23字节,其中起始位1字节,固定为Oxaa;分机号1字节,可设置范围为0~255;命令1字节,包括5个命令:OxOf、Ox2f、Ox4f、Ox8f、Oxaf,依次为发送数据命令、写数据命令、时间设置命令、功率设置命令、写分机号;数据17字节,包括标签数据12字节和时间数据5字节;CRE校验采用CRC-16,共2字节,是起始位到数据位之间所有数据的CRC校验值;停止位1字节,固定为Ox55。
系统通过RS485总线实现上位机与下位机之间的通信。计算机根据分机号选择不同节点终端设备,选择命令代码实现各命令,数据部分为操作响应代码(“0”标识操作失败,“1”标识操作成功)、相关参数(如时间设置命令中的时间参数)或返回具体数据(如标签数据和时间数据)。
6 结束语
RFID技术以其优势必将在信息化建设过程中得到推广与应用。系统利用RFID技术构建一种低成本、高可靠性、维护方便的数据采集网络。目前该网络已应用于某公司自动生产线中。运行状况良好,具有广泛的应用前景。