手机自动售货机的嵌入式系统设计
仪器信息网 · 2011-03-24 00:17 · 35765 次点击
阐述以移动增值服务为基础的手机自动售货机的嵌入式系统设计。硬件设计给出自动售货机设计方案,并简要介绍所用到的器件,软件设计给出自动售货机的流程图和服务器的功能简介。
关键词:手机USSD白动售货机GSM/GPRS
引言
移动增值业务产品的核心特点是移动性、即时性和个人性。移动增值服务是在通信技术、计算机技术和互联网技术不断发展融合的基础上,在人们以信息为基础的各种应用需求快速增长的激励下,在社会信息化水平日益提高的前提下,迅速发展的一种全新的服务方式。由于移动通信自身所具有的可移动性、无时空限制性、专属性、安全性和时尚性的特点,加上基于这些特点之上的短信息、游戏、支付、定位、办公等丰富多彩的应用服务,使得我国的移动增值业务在短短数年里从无到有,迅速发展为欣欣向荣的产业。本系统采用的是以ATmegal28单片机为核心的自动售货机,通过BENQ的13SM/GPRSM22模块与服务器通信来实现以手机支付形式的移动增值服务系统。在实际设计过程中,考虑了自动售货机硬件平台在低温下运行的情况。
1自动售货机网络结构
图1概述了移动自动售货机系统在实际运行过程中的网络结构框图。
2硬件设计
自动售货机是用户直接面对的终端界面,主要实现功能为:
①货物存储和出货。自动售货机将销售商品存储其中,以一台饮料机为例,其中存储的饮料可以高达3OO台,并且自动售货机装备有恒温控制系统和密闭的储存空间,在各种复杂的气候条件下,均可有效的保证货物的储存周期。
②无线数据交换。自动售货机具备无线通信功能,可以和现有的(3SM/CDMA网络进行对接,接受网络侧发起的各种无线通信连接,也可以主动向GSM/CDMA网络发起连接。通过无线数据交换可以实现对售货机的无线远程控制,并可以实时获取售货机当前系统状态和销售情况,从而实现整个业务的交易流程可控。自动售货机支持的无线通信方式包括:SMS、USSD、GPRS和CDMAlX。
2.1单片机部分
Atmel公司生产的ATmegal28单片机内部集成了较大容量的存储器和丰富强大的硬件接口:定时器/计数器、实时时钟、PWM通道、A/D转换器、12C的串行接口、可编程的串行USART接口、SPI串行接口、带片内晶振的可编程看门狗定时器和片内的模拟比较器等。它在省电性能、稳定性、抗干扰性能和灵活性方面极具特色。单片机系统采用5V电源供电,外接电源为24V,经LM2576s芯片开关电源转为5V,为系统主电源。
2.2LCD部分
金鹏科技有限公司的OCMJ中文模块系列液晶显示器内含GB231216×16点阵国标一级简体汉字和ASCII8×8(半高)及8×16(全高)点阵英文字库,使系统不用扩展外部存储空间。用户输入区位码或ASCII码即可实现文本显示。本系列模块具有上/下/左/右移动当前显示屏幕及清除屏幕的命令。OCMJ中文模块的所有初始化设置工作在上电时自动完成,实现了“即插即用”。同时保留了一条专用的复位线,可强制复位。规划整齐的10个用户接口命令代码,非常容易记忆。硬件接口采用REQ/BUSY握手协议,简单可靠。OCMJ5XlO模块的背光源正极引脚所需较大电流才能保证LCD的亮度,所以加9012三极管放大,三极管基极电阻的选择上一定要考虑低温下三极管的特性,以保证可正常驱动LCD。
2.3GSM/GPRS模块
GSM/GPRS模块采用BENQ的M22模块,如图2所示。
该模块采用的是标准的AT指令集,正常工作电压为3.3~4.3V,5V的VCC经过IN5401降压到4.3V左右为模块使用,如图3所示。由于GSM/GPRS模块有瞬间脉动电流,在电路设计过程中加了1个2200μF的电解电容可以满足模块的瞬间大电流需求。
2.4电机的驱动部分和电机的5×10控制阵列
自动售货机吐出饮料的过程实际为电机动作推饮料下来。由于电机都是感性的,在停转的时候会有反向电流,所以需要用PC847光电隔离器把控制和驱动信号隔离开来,然后用L293D驱动电机。电机驱动需24V电压.控制信号经过L293D后变为24V左右的电源信号才可驱动电机。电机有三根线:电源、地线和反馈信号(电机转一圈送出一个低电平)。由于要控制50个电机,占用单片机15个I/O口,其中5个为行线低有效,10个为列线高有效,形成5×10阵列。当行为低、列为高的一个交叉点的电机动作推货物出来。在机械制作中使电机转一圈刚好推出一瓶饮料,电机转一圈同时产生一反馈信号,此信号使电机停止转动。另外一种情况是红外检测到有货物落下则电机停止转动。
2.5ISP下载接口
JTAG的仿真器比较贵,用ISP下载加上串口调试达到节约成本的目的。ATmegal28的PDI、PDO、SCK和RESET加上VCC和GND就构成了ISP接口。用广州双龙电子提供的下载线和相关软件送行熔丝配置。由表1可知:设CKSEL3..1为111,则配置为外置晶振8MHz,用ISP下载线下载即可。用ATmega]28的串口LJSARTl与PC机通信,由超级终端来显示调试信息。
3自动售货机软件部分
内置的主控模块控制自动售货机内部各部分流程进行实际的管理,包括:吐货流程、交易流程数据上报、LCD用户界面显示和故障上报。
3.1USSD无线通信方式
USSD(UnstructuredSupplementaryServiceData)定义为移动台和网络应用之间经过归属位置寄存器(HLR)传递信息和指令的一种机制,它为移动通信用户提供基于文本的界面,用于管理用户的业务。USSD在通话状态下使用独立专用控制信道SDCCH(Stand-aIon(DedicatedControlChanneD,数据传输速率大约为600bps;而非通话状态时,USSD)使用快速辅助控制信道FACCH(FastAssociatedControlChannel),数据传输速率约为1kbps,比SMS传输速率高。
USSD在会话过程中一直保持通信连接,提供透明通道,不进行存储转发。由于USSD与GPRS类似,在交互中保持一个会话过程,每次数据发送不需要重新建立信道,所以USSD系统对用户的呼叫请求是即时响应,使响应时间大大加快,主要的响应时延已转移为应用服务器一端,响应时间比短消息快。USSD适合较少量的数据传输,USSD在交互式会话中可以提供直观的菜单操作,方便用户使用。在一次信息服务中,只需要拨打服务号码,以后就可以按菜单提示进行下一步操作,建立wAP的门户网站来提供电信增值服务。
USSD的接口协议与短消息类似,采用SMPP或CMPP。SMPP是国际通用的协议,CMPP是中国移动根据我国情况在SMPP基础上自己制定的协议,二者体系结构大体相同,应用范围也相同,但数据包的格式及内容有一定的差异。CMPP现在已升到了3.0。本系统中采用CMPP,消息分为消息头和消息体,其中消息头长度是固定的。主要信息为消息总长度、命令类型和消息流水号。命令类型用来说明消息的类型是连接,还是由USSD中心到业务提供者SP(ServiceProvider)的消息或由SP到USSD中心的消息等。消息流水号顺序累加,步长为l,循环使用,一对请求和应答消息流水号必须相同。有一个请求消息回应是否成功的状态信息。消息体则根据消息的类型和内容来决定长度和数据,但其所携带的自定义信息长度不超过160个字节。自定义信息即平时通过手机输入或接收的短消息内容或工业通信中自定义的通信规约部分。相对于SMPP而言,CMPP增加了许多信息,尤其是计费和号码的信息。
3.2自动售货机程序设计
自动售货机控制板的程序用C语言编写,开发环境用Atmel公司提供的ICCAVR。控制板程序框图如图4所示。
3.3自动售货机交易流程图
自动售货机交易流程如图5所示,鉴于小灵通无法采用USSD和GPRS等实时数据传输方式,所以采取IVR(互动式语音应答业务)方式。
①用户通过IVR/短信方式发出购物请求,IVR/短信平台将用户请求转发给应用服务器。
②应用服务器解析用户指令,根据用户输入的售货机编号和货道号,在数据库中查明货物类型、价格等信息后,向BOSS系统进行用户身份验证和扣费/扣积分操作。
③BOSS系统通知应用服务器扣费/扣积分成功。
④应用服务器通过GPRS方式向售货机发出控制指令,要求售货机对用户指定商品进行吐货。
⑤售货机吐货,用户成功获得商品。
⑥售货机通过GPRS通知应用服务器交易成功。
⑦应用服务器向用户发送短信,告知