IC卡自动加油机的设计

标签:Atmel
分享到:

      引言

     众所周知 ,“金卡”工程(即电子货币工程)是我国国民经济信息化建设的重点工程之一。相对于磁卡而言,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

作者:李志虎 邵惠鹤

继续阅读
开源门禁系统设计项目—基于ATmega328

门禁系统设计要求:基于atmega328单片机设计,具有通话、振铃、摘机、通话、开锁功能,还要有键盘和显示电路。

sam4s16c的片内flash读写

最近一直在玩sam4s16c,网上的所有论坛基本找不到atmel的资料,真心的不喜欢,但是工作需要,没办法。只能静下心来仔细研究Datasheet,别无他径。

把握MCU发展轨迹 正确选择MCU完成产品创新

面对缤纷多彩的 MCU 世界,如何在新品设计,老产品更新换代中正确的选择芯片和供应商将是要面临的一个重要的题目,因为无论是产品的更新还是 MCU 的更新速度都远远超出设计者预想,正确把握 MCU 发展趋势,利用 MCU 帮助产品创新是电子设计者正在考虑的问题。

SAM4L8教程之USB复合设备的实现

大家用usb数据线连接开发板的DEBUG USB,打开设备管理器会发现主机识别出有3个设备,这就是usb多功能的复合设备。下面是我探索将MSC,usb mouse和usb keyboard集合于1个设备的教程。

可视化的调试助手FreeRTOS+Trace

在AS开发库中,除了直接用于程序嵌入的库和内核以外,还有用来调试的工具。对于FreeRTOS而言,相对的线程和任务调度是比较难于用普通的设置断点,进行参数跟踪来实现的。因此,一种可视化的调试工具就被引入到AS中——FreeRTOS+Trace。

©2019 Microchip Corporation
facebook google plus twitter linkedin youku weibo rss