基于单片机的IC卡预收费水表系统硬件毕业设计论文.docx
《基于单片机的IC卡预收费水表系统硬件毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的IC卡预收费水表系统硬件毕业设计论文.docx(35页珍藏版)》请在冰豆网上搜索。
基于单片机的IC卡预收费水表系统硬件毕业设计论文
XX学院本科生毕业设计(论文)
基于单片机的IC卡预收费水表系统硬件设计
HardwareDesignofPre-chargestheWaterMeterICCardSystemBasedOnSing-chip
总计:
26页
表格:
2个
插图:
15幅
基于单片机的IC卡预收费水表系统硬件设计
[摘要]本论文主要设计研究基于单片机的IC卡预收费水表系统硬件电路,其主要功能是以AT89C51单片机为核心,实现IC卡的读写,液晶显示的控制,电磁阀的控制,脉冲的提取,同时具有安全保护电路、记忆单元电路、通信接口电路,完成整个水表信号的读、写处理,监控水表工作的功能。
本文对每个模块逐一进行了研究,全面详细地论述了硬件电路的设计流程,对本设计中非接触式IC卡读写电路模块、液晶显示电路模块和H6152读写电路模块等工作原理及功能进行了详细了说明。
[关键词]单片机;IC卡;液晶显示;记忆模块
HardwareDesignofPre-chargestheWaterMeterICCardSystemBasedOnSing-chip
ElectronicInformationEngineeringCHANGJing
Abstract:
Inthispaper,themaindesignbasedonsingle-chippre-chargestheICcardwatermetersystemhardwarecircuitdesign,itsmainfunctionisbasedonAT89C51single-chipmicrocomputerasthecore,therealizationofICcardreader,LCDdisplaycontrol,thecontrolsolenoidvalve,pulseextraction,atthesametimesecurityprotectioncircuit,memorycellcircuit,communicationinterfacecircuit,thesignalmetertocompletethereading,writingandprocessing,monitoringtheworkfunctionofwatermeters.Inthispaper,onebyoneforeachmodulestudied.Fulldetailofthehardwarecircuitdesignflow,forthedesignoftheCentralAfricancontactlessICcardreadercircuitmodule,liquidcrystaldisplaycircuitmoduleandcircuitmodule,suchasreadingandwritingH6152workingprincipleandfunctionaredescribedindetail.
Keywords:
SCM;ICCard;Liquidcrystaldisplay;Memorymodules
1引言
1.1IC卡的相关知识
ISO7816定义了IC卡芯片中点到卡左边沿距离为:
15.06mm,到上边沿的距离为:
23.89mm(8-pin),22.62mm(6-pin),宽度:
85.72-85.74mm,高度:
54.03-53.92mm,厚度:
0.83mm。
IC卡,又称“集成电路卡”、智能卡,英文名称“IntegratedCircuitCard”或“Smartcard”,是法国人Rolandmorono于1974年发明的,将具有存储、加密及数据处理能力的集成电路芯片模块封装于和信用卡尺寸一样大小的塑料基中,便构成了IC卡。
IC卡具有防磁、防静电、抗破坏性和耐用性强、防伪性好、存储数据安全性高(可加密)、数据存储容量大、应用设备及系统网络环境成本低、品种型号齐全、技术规范成熟等特点。
正是由于IC卡具备诸多无可比拟的优点,因此在金融、税务、公安、交通、邮电、通讯、服务、医疗、保险等各个领域都得到了广泛的重视和应用。
它作为一种新的高科技产品正在引起人们的广泛关注,其关键在于卡的应用,它标志着又一种新的信息处理手段的问世。
未来多功能的卡的普及与应用将改变整个社会的生活方式,是人类全面迈向电子化时代的钥匙。
在高科技产品日新月异且不断地伴随于人们生活要求的情况下,且在IC卡领域内又发展起了一项新技术-――非接触式IC卡,其在工作时将卡片靠近读写器表面即可完成卡中的数据的读写操作,它成功地将射频识别技术和IC卡技术结合起来,解决了无源和无接触这一难题。
与接触式IC卡相比较,它具有可靠性高、操作方便快捷,安全防冲突、应用范围广、加密性能好等优点,因而它更受人们欢迎。
1.2IC卡的分类
(1)按存储容量分:
IC卡的存储量小的几十个Bit,大到几十个KBYTE
(2)按安全级别分:
非加密存储卡、逻辑加密存储卡、CPU卡
(3)按连接方式分:
接触式和非接触式
(4)按IC芯片厂家:
德国Siemens、法国Gemplus、美国Atmel、荷兰Philips等
1.3IC卡的历史
IC卡是集成电路卡(IntegratedCircuitCard)的英文简称,在有些国家也称之为智能卡等。
将一个专用的集成电路芯片镶嵌于符合ISO7816标准的PVC(或ABS)塑料基片中,封装成外形与磁卡类似的卡片形式,即制成一张IC卡。
当然也可以封装成纽扣、钥匙、饰物等特殊形状。
IC卡的最初设想是由日本人提出来的。
1969年12月,日本的有村国孝提出一种制造安全可靠的信用卡方法,并于1970年获得专利,那时叫ID卡(IdentificationCard)。
1970年,法国人罗兰德·莫瑞诺(Rolandmoreno)第一次将可进行编程设置的IC(IntegratedCircuit)芯片放于卡片中,使卡片具有更多的功能。
当时,他对这项技术的描述是:
镶嵌有可进行自我保护存储器的片。
这样就诞生了世界上第一张IC卡。
1974年,法国的罗兰德·莫瑞诺(Rolandmoreno)发明了带集成电路芯片的塑料卡片,并取得了专利权,这就是早期的IC卡。
1976年法国布尔公司研制出世界第一枚IC卡。
1984年,法国的PTT(Posts,TelegraphsandTelephones)将IC卡用于电话卡,由于IC卡良好的安全性和可靠性,获得了意想不到的成功。
随后,国际标准化组织(ISO,InternationalStandardizationOrganization)与国际电工委员会(IEC,InternationalElectrotechnicalCommission)的联合技术委员会为之制订了一系列的国际标准、规范,极大地推动了IC卡的研究和发展。
在此后的三十多年里,随着超大规模集成电路技术、计算机技术以及信息安全技术等的发展,IC卡种类更加丰富,技术也更趋成熟,已在国内外得到了广泛的应用。
1.4国内外的应用现状
美国是信用卡的发源地,磁卡应用在全世界占首位,从上世纪60年代起就开始发卡应用了。
到了1988年,发卡量已经超过10亿张,人均约5张,消费金额达到4695亿美元。
1993年仅美国两家最大的发卡公司VISA和MASTER的发行量即达到了6.6亿张,遍及全世界200多个国家和地区,消费额达到8250亿美元,电子收款机ECR的普及率约为400~500台/万人。
1987年,美国的ATM机已达3台/万人。
如今,美国已开始用IC卡取代磁卡,比较成功有应用有:
校园IC卡、交通IC卡、军人身份证卡。
在法国,IC卡诞生于法国,它是IC卡应用的先驱。
据国际发明组织统计,1988年10月至1989年9月全世界IC卡硬件产业中,IC卡及读写器数量分别为4200万张和87700台,其中法国分别占98%和71%,处于世界领先地位。
目前,法国IC卡不仅在数量上领先其它各国,而且其应用领域的多样化更为突出,如在金融、电信、医疗、保险、旅游、游戏和交通运输等各个领域都有IC卡的广泛应用。
在其他欧洲国家更是如此,IC卡均得到广泛的应用。
在我国,IC卡的发展在我国的起步较晚,但在IC卡行业里,我国是一个发展较快的国家之一。
自1993年7月我国电子工业部协同银行、邮电及有关部委提出了命名为“金卡”的专项工程,总目标是:
用10年左右的时间,在全国400个大中城市及部分经济发达县区推广使用卡基支付工具,在这些覆盖了3亿城市人口的地区,发卡总量要达到2亿张,年交易额达到1万亿元。
整个“金卡”工程分为试点、推广和普及三个阶段。
到2000年我国IC卡的出货量达到了2.3亿张,2001年为3.8亿张,2002年为4.13亿张,2003年为3.97亿张(由于SARS影响导致电信和公交卡发行量减少),2004年达到了5.63亿张,2005年达到7.66亿张。
可见,IC卡在我国的快速发展,目前已经有10余个部门和行业推广应用了IC卡。
在各方面的努力下,IC卡相关产品得到迅速发展,如自动柜员机ATM、销售点终端机POS;网络加密机和电子结算、转账、交换等大型应用软件系统等等。
特别是国内在自主研究开发1C卡产品方面取得了长足进步。
比如,我国已研制开发生产出IC卡操作系统、IC卡集成电路芯片生产设备,也完成了如模块生产、卡基与卡片制作、各类读写卡设备与机具的研发及产业化配套等,全面带动了我国电子信息产业的发展。
2基于单片机的IC卡预收费水表硬件设计
2.1预收费水表系统硬件组成
本水表电路的硬件设计原则是在低功耗的前提下,实现多功能,组成框图如图1所示。
系统硬件电路由IC卡读写电路、液晶显示控制电路、电磁阀控制电路、脉冲提取电路、安全保护电路、记忆单元电路、通信接口电路组成,以AT89C51为核心控制芯片,完成整个水表信号的读、写处理,监控水表工作的功能。
该CPU芯片内置4K的程序存储器,有32个多功能的I/O口,具有多个可编程的中断I/O口和数据串行通信口。
并且,该芯片功耗低,特别适用于水表控制线路多、功能全、功耗低的要求。
它能方便地读取IC卡的数据,并控制电磁阀和液晶显示器的工作,同时还可以将水表的数据存入E2ROM进行永久保存并可通过串口送至表外的数据终端,大大地提高了该水表的智能化的功能。
本水表采用电池供电。
IC卡座
通信插座
来自水量
传感器
去脉冲
电磁阀
图1硬件总体框图
2.2AT89C51单片机简介
2.2.189C51单片机的基本组成
在一小块芯片上,集成了一个微型计算机的各个组成部分,即89C51单片机芯片内包括:
(1)一个8位的微处理器(CPU)。
(2)片内256字节数据存储器RAM/SFR,用以存放可以读/写的数据,如运算的中间结果、最终结果以及欲显示的数据等。
(3)片内4KB程序存储器FlashROM,用以存放程序、一些原始数据和表格。
(4)4个8位并行I/O端口P0-P3,每个端口既可以用作输入,也可以用作输出。
(5)两个16位的定时器/计数器,每个定时器/计数器都可以设置成计数方式。
(6)具有5个中断源、两个中断优先级的中断控制系统。
(7)一个全双工UART的串行I/O口,用于实现单片机之间或单片机与PC机之间的串行通信。
(8)片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。
(9)具有节电工作方式,即休闲方式和掉电方式。
以上各个部分通过片内八位数据总线相连接。
2.2.289C51单片机引脚及其功能
如图2所示为单片机AT89C51的引脚图。
图2单片机AT89C51的引脚图
(1)XTAL1(19脚):
振荡器反相放大器的及内部时钟发生器的输入端。
(2)XTAL2(18脚):
振荡器反相放大器的输出端。
(3)RST(9脚):
复位输入,当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
(4)P0口(39~32脚):
P0口是一个漏极开路的8位准双向I/O端口。
作为漏极开路的输出端口,每位能驱动8个LS型TTL负载。
当P0口作为输入口使用时,应先向口锁存器写入全1,此时P0口的全部引脚浮空,可作为高阻抗输入。
(5)P3口(10~17脚):
P3口是一组带有内部上拉电阻的8位双向I/O多功能口。
P3口输出缓冲器可驱动4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口,此时,被外部拉低的P3口将用上拉电阻输出电流。
当CPU不对P3口进行SFR寻址访问时,即用作第二功能输出/输入线时,由内部硬件使锁存器Q置1。
用作第二功能时如表1所示。
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处低电平10ms来完成。
在芯片擦除操作中,代码陈列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
表1P3口与第二功能表
端口引脚
第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
INT0(外中断0)
P3.3
INT1(外中断1)
P3.4
T0(定时器/计数器0)
P3.5
T1(定时器/计数器1)
P3.6
WR(外部数据存储器写选通)
P3.7
RD(外部数据存储器读选通)
3系统各模块硬件电路设计
3.1IC卡读写电路
3.1.1Mifare1射频IC卡
Mifare1射频IC卡的核心是Philips公司制造的Mifare1ICS50系列微晶片,其内部包括1KB高速EEPROM、数字控制模块和一个高效率射频天线模块。
卡片本身不带电池供电,工作时将卡片放在读写器的有效工作区域,卡片读写器的天线发送无线电载波信号耦合到卡片上的天线提供电源能量,其电压可达2V以上,足以满足卡片上的IC电路供电需要。
在信道保证和数据完整性方面,Mifare1标准还提供了信道检测、存储数据冗余校验、三次传递认证以及防冲突机制等功能,保证了数据交换过程的安全。
Mifare1射频IC卡的主要性能指标如下。
(1)1KB的EEPROM,分为16个扇区,每个扇区分为4块,每块16B,以块为存取单位。
(2)每个扇区有独立的一组(2个)密码及存取权限设置。
(3)每张卡有唯一的32位序列号。
(4)具有防冲突机制、支持多卡操作。
(5)无电源,自带天线,内含加密控制逻辑和通信逻辑电路。
(6)数据可保存10年,可反复写10万次。
(7)工作频率为13.56MHZ。
(8)106kbps的快速数据传输速率。
(9)读写距离最大可达10cm(取决于天线设计)。
(10)工作温度范围:
-20--+50。
C。
Mifare1射频卡包含了两个部分:
RF射频接口电路和数字电路部分。
(1)RF射频接口电路
在RF射频接口电路中,主要包括波形转换模块和POR模块。
波形转换模块可将卡片读写器上的13.56MHZ的无线电调制频率接收,一方面送调制/解调模块,另一方面进行波形转换,将正弦波转换为方波,然后对其整流滤波,由电压调节模块对电压进行进一步的处理,包括稳压等,最终输出供给卡片上的各电路。
POR模块主要是对卡片上的各个电路进行POWER-ON-RESET(上电复位),使各电路同步启动工作。
(2)数字电路部分模块
·ATR模块:
AnswertoRequest(“请求之应答”)
当一张Mifare1卡片处在卡片读写器的天线的工作范围之内时,程序员控制读写器向卡片发出REQUESTall(或REQUESTstd)命令后,卡片的ATR将启动,将卡片Block0中的卡片类型(TagType)号共2个字节传送给读写器,建立卡片与读写器的第一步通信联络。
如果不进行第一步的ATR工作,读写器对卡片的其他操作(Read/Write等)将不会进行。
·Anticollision模块:
防止(卡片)重叠功能
如果有多张Mifare1卡片处在卡片读写器的天线的工作范围之内时,AntiCollision模块的防重叠功能将被启动工作,在程序员控制下的卡片读写器会与每一张卡片进行通信,取得每一张卡片的系列号。
由于Mifare1卡片每一张都具有唯一的系列号,决不会相同,因此卡片读写器根据卡片的序列号来识别、区分已选的卡片。
卡片读写器中的MCM中的Anticollision防重叠功能配合卡片上的防重叠功能模块,由程序员来控制读写器,根据卡片的序列号来选定一张卡片。
被选中的卡片将直接与读写器进行数据交换,未被选择的卡片处于等待状态,随时准备与卡片读写器进行通信。
Anticollision模块(防重叠功能)启动工作时,卡片读写器将得到卡片的序列号SerialNumber。
序列号SerialNumber存储在卡片的Block0中,共有5个字节,实际有用的为4个字节,另一个字节为序列号SerialNumber的校验字节。
·SelectApplication模块:
主要用于卡片的选择
当卡片与读写器完成了上述的二个步骤,程序员控制的读写器要想对卡片进行读写操作,必须对卡片进行“SELECT”操作。
以使卡片真正地被选中。
被选中的卡片将卡片上存储在BLOCK0中的卡片的容量“SIZE”字节传送给读写器。
当读写器收到这一字节后,可以对卡片进行深一步的操作,例如,可以进行密码验证等等。
·认证及存取控制模块
在确认了上述的三个步骤,确认已经选择了一张卡片时,程序员对卡片进行读写操作之前,必须对卡上已经设置的密码进行认证,如果匹配,则允许进一步的Read/Write操作。
Mifare1卡片上有16个扇区,每个扇区都可分别设置各自的密码,互不干涉。
因此每个扇区可独立地应用于一个应用场合。
整个卡片可以设计成“一卡通”形式来应用。
·控制及算术运算单元
这一单元是整个卡片的控制中心,是卡片的“头脑”。
它主要进行对整个卡片的各个单位进行微操作控制,协调卡片的各个步骤。
同时它还对各种收/发的数据进行算术运算处理,递增/递减处理,CRC运算处理,等等。
是卡片中内建的中央微处理机(MCU)单元。
·RAM/ROM单元
RAM主要配合控制及算术运算单元,将运算的结果进行暂时的存储。
如果某些数据需要存储到EEPROM,则由控制及算术运算单元取出送到EEPROM存储器中;如果某些数据需要传送给读写器,则由控制及算术运算单元取出,经过RF射频接口电路的处理,通过卡片上的天线传送给卡片读写器。
RAM中的数据在卡片失掉电源后(卡片离开读写器天线的有效工作范围内)将被清除。
同时,ROM中还固化了卡片运行所需要的必要的程序指令,由控制及算术运算单元取出去对每个单元进行微指令控制,使卡片能有条不紊地与卡片的读写器进行数据通信。
·数据加密单元
该单元完成对数据的加密处理及密码保护。
·存储器及其接口电路
该单元主要用于存储数据。
EEPROM中的数据在卡片失掉电源后(卡片离开读写器天线的有效工作范围内)仍将被保持,用户所要存储的数据被存放在该单元中。
Mifare1卡片中的这一单元容量为8196bit(1Kbyte),分为16个扇区,64个块。
3.1.2H6152读写模块
图3H6152基本结构示意图
H6152的基本结构如图3所示。
图中,对外通信的接口为J3和J4。
J3口共有7针,包括RS-232/422的接口引脚和读写器模块的电源端,接地端,具体的功能定义如下:
(1)引脚1:
保留引脚
(2)引脚2:
+5V电源脚
(3)引脚3:
接地端
(4)引脚4:
A路串行接收RxD(RS-232/422)
(5)引脚5:
A路串行发送TxD(RS-232/422)
(6)引脚6:
B路串行接收RxD(RS-422)
(7)引脚7:
B路串行发送TxD(RS-422)
J4口为4针接口,提供电源和操作状态的LED灯指示信号,具体的定义如下:
(1)引脚1:
读过程LED指示的正端。
(2)引脚2:
读过程LED指示的负端。
(3)引脚3:
供电LED指示的正端。
(4)引脚4:
供电LED指示的负端。
H6152读写模块操作简单方便,读写过程稳定有效。
它集成了PCB板载天线电路和RS-232/422接口的集成读写模块,还提供了RS-232/422接口与TTL接口的转换电路。
H6152需外界+5V电源供电。
主要性能指标如下:
(1)工作频率:
13.56MHz。
(2)串行通信波特率:
9600bps、19200bps、38400bps和57600bps4种可选。
(3)接口:
RS-232/422/485。
(4)天线输出阻抗:
50K欧姆。
(5)天线尺寸:
45mm×70mm。
(6)电源电压:
+5V。
(7)电流供应:
80mA。
(8)工作温度:
-40~+85℃.
(9)最大读写距离:
50mm。
3.1.3IC卡读写电路的原理及说明
IC卡应用系统的硬件设计结构框图如图4所示,总体原理图见附录1。
单片机AT89C51是本设计的核心器件,它主要完成了对射频卡(MIFARE1卡)的读写操作。
H6152读写器对射频卡进行读写后通过串口电平转换电路将RS-232电平转换为单片机所识别的TTL电平,从而达到了使用AT89C51单片机来控制射频卡的读写过程。
图4硬件设计结构框图
硬件电路由单片机模块、串口电平转换模块和H6152读写模块3部分电路组成,其工作原理分别如图5、图6、图7所示。
图5单片机模块
图6串口电平转换模块
图7H6152读写模块
U1为单片机芯片AT89C51,其P1.0脚为单片机对H6152的控制输出,它控制H6152的工作状态,该引脚为高电平时,H6152停止工作;P1.1脚为单片机对蜂鸣器的控制输出,为低电平时,蜂鸣器发出蜂鸣声。
XTAL0和XTAL1分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器,石晶振荡和陶瓷均可采用。
如采用外部时钟源驱动器件,则XTAL1不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
本设计的外部时钟电路是将XTAL0(18脚)和XTAL1(19)脚分别对接外部晶体和微调电容的两端所构成。
另外单片机中还带有复位端,为了安全方便,单片机采用了上电自动复位和手动复位两种。
图7中的U3为H6152的对外接口,1-7脚对应H6152板上的J3的1-7针,8-11脚对应H6152板上的J4的1-4针。
L1为双色发光二极管,它表示当前H6152的工作状态。
串口电平转换电路采用Maxim公司的MAX3232实现。
MAX3232将单片机的TTL电平转为RS-232,然后与H6152的RS-232接口直接相连。
RS-232C是数据终端设备(DTE)和数据通信设备(DCE)之间的接口标准,是在微机接口应用中常用的一种串行通信总线标准,全称为EIA-RS-232C标准(ElectoronicIndustrialAss