APP下载

学校食堂IC卡售饭机系统设计

2012-12-17广东省工商高级技工学校王建国

电子世界 2012年15期
关键词:金属片IC卡充值

广东省工商高级技工学校 王建国

一、系统功能说明

食堂IC卡售饭机作为食堂收费终端,根据其实际使用环境,应该具有如下的功能特点,以适用于不同阶段的数据处理。

1、就餐阶段

就餐阶段即正常使用阶段。在IC卡插入售饭机后,系统能读出IC卡里面预先存储的金额,并能在面对就餐者和售饭员两面双屏进行显示。售饭机利用键盘输入就餐者选定的食物余款,售饭机自动卡中的金额减去应付金额。操作完成后屏幕显示应付金额以及卡中的余额。

如果就餐者卡中的余额小于预先设定的金额,售饭机则给出报警音,提示就餐者为IC卡进行充值。食堂售饭窗口不具备为卡充值的功能,就餐者必须到指定的地方进行充值。

如果就餐卡出现故障,售饭机给出报警音,提示就餐者修卡。食堂售饭窗口不具备对卡进行修复的功能,就餐者必须到指定的地方修复。如果修复失败,就餐者只有到充值窗口重新办理就餐卡。

2、充值阶段

图1 售饭机系统结构框图

在充值阶段,IC卡售饭机读出卡里面的余额,就餐者在充值窗口交纳一定的金额后,由工作人员通过键盘输入此次充值金额,售饭机自动将此次充值金额加入卡中。操作完成后,屏幕显示充值后卡中的余额。

3、初始化阶段

初始化阶段是为卡的发行做准备。在此阶段,工作人员通过键盘进行就餐卡的初始化工作。此阶段的主要任务是写入用户群号和初始金额。只有经过初始化之后,就餐卡方能发行。

4、修复阶段

此阶段对损坏的就餐卡进行修复。如果修复失败,售饭机给出报警声,就餐者只有重新办理就餐卡。

二、系统总体设计

1、应用系统结构设计

根据IC卡售饭机的功能特点,售饭机系统需要完成数据的输入、显示和处理三种功能。整个系统的结构框图如图书1所示。

2、设备选型

(1)IC卡:本系统选用西门子SLE4442逻辑加密型IC卡进行数据的存储和身份识别。逻辑加密卡内设有硬件加密电路,只有在输入密码正确后才能进行数据的改写,否则数据只能被读出。而且输入的错误密码达到规定的次数后,IC卡自动死锁报废。因而这种卡的安全性能很高,非常适合于涉及到金融等主面的应用[1]。

(2)键盘:考虑实际的使用情况和性价比,采用矩阵扫描键盘进行数据输入。矩阵扫描键盘由行线和列线组成,按键设置在行列线的交叉点上,行列线分别接到按键开关的两端。列线通过上拉电阻接到+5V上。平时当没有按键按下时,列线处于高电平的状态;而当有键按下时,行列线导通,因此列线的电平状态将由与此相连接的行线的电平状态决定。而行列线和多个键相连接,各个按键按下与否都将影响该键所在的行列线的电平。这样行列线配合起来进行适当的处理,即可确定按键的位置。与独立键盘相比,要节省很多的I/O口,适用于按键数量较多的场合。

(3)显示单元:IC卡售饭机系统只需要进行数字的显示即可,但需要显示器件具有直观和高亮度。在此基础上,可采用常用的高亮度红色LED数码管作为显示器件。

3、硬件设计

IC卡售饭机的硬件电路如图2所示[2],具体包括IC卡接口电路、键盘和显示接口电路、蜂鸣报警电路、IC卡上电检测电路。

图2 lC卡售饭机电路

图3 主程序流程图

图4 按键处理程序流程图

IC卡接口电路,采用SLE4442逻辑加密型IC卡。SLE4442采用两线数据传输方式,符合ISO7816-3标准,并具有一个安全逻辑,用以控制存储器的读写操作。在密码校验成功之前,除了3B密码(可编程安全代码)外,数据都可以读出,只有在校验密码成功之后才可以执行数据的写入动作。在校验密码之前,可以将错误计数器的某一位写“0”。错误计数器的初始值为0x03,每校验必密码错误一次则将其中一位写“0”,如果连续三次密码校验错误,错误计数器的值变为0x00,IC卡报废[3]。

键盘和显示接口电路采用ZLG7290键盘及数码管专用驱动芯片,ZLG7290与单片机AT90S8535采I2C接口进行通信。为了使IC卡售饭机能够适应不同阶段的数据处理,系统设置了16个数字键和功能键,具体是数字键:0-9、小数点按键“.”;功能键:+、-、初始化键、修复键、确定键。

蜂鸣报警电路采用电磁式蜂鸣作为IC卡出错报警提示,单片机AT90S8535的PD3口通过NPN型三极管驱动蜂鸣器。当PD3输出高电平时,三极管导通,蜂鸣器发出报警声。

IC卡上电检测电路实现IC卡的上电检测以确保单片机正常的操作。在IC卡的卡座上通常有静、动两片金属片。在IC卡插入卡座时,动金属片被IC卡挤压而逐渐与静金属片靠拢,当IC卡完全插入卡座后,动金属片完全与静金属片接触。动金属片的一端固定通过电阻和LED接地。静金属片固定接5V电压。在IC卡没有插入时,动金属片端为0V电压;IC卡插入后静金属片变为5V电压,LED点亮,提示有IC卡插入,单片机开始对卡进行初始检测。这样,通过判断与动金属片连接的单片机的PD2口的电平,即可准确地检测IC卡是否上电。

4、软件设计

IC卡售饭机软件系统采用模块化程序设计。从结构上看,系统控制软件主要包括一个主程序(如图3)、按键处理程序(如图4)和其它一些辅助处理程序[4]。主程序主要完成系统初始化、IC卡插入检测、读写和键盘输入与处理、异常情况的报警处理等工作,以完成人机交互的功能。按键处理程序是系统服务程序的一部分,完成按键的识别与处理工作,在确认有键被按下后,通过查找按键编码表识别按键,区分功能键与数字键,从而根据不同的情况进行相应的处理。

三、系统集成与测试

系统集成与测试是系统设计的一个重要环节,由于AVR单片机具有在系统编程功能(ISP),这样完全可以在焊接好硬件电路后进系统的仿真调试。IC卡售饭机系统的测方式分三部分:AT90S8535主机电路测试、键盘显示电路的测试和IC卡电路测试。对各部分的测试应该编制各自的测试程序。

[1]张萌,和湘,江斌.单片机应用系统开发综合实例[M].清华大学出版社,2007.

[2]张军.AVR单片机应用系统开发典型实例[M].中国电力出版社,2005.

[3]宋吉和.C语言程序设计(第二版)[M].中国石油大学出版社,2006.

[4]郑锋,王巧芝,程丽平,张清鹏.51单片机典型应用工发范例大全[M].中国铁道出版社,2011.

猜你喜欢

金属片IC卡充值
插头插入时为何偶尔冒电火花
工商业IC卡控制器改造为物联网控制器实践
在用电梯加装外接式IC卡运行控制系统设计改进
规律问题递推化
奇妙的智商充值店
影响重力势能大小因素的 实验装置的改进
充值
基于NFC的ETC卡空中充值服务应用系统实现
由输纸传动链条引起的前规检测故障排除
长春开通公交IC卡充值平