基于ARM控制器LPC2214的税控收款机系统的设计

发布者:心语乐章最新更新时间:2006-08-16 来源: 电子设计应用关键字:收款机  模块  接口 手机看文章 扫描二维码
随时随地手机看文章

引言
  税控收款机是指具有特定税控功能的电子收款机,它是集软硬件为一体的嵌入式系统,硬件设计考虑高性价比和高可靠性,软件设计考虑系统的稳定性和可靠性。根据这一原则,本文介绍了一种基于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

关键字:收款机  模块  接口 引用地址:基于ARM控制器LPC2214的税控收款机系统的设计

上一篇:利用低功耗微控制器开发FFT应用
下一篇:VxWorks系统下的RTL8139驱动程序改进

推荐阅读最新更新时间:2024-03-30 21:22

FPGA和嵌入式处理器实现低成本智能显示模块
   引言   LCD正在迅速成为汽车内的标准部件。随着LCD技术的发展,迫切需要采用更好的显示图形内容控制和产生方法。传统上,低成本汽车信息娱乐应用采用基于字符的LCD和真空荧光(VF)显示屏,而低成本彩色薄膜晶体管(TFT)技术很快成为最突出的选择方案,但在现有的低成本应用体系结构中采用彩色TFT有很大的难度。大部分低成本平台没有足够的处理带宽,特别是缺少带有LCD控制器的处理器来控制并驱动彩色TFT LCD。此外,大部分现有的体系结构并没有足够的动态和非易失存储器来存储LCD需要的图形内容。更复杂的设计问题是产生并管理图形内容或者图形用户界面(GUI)时低效的设计过程,而现在可以通过彩色TFT LCD来解决这些问题。一般
[嵌入式]
FPGA和嵌入式处理器实现低成本智能显示<font color='red'>模块</font>
液晶显示模块DMF-50081在单片机系统中的应用
香港精电公司的DMF-50081点阵图形液晶显示模块是由大屏幕LCD液晶显示器、SED1335控制器、CCFL背光逆变器和DC-DC显示驱动电源四部分组成。它与同类液晶显示模块相比,具有显示信息量大、亮度高、微功耗、体积小、质量轻、超薄等诸多优点,在移动通讯、仪器仪表、电子设备、家用电器等各方面有着十分广泛的用途。 下面以DMF-50081在某工程项目中进行实时监控的实际应用系统为例,详细阐述DMF-50081液晶显示模块的应用方法。 1 DMF-50081模块说明 DMF-50081液晶显示器为320×240点阵,能容纳16×16点阵的汉字共20行×15列,且具有较高分辨率(点为0.27×0.27mm)。该器件的外型尺寸为
[单片机]
板卡接口的过去与现在,工业总线规格总汇
用于系统中各种板卡间连接的总线种类繁多。如从过去广泛使用的VME派生出来的工业总线、连接主板和扩充卡的PCI-104,把用于板卡上芯片间高速连接的PCI类总线应用于板卡间的Compact PCI以及其扩展型等。本站将从今天起连载有关板卡间连接的各种总线特征和技术应用动态。 VME、VXS、VPX、VXI——从最初的标准出台历经20多年时光 过去,作为板卡间的连接总线被广泛采用的代表当属VME。VME是“Versa Module European”的缩写。其基础是美国摩托罗拉半导体公司(现在的飞思卡尔半导体公司)的“MC68000”处理器使用的Versa。VME在1986年被IEC标准化成“IEC821”,1987年又被IEEE制
[嵌入式]
基于MSP430F149的控制模块VAC400的真空控制系统的设计
引言 国家“九五”重大科学工程项目HIRFL-CSR(兰州重离子加速器冷却储存环工程)主环真空系统全线非标部件和标准设备的安装、检漏在2004年初已经完成,经烘烤后真空度达到10-11mbar的超高真空环境。放置于加速器注入线和主环真空腔体和束运线上的各类高/低真空泵达几百个, 需要检测和控制的真空计和高真空电源也近百个, 为了实现远程开/关各种真空计和高真空电源,定时检测真空计读数和状态,并需要为中央控制中心提供异常(定值点越界)报警和提示。运行时, 超高真空系统任何一处束流线发生真空故障就会造成束流丢失、仪器设备损坏、加速器停运的严重后果。因此加速器必须具有响应快速、安全可靠的真空保护与控制系统。 1 系统硬件组成 本控制
[单片机]
基于MSP430F149的控制<font color='red'>模块</font>VAC400的真空控制系统的设计
基于AX88796B的网络接口模块的设计与实现
    网络技术应用日益普及的今天,工业现场的仪器仪表、数据采集和控制设备也日趋网络化,工业自动化和网络的结合越来越密切。而将以太网和嵌入式系统相结合应用于工业控制中已成为趋势。 AX88796B是Asix公司推出的一款为嵌入式和工业以太网应用而设计的低引脚数以太网控制芯片。其内部集成10/100Mb/s自适应的介质访问层MAC和物理层收发器PHY以及8K×16位的SRAM。AX88796B可应用于商业级0~70C和工业级-40C~85C的温度范围。AX88796B支持MCS-51系列、80186系列、ISA总线和SRAM-like接口类型。执行基于IEEE802.3/IEEE802.3u局域网标准的10Mb/s和1
[嵌入式]
联想折叠屏PC或亮相CES 2020 带5G模块
1月7日至10日(太平洋时间),一年一度的全球科技盛会CES 2020(国际消费电子展)将在拉斯维加斯举行。作为全球PC市场的领头羊,联想每年都会向世界展示最前沿的技术,引领科技新潮流,为消费者和行业带来惊喜。   有业内人士透露,作为2019年最吸睛的黑科技产品,联想将携折叠屏PC、折叠屏手机亮相大展,带来本届CES上最重磅的“开年大礼”。   2019被业界认为是折叠屏手机的元年,各大厂商都发售了自己的折叠屏产品给“千机一面”的手机外观形态带来新的变化。而当大家的目光聚焦在折叠屏手机上时,联想则通过折叠屏笔记本电脑ThinkPad X1 向世界展示了自己超前的眼光。 折叠屏笔记本电脑ThinkPad X1   从概念上讲
[手机便携]
基于ADS1255的地震信息采集模块设计
引言 基于震前电磁波异常的客观事实,地震预报中,利用电磁辐射异常所具有的短临反映能力,能够正确采集临震电磁信息,从而在地震预报起着重要作用。本文提出一种基于 ADS1255 的地震信息数据采集模块的解决方案。 2 系统硬件设计 该地震信息采集模块的主采集控制器选用高性能数字信号处理器(DSP) TMS320F2812 。该器件特别适用于大批量数据处理的测控场合。在地震信息采集模块中,TMS320F2812主要负责控制ADS1255以及滤波处理相应的数据。图1为地震信息采集模块设计框图。 由于该信息采集模块采用SPI总线与A/D转换器通信,因此,当需扩展为4通道时,只需用TMS320F2812的4个I/O端口作为
[工业控制]
基于ADS1255的地震信息采集<font color='red'>模块</font>设计
ARM微控制器LPC210X的LCD接口技术
摘要:本文分别以GPI0口直接连接、串行转换连接、CPLD分部连接三种方法阐述了无外部总线的Philips ARM微控制器LPC210X与点阵图形液晶显示器的接口设计,并给出硬件电路框图和主要程序。 关键词:ARM LPC210X LCD接口 串并转换 CPLD 引言 Philips最近推出了其第一款基于ARM内核的控制器LPC210X,但由于LPC210X外部总线不开放,无法扩展内存、驱动液晶显示器等,给它的推广带来了一定的影响。笔者最近在一工控板项目中采用了该系列芯片,项目后斯应客户要求需对几个参量进行显示并扩展键盘,不得已之下,采用了CPLD,并利用了GPIO口模拟总线和液晶时序与点阵图形液日模块HS12864-16建
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新工业控制文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved