来源:中国一卡通网 作者:李战明、马林东、王栋、张应和 发布时间:2011-11-29 11:15:23 字体:[大 中 小]
摘 要:随着嵌入武技术和网络技术的发展,出现了基于无线网络通信的自动售货机系统,介绍了基于ARM微处理器以及GPRS网络通信技术来实现Ic卡自动售货机的无线数据传输,提供了基于TCP/IP协议的C/S结构的设计与实现方法。实际应用证实了其可行性,在自动售货业有广泛的应用前景。
应答报文格式如图5。
字段简要说明
报头标志:前三字节固定,后两字节为协议版本号。
报文长度:表示从报头到校验和的整个报文长度的16进制数。
报文S.N:接收的数据报文的报文序列号
报文类型:接收的数据报文的报文类型
VM ID:自动售货机编号,10位定长BCD格式数字代码。
应答字:比如11为应答成功;BitO一7位置0时表示相应处理出错
附加内容:自定义内容,对不同的报文类型的应答有不同的内容定义。
CRC交验和:不包括校验和本身的CRC校验和与报文中的CRC校验和相等为正确。
所有的管理命令报文均为简短的命令,售货机则应立即用简短的应答予以确认,即便是为了实现与售货机的数据交换,也不由管理命令报文本身完成,管理命令只是用于向售货机下达通知,需进行的实际数据交换工作在收到售货机回应命令后在进行处理,对时钟同步命令售货机必须立即执行。图6、图7是GPRS接受数据和发送数据的流程。
3.2软件设计要点
SIM300C是SIMCOM有限公司开发的支持GPRS上网、GSM语音及支持标准AT指令的模块,因此编程应用很方便。SIM300C也是通过标准的232接口和MCU通信的,具体的指令系统是AT指令集。通常情况下为了简化硬件的设计而采用3线制232接口。也就是是说没有多余的硬件措施来检测SIM300C的串口是否正常工作。然而SIM300C只有在串口功能被打开的情况下才能正常的发出命令,而在有些时候是会关闭串口的,比如电压突然过低(这在搜索网络或拨打电话时有可能出现)或者温度的影响等等。在这些情况下,SIM300C的串口就关闭而不能工作了。如果在这时在等待AT指令的返回,程序很有可能就进入死循环。为此必须加入超时控制的代码来避免这种情况的发生,也就是在发送完一条AT指令后。在规定的时间范围内等待接收SIM300C对该条指令的回应,结合系统实际运行证明这完全是可行的。另外在实际应用中发现,一旦由于某种原因SIM300C不工作了,这时候最可靠的方法是重新启动SIM300C,触发点火信号,让其重新工作。
4结论
目前,介绍的基于GPRS网络的刷卡自动售货机已投入运行,部分通讯数据还在调试,该系统能够及时将用户的刷卡消费记录、黑名单以及与管理中心之间的通讯数据都能够及时上传和下传,管理中心能够及时了解分布在各点的售货机的运行情况,方便维护,该系统具有成本低廉,功能易于扩展,在即将到来的基于无线的自动售货机市场有广泛的应用前景。
推荐文章
论坛热帖