1ARM7 LPC2138介绍
Philips公司的32位的ARM7 LPC2138微控制器具有强大的存储空间,内嵌32 KB片内静态RAM和512 KB的Flash存储器;可以实现在系统可编程(ISP)、在应用可编程(IAP);2个8路10位A/D转换器、1个D/A转换器,转换迅速、准确;引脚资源丰富,多达47个可承受5 V电压的通用I/O口;多个串行接口,包括2个16C550工业标准UART、2个高速I2C接口(400 kbps)、SPI和具有缓冲作用和数据长度可变功能的SSP。LPC2138可以移植μC/OSII操作系统,软件的可移植性好,工作可靠。
2实现原理及系统结构
系统结构框图如图1所示。
图1系统结构框图
系统采用ARM7 LPC2138芯片作为主控制器,嵌入μC/OSII实时操作系统,对系统进行控制和管理。通过模拟PS/2标准协议,实现了AS8110条形码输入器和PS/2标准键盘输入;通过 I2C总线接口扩展了PCF8563实时时钟芯片获取实时时钟,E2PROM存储器AT24C256芯片实现系统重要参数的断电保护;扩展数字温度传感器DS18B20和HM1500湿度传感器,对超市环境进行实时检测,在异常情况下通过声光进行报警提示;采用DMB32240A01W大屏幕彩色LCD显示终端进行显示,人机交互界面友好;通过扩展汉字微型打印机,实现购物小票的打印;系统扩展了语音控制器SPCE061,实现语音播放及语音识别等功能;同时,还外扩了一个串行口,可以通过485总线将所有超市收银系统构建一个网络,通过一个中心PC主机进行统一管理。
3系统硬件设计
3.1键盘输入接口电路设计
针对超市收银机对键盘的特殊需要,采用双键盘,即4×6简易键盘和PS/2键盘。
(1) 4×6简易键盘
系统扩展4×6简易键盘,通过行列扫描的方式读取键值。键盘接口和定义如图2和图3所示。
图24×6简易键盘接口
图34×6简易键盘功能定义
(2) PS/2键盘
PS/2键盘是微机标准键盘。它与微机通过PS/2协议进行信息通信,接口电路如图4所示。
图4PS/2接口定义
只要ARM微控制器使用PS/2协议就能取得键盘数据,标准键盘提供至少86个功能键供用户使用。扩展PS/2标准键盘可实现多种汉字输入等功能。
如图5所示,键盘接口使用2条数据线,数据位在CLOCK(时钟脚)的下降沿被 PC机ARM读入,接收数据时使用外部中断EXT0。
图5PS/2协议时序
3.2条形码输入器接口电路设计
系统采用标准键盘PS/2接口与LPC2138接口与PC机标准键盘并线使用,接口简单。接口电路如图6所示。
图6键盘和条形码扫描器接口电路
AS8110条码阅读器功能:
① 手持近距虹光条码阅读器,内置解码器,准确识读各种一维条码。
② AS8110条码阅读器拥有7种提示音和音量可调的蜂鸣器,可根据使用的环境调节蜂鸣器的音量。
③ AS8110条码阅读器有多个内置接口(RS232、键盘接口、光笔及先进的USB接口)。
3.3打印机接口电路设计
汉字微型打印机为针式打印机。打印机接收主机送来的代码,经过打印机输入接口电路的处理后送至打印机的主控电路;在程序的控制下,产生字符或图形的编码,驱动打印头打印一列的点阵图形,同时字车横向运动,产生列间距或字间距,再打印下一列,逐列进行打印;一行打印完毕后,启动走纸机构进纸,产生行距,同时打印头回车换行,打印下一行。上述过程反复进行,直到打印完毕。
使用74HC164串入/并出串行接口打印机,接口电路如图7所示。
图7打印机接口电路
3.4存储模块电路设计
SD卡拥有大容量数据存储、快速数据传输率、极大的移动灵活性以及很好的安全性。通过9针的接口电路与专门的驱动器相连接,数据具有掉电保护。在SPI模式下,主机使用SPI总线直接对卡进行访问。
图8为SD卡与LPC2138通信的接口连接电路(SPI模式)。
图8SD卡硬件连接电路
3.5温、湿度测量接口电路设计
数字化温度传感器DS18B20具有与CPU接口方便、直接数字量输出等优点,另外提供12位(二进制)温度读数指示器件的温度信息。经过单线接口送入DS18B20或从DS18B20送出,因此从主机CPU到DS18B20仅需一条线(和地线),电路如图9所示。
图9温度检测电路
HM1500是美国Humirel公司于2002年推出的电容式湿度一体化传感器。该传感器线性输出相对湿度,输出为模拟信号,通过A/D转换器测量湿度对应的模拟电压,并计算得到相应的相对湿度值。相对湿度接口电路如图10所示。
图10相对湿度接口电路
3.6I2C总线接口电路设计
利用ARM微控制器的I2C总线扩展PCF8563和AT24C256接口芯片,分别实现获取实时时钟和系统重要参数的断电保护功能,电路如图11所示。
图11I2C总线接口电路
4软件设计
系统软件工作流程如图12所示。
图12系统工作流程
系统共有4种工作模式,即销售操作模式、销售记录模式、综合报表模式和系统设置模式。
销售操作模式为默认工作模式,主要工作为:条形码或者手动输入商品条码,通过系统查询调出商品单价,根据所输入的商品数量计算并显示各类商品的总额和找零。在确认交易成功后,系统打印购物小票并将相关记录存入销售记录和综合报表记录中。
销售记录模式主要用于查询本日、本周、本月的详细销售清单,包括交易商品名称、交易时间、交易金额和收银员编号等。
综合报表模式主要用于查询商品入货量和出货量的详细记录,包括商品名称、进货数量、进货日期、出货数量、获利情况等。
系统设置模式主要包括PLU设置、时间设置、收银员设置和清空记录。PLU设置目录下可以进行商品名称、条码以及单价的录入;时间设置目录下可以对系统时间进行设置;收银员设置目录下可以对当前收银员信息编号进行设置;清空记录目录下,可以对环境监测报警阈值进行设定,可以恢复系统出厂设置等。
5理论分析
5.1SD卡存储空间分配
经查阅资料得知,SD卡的内部结构是按扇区组合的,每512字节为一个扇区。为了方便操作,我们约定,每条销售纪录、每种货物都独自占一个扇区(尽管一条记录无论如何也不会有512字节)。这样,无论是在存货还是在销售时,各条记录之间从不冲突。按扇区读写十分方便。
SD存储卡的存储空间为1 GB。
1 GB/512B=221
1 GB SD存储卡存储的销售记录与存货纪录总计超过100万条。
5.2存储商品价目表数据位数定义
系统采用64位存储商品价目表,各种数据格式如下:
存储一条商品价目表使用7字节。
结语
本文提出了基于Philips公司的ARM7 LPC2138微控制器的超市收银管理系统的一种设计方法。系统合理调理了多个模块同时工作情况的协调与稳定,在降低成本的前提下,不仅实现了常用超市收银机的基本功能,还增加了环境检测报警及语音等特色功能。