POS机软件升级的方法与设计 下载本文

内容发布更新时间 : 2024/5/20 1:33:52星期一 下面是文章的全部内容请认真阅读。

龙源期刊网 http://www.qikan.com.cn

POS机软件升级的方法与设计

作者:高 健

来源:《电脑知识与技术·学术交流》2008年第28期

摘要:该文介绍了POS(Point of Sales,销售点终端)系统中软件升级的方法,从中选出一种方法作为软件升级的案例,从硬件的设计开始,一直到软件的设计,详细说明了如何进行软件升级。

关键词:POS机;串口通讯;软件升级

中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)28-0131-02 Methods and Designs of Software Upgrading on POS Machine GAO Jian

(Integrate Circuit College, Southeast University,Nanjing 210096,China)

Abstract: This article introduces the methods of software upgrading in POS (PointofSales)system and selects one method from them as a case of software upgrading, which starts withhardware design, till software design,and explains how to upgrade software.

Key words: POS machine; Serial port communication; Software upgrading 1 前言

近年来,POS(PointofSales,销售点终端) 因其安全、快捷、方便的特点越来越受到客户、商家和各家银行的青睐。随着新业务的不断增加和技术的发展,为了能够使用户及时的享受到新服务,体验新技术。可以通过电话线或者通讯端口下载更新数据,完成POS机软件程序的更新,更好的满足用户的需求。 2 软件升级的方法

POS机软件升级的方法有两种:一种是通过MODEM经电话线连接远端服务器,下载更新程序完成软件的更新。第二种是通过串口的方式来实现程序的更新。通过电话线的方式,其优点是能够在不同时段不同地点对不同机型实现软件程序的更新,缺点是POS机通过MODEM经电话线连接远端服务器,连接的速率偏低,平均速率为1200b/S,对大容量的数据更新所花时间较多并且在传输过程中容易出错;通过串口的方式更新POS机程序,其更新的速度快(平均速率为115200b/S),且距离近数据传输不易出错。缺点是不能够同时对不同地点的POS机进行更新。在选择采用那种方式对POS机软件程序进行升级,根据我们实施的环境,选择通过串口的方式来实现POS机程序的更新。

龙源期刊网 http://www.qikan.com.cn

3 硬件的设计

串口硬件设计的方案如图1所示。

由于POS机处理器主要通过RS-232 协议和外设间进行串行通信,经过此电路能够将主处理器的信号电平转换为RS-232电平,以达到与PC机通信的目的。 4 软件升级的框架结构

软件升级的框架结构主要分为三层结构: 第一层:应用界面层 第二层:管理层 第三层:硬件驱动层 其图如图2。 4.1 应用界面层

应用界面层主要管理软件更新程序界面的选择和捕获键盘的信号。POS机需要对软件更新的地方有三个部分。1) BOOTLOAD的更新;2) KERNEL(内核)的更新;3)字库的更新。它们在FLASH中存放的位置如图3所示。

围绕这三个部分,通过获得不同的键盘信号来驱动各个部分的更新程序,当管理层处理完更新程序后,告知应用界面层,更新成功或失败。 4.2 管理层

管理层由四个部分组成:1) 串口部分;2)时钟部分;3)SDRAM部分; 4) FLASH部分。其具体工作原理如下: 4.2.1 串口部分

串口部分负责激活硬件驱动层。打开接收/发送数据的通道。为正确的接收/发送数据做准备。

软件流程实现如图4所示。 4.2.2 时钟部分

龙源期刊网 http://www.qikan.com.cn

时钟部分管理时钟的开启,关闭及数据信号处理。当接受到应用界面层的更新信号时,时钟打开,并等待一段时间,在规定的时间内,捕获到数据的信号,关闭时钟,开始接受数据。如果在此时间内没有捕获到数据的信号,关闭时钟,并向应用界面层发送没有接受到数据的信号。

软件流程实现如图5所示。 4.2.3 SDRAM部分

SDRAM部分负责为接收的更新数据开缓冲池,当更新的数据接受完成后。通知FLASH部分对接受的数据进行处理,在处理完成后,关闭缓冲池。 4.2.4 FLASH部分

FALSH主要是对在SDRMA部分开的缓冲池内的更新数据进行FLASH的擦写操作,根据不同升级部分的数据按照指定的位置对原FLASH数据进行更新,系统重起后,将自动调用这部分已更新的数据,从而完成POS机软件的升级。 软件流程实现如图6所示。 4.3 硬件驱动层

硬件驱动层负责处理器串口通讯模块的驱动。我们采用的处理器为东南大学ASIC工程中心自主研发的基于ARM7内核的处理芯片,要实现与外部的通讯,必须对主处理器串口通讯模块部分进行配置。在串口通讯模块中主要配置三个寄存器,分别为: 1) 中断使能寄存器

中断使能寄存器用于使能或屏蔽各个中断源。串口模块中有四个可屏蔽的中断源。需要注意的是接收模块的时钟溢出中断一直有效,不需要进行配置。 2) FIFO 控制寄存器

FIFO 控制寄存器用于设置发送和接收 FIFO 的触发级,以及清除FIFO 操作。 3) 行控制寄存器

行控制寄存器用于设置接收和发送的数据结构。如配置波特率、校验位、停止位,数据位等。 5 结语