基于GPRS的自动售货终端的设计与实现

时间:2009-09-07

  摘要:针对目前我国自动售货机远程监控方面的缺陷,提出了一种稳定、实时的售货监控系统方案。该系统采用 GPRS网络实现自动售货机与远程监控中心的通信,并在此基础上设计出了适应于自动售货机的 GPRS无线终端以及该系统信息传输的数据格式。通过该系统可以解决传输信息不及时,信息量有限的问题,使运营商能及时地获取自动售货机的相关信息,便于管理和维护。

  0 前言

  自动售货机是一个机电一体化的高新智能产品,一般放置在商业繁华区,由于室外环境恶劣,人为破坏等多种原因,机器经常出现故障,为了及时的发现故障,需要对自动售货机进行实时监控。随着计算机网络和移动通信技术的不断发展,现在大多采用中国移动的 GSM短信网络作为自动售货终端与监控中心通信的无线传输通道。但是这种无线通信存在着传输数据量有限、滞后性严重、数据安全性不能保证的缺陷。

  本文利用 GPRS(General Packet Radio Service)网络所具有的传送速率高、永远在线、覆盖面广等特点,结合自动售货机自身的情况,设计了基于 GPRS自动售货终端的通信协议和数据传输格式,实现了自动售货机和监控中心之间远程的实时通信。
   1 系统结构和工作原理

  基于 GPRS的自动售货监控系统主要由三部分组成:自动售货终端、 GPRS通信网络和监控中心。系统的整体结构如图 1所示。

  自动售货机实时地将销售信息、故障信息和自身状态信息通过串口传给 GPRS模块, GPRS模块按照 UDP的格式将信息数据封装成 UDP数据包,加上 IP报头封装成 IP数据包,将 IP数据包按照 PPP帧格式装成 PPP帧,发送至 GPRS网关 GGSN,再经 GGSN接入外部数据网,并以 IP包的形式通过 INTERNET将数据发送给监控中心的服务器,由服务器把数据导入数据库,并对其进行处理[1]。

  本文主要研究自动售货终端的设计与实现。

  自动售货终端的主控制器 VMC(Vending Machine Controller)选用 Motorola公司的 M68HC11单片机,它有一个全双工串口,通过该串口连接纸币器、硬币器和读卡器,使用 MDB/ICP协议通信。 GPRS模块采用 SIMCOM公司提供的 GSM/GPRS双频模块 SIM100[2]。它提供标准的 RS-232串行接口,使用该串口同 VMC进行数据传输。但是 VMC只有一个全双工串口,并且已经使用,要实现 VMC与 SIM100模块的通信,需将 SIM100模块与纸币器、硬币器、读卡器一样作为从设备使用,遵循MDB/ICP协议通信,所以在VCM与SIM100模块之间需要设计一个接口模块,来完成 MDB/ICP协议的转换功能。


  2.2 接口模块的设计

  接口模块选用台湾 WinBond公司的 W77E58单片机来完成 MDB/ICP协议的转换功能。 W77E58是一种高速、高集成、增强型 MCS-51系列的单片机,它内含 2个增强型全双工串行口,可以同时连接 VMC和SIM100 。不仅如此,该芯片含有 256B的RAM和1KB的SRAM,足够存放协议转换所需的数据和程序,无需扩展存储器[3]。

  W77E58通过两个全双工串口分别与 VMC和 SIM100相连来传输信息。 W77E58的硬件连接方案是:主控制器 M68HC11的串口使用光耦隔离与 W77E58的串口 0相连,通过 MDB/ICP协议来实现 M68HC11与 W77E58之间的数据发送和接收。 W77E58的串口 1经过接口转换芯片 MAX232与 SIM100相连,实现 W77E58与 SIM100之间的数据传送 [4]。

  3 自动售货终端的软件设计

  3.1 数据包格式的设计

  在自动售货机和监控中心的信息传输中,必须对信息的格式进行统一规定,才能使两端都能解读信息的内容,并且由于系统传输的数据量较大,必须对信息进行优先级排序,对重要的信息优先传送,优先处理。

  自动售货机发给监控中心的信息一般有三种:

  (1)故障信息:包括纸币器故障、温度失控、主板故障等约 64种故障信息。它属于优先级。

  (2)状态信息:包括缺货、缺币、开门检测等信息。它属于第二优先级。

  (3)销售信息:包括每次销售信息、总销售额等信息。它属于第三优先级。

  根据这三种信息种类,设计数据包的格式如表 1所示。

  3.2 接口模块的通信协议设计

  MDB/ICP协议是一套用于协调自动售货机的主控制器( VMC)与多个外设之间的主从型通信协议。MDB协议的串行位格式为:1个起始位、8个数据位、1个方式位与 1个停止位。VMC通过广播的方式向外发送命令,字节为地址字节,方式位为 1,后面跟着一些可选的数据字节,方式位为 0,一个字节是校验和( CHK),方式位为 1,标志着数据发送完毕。外设通过检验接收到的方式位是否为 1来确定是地址还是数据,只有与地址字节相符的从设备,才能接收发送来的数据。

  在自动售货终端中,接口模块使用 W77E58单片机来连接 VMC与 SIM100。这样 VMC、 W77E58和 SIM100三者既是发送方又是接收方。在 VMC与 W77E58串口 0的通信中,遵循 MDB/ICP协议。由于 MDB协议规定由 VMC做主设备,故 VMC的发送和接收均采用查询方式,W77E58串口 0的发送和接收均采用中断方式。本系统使用 C51语言在 W77E58单片机中编写中断接收和发送程序,主要的流程如图 3所示。

  在 SIM100与 W77E58串口 1的通信中,设计了简单的点对点通信协议,这里不再详细说明。

  3.3 W77E58与 SIM100的通信

  在该系统中,需要利用 TCP/IP协议来完成 GPRS业务数据的装帧和拆帧。SIM100GSM/GPRS模块中内置了 TCP/IP协议,W77E58向 SIM100发送 AT指令可建立 TCP/IP连接,来实现数据的传输。下面是 SIM100模块的初始化设置和使用 UDP发送数据的过程。

  1 设置通信波特率  AT+IPR=9600

  2 AT+CGDCONT=“1”,“IP”,“CMNET”

  3 设置移动终端的类别  AT+CGCLASS=“B”

  4 UDP建立连接  AT+CIPSTART=“UDP”,“IP地址”,“端口号”

  5 UDP包           AT+CIPSEND>数据包内容

  (6)关闭连接          AT+CIPCLOSE 4 结束语 通过采用 GPRS网络与自动售货机结合的方式,保障了自动售货机监控系统的稳定通信,使得售货机处于任何环境下都能与监控中心联系,及时掌握自动售货机的运行情况。

  本文作者创新点:本文设计了一个接口模块来实现自动售货机和 GPRS网络之间的连接,并通过编写 MDB通信协议和数据包格式,来实现自动售货机和监控中心之间的数据传输。通过该系统保障了自动售货机与远程监控中心的实时通信,便于出现故障时及时维修。


  

参考文献:

[1]. GPRS datasheet https://www.dzsc.com/datasheet/GPRS_1594650.html.
[2]. RS-232 datasheet https://www.dzsc.com/datasheet/RS-232_584855.html.
[3]. W77E58 datasheet https://www.dzsc.com/datasheet/W77E58_705272.html.
[4]. MCS-51 datasheet https://www.dzsc.com/datasheet/MCS-51_477840.html.
[5]. MAX232 datasheet https://www.dzsc.com/datasheet/MAX232_1074207.html.


上一篇:Ocean Blue Software推出语音式数字电视系统
下一篇:燃气表无线抄表系统的设计与实现

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料