- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
IC卡自动加油机的设计
引言
众所周知 ,“金卡”工程(即电子货币工程)是我国国民经济信息化建设的重点工程之一。相对于磁卡而言, IC卡 因具有防磁、防潮、安全、保密、不易磨损等特点,而作为“金卡”工程的首选产品,广泛应用于金融、电讯、交通、服务等多个部门。我们为安徽省某集团公司的加油中心设计了一种新型的 IC卡 自动加油机,司机凭公司发放的“油量储值 IC卡 ”加油,管理人员通过“油量统计 IC卡 ”对油料的使用情况进行结算管理,取代了传统的人工登记、结算的管理方式,实现了加油与管理的自动化。
1 IC卡 简介
IC 卡 是将 一块集成电路芯片镶嵌在塑料基片中,封装为卡片形式,其芯片具有写人数据和存储数据的能力。我们使用的是美国ATMEL公司生产AT24COIA存储器型IC 卡。串行EEPROM AT24COIA的容量为1Kb ( 128x 8 位),擦写次数为100001)周期,数据保存期可长达100年。这种 IC卡 所使用的模块符合ISO/IEC7816协议,其触点如图1所示。这里cI(VCC)为电源端;c2(NC)未用,c3(SCL)为串行时钟输人端,c4 (GND)为接地端,c5(NC)未用;c6(SDA)为串行数据输人/输出端。
EEPROM模块触点示意图
2 硬件构成
本加油机控制系统由单片机及存储器、测量及控制、 IC卡 接口、键盘及显示、看门狗等部分所组成,其硬件原理框图如图2所示。
图2 加油机硬件原理框图
整机控制系统的核心是一片性价比较高的89C51单片机,内含4K字节的EEPROM作为系统的程序存储器,从而简化了系统结构。另外扩展一片NVSRAM DCM0064(8K字节)作为系统的数据存储器,用以存储用户的加油信息,因非易失性SRAM一NVSRAM(Nonvolatile SRAM)既有EPROM的不易失性,既断电后数据不变,又像普通SRAM一样可快速读写数据,读写次数无限制,并且它的功耗很小,在系统中的连接方法同一般SRAM6264完全相同。
加油量检测我们使用精度较高的涡街流量传感器,它输出的电脉冲频率和流量成线性关系,同时测量范围宽,重复性好,且便于实现远距离无损测量。其电脉冲信号经放大处理后,通过光电隔离(TLP521)作为单片机外部中断0的输人信号INTO,这样结合定时器TO就可测频。单片机的P2.5,通过晶体管功放(9013)后带动12V低压继电器,(JRC 12M ),由继电器的触点控制油泵电机的启停接触器的线圈及油路通断电磁阀的线圈,以实现自动加油。
根据 IC卡 的电气特性设计的 IC卡 接口电路原理图见图3。其中TO(单片机作为常规输出)提供串行时钟输人信号;串行I/0通过单片机的P2.6 实现;TI(8 9C51作为常规输人)检测 IC卡 的供电情况,为保护 IC卡 我们采用了限流供电措施;卡座中有否 IC卡 由单片机INT1(同样作为常规输人)来检测,并且,当 IC卡 插人后微动开关SWi一SW2吸合,LED亮,反之LED灭。
图 3
IC卡
接口电路原理图
键盘、显示接口是人机界面的重要组成部分。在此用单片机的P1口直接构成4x4非编码键盘,包括0一9数字键、小数点、启动键、停止键、统计键、查询键、调校键等。其中启动键:先由用户插人 IC卡 ,待工作人员键人预置油量,准备就绪再按启动键实现自动加油,加到预置的油量便自动停止;停止键:用于加油过程的非正常情况的人为停机;统计键:管理人员插人统计 IC卡 ,按统计键可将汇总的数据写人此卡中;查询键:用于查询用户信息;调校键:用于调校实时时钟。
我们以方式0扩展89051的串行口,用8位串人并出移位寄存器74LS164和共阳极八段LED数码管组成显示器,共8位,用于显示 IC卡 信息、加油信息和相关的工作状态等。8个寄存器以串行方式连接,在同步时钟TXD的作用下,显示段码从RXD快速移人寄存器,然后由LED数码管显示,采用这种静态显示方式不仅CPU控制简单,而且可获得较高的亮度。
“看门狗 ”电路是为了提高单片机系统的运行可靠性而设计的。系统受扰后可能出现程序跑飞现象,以至“死机”,影响到系统的正常工作,甚至涉及到设备及人身安全。但由MAX705组成了一“看门狗”后,使得在程序跑飞后89051自动复位,进而使CPU恢复运行。另外,也可对CPU进行手动复位。
3 软件设计
加油机软件用MCS一51汇编语言编制,采用结构化、模块化程序设计方法,由键盘扫描及相关功能的实现、显示处理、油量的计量, IC卡 读写、油泵与电磁阀控制、20ms定时中断服务、外部中断0服务模块等所组成,其主程序流程图如图4所示。
图 4 加油机主程序流程图
IC卡 的可靠读写是本机系统软件设计中的一个关键问题。经分析AT24COIA的读写时序,发现串行1/0数据线SDA上的状态变化一定要发生在时钟输人SCL的低有效期间,在时钟的上升沿将数据送人至EEPROM中;而在读取卡上数据时,在时钟的下降沿EEPROM输出数据,同样,SDA数据变化也发生在SCL的低有效期间,因而要在SCL高有效期内才能读取卡的数据。下面以写 IC卡 为例介绍编程实现:
;开始位
4 结语
以890C51单片机为核心设计成的 IC卡 自动加油机,数据存储可靠性高,软件保密性好。近一年的实际应用表明:操作简单、读写稳定、效果良好,使加油中心的服务效率大为提高,对中心的现代化管理起到了极其重要的作用。此外,随着经济信息化进程的加快,该加油机在商业性加油站有广阔的应用前景。(文/(上海交通大学自动化研究所 李志虎 邵惠鹤)
参考文献
1、王爱英.智能卡技术〔M].北京:清华大学出版社,1996
2、何立民.单片机应用系统设计〔M].北京:北京航空航天大学出版社,1993