|
||||||
|
基于移动支付的POS终端系统软件研究
http://www.cww.net.cn 2011年4月28日 09:08 中国一卡通网
作 者:陈群贤,蒋建军,张钢
2.1 驱动程序编写 首先是串行口驱动层。它实现打开串口(OpenComm)、关闭串口(CloseComm)、读串口数据(ReadComm)、写串口数据(WriteComm)等函数。例如 WriteComm 函数向串口发送一个字节的数据,而transmit 函数向串口发送一个字符串的数据。 然后,在这些串口函数的基础上编写GPRS 模块的驱动函数。微控制器通过串行口控制GPRS模块,进行拨号、设置等操作。控制的方法是采用AT 命令。在控制GPRS 模块拨打移动梦网GGSN的登录号码“*99**1#”之后,GPRS 模块就转入在线模式(0n-Line)。此时微控制器向串行口发送的所有数据都透明地传送给了GGSN ,同样GGSN 的回答也传回单片机的串行口。当数据传送完成后,微控制器需要通知 GPRS 模块结束会话,并从在线模式转口普通的命令模式,这可以通过置高DTR 线完成。同时,如果线路由于异常断开,CD 线会回复到平常的低电平,所以处于在线模式下也要不断检测CD 线是否处于高电平。根据这些操作,可以编写GPRS 驱动函数:初始化GPRS模块函数(GPRSInit)、拨号函数(GPRSDial)、断开连接函数(GPRSHangup)、检测是否处于在线状态函数(GPRS0nline)。 这些底层的驱动函数将会使上层协议的编写很方便,更重要的是,它为我们提供了一个驱动抽象层。当底层硬件做出改动的时候,只需要对底层的驱动函数进行改动,而上层函数的代码不变。 2.2 PPP 协议的实现 由于移动梦网的GGSN 与GPRS 模块通信时遵循PPP 协议,所以要在微控制器中也实现一部分PPP 协议才能与之对话。GPRS 模块在拨号后首先要与GPRS 网关进行通信链路的协商,即协商点到点的各种链路参数配置。协商过程遵守LCP(Link Control Protocol)、PAP (Password AuthenticationProtocol)和IPCP(Internet Protocol Control Protocol)等协议。其中 LCP 协议用于建立、构造、测试链路连接;PAP 协议用于处理密码验证部分;IPCP 协议用于设置网络协议环境,并分配IP 地址。 协商机制用有限状态机的模型来实现。一旦协商完成,链路已经创建,IP 地址已经分配就可以按照协商的标准进行IP 报文的传输了。根据应用的不同,IP 报文中可以携带UDP 报文,也可以是TCP或ICMP 报文。数据传输完成之后,微控制器会向GGSN 发送LCP 的断开连接报文,以终止网络连接。 PPP 协议的帧结构如图3 所示。微控制器的串口中断接收程序首先以包起始和结束符来判断是否有完整的PPP 包,并对PPP 包的内容进行校验;以确定数据包的完整性和正确性。然后,在主循环中进入PPP 报文解析模块,解析过程如图4 所示。
2.3 登录GGSN 的过程
编 辑:高娟 联系电话:010-67110006-853
文章评论【查看评论()】
|
重要新闻 通信技术 企业黄页 会议活动 |