1引言
税控器(Fiscal Processor)是指在计算机或其它电子设备配合下实现税控功能的电子装置。可以保证经营数据正确生成、可靠存贮和安全传输,满足税务机关的管理和数据核查要求。税控器是一种具有法律严肃性和不可破坏性的带有计税功能的装置,不仅是商业企业经营管理的得力助手,也是税务人员常驻店内采集销售数据的执法代表。税控器产生的税控数据被分别存储在税控卡和税控存储器中,是向税务机关纳税的凭据。税控器适用于已应用计算机管理的商业企业、酒店、宾馆等餐饮、娱乐、服务企业,是对已经应用计算机网络化管理的餐饮、娱乐、服务等商业企业的改造。文章给出了一种税控器软硬件设计方案,该方案严格按照国标进行设计,已成功的开发成产品,且功能完善、性能稳定可靠。
2 税控器系统组成
基本的税控器系统是由宿主机、税控器、发票打印机和IC卡读写器组成(如图2.1所示)。
部件和基本功能
税控器:税控器能够产生并记录发票的营业数据;能够将记录后的发票的营业数据写入用户卡进行报税;能够与宿主机进行串口(USB口)通信,浏览营业数据;能够驱动打印机打印营业数据。
宿主机(通过发送控制命令的方式,配合税控器实现税控功能的计算机):写税控器,对税控器初始化处理;读出税控器中营业数据。
发票打印机:接受税控器的指令,打印税控发票。
IC卡:微处理器的IC卡具有安全功能并增加了税控专用命令,IC卡包括税控卡、用户卡、管理卡;通过税控卡正确生成税控数据,税控数据分别可靠存储在税控卡和税控存储器中;通过用户卡将税控数据安全传递到税务机关的税控管理系统,税控机关通过管理卡检查税控器的交易情况。
3 税控器系统的硬件设计
图2.1 税控器系统组成部件
3.1税控器硬件组成
税控器硬件主要由主芯片uPSD32xx、主存贮器FLASH、IC卡读写模块、时钟模块、电源模块、接口电路等组成,其硬件组成框图如图3.1
3.2 硬件设计
税控器CPU:采用具有低功耗、高可靠性、抗干扰性的μPSD32XX系列单片机,uPSD32XX系列单片机是ST公司将其著名的PSD(可编程序系统器件)和8032微控制器集成进一块芯片,形成一款功能强大的片上系统单片机。UPSD32XX内置RAM、FLASH及多种通用外设接口,如采用μPSD3212A-40U6,时钟频率高达40MHZ,两块FLASH分别位64K和16K,2K的SRAM、6个I/O口等。
串口电路:串口芯片采用ST232,封装SO-16,主要功能是进行电平转换与串口连接器相连。
IC卡读写:读卡器芯片采用ST8004C,可以支持ISO/IEC 7816 T=0、T=1异步传输协议的各种智能卡,支持对Memory卡操作,支持双卡头操作,接口与CPU采用半双工串行通信。
税控存储器FLASH:采用32M的NADFLASH(Samsung公司的k9f56080b),以正确记录、保存税控数据。
时钟电路:用M41T0 专用时钟芯片保证时钟精度。
4 税控器系统的软件设计
税控器系统的软件主要实现联机、税控器初始化、发票操作、报税、完税和稽查功能,这些功能通过宿主机上的后台软件进行操作。由于税控器没有专门的输入输出终端设备,大部分操作必须通过宿主机作为终端完成。税控器能响应宿主机命令,宿主通过发送控制命令实现对税控器操作。
4.1通讯协议
串口通信是指宿主机通过串口向税控器发送指令,然后税控器向宿主机返回结果的过程。税控器通过串行接口与宿主进行通讯的协议如下:
串行接口通讯速率默认值为9600bps,8个数据位,1个起始位,1个停止位,无校验位。回应时间不大于30s。对于处理时间大于30s的命令(如向IC卡中写发票打印数据),要在30s内向宿主回应一个“请求继续等待”命令。
宿主机与税控器之间进行数据通讯采用“命令-应答”的方式,其中宿主作为主动方,税控器为被动方,由宿主发送命令,税控器应答。整个系统的基本命令集有25条,当然也可以根据具体需要增加一些命令。
图3.1税控器硬件组成框图
4.2软件功能模块
软件功能模块包括:联机、税控器初始化、开票(废票、退票)、报税、完税、稽查。
联机:在宿主与税控器通讯之前,确定税控器提供的串行接口处于打开状态,并设置好一定的通讯速率,确定双方是否可以进行通讯。宿主发送联机请求命令,如果联机成功,可以进行其它的通讯命令,在执行后续命令时不再进行联机操作。
税控器初始化:税控器出厂后投入使用必须对其进行初始化,才能能够进行税务营业。初始化需要将税控卡和用户卡插入税控器中,宿主向税控器发送初始化命令完成。
开票(包括退票和废票)操作:用户卡中购买了发票之后,在开票之前要进行分发发票,然后就可以进行开票操作,税控卡负责对开票数据进行合法性检查,并根据税种税目索引号对开票金额进行分类累计,更新日交易记录,最后生成发票税控码。税控器保存发票明细,更新日累计,宿主打印发票。详细流程如图4.1
报税、完税:将前一阶段税控器所存税控数据写到税控卡和汇总到用户卡内,以供客户(持用户卡)到税务局报税使用。税控管理系统(税务部门)向用户卡发送监控管理数据(下一次报税截止日期、发票限额、累计金额限额、税种税目、明细标志),通过用户卡更新税控器及其税控卡中的监控管理数据。完成完税操作,其中数据申报(报税)流程如图4.2
稽查:当税务机关要想检查税控器内的交易情况时,可以通过税务管理系统发行管理卡来核查税控器的发票明细,日交易数据,申报数据是否和申报带给税务管理系统的数据一致等。
图4.1税控器开票流程图
图4.2税控器申报数据汇总流程图
5应用实例
基于上述设计方案开发的SK-1800税控器已经通过测试和鉴定,符合国家标准,其功能完善,性能可靠、稳定。可设6个税种税目,支持99个收款员使用一台税控器,各有自己的密码,能保存10年日交易数据,循环保存38000 张发票打印数据和1771 卷单卷发票使用汇总数据;能够可靠的完成报税、完税及税务部门的稽查功能。
6结束语
考虑到系统的安全性,一是采用用户密码管理;其次是掉电保护功能,当掉电发生时,后备电源同时开始工作,系统也检测到掉电中断的发生,中断服务保存数据的任务变为最高优先级任务,它在瞬间抢占其他低优先级任务的时间片执行。执行完该保存数据的任务后,自动关闭后备电源。
参考文献;
1. 胡汉才. 单片机原理及其接口技术(第2版)[M].北京:清华大学出版社,2004.、
2. Simon Robinson . Professional C# (2nd Edition)[M]. Wrox Press Inc, March 2002.
3. 税控收款机 第3部分:税控器规范[Z]GB 18240.3-2003
4. uPSD3212A用户手册[Z]. STMicroelectronics group of companies,2004.
5.张开生,郭国法.MSC-51单片机温度控制系统设计[J].微计算机信息.2005,(7).
6.章学静,何宾,韩月秋.基于雷达信号模拟器的串口通信的设计[J].微计算机信息.2005,(3)