当前位置:文档之家› 加密IC卡税控加油机

加密IC卡税控加油机

山东理工大学

毕业设计(论文)

题目:加密IC卡税控加油机

系统设计

学院:电气与电子工程学院

专业:自动化

学生姓名:

指导教师:

毕业设计(论文)时间:二ОО九年二月二十三日~六月十九日共十六周

摘要

摘要

随着现代经济的进一步发展,现金交易带来了一系列问题,比如携带不方便,安全性,无法实现异地交易等,为解决此类问题,信用卡交易发展了起来。由此石油行业也产生了一系列变革,IC卡加油机便由此而产生。

IC卡税控加油机系统是由IC卡、加油机、计算机、计算机网络、通信线路组成的机械电子网络加油系统,是在IC卡加油系统的基础上增加网络连接,实现某一地区加油联网的新一代加油系统。IC卡加油机是在普通加油机基础上发展起来的,是为了实现电子货币代替现金或支票交易的目的而产生。IC卡加油机与普通加油机的主要不同是增设了IC卡读写器,即与IC卡配合工作的接口设备IFD(Inter Face Device)。

为了扩大信用卡的使用空间,方便顾客加油,1982年IBM等公司将磁卡付费终端置于油站,实现了用信用卡、公司卡等非现金证件加油消费。1985年吉尔巴克公司将在油站内的加油机控制中心和磁卡付费终端集成于一体,实现了油站收银系统和银行系统的直接连网。1990年,吉尔巴克公司又设计出磁卡加油机,并使用网络技术将加油机和银行连接,完成用户信息确认到加油扣款的全过程。

1997年,美国TI公司和吉尔巴克公司合作,生产出了采用无线射频信息卡代替磁卡的加油机,用户加油的过程简单到只有停车、提枪、挂枪三个动作。关键词:IC卡,AT89S52,HT1621,8255A,X25045,液晶数码管

I

ABSTRACT

ABSTRACT

With the further development of the modern economy, cash transactions has brought about a lot of problems, such as to bring is not convenience, security, transactions can not be achieved in different places. In order to solve these problems, credit card transactions has developed rapidly. The oil industry has also changed greatly, IC card tanker has been developed.

The system of IC taxing oilingmaching is a Mechanical and electronic network oilingmaching system composed by IC card, oilingmaching ,computer, computer network, LOC. It is a new oilingmaching system that added network connections to the IC oilingmaching system to let the oilingmaching in an area connected in the network.IC oilmaching is developed on the foundation of common oilingmaching,it can let the cash or check replaced by the electronic money. The main defference between the IC oilingmachine and the common oilingmachine is that it has IFD(Inter Face Device).

In order to expand the space of credit card,give our customers convenience, IBM and other companies place card paid terminals at petrol stations, and achieved using credit card, corporate card and other non-cash documents to consume. In 1985,JEBK company integrated the oilingmaching control center and the card paid terminals in the petrol station,and connected the petrol station paid system and banking system in the network.In 1990,JEBK company developed magnetic card oilingmaching ,connec ted the oilingmaching and the bank in the network,it can confirm the information and subtract the consumed money.

In 1997, the United States company TI and JEBA company cooperated to produce oilingmaching using frequency card instead of magnetic card. The process of oiling is so simple as you only to parking, put up the gun,oiling and put down the gun. KEYWORDS: ICcard,AT89S52,HT1621,8255A,X25045,liquid crystal numberal tub

II

目录

摘要 ............................................................... I ABSTRACT .......................................................... II 目录 ............................................................. III 第一章引言 .. (1)

1.1 IC卡税控加油机的发展现状 (1)

1.2 设计内容及要求 (1)

第二章方案论证 (3)

2.1 方案选择 (3)

2.1.1 输入和控制部分 (3)

2.1.2 键盘和显示部分 (3)

2.1.3 存储器和加油卡部分 (4)

2.1.4 通讯部分和电源部分 (4)

2.2 系统总体方案图 (4)

第三章系统硬件设计 (5)

3.1 输入模块设计 (5)

3.1.1液体流量传感器 (5)

3.1.2传感器选型 (6)

3.1.3 光耦选择 (6)

3.1.4加油机流量测量设计 (7)

3.2 控制模块设计 (7)

3.2.1 AT89S52工作原理 (7)

3.2.2 8255A工作原理 (9)

3.2.3 控制部分电路图 (10)

3.3 键盘模块设计 (11)

3.4 显示模块设计 (12)

3.4.1 HT1621工作原理 (12)

3.4.2 数码管工作原理 (13)

3.4.3 显示部分电路原理图 (14)

III

3.5 存储器模块 (15)

3.5.1 X25045工作原理 (15)

3.5.2 存储器部分电路图 (16)

3.6 IC卡模块设计 (16)

3.6.1 SLE4442工作原理 (17)

3.6.2 SLE4442卡与单片机的接口电路 (20)

3.7 通讯模块设计 (20)

3.7.1 RS485通讯协议资料 (20)

3.7.2 MAX485资料 (22)

3.7.3 通讯部分的原理图电路 (22)

3.8 打印机模块设计 (23)

3.9电源模块设计 (24)

第四章系统软件设计 (25)

4.1 资源分配 (25)

4.2 加油机的使用说明 (25)

4.3 系统主程序设计 (26)

4.4 系统子程序设计 (27)

4.4.1 IC卡识别子程序流程图 (27)

4.4.2 输入密码子程序流程图 (28)

4.4.3 密码校验流程图 (28)

4.4.4 输入金额或体积子程序流程图 (29)

4.4.5 加油子程序流程图 (30)

4.4.6 主机通讯流程图 (31)

4.4.7 从机通讯流程图 (31)

4.5 初始化函数和主函数 (32)

第五章关键技术和误差分析 (33)

5.1 关键技术分析 (33)

5.2 误差分析 (33)

结论 (34)

IV

参考文献 (35)

致谢 (36)

附录 (37)

V

第一章引言

1.1 IC卡税控加油机的发展现状

随着现代经济的进一步发展,现金交易带来了一系列问题,比如携带不方便,安全性,无法实现异地交易等,为解决此类问题,信用卡交易发展了起来。由此石油行业也产生了一系列变革,IC卡加油机便由此而产生。

IC卡税控加油机系统是由IC卡、加油机、计算机、计算机网络、通信线路组成的机械电子网络加油系统,是在IC卡加油系统的基础上增加网络连接,实现某一地区加油联网的新一代加油系统。IC卡加油机是在普通加油机基础上发展起来的,是为了实现电子货币代替现金或支票交易而产生。IC卡加油机与普通加油机的主要不同是增设了IC卡读写器,即与IC卡配合工作的接口设备IFD(Inter Face Device)。

为了扩大信用卡的使用空间,方便顾客加油,1982年IBM等公司将磁卡付费终端置于油站,实现了用信用卡、公司卡等非现金证件加油消费。1985年吉尔巴克公司将在油站内的加油机控制中心和磁卡付费终端集成于一体,实现了油站收银系统和银行系统的直接连网。1990年,吉尔巴克公司又设计出磁卡加油机,并使用网络技术将加油机和银行连接,完成用户信息确认到加油扣款的全过程。加油机由简单的计量设备变成了具有金融功能的电子付费终端。1997年,美国TI公司和吉尔巴克公司合作,生产出了采用无线射频信息钮代替磁卡的加油机,用户加油的过程简单到只有停车、提枪、挂枪三个动作。

1999年,中国石油开始启动了IC卡工程;2000年,中国石化也开始了IC 卡工程。

1.2 设计内容及要求

设内计容

1系统的硬件设计模块

(1)加油机流量计量电路和HD1621驱动LCD电路的设计;

- 1 -

(2)89S52与8255键盘和打印机电路的设计;

(3)89S52 CPU与串行存储器X25045的连接;

(4)电源电路的设计,加密卡读写电路设计;

(5)RS485串行通讯接口电路的设计;

2 系统的软件设计模块

(1)系统初始化及主程序的模块设计;?

(2)流量计量程序的模块设计;

(3)中断处理、定时器处理程序的模块设计;(4)键盘显示程序、自诊断程序模块设计;

3 主要设计技术指标与参数

16位LCD显示体积金额

计量精度 1 毫升

加密卡 SLE4442

系统电源 5Vdc,max120MA

串行通讯 RS485

波特率 2400 (115200)

实现加密IC卡税控加油机自动控制,显示,打印。

4 功能简介

(1)无人加油时显示油价

(2)可输入密码并验证

(3)可按金额输入,精确到元

(4)可按体积输入,精确到升

(5)自动更新油价

(6)可与主机进行通信

(7)具有防止掉电或其他故障的保护和自动复位功能(8)加油时不断刷新显示数据

- 2 -

第二章方案论证

2.1 方案选择

2.1.1输入和控制部分

由于在加油机工作过程中产生的是液体流量信号,我们需要把它变成单片机需要的数字信号输入到单片机内部,为此我们可以选用能够产生流量脉冲信号的液体流量传感器。同时,我们需要考虑外部传感器的电磁和其他干扰问题,为此,我们需要在流量传感器和单片机中断输入之间加入一个光电隔离装置,从而抑制干扰。

毋庸置疑,我们需要一种控制芯片来完成各种控制和运算,我们可选单片机。脉冲信号输入到单片机后,需要经过一系列的运算转换成金钱数额和体积数额,同时要知道一个脉冲代表了多少体积油,这样每变化一个脉冲,可换算出它具体代表了多少钱和多少体积,加油过程中这些数据要不停运算和刷新显示。考虑到需要键盘输入同时有需要接打印机接口,IC卡,看门狗电路,I/O 口不够用,我们需要扩展I/O口。

2.1.2 键盘和显示部分

加油过程中,我们需要人为输入各种信息,如用户IC卡密码,金额或体积,还有各种控制信号,因此我们需要键盘输入电路。

方案一我们用8255A来设计一种矩阵式键盘,该键盘共具有6行,3列共18个键。

方案二设计键盘我们还可以选用8279键盘显示器接口芯片,该芯片可以方便的控制键盘扫描和LED数码管显示。但是由于我们使用的是液晶显示,必须用专门的驱动芯片来驱动,故此该方案不可行。

加油过程中的各种数据,如油价,消费金额,加油体积等都需要显示出来,为此我们需要设计显示部分,由于显示的信息不是很多而且都是数字信息,故此我们可以选用数码管。我们选用LCD液晶数码管,用一片HT1621芯片驱动,

- 3 -

该芯片可以很方便地驱动16位LCD数码管的显示。

2.1.3 存储器和加油卡部分

加油机需要一种存储芯片来存放与加油有关的数据。该部分我们用一片X25045芯片,该芯片具有看门狗电路功能,同时它还具有4K字节的RAM内存空间,可以很方便地存放即时数据。掉电瞬间,数据处理过程中的即时数据已存放于X25045中,在电力恢复的时候我们可以把数据取出进行处理。

为方便用户使用,我们必须为用户选用一种通用的加油卡,以此来存放与用户相关的各种信息,如账号,余额等。IC卡的型号很多,在该处我们选用西门子公司生产的SLE4442卡,该卡具有256字节的RAM存储空间。

2.1.4通讯部分和电源部分

要实现联网纳税,加油机只是从机,我们还需要设计一种网络连接方式来把所有的加油机和一台主机连在一起。主机可以向从机发送各种信息,但从机不能主动向主机发送信息,只能回复主机发来的命令数据包。主机可以通过互联网和税务部门通信。我们选用RS485通讯方式。单片机和其它集成芯片的电源均是+5V,我们要设计一个+5V的供电电源。

2.2系统总体方案图

图2-1 总体方案设计图

- 4 -

第三章系统硬件设计

3.1 输入模块设计

在该系统中我们需要测量的输入量是油的流量信息,同时又必须转换为单片机能够识别的数字信息。能够测量流量的传感器有很多,我们要选择一种能够把液体流量信息转换为输出脉冲的液体流量传感器。为此,经过多方查证,我选择了济南亿科仪器仪表制造有限公司生产的YK-LWGY-N基本型液体涡轮流量传感器,该仪器可以将流量信号以脉冲的形式远传输出。

3.1.1液体流量传感器

图 3-1 涡轮流量传感器

YK-LWGY-N系列涡轮流量传感器是吸取了国内外流量仪表先进技术经过优

化设计,具有结构简单、轻巧、精度高、复现性好、反应灵敏,安装维护使用方便等特点的新一代涡轮流量计,广泛用于测量封闭管道中与不锈1Cr18Ni9Ti、2Cr13及刚玉Al2O3、硬质合金不起腐蚀作用,且无纤维、颗粒等杂质,工作温度下运动粘度小于5×10-6m2/s的液体,对于运动粘度大于5×10-6m2/s的液体,可对流量计进行实液标定后使用。若与具有特殊功能的显示仪表配套,还可以进行定量控制、超量报警等,是流量计量和节能的理想仪表。

产品特点

(1)高精确度,一般可达±1%R、±0.5%R,高精度型可达±0.2%R;

(2)重复性好,短期重复性可达0.05%~0.2%,由于具有良好的重复性,如经常校准或在线校准可得到极高的精确度,在贸易结算中是优先选用的流量

计;

- 5 -

(3)输出脉冲频率信号,适于总量计量及与计算机连接,无零点漂移,抗干扰能力强;

(4)可获得很高的频率信号(3-4kHz),信号分辨力强;

(5)范围度宽,中大口径可达1:20,小口径为1:10;

(6)结构紧凑轻巧,安装维护方便,流通能力大;

(7)适用高压测量,仪表表体上不必开孔,易制成高压型仪表;

(8)专用型传感器类型多,可根据用户特殊需要设计为各类专用型传感器,例如低温型、双向型、井下型、混砂专用型等;

(9)可制成插入型,适用于大口径测量,压力损失小,价格低,可不断流取出。

3.1.2传感器选型

根据加油机的需要,我选择了YK-LWGY-15/N/0.5/S/S/N/N 型的液体涡轮流量传感器。设定流量为1.8m3/h,输出脉冲频率为500HZ,这样,每个脉冲代表1ml油。假如加油100升,大概需要3分钟,一般的汽车加油时间在一分钟左右。

3.1.3 光耦选择

为了隔离外部干扰,我们采用光电隔离的方式来产生输入到单片机INT0的输入脉冲。经过调查,我选择了TLP521-1型光耦,资料如下:

图3-2 TLP521-1管脚图

1脚是发光二极管的正端,2脚是发光二极管的负端,3脚是发射极,4脚是集电极。典型应用:1脚接一个电阻,加5V;2脚接控制端;4脚接输出端,3脚接地。分析:当2脚为0V时候,1、2形成回路,发光二极管发出光线,3、4之间的基极遇到光线,产生0.7V压降,致使3、4形成回路,输出端就被接到地了。

- 6 -

3.1.4加油机流量测量设计

在设计的系统中,接线图如下:

图 3-3 加油机流量测量设计图

液体流量传感器的输入脉冲由引脚2输入,当脉冲输入为低电平时,发光二级管导通,三级管也导通,引脚4相当于接地输出低电平,当脉冲输入为高电平时,发光二极管截止,同时,三极管也截止,输出引脚4为高电平。引脚4输出到单片机的中断INT0输入引脚。

3.2 控制模块设计

控制模块中,我用了一片AT89S52单片机同时又用了一片8255A来扩展I/O 接口。

3.2.1 AT89S52工作原理

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得

AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。引脚结构如下图所示

- 7 -

图 3-4 AT89S52管脚图

P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在 flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。

P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节

表3-1 P1口部分引脚第二功能列表

P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,

- 8 -

此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。

P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,P3口也接收一些控制信号。

3.2.2 8255A工作原理

8255A是一种通用的可编程并行I/O接口芯片,它是为Intel系列微处理器设计的配套电路,也可以用于其他微处理器系统中。在微型计算机系统中,用8 255A作接口时,通常不需要附加外部逻辑电路就可直接为CPU与外设之间提供数据通道。

8255A在使用前要写入一个方式控制字,选择A、B、C三个端口各自的工作方式,共有三种;

方式0 :基本的输入输出方式,即无须联络就可以直接进行的 I/O方式。其中A、B、C口的高四位或低四位可分别设置成输入或输出。

方式1 :选通I/O,此时接口和外围设备需联络信号进行协调,只有A口和B口可以工作在方式1,此时C口的某些线被规定为A口或B口与外围设备的联络信号,余下的线只有基本的I/O功能,即只工作在方式0.

方式2:双向I/O方式,只有A口可以工作在这种方式,该I/O线即可输入又

- 9 -

可输出,此时C口有5条线被规定为A口和外围设备的双向联络线,C口剩下的三条线可作为B口方式1的联络线,也可以和B口一起方式0的I/O线。

3.2.3 控制部分电路图

图 3-5 复位部分设计图

由8255A扩展I/O接口的电路如下图6所示,AT89S52的P0口既作为数据口,又作为地址总线的低8位,并由一片MC74HC373作为地址锁存器来选择是作为地址总线还是作为数据总线。

图 3-6 控制部分设计图

- 10 -

3.3 键盘模块设计

在该设计中需要使用键盘来输入数字或命令,这其中包括0到9个阿拉伯数字,“输入密码”,“拔卡”,“删除”,“打印凭条”,“确定”,“输入金额”,“输入体积”,“开始加油”共18个键,因此我用8255A设计了一个6行,3列的矩阵式键盘。需要输入数字或命令时启动键盘扫描程序,输入数字或命令后转向需要的程序执行。设计电路图如下图9:

在键盘扫描过程中,必须设法消除抖动和其它一些干扰。消除抖动可以用硬件方法,也可以用软件方法,在这里我们选用软件方法。在检测到有键盘按下信号后,用程序设法延时一段时间后再检测有无键盘按下,如果有键按下,则进入按键确定程序,判断到底是哪一个键按下。

键盘扫描程序的工作机制是这样的:首先,让所有的行输出0,检测列信息,如果列信息全为1,则无键按下,如果有一列为零,则有键按下。判断有键按下后,进入消除抖动程序,再判断是否有键按下,如果此时仍有键按下,开始判断到底是那个键按下。逐行输出0,读列信息,如果列值全为1,扫描下一行,如果有一列为0,则行值和列值就确定了改键的具体位置。将每个键的行值和列值信息经过某种运算存到一个表中,在键盘扫描过程中,根据查询该表所得的信息即可判断该键的体功能。

图 3-7 键盘部分设计图

- 11 -

3.4 显示模块设计

显示部分我选用的是LCD数码管,根据需要共需要显示2行信息,每行8位,

故一共需要16位LCD数码管。LCD数码管的显示需要一种驱动芯片来驱动,经过调查,我选用了HT1621芯片,该芯片可以方便地驱动16位LCD数码管。

3.4.1 HT1621工作原理

HT1621是128 点内存映象和多功能的LCD驱动器。HT1621 的软件配置特性使它适用于多种LCD应用场合包括LCD模块和显示子系统用于连接主控制器。

HT1621的管脚只有4 或5 条。HT1621 还有一个节电命令用于降低系统功耗。HT1621结构:

显示内存(RAM)

静态显示内存 RAM 以32 * 4位的格式储存所显示的数据。RAM的数据直接

映象到 LCD 驱动器,可以用READ,WRITE和READ-MODIFY-WRITE 命令访问。

图 3-8 HT1621显示内存结构

LCD 驱动器

HT1621是一个128 *2 4 点的LCD 驱动器,它可由软件配置成1/2 或1/3 的

LCD驱动器偏压和2,3或4个公共端口,这一特性使HT1621适用于多种LCD 应用

场合。LCD驱动时钟由系统时钟分频产生,LCD 驱动时钟的频率值保持为256Hz

由频率为32.768KHz的晶振片内RC 振荡器或外部时钟产生。LCD 驱动器相关命

令参见下表3:

- 12 -

- 13 -

表 3-3 LCD 驱动器相关命令

粗体100即“100”表示命令模式类型,如果执行连续的命令除了第一个命令其它命令的模式类型码将被忽略。LCD OFF 命令使LCD 偏压发生器失效从而关闭LCD 显示,LCD ON 命令使LCD 偏压发生器有效从而打开LCD 显示。BIAS&COM 是LCD 模块相关命令,可以使HT1621 与大多数LCD 模块相兼容 。

HT1621可以用软件设置两种模式的命令,可以配置HT1621和传送LCD 所显示的数据。HT1621 的配置模式称为命令模式,命令模式类型码为100,命令模式包括一个系统配置命令,一个系统频率选择命令,一个LCD 配置命令,一个声音频率选择命令,一个定时器/WDT 设置命令和一个操作命令。数据模式包括READ

,WRITE 和READ-MODIFY-WRITE 操作。下表是数据和命令模式类型码表

表 3-4 数据和命令模式类型码表

模式命令应在数据或命令传送前运行,如果执行连续的命令,命令模式代码即100,将被忽略。当系统在不连续命令模式或不连续地址数据模式下,管脚/CS 应设为1,而且先前的操作模式将复位。当管脚/CS 返回0 时新的操作模式类型码应先运行。

3.4.2 数码管工作原理

我们使用的是七段码的液晶数码管,它共有六个引脚,采用二分法来确定

- 14 - 段码,管脚图如下图。

图 3-9 LCD 管脚图

在二分法中,我们将a,b,c,d 四个引脚接在一起,将e,f,g 三个引脚接在一起。

m0 m1 m2 m3

s0 a b c d

s1 e f g

如上面所示,我们通过s 和m 来选择性地接通各个管脚。如要接通a,我们可令s0=0,m0=0,此类推其他管脚。根据此原理段码编码如下表:

表 3-5 LCD 数码管段码表

3.4.3 显示部分电路原理图

图 3-10 显示部分设计图

相关主题
文本预览
相关文档 最新文档