基于ARM控制器LPC2214的税控收款机体系的计划与实现
发布日期:2011-04-23
小序
税控收款机是指具有特定税控成果的电子收款机,它是集软硬件为一体的嵌入式体系,硬件计划思量高性价比和高可靠性,软件计划思量体系的稳固性和可靠性。根据这一原则,本文先容了一种基于ARM控制器LPC2214的税控收款机的计划方案。
税控收款机硬件体系的计划与实现
税控收款机的硬件构成框图如图1所示,其硬件体系由中间处理惩罚模块、表现模块、打印模块、电源模块、时钟模块、IC卡接口、外部通讯接口(包括RS232串行接口、网络接口、USB接口等)、蜂鸣器,以及输入键盘、电子锁、条码扫描仪和手写板等几部分构成。
图1 税控收款机硬件框图
中间处理惩罚模块
中间处理惩罚模块采取飞利浦公司基于32位
ARM7TDMI-S内核的低功耗
ARM处理惩罚器LPC2214。该处理惩罚器是飞利浦公司为嵌入式应用提供的高性价比微控制器办理方案,通过在
ARM7TDMI-S内容底子上扩展一系列的通用外围器件,使体系用度降至最低,加强了体系对外部配置的支持本领。由于LPC2114集成了丰富的片上资源,以是体系本身的扩展大大淘汰,这不但减小了产品的体积,并且便于维护。
表现模块
作为人机交互的表现模块包括一个LCD主表现屏和一个9位的VFD用户表现屏,此中LCD采取内置KS0107/KS0108控制器的图形点阵式液晶,表现辨别率为192×64,可表现16×5个11×12点阵的汉字;VFD通过具有SPI接口的芯片HT16512举行驱动。
打印模块
体系选用EPSON公司的MU110II打印机头,供电电压为DC24V。电机驱动采取MTD2003F,针驱动采取MTA001M,由LPC2214的通用I/O口举行控制。
电源办理模块
体系采取开关电源为LPC2214提供5V电源。由于税控收款机对失电掩护有严格请求,以是在电源办理模块中计划了失电掩护电路,可以在失电时维持体系正常事变肯定时间。失电时该电路会发送给处理惩罚器一此停止,使体系进入失电停止处理惩罚步伐,举行相应的失电掩护事变。
时钟模块
时钟模块采取I2C总线时钟芯片P8563AP,在后备电池的支持下,能包管体系失电后片内时钟连续运行。
税控存储器
税控收款机必要记录大量的数据信息,本体系采取了ATMEL公司具有SPI接口的Flash存储器AT45DB321,由于LPC2214微控制用具有SPI的接口,以是可以或许方便地同它相连接。计划上采取可插拔式模块,将数据存储模块与体系主板疏散。此计划的特点是当体系堕落时,可以或许将紧张数据及时转移,低落了数据产生错误的几率,进步了数据的完备性和可靠性。在税控卡的共同下,可以将相干的数据信息转移到另一正常事变的呆板中连续举行事变,包管数据存储的时效性。别的,也可以在维护和查验时采取更换法,这表现出很强的实用性和可操纵性。
IC卡接口
通常的计划中会利用专用IC卡读写芯片为体系提供ISO7816的接口,如CTS56I01、WatchCore、TDA8020等。本体系没有举行硬件扩展,充分利用LPC2214的性能特性,实现了切合ISO7816标准的IC卡接口成果。
智能卡芯片的接口信号包括:电源电压(VCC)、地(GND)、复位(RST)、时钟(CLK)、编程电压(VPP)、输入输出(I/O)。如图2所示,I/O、RST由LPC2214微控制器的通用I/O口(GPIO)来控制,通过软件模仿数据读写操纵时序,实现数据的互换,此中I/O上信号的传输是双向的,以是要利用软件根据时序不绝转换输入输出的状态。此要领具有本钱低、方便机动等特点。
别的模块
键盘控制芯片采取具有SPI串行接口的ZLG7289B,该芯片可连接多达64键的键盘矩阵,可餍足本体系的计划请求。
由于LPC2214未集成USB控制器,因此体系中采取了CYPRESS公司内含USB主/从控制器、可支持全速数据传输的USB控制芯片SL811HS,以支持U盘和移动硬盘读写操纵。别的,本体系采取RTL8019以太网控制器扩展31个以太网接口,税控收款机相互之间可以通过网络接口举行数据通讯,并且可以和PC机的数据库体系举行数据互换。
税控收款机软件体系的
计划与实现
税控收款机软件布局
税控收款机软件采取分层次布局化、模块化计划,依次分为业务处理惩罚层、接口层、配置驱动层和硬件平台等4个层次。此中业务处理惩罚层完成税控收款机详细的业务处理惩罚;接口层作为业务处理惩罚层与配置驱动层的桥梁,提供与详细硬件平台无关的应用步伐接口(API),其重要成果是对基层配置驱动步伐举行封装,并提供一些大众的函数库;配置驱动层即BSP(Board Support Package,板级支持包),包括详细硬件平台的种种配置驱动步伐。
采取如上架构的体系软件层次布局清楚,直接相邻的上基层之间存在依赖干系,不相邻的上基层之间没有依赖干系。同层各模块之间的调用通过预定义的模块输出接口函数实现,各模块之间的耦合度低,具有精良的可移植性和可扩充性。要是要针对差别的行业计划差别的机型或根据必要扩充体系成果时,只需修改业务处理惩罚层,接口层和配置驱动层均无需修改;要是是更改了硬件平台,则只需修改配置驱动层和接口层,业务处理惩罚层无需修改。
图2 税控收款机IC卡接口
业务处理惩罚层计划
业务处理惩罚层是税控收款机软件架构中的最上层,与详细的硬件平台无关,作为一个应用软件可方便地移植到差别的硬件平台上。该层用于实现商务和税控两大重要成果,由4个模块构成。
主步伐(主控模块)举行体系自检、软硬件的初始化、调理运行业务处理惩罚层的别的模块以及处理惩罚失电数据规复、数据整理,并控制整个软件的流程;税控成果模块实现GB18240-2003国度标准中的税控成果,认真呆板初始化和注册、发票的购买分发、开辟票(包括退票、废票处理惩罚)、税控数据报告、监控数据回送、税务核查等;商务成果模块由贩卖子模块、统计阐发(报表)子模块、设置办理子模块以及别的一些成果子模块构成;通讯模块认真与运行在上位机(PC)上的税控收款机办理体系举行数据通讯。
接口层计划
接口层作为一个抽象层仅提提供用步伐接口,不同错误详细硬件操纵,也不处理惩罚详细业务,是针对巨大配置计划的办理步伐,重要包括IC卡办理、存储器办理、USB通讯办理等。以下细致先容存储器办理中的发票存储办理模块。
税控收款机密求可以或容许靠存储大量发票数据,因此发票存储办理模块是本体系的一个关键模块。为了节省存储空间,本体系中发票存储体系采取了变长转动存储要领。
变长即指发票长度因各发票头部和其所含明细的差别,占用的存储空间大小也差别。本体系中发票头部分别大概占用32、64、96字节,发票最大明细数为8,每笔明细占用32字节。如许,每张发票所占存储空间为1个~11个32字节。发票在存储器中的存储位置也因此32字节为单位对齐的,两张发票之间位置首尾相连,没有冗余空间。
转动存储即指在存储空间牢固的环境下,循环利用这部分存储空间,当所存储的发票占用到了充足大的空间时,新的发票大概会包围失最早存储的发票位置。
由于发票变长存储,所占空间大小不一,为了到达随机访问的目标,必要创建一张位置索引表,表中的每项指明发票的实际存储位置,比如,位置索引表中的第n项便是第n张发票在存储器中的位置。同时,为了加快通过发票号查找发票细致信息的查找速率,要最大大概地淘汰对存储器的访问次数,这是进步查找速率的关键。本体系采取Hash索引表来快速定位所要查找的发票,为了办理该算法的Hash值谋略辩论,别的创建了一张Hash链接表,此表的长度和位置索引表雷同,表中每个值代表Hash值辩论的下一张发票的位置。
配置驱动层计划
配置驱动层包括直接操纵外设的驱动,如IC卡、Flash、LCD、VFD、打印机、USB、键盘、时钟等外设的驱动;别的还包括LPC2214内部配置驱动,如内部寄存器配置、UART配置、GPIO设置、RTC读写、TIMER设置等。此中ISO7816标准IC卡驱动是一个关键部分,它包括插卡检测、卡上下电、卡复位和卡下令等成果。
IC卡与LPC2214微控制器的数据传输方法为异步半双工字符传输模式,本体系利用软件实现该成果。利用LPC2214的GPIO来软件模仿IC卡的读写操纵时序,举行数据互换:吸取数据时将LPC2214的GPIO设置为输入模式,利用停止步伐对I/O数据线举行采样;发送数据时将LPC2214的GPIO设置为输出模式,在停止步伐中直接输出必要发送的数据位。
非常环境处理惩罚
当非常环境(如断电、拔卡等)产生时,税控收款机应包管数据不丢失、无不对。本体系从两方面包管了数据的可靠性。一方面,在初始化、分发发票、录入发票、开票、报税及完税等关键步调前先检测电源是否正常,如已经产生失电,体系克制事变;不然置标记,开始正常的步调操纵,步调完成后,打扫标记。要是步调未完成前产生断电或IC卡不测拔出等变乱,则在下一次上电或重新操纵该步调时体系会检测到标记,软件将主动调用规复机制,完成剩余操纵,规复丢失的数据。
另一方面,在发票打印的进程中要是出现失电的环境,则需做失电续打处理惩罚。在发票开始打印前老师存发票明细数据,置“打印未完成”标记;在打印一行数据进程中若产生失电,失电掩护电路发出一此停止,调用停止例程,利用失电掩护电路所维持的事变时间生存当前打印位置,体系克制事变;待重新上电后检测到“打印未完成”标记,则读出末了一张发票明细数据,从断电时记录的位置连续打印出一张完备的发票,并打扫标记。
数据寂静性处理惩罚
税控收款机集商务、税控、办理等成果于一体,对数据的传输和存储请求相称高,必要可以或许精确地传输、存储、天生及反馈数据,因此,对寂静性的请求也相称高。本体系的寂静性计划从以下几个方面来表现。
体系中采取了用户权限分级办理的要领,设置了三种具有差别操纵权限的角色:体系办理员、收款员、税务稽查员。用户与角色接洽干系,用户暗码采取6位~8位数字,暗码以密文情势存储在Flash内。进入相应的用户模式都要通过映射的暗码校验,才华够登录税控收款机,实行本用户级的相应操纵。
体系会对Flash的数据写入操纵做读校验,在读写存储器中的关键数据时比较、生存校验和;在开机自检和利用税控数据时对税控数据作数据完备性校验。
别的,在实行关键操纵、外部通讯、代码维护等操纵前体系要对用户举行身份辨别,并对操纵映射的变乱孕育产生审计记录。
结语
本体系充分利用LPC2214本身的硬件资源,通过软件实现了切合ISO7816标准的智能IC卡接口,体系计划切合税控收款机国度标准GB18240-2003。整个体系计划布局简便,便于进步性能和与种种外设的连接扩展,极具竞争上风,产品得到了市场的承认。
参考文献:
1.Cpc2114/2124/2212/2214 Vser Manual.philips Semicondudor,2004
2.杜春雷编着,
ARM体系布局与编程,北京清华大学出版社,2002