M68HC912D60 MCU在税务监控系统设计中的应用
发布时间:2010-6-25 16:51
发布者:zealot
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次。 |
网友评论