超市版税控收款机的设计与实现
扫描二维码
随时随地手机看文章
税控收款机是具有特定税控功能的电子收款机,能够保证数据的正确生成、可靠存储、安全传输,并可实现税务管理和稽查等功能。与普通地税业税控机相比,超市版需要存储大量的单品,并有多种商品查找、销售、收款方式和商业报表。超市版税控机是一个复杂的系统,很难用8位或16位单片机这类功能简单的处理器来实现,且此类处理器一般无操作系统,操作不便。针对这种情况和中小型超市的需求,这里提出一种基于W90P710处理器及μCLinux操作系统的超市版税控收款机的设计方案,提出一种拥有掉电保护装置、采用嵌入式操作系统,可有效提高税控机在处理能力、存储容量、掉电保护和用户操作等方面性能。
2 系统硬件设计
2.1 硬件总体架构
该设计处理器为W90P710/W90N745,这是一款专为税控收款机而设计的器件,几乎集成了税控机所需的所有控制器,又称片上系统(SOC),它采用ARM的ARM7TDMI微处理器核心以及0.18μm标准生产,标准操作频率达80 MHz,并采用176-Pin/128-Pin LQPF封装,较大程度降低了功耗和成本,减少了系统的扩展和体积。
超市版税控收款机主要包括主控部分(MCU、RAM、程序存储器、实时时钟)、税控存储器、发票存储器、通讯部分、显示器、打印部分、键盘、IC卡读写器等必要配置和一些相对于地税版收款机的扩展配置(条码枪、钱箱、权限锁、税控收款机硬件设计总体上采用核心板(CPU板)、接口板、功能模块外同子系统构成。图1为其硬件组成。
2.2 核心板与接口板模块
CPU外围电路主要包括上电初始化设置电路、晶振电路和CPU复位电路。图2为CPU复位电路。
(1)复位电路当电压为2.8~3.0 V时,CPU能正常工作,但NOR Flash却不能正常工作,此时写入Flash的数据不可靠,这种情况在非法掉电时,因此,该系统设计引入CPU复位电路。考虑到功耗和成本,选择ADM-809-T器件,低电平有效,复位时间140 ns,满足W90P710对复位时间的要求。
(2)SDRAM电路选用两片并联的16位W986d16EH,构成32位的SDRAM。
(3)Flash电路分为NAND Flash和NOR Flash两部分。本设计采用W19B/L320S的NOR Flash作为程序存储器,选用HYUS08121A的NAND Flash作为税控机的数据存储器。
(4)USB接口电路W90P710内集成有符合USB1.1规范的USB HOST控制器。由于USB-HOST与USB-DEVICE的控制器都是集成在W90P710内部的,只需将其接口引出即可。
(5)以太网电路主要由MAC控制器和物理层接口(PHY)两部分组成。W90N710内嵌一个以太网MAC控制器,另外采用DM9161物理层器件以提供以太网的接入通道。
(6)LCD电路考虑到成本,该税控机显示功能模块采用MST-G240128DYSY-5W型液晶显示器,它是240x128点阵图形显示器,其控制器为UC1608。
(7)RTC掉电保护电路由于税控数据的申报、稽查都要涉及税控机的系统时间,因此,税控收款机要求高精度时钟,故RTC掉电保护电路极其重要。具体电路如图3所示。
掉电保护的原理实际上就是用2个二极管来选择是用系统电源供电还是用备电池供电,当税控机正常供电时,VBAT端的电压约为2.6 V,此时VD2不导通;若税控机掉电,VD3不导通,此时VD2导通,开始启用备用电池供电,实现不间断供电。由于RTC的供电电压约1.8 V;所以应加一只3.3 V转1.8 V的稳压管对W90P710内的RTC控制器供电。
2.3 外围功能子模块
超市版税控收款机外围设备包括打印发票的打印机、用户操作的键盘、与税控用户卡通信的读卡器设备。这3外围设备个模块各自由一个8位单片机控制,功能相对独立,将这些设备模块独立设计后通过串口连接到主机上。处理器W90P710上带有4个独立的串口。税控机内设备间的通信只使用串口1作为串行总线,由核心板扩展3个相同的接口,分别与读卡器、打印机、键盘相连接。ARM7与3个外设之间采取命令应答的通信模式进行通信,并且采用时间片轮询方案,当总线发生竞争时,可避免一个设备占用总线资源而导致死机。串口0被用作调试端口,与PC机相连。串口2接外置手写板,用于输入文字信息。串口3接外置MODEM等设备。针对超市版税控收款机相对于地税版所特有的功能,本设计还增加了条码枪、钱箱、权限锁等外设。
3 系统软件设计
3.1 系统软件架构
税控系统软件主要由硬件驱动程序、操作系统平台相关软件和应用软件3部分组成。硬件驱动程序包括CPU初始化、Flash驱动、LCD驱动、USB驱动、以太网驱动、串口驱动等。操作系统平台相关软件包括系统引导程序(BootLoader)、操作系统内核、操作系统组件、API、交叉编译器等。硬件驱动程序为μCLinux访问底层硬件提供统一的接口。系统引导程序是针对开发板自带的BootLoader而设计的,根据税控机的实际需求进行修改而得到的。引导程序负责上电启动,硬件检测及进入μCLinux操作系统。μCLinux操作系统实现文件系统管理、任务调动、网络功能、设备驱动,并提供用户程序的运行环境等功能。最上层为应用软件。该税控系统的嵌入式Linux软件平台架构如图4所示。
3.2 应用软件设计
3.2.1 软件总体架构
超市版税控收款机应用软件有3大功能:系统管理设置功能、商业功能和税控功能。主控模块控制机器信息,包括系统设置、员丁管理、基本信息查询以及附加功能。该模块与商业管理模块和税控管理模块联系比较密切。而商业管理和税控管理两个模块相对独立,主要通过机器初始化和开票操作相关联。这3个模块的数据都存储在嵌入式数据库中。在模块化设计的同时,每个模块还采用分层设计,有分界面、数据库和基本流程3层,分别调用不同的API接口,结构清晰,为后续代码的跨平台移植奠定了基础。系统功能模块的划分如图5所示。
应用软件是超市版税控收款机的核心。由于ARM7处理器没有MMU(内存管理单元),所以在设计应用程序时一定要考虑到内存的使用情况,否则就会出错,导致程序崩溃。税控收款机的应用软件采用结构化、模块化设计。在模块划分的同时,每个模块又分层次设计,从上到下依次为界面层,数据库应用层以及流程层。
3.2.2 系统管理模块
系统管理包括员工管理、系统设置和基本信息查询。其中,员工管理主要有权限管理和单个管理两种。当机器初始化后,数据库有一个默认的管理员,操作人在注册员工之前只能以该管理员的身份登陆,然后注册新员工来进行操作;系统设置主要是设定系统的功能,实现对系统设置表的操作;基本信息查询是对数据库的操作,用户可以在这个子模块内查询机器的信息。
3.2.3 商业管理模块
商业管理包括销售和报表两个模块。其中,销售模块是超市版收款机运用最频繁的一部分,包括收款员交接班,钱箱管理,多种单品录入方式等功能。而报表子模块主要是总结一个阶段内销售及发票信息,以便用户了解一段时间内的销售量,单个项目的销售量以及员工业绩等。查看报表后,用户可以打印各种报表信息。
3.2.4 税务管理模块
税务管理模块包括发票管理和税务管理两个模块。其中,发票管理模块主要管理对税控机的发票。按常规来说,退票和废票是销售的另外两种方式,之所以将发票管理模块放在税务管理模块中,主要是因为这两个模块使用较少,没有必要和销售放在一起,每次都需选择。只有税务管理模块是税控收款机最主要的功能,因此要求安全可靠,考虑到所有异常情况的发生,才能有利于税控机的推广。税务管理包括税务初始化、开票、申报、完税、稽查等功能。
4 应用实例
经过精心设计和反复调试,目前样机已完成且通过测试和鉴定,能可靠的实现各项功能。具体功能实现为:分权限管理,支持6个管理员、99个收款员;可打印13种商业报表:支持两万个PLU,条码长度支持1~20位;最多可将商品分成50个部类进行管理;可快捷注册20个PLU;最多可保留20条销售暂挂信息;拥有输入快捷键、商品编码、商品条形码、商品拼音4种商品录入查找方式;支持现金、优惠券、信用卡、支票以及两种外币等6种付款方式,并可进行退票,废票操作;最多可同时使用6个项目,每个项目可对应不同税率;具有单张发票限额、累计发票限额、退票限额功能;可支持打印76 mm、57 mm两种发票;可存储100笔钱箱报告和记录50 000条发票明细;可保持10年日交易数据(国标要求不少于5年);能够可靠地完成报税、完税及税务部门的稽查功能。
5 结束语
在国家税控机有关标准的基础上,仔细研究目前税控收款机的不足与缺陷,根据市场需求,设计超市版税控收款机的软硬件。但由于硬件限制,单品注册数量和查找速度仍不够理想,此款税控机适用于中小型超市,在此基础上经过升级可开发网络版收款机,将其使用于大型超市。