|
||||||
|
基于移动支付的POS终端系统软件研究
http://www.cww.net.cn 2011年4月28日 09:08 中国一卡通网
作 者:陈群贤,蒋建军,张钢
系统的一个难点是微控制器登陆 GPRS 网关(GGSN)并与网关通过LCP、PAP、IPCP 协议进行协商的过程。LCP、PAP 与IPCP 协议的帧结构大同小异,最常用的为请求(REQ)、同意(ACK)和拒绝(NAK)三种帧。微控制器与GGSN 各为一方进行协商,任何一方都可以发送REQ 帧请求某方面的配制,另一方觉得配置不能接受会回应NAK 帧,如果可以则回应ACK 帧。为了节省资源,我们只处理这三种数据帧,其它链路问题都由微控制器在程序控制下自己重新拨号解决。协商过程大致描述如下:在拨号成功连接后,GGSN 首先会返回一个PAP REQ 数据帧。我们发送一个空 LCP REQ 帧,以强迫进行协议协商阶段。随后,GGSN 发送LCP 设置帧,我们拒绝所有的设置并请求验证模式。GGSN 选择CHAP 或PAP 方式验证,我们只接受PAP 方式。然后,进行PAP 验证用户名和密码过程,在GPRS 中用户名与密码都为空,如果成功,GGSN 会返回IPCP报文分配动态IP 地址。此时,就完成了与GGSN 的协商过程。协商过程的状态转换如图5 所示。
协商完成后进入 IP 数据报通信阶段。此时,微控制器向GGSN 发送的所有包含IP 报文的PPP 报文都会被传送给Internet网中相应的IP地址;而远端所有向微控制器IP地址发送的报文也都会经GPRS网传送到微控制器上,从而完成微控制器与远程主机通过互联网的数据传输。 3 TCP/IP 在 RABBIT3000 上的实现 Rabbit 3000 系列芯片是一种高性能8 位器件。由于其C 语言友好指令集和快速数字处理功能,因而受到瞩目。Rabbit 结构以Zilog 公司的原始Z80 微处理器为基础,但作了几项改进:不像Z80指令集那样使用16 位寻址覆盖存储空间,而用一个20 位或1MB 的实际存储空间;采取直接与静态存储器件相连接的方式;有3 条存储芯片选择线路和2 组写入/输出启动线路;片上外设包括4 个串行端口、l 个子端口、40 条p 线、7 个不同的定时器、精确脉冲发生硬件和电池支持的RTC。 用户只需对应添加相关芯片及辅助设施(如电源、用户所需外设等)即可;而软件的实现,由于 Rabbit 3000 系列芯片得到 Dynamic C 编译器的支持以及实现TCP/IP 所需的库文件dcrtcp.lib,因此只要会用C 语言就可以进行开发。用户关注的重点也变为网络通信实现以后的代码编制及优化,可以极大提高开发进度。 以下是 Dynamic C 实现 TCP/IP 协议通信的程序主体框架。程序中起始宏定义为默认IP 配置信息;“memmap”句可使程序在芯片里面运行时,如同在扩展代码窗口下被编译;“use”句使编译器按照库文件配置编译代码。 #define TCPCONFIG 1 #memmap xmem #use dcrtcp.lib
编 辑:高娟 联系电话:010-67110006-853
文章评论【查看评论()】
|
重要新闻 通信技术 企业黄页 会议活动 |