基于ARM控制器LPC2214的税控收款机系统的设计与实现
引言
税控收款机是指具有特定税控功能的电子收款机,它是集软硬件为一体的嵌入式系统,硬件设计考虑高性价比和高可靠性,软件设计考虑系统的稳定性和可靠性。根据这一原则,本文介绍了一种基于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,板级支持包),包含具体硬件平台的各种设备驱动程序。
采用如上架构的系统软件层次结构清晰,直接相邻的上下层之间存在依赖关系, 不相邻的上下层之间没有依赖关系。同层各模块之间的调用通过预定义的模块输出接口函数实现,各模块之间的耦合度低,具有良好的可移植性和可扩充性。如果要 针对不同的行业设计不同的机型或根据需要扩充系统功能时,只需修改业务处理层,接口层和设备驱动层均无需修改;如果是变换了硬件平台,则只需修改设备驱动 层和接口层,业务处理层无需修改。
电子技术,半导体集成电路,电子工程师,互动交流 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)