引言
税控设备是国家税务部门实施税收管理信息化的必然手段之一,税控器作为税控设备之一,它是在计算机等电子设备的配合下实现税控功能的电子装置,保证经营数据的正确生成、可靠存储和安全传输,能满足税务机关的管理和数据核查等要求。税控器是集软硬件于一体的嵌入式系统,为了提高开发效率和通用性,采用模块化设计,划分层次结构,尽可能实现硬件的灵活性和软件的可移植性要求。
μPSD32XX单片机特点
μPSD32XX系列单片机是意法半导体(ST)公司推出得一款新型单片机,它采用增强型MCS-51内核,是MCU+PSD的SoC单片机,具有2片Flash存储器、可选择备电保护的大容量SRAM、地址译码DPLD和组合逻辑CPLD两种可编程逻辑电路、6组通用I/O提供多达37或46个I/O引脚、4或5路脉宽调制单元PWM、4路8位ADC、主从方式的I2C、独立的显示数据通道DDC、USB 1.1接口、2路串行通道UART、内部看门狗定时器、在系统编程的JTAG口、可编程的加密安全技术、零功耗技术等丰富的功能和外设。
软件可在KEIL公司的KEIL 51集成开发环境μVision2中进行设计、编译和仿真,运用ST公司的PSDsoft Express软件进行编程下载和内部配置。该软件可以对μPSD32XX系列单片机的片内FLASH、SRAM和PLD进行配置,将编译生成的程序代码文件(.HEX)和配置文件融合生成.OBJ文件,下载到单片机中。下载时还需使用FlashLINK编程电缆连接PC的标准并口和单片机的JTAG口。
税控器应用方案设计
税控器平台应具备一些基本功能:具有实时时钟和记录税控数据的大容量存储器,符合ISO 7816标准的IC卡读写器,支持税控卡、用户卡和税务管理卡,通过USB或串口与主机通信,具有在掉电后可保存存储器数据和时钟运行的备份电池。税控器作为外挂设备,其连接关系如图1所示,内部的硬件系统结构见图2。
---
主控模块MCU采用ST公司的 μPSD3234A单片机,它内部具有256KB的主FLASH,32KB的次FLASH和32KB SRAM,工作电压为5V,晶振选用24MHz。其中SRAM由片外的备用电池保护数据,可存放一些长期保存的数据,维持电流1μA。通过USB或UART与主机相连,通过I2C与RTC相连,通过通用I/O与ICC及MEM相连。
时钟模块RTC采用ST公司的M41T0M6,提供实时时钟/日历功能,在系统掉电以后由片外的备用电池供电。
存储器采用ST公司的串行FLASH M25P16,容量为2MB,主要用来存储发票数据和税控数据。SPI总线接口的最大传输速率50MHz,工作电压为3.3V。
IC卡模块ICC采用安森美公司的NCN6004A,双路卡接口,符合ISO 7816-3和EMV标准,MCU通过I/O线与其通信。为了节省I/O资源,可选择复用连线方式,两个卡共享一路通道,由选卡信号区分,分别实现税控卡和用户卡的访问功能。
USB通信采用安森美公司的STF202作为终端匹配、滤波和ESD保护,通信速率1.5Mbps。由于MCU内部具有SIE、FIFO和收发器,SIE可以将传输信号变成字节存入寄存器,所以通过事先对SIE的配置,然后访问已定义的地址和端口,来实现通信的控制、中断、收发等操作。
UART的电平转换芯片采用Intersil公司的HIN202,MCU内部具有2路UART,均可选作RS232通信。
外部供电电源分为两路,一路可用AC/DC适配器直接提供+5V;另一路由主机通过USB接口线输入(5V/500mA)。用户可任选一路,直接提供给5V的器件工作。
为了实现电保护,采用安森美公司的升压芯片NCP1402SN50T1,当正常工作时,为大电容充电,一旦断电,大电容仍可维持该芯片工作一段时间,此时可完成一些重要的任务,避免意外断电产生错误。大电容采用了2个串联3.3F/2.5V的卷绕型电容,当充满时可维持供电30s以上。
采用安森美公司的NCP500SN33T1作为5V至3.3V电压转换器,输出电流150mA,提供给3.3V器件工作。备用电池采用的是2节3V/210mAh锂电池,至少可用10年以上。
监控模块采用安森美公司的MAX708,实现上电复位和手动复位的功能。MAX708还具有电压监控功能,在PFI端选用适当的分压电阻,当主电源掉电时,就可产生掉电中断信号。
状态指示采用发光二级管,分别用于指示电源接通,卡插入指示、JATG程序下载等状态。在MCU的I/O上还可连接自定义的状态指示,如出错、运行、自检测等状态。
软件设计方案
税控器软件总体上应包含两大部分:主机端软件和设备端软件。主机端与设备端之间进行的数据通信采用“命令—应答”方式,由主机端发送命令,设备端应答。
主机端软件可分为四层:应用层、税控函数层、通信管理层和设备驱动层;设备端软件也可分为四层:主控层、税控函数层、设备管理层、硬件驱动层。这里主要介绍设备端软件。
主控函数负责系统和设备的初始化,与主机间的通信监控、协议管理、税控命令包的解释和任务的调度等事务。
税控函数是按照国标对税控器的要求设计,负责机器初始化和注册、分发发票、开发票、退票、废票、上传发票,日交易和卷汇总数据、申报、核查等税控应用事务。
设备管理层是针对复杂的设备所设计的管理程序,主要包括IC卡管理、存储器管理、USB通信管理。
IC卡管理程序是按照[GB 18240.2-2003]税控IC卡规范的要求,设计对卡的操作命令程序,命令分为基本命令和扩展命令。基本命令有文件操作、读写记录、产生随机数、内外部认证、取响应、应用锁定等功能;税控卡专用命令有卡注册、开票、日交易签名等功能;用户卡专用命令有注册签名、分发发票、报税数据汇总等功能。
存储器管理程序是对Flash存储空间进行地址分配管理,以及按循环记录的方式设计,完成对发票明细、日交易和卷汇总记录的格式化、读写、查找等事务,同时还管理存储在SRAM的地址分配表,记录指针等数据。
USB通信管理程序是按照低速USB1.1的规范,人机接口设备(HID)类别的要求设计,完成总线枚举和数据通信的事务。主要采用了Endpoint 0(IN/OUT)控制传输方式,使用输入输出报表格式来与主机交换数据。
硬件驱动层主要是各个硬件设备的实现底层操作的驱动程序,包括时钟、IC卡、FLASH、UART和USB等API库函数。时钟函数实现设置、读、写时钟和日历等功能;IC卡函数实现IC卡的插卡检测、卡上下电、卡复位和卡命令等功能;FLASH函数实现外部FLASH存储器的擦除、读、写数据等功能;UART和USB函数实现设置,接收和发送数据等功能。
总结
按照模块化思想,硬件采用的是模块+底板架构,主处理及核心硬件都集中于模块上,电源与接插件等放置在底板上。软件底层对上层都采用API函数的形式。通过包括器件、软硬件开发平台、解决方案和全功能模块等形式在内的产品和服务,构建多种开发与合作的模式,有助于促进整机厂商的大规模生产,降低成本和节省时间。
责任编辑:gt
全部0条评论
快来发表一下你的评论吧 !