您现在的位置是:首页 > 单片机

基于M68HC912D60芯片的嵌入式税务监控系统

2020-06-09 05:01:00

  1 引言

  税控系统即“POS电子税收控制系统”, 是由POS机、金税卡/IC卡、读卡器、计算机及打印机等设备构成的电子信息网络。POS税款机的推广是执行“金税工程”的一个重点项目,推广应用POS税款机能够让税务部门节约大量的人力财力,杜绝商家经营中的偷税漏税情形。由于目前市面上使用的POS机五花八门,全部更换是一个很大的经济负担,因此,一个可行的方法是对现有的普通收款机进行改造,安上税控装置。以MCU为核心的嵌入式税控系统以其高效、可靠、低价的优点,成为最佳的税控系统解决方案之一。

  2 税务监控系统介绍

  税务监控系统通过截获POS机的打印数据,从中提取出交易的日期、时间、金额等税控信息,并在打印数据中插入加密的防伪信息,再送到打印机打印出票据。同时,系统能够响应税务管理中心的命令,向中心提供营业额等税务信息。其拓扑结构如图1所示。

  


  税控POS机是在普通POS机的基础上增加了具有数据保护功能的“黑匣子”。它的主要作用是自动记录用户的经营结果,掌握用户的真实营业数据,才能有效堵塞税收漏洞,从而保证征税工作的合理性与合法性。

  3 M68HC912D60芯片介绍

  3.1 基本结构

  M68HC912D60 单片机是Motorola公司的16位单片机,由控制单元和执行单元两个主要部分组成。控制单元包含时序发生器、控制存储器和随机控制逻辑,为执行单元生成所有的控制;执行单元(EU)包含所有的寄存器、ALU和总线接口。

  3.2 功能特点

  M68HC912D60系列采用模块化设计,各种不同型号单片机可由不同的模块组成。M68HC912D60是其中的代表产品,它速度快、功能强、内部资源丰富。M68HC912D60具有如下特点:

  16 bit CPU12 与M68HC11 指令组兼容

  60K片内EEPROM

  60K片内ROM

  2kB片内RAM

  8MHz内部总线频率

  20bit ALU

  2个增强型串行口通讯口SCI

  1个串行外围接口SPI

  4通道可编程的 PWM

  2× 8channels, 10bit A/D 转换器

  112Pin TQFP /80pin QFP 封装

  3.3 M68HC912D60的结构与存储器组织

  M68HC08系列可以寻址64Kbytes的存储空间。M68HC912D60的存储器组织包括:

  60K 片内FLASH EEPROM

  60K片内ROM

  1K 片内EEPROM

  2kB片内RAM

  4 基于Motorola M68HC912D60单片机的税务控制系统设计

  Motorola M68HC912系列单片机具有速度快、功能强、功耗低、价格低等特点,采用先进的亚微米工艺,具有较高的性价比。以下讨论一个基于M68HC912D60嵌入式税务监控系统的实现。

  4.1 系统描述

  税务监控系统是通过在普通POS机中加装一个税控黑匣子,从而准确地获取经营者的营业额,并能将数据传送至税务管理中心,提供税收依据。

  4.2 硬件系统设计

  税务监控系统的硬件设计主要包括MCU、外围接口单元、控制单元、外扩数据存储器SRAM、嵌入式MODEM单元、8250串行接口、8255并行接口及时钟电路几大模块。系统结构框图如图2所示。外围接口单元由RS-232接口、RS-485接口、指示电路接口和电话线接口构成;控制单元由复位电路、掉电保护电路和看门狗电路构成。

  

  MCU模块完成整个系统的控制和相应处理;外围接口单元模块主要完成本系统与PC机、远程管理中心之间以及下层的各个PoS分机之间的通信接口;外扩存储器RAM完成对各个PoS分机上传输数据的暂时保存,等接收到规定数量的数据后,统一由MODEM传到税控管理中心。

  控制单元模块主要完成用户对整个系统的控制,即对数据提供可靠的掉电保护,防止掉电后丢失数据,对系统提供彻底、统一的复位,以防系统死机,实现对程序的监视功能,解决了程序“跑飞”失控及死循环问题;8250串行接口模块完成 MCU与嵌入式MODEM芯片的接口。

  嵌入式MODEM单元模块完成数据的调制解调,并通过电话线接口与远程的标准MODEM进行通信;8255接口模块完成数据线的扩充,提供足够的数据线来驱动系统的指示电路;时钟电路模块主要是为系统提供一个准确、稳定和可靠的时钟,以便定时和为监视器(Watchdog)电路提供方波输入等。其中,8255接口模块、8250接口模块及外扩存储器RAM之间,是通过M68HC912D60的C口的高三位经过译码后的片选信号控制各模块的片选来进行切换的。

  4.3 系统软件设计

  软件部分包括PoS税控盒部分和税务部门的主机上运行的服务器部分。前者是以MCU为核心的嵌入式系统,全部以汇编语言编写;后者运行于 Windows平台,采用VB语言。图3给出了主程序的工作流程。

  

  系统中的通信协议包括税控分机与POSMaster 之间的通信协议、PoSMaster与税务部门主机间的通信协议、税控分机与PC机直接通信的协议(用于PoSMaster的通信线路故障时)。本系统参考电信部门IC卡公用付费电话系统的通信协议和相关的国家标准,制定了自己的通信协议。考虑到设计的方便性,在上述的三种通信中采用基本相同的链路层和应用层协议。下面是对所用协议的简单描述。

  4.3.1 帧结构

  链路层有两种帧结构:命令帧和数据帧。

  (a)命令帧

  用于传输建链请求、应答、请求数据等命令以进行链路控制,命令帧结构如下:

  

命令帧结构

  命令帧符号定义:

  SOH 标题开始

  TYPE 指示帧的类型

  Length 指示帧长度

  Command 传输的命令,例如:

  命令字符:

  AUDIT 请求数据

  ACK 肯定应答

  NAK 否定应答

  EOT 传输结束

  (b)数据帧

  用于传输实际的数据即税控信息数据,数据帧结构如下:

  数据帧符号定义: SOH 标题开始

  TYPE 指示帧的类型

  Length 指示帧长度

  DATA 传输的正文(数据)

  ETB 指示一帧数据结束

  ETX 指示所有数据结束

  BCC 校验码

  4.3.2 通信的流程

  在物理层建立连接后,先发送一长串同步码,然后再发送第一帧数据,数据上传的一方发送肯定应答后开始数据传输过程。数据收集方每接收到一帧数据,根据校验的结果发肯定或否定应答。

  4.3.3 差错控制

  本协议采用BCC规则的偶校验。接收端收到一帧数据后,若BCC校验有错,则发送NAK要求对方重发上一帧数据。对同一帧信息文电如果重发次数超出阈值,则本次通信失败,双方退出通信过程。

  4.3.4 超时控制

  通信双方在收到对方的命令或数据后必须在6s以内回应;若某一方在6s内没有收到对方的回应则重发上一次的命令或数据。允许的最大重发次数为3次。