基于射频技术的电动汽车非接触式IC卡管理系统设计最终不改版 毕业设计 论文_第1页
基于射频技术的电动汽车非接触式IC卡管理系统设计最终不改版 毕业设计 论文_第2页
基于射频技术的电动汽车非接触式IC卡管理系统设计最终不改版 毕业设计 论文_第3页
基于射频技术的电动汽车非接触式IC卡管理系统设计最终不改版 毕业设计 论文_第4页
基于射频技术的电动汽车非接触式IC卡管理系统设计最终不改版 毕业设计 论文_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

广西工学院毕业设计〔论文〕如需要完整程序,请联系QQ546651840有完整论文和程序本人毕业论文有实物最终辩论成绩85分评定良好题目:基于射频技术的电动汽车非接触式IC卡管理系统设计系别:电子信息与控制工程系__专业班级:电气工程及其自动化(企事业供配电与自动化方向〕姓名:________学号:2021______指导教师:________职称:讲师_________二〇摘要近年来随着中国经济的高速开展,各地区电动汽车的数量在迅速增长,然而管理问题的存在,会给交通以及人们日常生活带来不便。因此应建立优化的电动汽车非接触式IC卡信息管理系统,以方便交通收费和信息管理。本设计中的电动汽车的非接触式IC卡管理系统是以计算机管理为核心、以读卡器和非接触式IC卡为信息载体的管理系统,要求实现对非接触式IC卡的充值和扣费。根据设计要求本论文主要分为以下几个局部,即系统主要设备介绍、系统软件设计与实现以及系统调试。其中系统软件设计与实现是核心局部,包括读卡器的通讯设计、管理系统登录界面设计、卡管理界面操作以及IC卡刷卡界面操作。系统软件设计局部采用VisualC++6.0作为前台开发工具来编写管理系统登录窗口,SQLServer2000作为后台数据库,以方便建立和维护。利用了RF500非接触式读卡器应用程序接口函数,来实现与读卡器的通讯。关键字:电动汽车;管理系统;射频技术;非接触式IC卡AbstractWithChina'srapideconomicdevelopmentinrecentyears,theregionthenumberofelectricvehiclesintherapidgrowth,however,thepresenceofmanagementissues,willcauseinconveniencetotrafficandpeople'sdailylives.Thereforeshouldbeestablishedtooptimizetheelectriccaranon-contactICcardmanagementsystem,tofacilitatethetransportchargesandinformationmanagement.Thedesignoftheelectricvehicles,non-contactICcardmanagementsystembasedoncomputermanagementasthecore,tothereaderandthecontactlessICcardmanagementsystemasaninformationcarrier,requiredtoachievenon-contactICcardrechargeandbucklefee.Thispaperisdividedintothefollowingsectionsaccordingtothedesignrequirements,systemEquipment,systemsoftwaredesignandimplementation,andsystemdebugging.Whichsystemsoftwaredesignandimplementationisacorepartofthereader'scommunicationdesign,managementsystemloginscreendesign,cardmanagementinterfaceoperation,andtheICcardinterfaceoperation.ThedesignportionofthesystemsoftwareusingtheVisualC6.0asafrontdevelopmenttoolstowriteamanagementsystemloginwindow,theSQLServer2000databaseasabackgroundtofacilitatetheestablishmentandmaintenance.UseoftheRF500contactlessreaderapplicationprograminterfacefunction,toachievecommunicationwiththereader.Keywords:electricvehicle;managementsystem;radiofrequencytechnology;non-contactICcard目录1绪论 11.1课题研究的背景和意义 11.1.1背景 11.1.2意义 21.2目前国内外研究及开展现状 21.3本设计任务和拟解决的主要问题 2本设计任务 3拟解决的主要问题 31.4本节小结 32系统主要设备介绍 52.1非接触式IC卡 5简介 5工作原理 52.1.3MifareStandard1K卡 62.1.4卡的功能 92.2读卡器 102.3本章小结 113系统软件设计与实现 123.1软件设计环境 12

VC++简介 12

SQLSERVER

2000简介 133.1.3面向对象编程思想(OOP) 14

RF500非接触式读卡器应用程序接口(API)简介 163.2软件总体设计 183.2.1读卡器的通讯设计 18管理系统登录界面设计 203.2.3管理操作界面 223.2.4IC卡刷卡界面操作 243.3本章小结 254系统调试 264.1单元测试 264.2 本节小结 26结束语 27致谢 28参考文献 29附录一 301绪论1.1课题研究的背景和意义背景近年来随着中国经济的高速开展,各地区电动汽车的数量在迅速增长,城市中的车辆数量占了很大的比重。车辆作为最重要的交通工具,尤其是具有环保型的电动汽车一定会受到家庭〔特别是年青的家庭〕的亲睐,并会有越来越多的人们使用。但随之而来的交通问题也变得日益严重,对车辆的进出进行高效,自动的管理问题,尤为显著。如何方便快捷而又平安地管理进出的车辆并进行自动计费成了现在很多小区管理人员和企业工作者们越来越关注的问题。目前车辆管理系统方面还存一些问题,信息反应不及时,运营本钱现在也是很高的,而效率却很低,也有一些资源浪费的现象,管理方面都是手工操作,缺乏科学性,易收残币、假币、破币等。因此传统的人工低效率工作和收费方式己越来越不适应现代化管理的需要。伴随着电子和通信技术的开展,车辆管理系统与IC卡技术相结合成为开展的必然要求。自2004年起,全球范围内掀起了一场无线射频识别(RFID)的热潮,包括沃尔玛、宝洁、波音公司在内的商业巨头无不积极推动RFID的应用。现在,射频识别技术已经在信息管理行业中快速开展。在这个领域中,最能表达出作用的就是车辆的自动计费。该技术可以收集到车辆相关信息,RFID技术为我们解决有效识别车辆信息提供了完美的解决方案。RFID技术使得我们实现电动车俩IC卡管理系统(自动计费系统)成为可能。该系统是通过对远距离快速移动目标进行非接触式信息采集处理,对车辆信息的标识,并自动扣费。该系统已在多项工程中应用,证明其性能稳定可靠,适合大规模推广应用。近几年来,车辆系统逐渐开始将IC卡技术应运于收费系统,不仅实现自动收费,电脑结算,而且缩短运行时间;减少点钞人员和管理环节,杜绝贪污,减少假币、假票,加速了资金周转,促进企业信息管理系统的完善,带来了管理机构和管理方式上的巨大变化。因此,IC卡应用的推广和智能的收费管理系统的结合,可以改变城建系统企业传统的管理效劳方式,提高企业劳动效率,使企业经济效益和效劳水平明显提高,并对提高城市形象起到了极大的推动作用。电动汽车的非接触式IC卡管理系统是以计算机管理为核心、以非接触式IC卡为信息载体、全新智能收费管理系统。1.1.2意义成功的车辆交通离不开良好的管理,由于一系列问题的存在,严重影响城市交通,给人们的出行带来不便,因此有必要建立优化的电动汽车非接触式IC卡信息管理系统,以方便交通收费和信息管理,解决城市快速开展中所带来潜在的问题,从而有利于人民的日常生活。非接触式IC的应用与先进的管理系统的建立将带来经济和社会效益。(1)经济效益:=1\*GB3①减少车辆停站时间;=2\*GB3②有效制止了假币的流通,以及管理人员贪污及假票现象。(2)社会效益:=1\*GB3①非接触式IC卡携带方便,不易破损,可长久保存,从而方便市民,并减少社会现金流通量。=2\*GB3②庞大可持续开发空间,实现一卡多用的新管理模式。1.2目前国内外研究及开展现状国外现今的车辆收费方式有3种,即人工收费,电子收费和两者的混合。人工收费一般有现金和信用卡两种方式。它的缺点是速度慢,本钱高。随着电子信息和网络技术的逐步开展,车辆电子收费系统已经得到越来越广泛的应用。电子收费本钱相对较低,方便快捷,容易被群众接受。国外的收费系统一般采用了电子收费系统。我国现今的收费方式有人工收费,半自动收费,以及自动收费的方式。采用人工收费时,不但影响了收费路段的通信能力,也存在其他的一些弊病。随着高新技术的普遍应用,将非接触IC卡技术应用于车辆自动收费事业;因其操作迅速简单,必将成为未来开放式收费站的开展趋势。1.3本设计任务和拟解决的主要问题本设计的工作重点是编写管理系统登录窗口,以及管理系统界面能与读卡器实现通讯。其中管理系统登录窗口的应用程序可通过VisualC++6.0来编写,并能在成功登录后进入IC卡管理界面以进行对卡片信息的设置管理等。如下列图1.1所示为系统结构功能图。图1.1系统结构功能图本设计任务(1)软件编程:通过软件编写IC卡管理系统的管理登录界面,只有输入正确的用户和密码才能使用该软件;(2)操作功能:通过上位机登录管理界面,此界面能操作读卡器,能对卡号信息的设置和管理,读卡器能读取卡上的信息和将信息写入卡中;(3)保密防伪:区分卡密,并对非授权范围内的卡发出报警;(4)卡业务逻辑:将卡作为一个电子钱包,能够实现卡的余额查询,充值,修改等操作;(5)界面业务整合:采用友好的用户界面将上述业务逻辑进行整合。从而通过友好的用户界面实现用户同业务逻辑层的友好交互。1.3.2拟解决的主要问题(1)通过C++软件编写IC卡管理系统登录界面,并设置软件的使用权限;(2)后台数据库的建立与连接;(3)成功登录IC卡管理系统后,能进入管理系统界面;(4)能实现计算机与读卡器之间的通讯,并通过管理系统界面对读卡器以及卡号的相应操作。1.4本节小结本设计提出的是基于射频技术的电动汽车非接触式IC卡管理系统设计,主要是:(1)用相关软件编写非接触式IC卡管理系统登录窗口,当成功登录后应能与数据库连接,以进入管理系统界面,并能与读卡器之间产生通讯。利用管理系统界面能实时有效地对IC卡信息的管理,并通过读卡器对IC卡的操作等。由于对IC卡信息的管理以及操作是通过软件和硬件来实现的,故系统中所用到的硬件局部主要有计算机、读卡器和非接触式IC卡;软件局部主要有VC++前台开发应用程序和SQLServer2000后台数据库。论文各局部的安排如下:1绪论本节主要说明了本课题研究的背景和意义,介绍了目前国内外研究及开展现状,说明了本设计任务和拟解决的主要问题。2系统主要设备介绍本节主要介绍了系统主要的硬件设备,即非接触式IC卡和读卡器。本设计中所采用的非接触式IC卡为MifareStandard1K,论文中对其进行了简介,包括扇区以及存储控制的详细说明。同时也对读卡器(RF500LED)的功能特性等参数的简要介绍。3系统软件设计与实现本节首先介绍了软件设计的环境:VC++、SQLServer2000数据库以及RF500非接触式读卡器应用程序接口函数,也即实现通讯的关键局部。其次是软件总体设计,包括读卡器的通讯设计、管理系统登录界面设计、卡管理界面操作以及IC卡刷卡界面操作。4系统调试本节主要针对读卡器能否成功地对IC进行读、写等操作进行了单元测试。通过建立了一个Win32ConsoleApplication对IC卡读写类的测试,以保证IC卡读写模块功能的可靠性以及功能的完备性。2系统主要设备介绍2.1非接触式IC卡简介非接触式IC卡(CICC—ContactlessIntegreatedCircuitCard)也称无触点集成电路卡、射频卡或非接触式智能卡,由IC芯片、感应天线组成,封装在一个标准的PVC卡片内,芯片及天线无任何外露局部,如图2.1所示非接触式IC卡。非接触式IC卡是世界上最近几年开展起来的一项新技术,它成功的将射频识别技术和IC卡技术结合起来,结束了无源(卡中无电源)和免接触这一难题,是电子器件领域的一大突破。它的应用历史要比接触式IC卡短,但由于它的方便性、耐用性更佳,它在很多场合已经取代了接触式IC卡,在卡市场中所占的份额也越来越大。图2.1非接触IC卡工作原理非接触型IC卡本身是无源体,卡片在一定距离范围(通常为5-10mm)靠近读写器外表,通过无线电波的传递来完成数据的读写操作。读写器向卡发一组固定频率的电磁波,卡片内有一个LC串联谐振电路,其频率与读卡当读写器对卡进行读写操作时,读写器发出的信号由两局部叠加组成:一局部是电源信号,该信号由卡接收后,与其本身的L/C产生谐振,产生一个瞬间能量来供应芯片工作。另一局部那么是结合数据信号,指挥芯片完成数据、修改、存储等,并返回给读写器。由非接触式IC卡所形成的读写系统,无论是硬件结构,还是操作过程都得到了很大的简化,同时借助于先进的管理软件,可脱机的操作方式,都使数据读写过程更为简单。与接触式IC卡相比拟,非接触式卡具有以下优点:(1)可靠性高;(2)操作方便、快速;(3)防冲突;(4)可以适合于多种应用;(5)加密性能好;MifareStandard1K卡本文采用了MifareStandard1K卡,它具有如下的特性:〔1〕1K字节EEPROM;〔2〕分为16个扇区,每个扇区包括4块,每块16个字节,以块为存取单位;〔3〕用户可自定义每个存储块的访问条件;〔4〕每张卡有唯一序列号,为32位;〔5〕具有防冲突机制,支持多卡操作;〔6〕非接触传送数据和无源(卡中无电源);〔7〕至少10年数据保存期,至少10万次擦写;〔8〕读写距离:在100mm内(与天线形状有关);〔9〕工作频率:13.56MHZ;〔10〕通信速率:106kbit/s;〔11〕典型交易过程:<100ms(包括备份管理);〔12〕温度范围:-20℃~50它的具体存储结构如下表1所示:表1MifareStandard1K存储结构图扇区号序号123456789101112131415名称块号00厂商代码区01数据区12数据区23A密码存取控制B密码扇区0控制块区310数据区41数据区52数据区63A密码存取控制B密码扇区1控制块区7:150数据区601数据区612数据区623A密码存取控制B密码扇区15控制块区63从中可以知道,总共有16个扇区,每个扇区中有4个数据块。第0扇区的块0〔即绝对地址0块〕被保存用于存放厂商代码,已经固化,不可更改。其中每个扇区的数据块3用来存储该扇区的认证密码。它被称为扇区控制块。它包括:密码A和密码B(可选),读取时返回“0〞。访问该扇区4块的存取控制,如果不需要密码B,块3的最后6个字节可用作数据,它具体结构如下表2。表2扇区具体结构A0A1AFF078069B0B1B2B3B4B5密码A(6字节)存取控制(4字节)密码B(6字节)每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存取控制。在存取控制中每个块都有相应的三个控制位,定义如下表3。表3块的三个控制位块0C10C20C30块1C11C21C31块2C12C22C32块3C13C23C33三个控制位以正和反两种形式存在于存取控制字节中,决定了该块的访问权限〔如进行减值操作必须验证KEYA,进行加值操作必须验证KEYB,等等〕。三个控制位在存取控制字节中的位置如下表4〔注:字节9为备用字节,默认值为0x69〕。表4三个控制位在存取控制字节中的位置bit76543210字节6C23_bC22_bC21_bC20_bC13_bC12_bC11_bC10_b字节7C13C12C11C10C33_bC32_bC31_bC30_b字节8C33C32C31C30C23C22C21C20其中,_b表示取反,黑色区控制块3,蓝色区控制块2,绿色区控制块1,红色区控制块0。数据块〔块0、块1、块2〕的存取控制如下表5。表5数据块的存取控制控制位(X=0...2)访问条件〔对块0、1、2〕C1XC2XC3XReadWriteIncrementDecrementtransferrestore000KeyA|BKeyA|BKeyA|BKeyA|B010KeyA|BNeverNeverNever100KeyA|BKeyBNeverNever110KeyA|BKeyBKeyBKeyA|B001KeyA|BNeverNeverKeyA|B011KeyBKeyBNeverNever101KeyBNeverNeverNever111NeverNeverNeverNever其中KeyA|B表示密码A或密码B,Never表示任何条件下不能实现。例如:当块0的存取控制位C10C20C30=100时,验证密码A或密码B正确后可读;验证密码B控制块〔块3〕的存取控制与数据块〔块0、1、2〕不同,它的存取控制如下表6。表6控制块的存取控制控制位密码A存取控制密码BC13C23C33ReadWriteReadWriteReadWrite000NeverKeyA|BKeyA|BNeverKeyA|BKeyA|B010NeverNeverKeyA|BNeverKeyA|BNever100NeverKeyBKeyA|BNeverNeverKeyB110NeverNeverKeyA|BNeverNeverNever001NeverKeyA|BKeyA|BKeyA|BKeyA|BKeyA|B011NeverKeyBKeyA|BKeyBNeverKeyB101NeverNeverKeyA|BKeyBNeverNever111NeverNeverKeyA|BNeverNeverNever例如:当块3的存取控制位C13C23C33=100时,表示:密码A:不可读,验证KEYB正确后,可写〔更改〕。存取控制:验证KEYA或KEYB正确后,可读不可写。密码B:不可读,验证KEYB卡的功能(1)标准请求:一张卡上电复位后就可以响应读写器发出的寻卡命令。读写器向天线范围内的所有卡片发出命令,并识别卡片的型号。(2)防冲突循环:在防冲突循环中将读出卡片的系列号。如果有几张卡片都在读写器的读写范围内,可以通过唯一的系列号区别它们,并选中其中一张卡片,其余没有选中的卡片将进入等待状态,等待下一次寻卡命令。(3)卡片选择:用选卡命令读写器选择一张卡片来进行密码验证和有关的存储操作。卡片将对代码为08h的选卡命令ATS做出响应,该命令决定了所选卡片的类型。(4)卡片认证:读写器选中一张卡片后就指定了后续存取访问的存储空间,并以次响应开始3重密码验证。(5)悬停:调用rf_halt()函数来停止对卡片的所有操作,卡片进入HALT状态。(6)内存操作:密码验证通过后,可进行以下操作:读块:读取一个存储块的内容;写块:写入一个存储块的内容;减值:减少一个块的值并保存在内部存放器内;增值:增加一个块的值并保存在内部存放器内;保存:将块的内容写入数据存放器中;传输:将内部存放器的内容写入某一块中。2.2读卡器在非接触式IC卡应用系统中,非接触式IC卡读卡器是关键设备。本设计采用RF500LED读卡芯片的非接触式IC卡读卡器。RF500射频IC卡读写器是一种标准型非接触式射频IC卡读写设备,它通过RS232/485/接口实现与PC机的连接。既支持单机操作,又可联网使用。可读写符合MIFARE及MIFAREPRO标准的射频MEMORY卡和CPU卡。其具有以下特点:能识别ISO14443-TYPEA型标准卡片,读取卡号,并有防冲突功能;能对TYPEA的卡片进行高层操作;可以使用RS232通信接口输出来与上位机之间通信。RF500LED非接触IC卡读写设备带有8位数码管显示功能,设备规格:143x110x28mm,显示规格:八位数码管显示,可显示时间、日期、金额、小数点等数字信息。〔1〕功能描述:●读写器和射频卡之间的数据传输采用加密算法,卡和设备双向验证,通信错误自动侦测;●防冲突机制,可同时处理多张射频卡;●具有完整的读写卡功能;●带有蜂鸣器;●可扩充接触式IC卡的操作,满足双界面卡的读写;〔2〕性能指标:●通讯接口:RS232、RS485、DC接口;●串口波特率:9600~115200bit/s,自动侦测;●工作频率13.56MHZ;●工作电源:外接DC5V±5%;系统支持:Windows9X、NT、2000、XP、WinMe等;支持卡型:可读写符合ISO14443-TypeA标准的射频卡以及、Mifare标准卡〔1K、4K、ML〕以及MifareUtralLight卡〔358bit/512bit〕等。如下图读卡器相关的实物图〔1〕读卡器RF500LED〔2〕读卡器接口端〔3〕RS-232通讯线图2.2读卡器以及RS-232通讯线2.3本章小结本节先通过对系统硬件设备非接触式IC卡和读卡器的介绍,以了解硬件属性特征,为下一节系统软件设计工作提供了根底。3系统软件设计与实现3.1软件设计环境编写管理系统登录界面需要用到两种工具,即前台开发语言和后台数据库。VisualC++具有功能强大,通用性强和易于扩充等特点,与后台的SQLSERVER数据库相结合,从而为管理系统的编写过程与系统运行提供一个高性能的管理信息系统解决方案。因此本系统软件设计采用VisualC++作为前台开发语言工具,SQLSERVER作为后台数据库。3.1.1

VC++简介本系统设计选择了VisualC++作为开发工具。VisualC++是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出VisualC++1.0后,随着其新版本的不断问世,VisualC++已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了VisualC++.NET(VisualC++7.0),但它的应用的很大的局限性,只适用于Windows2000,WindowsXP和WindowsNT4.0。所以实际中,更多的是以VisualC++6.0为平台。VisualC++它大概可以分成三个主要的局部:(1)DeveloperStudio,这是一个集成开发环境,我们日常工作的99%都是在它上面完成的,再加上它的标题赫然写着“MicrosoftVisualC++〞,所以很多人理所当然的认为,那就是VisualC++了。其实不然,虽然DeveloperStudio提供了一个很好的编辑器和很多Wizard,但实际上它没有任何编译和链接程序的功能,真正完成这些工作的幕后英雄后面会介绍。我们也知道,DeveloperStudio并不是专门用于VC的,它也同样用于VB,VJ,VID等VisualStudio家族的其他同胞兄弟。所以不要把DeveloperStudio当成VisualC++,它充其量只是VisualC++的一个壳子而已。这一点请切记!(2)MFC。从理论上来讲,MFC也不是专用于VisualC++,BorlandC++,C++Builder和SymantecC++同样可以处理MFC。同时,用VisualC++编写代码也并不意味着一定要用MFC,只要愿意,用VisualC++来编写SDK程序,或者使用STL,ATL,一样没有限制。不过,VisualC++本来就是为MFC打造的,VisualC++中的许多特征和语言扩展也是为MFC而设计的,所以用VisualC++而不用MFC就等于抛弃了VisualC++中很大的一局部功能。但是,VisualC++也不等于MFC。(3)PlatformSDK。这才是VisualC++和整个VisualStudio的精华和灵魂,虽然我们很少能直接接触到它。大致说来,PlatformSDK是以MicrosoftC/C++编译器为核心〔不是VisualC++,看清楚了〕,配合MASM,辅以其他一些工具和文档资料。上面说到DeveloperStudio没有编译程序的功能,那么这项工作是由谁来完成的呢?是CL,是NMAKE,和其他许许多多命令行程序,这些我们看不到的程序才是构成VisualStudio的基石。3.1.2

SQLSERVER

2000简介本系统设计中数据库选用了SQLServer作为后台数据库。SQLServer是一个关系数据库管理系统,它最初是由MicrosoftSybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本。在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了。Microsoft将SQLServer移植到WindowsNT系统上,专注于开发推广SQLServer的WindowsNT版本;Sybase那么较专注于SQLServer在UNIX操作系统上的应用。在本书中介绍的是MicrosoftSQLServer以后简称为SQLServer或MSSQLServer。SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统的最新版本。该版本继承了SQLServer7.0版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的效劳器等多种平台使用。SQLServer2000的特性包括:(1)Internet集成。SQLServer2000数据库引擎提供完整的XML支持。它还具有构成最大的Web站点的数据存储组件所需的可伸缩性、可用性和平安功能。SQLServer2000程序设计模型与WindowsDNA构架集成,用以开发Web应用程序,并且SQLServer2000支持EnglishQuery和Microsoft搜索效劳等功能,在Web应用程序中包含了用户友好的查询和强大的搜索功能。(2)可伸缩性和可用性。同一个数据库引擎可以在不同的平台上使用,从运行MicrosoftWindows98的便携式电脑,到运行MicrosoftWindows2000数据中心版的大型多处理器效劳器。SQLServer2000企业版支持联合效劳器、索引视图和大型内存支持等功能,使其得以升级到最大Web站点所需的性能级别。(3)企业级数据库功能。SQLServer2000关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。SQLServer2000分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是SQLServer2000数据库的一局部,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布效劳器。(4)易于安装、部署和使用。SQLServer2000中包括一系列管理和开发工具,这些工具可改良在多个站点上安装、部署、管理和使用SQLServer的过程。SQLServer2000还支持基于标准的、与WindowsDNA集成的程序设计模型,使SQLServer数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝局部。这些功能使您得以快速交付SQLServer应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。SQLServer2000中包括析取和分析汇总数据以进行联机分析处理(OLAP)的工具。SQLServer中还包括一些工具,可用来直观地设计数据库并通过EnglishQuery来分析数据。SQLServer2000共有4个版本,分别是个人版,标准版,企业版和开发版sqlserver2021是微软出的SQL系列最新版本。其主要特点如下:(1)高性能设计,可充分利用WindowsNT的优势。(2)系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。(3)强壮的事务处理功能,采用各种方法保证数据的完整性。(4)支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。SQLServer以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广阔的用户、开发人员和系统集成商提供了一个出众的数据库平台。3.1.3面向对象编程思想(OOP)面向对象的编程方法OOP是九十年代才流行的一种软件编程方法。它强调对象的“抽象〞、“封装〞、“继承〞、“多态〞。我们讲程序设计是由“数据结构〞+“算法〞组成的。从宏观的角度讲,OOP下的对象是以编程为中心的,是面向程序的对象。OOP的许多原始思想都来之于Simula语言,并在Smalltalk语言的完善和标准化过程中得到更多的扩展和对以前的思想的重新注解。可以说OO思想和OOPL几乎是同步开展相互促进的。与函数式程序设计〔functional-programming〕和逻辑式程序设计〔logic-programming〕所代表的接近于机器的实际计算模型所不同的是,OOP几乎没有引入精确的数学描叙,而是倾向于建立一个对象模型,它能够近似的反映应用领域内的实体之间的关系,其本质是更接近于一种人类认知事物所采用的哲学观的计算模型。在OOP中,对象作为计算主体,拥有自己的名称,状态以及接受外界消息的接口。在对象模型中,产生新对象,旧对象销毁,发送消息,响应消息就构成OOP计算模型的根本。对象的产生有两种根本方式。一种是以原型〔prototype〕对象为根底产生新的对象。一种是以类〔class〕为根底产生新对象。原型的概念已经在认知心理学中被用来解释概念学习的递增特性,原型模型本身就是企图通过提供一个有代表性的对象为根底来产生各种新的对象,并由此继续产生更符合实际应用的对象。而原型-委托也是OOP中的对象抽象,代码共享机制中的一种。一个类提供了一个或者多个对象的通用性描叙。从形式化的观点看,类与类型有关,因此一个类相当于是从该类中产生的实例的集合。OOP的根本思想就是把组件的实现和接口分开,并且让组件具有多态性。不过,两者还是有根本的不同。OOP强调在程序构造中语言要素的语法。你必须得继承、使用类、使用对象、对象传递消息以及面向对象的程序设计。所谓“对象〞就是一个或一组数据以及处理这些数据的方法和过程的集合。面向对象的程序设计完全不同于传统的面向过程程序设计,它大大地降低了软件开发的难度,使编程就像搭积木一样简单,是当今电脑编程的一股势不可挡的潮流。OOP到达了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息。OOP主要有以下的概念和组件:组件-数据和功能一起在运行着的计算机程序中形成的单元,组件在OOP计算机程序中是模块和结构化的根底。抽象性-程序有能力忽略正在处理中信息的某些方面,即对信息主要方面关注的能力。封装-也叫做信息封装:确保组件不会以不可预期的方式改变其它组件的内部状态;只有在那些提供了内部状态改变方法的组件中,才可以访问其内部状态。每类组件都提供了一个与其它组件联系的接口,并规定了其它组件进行调用的方法。多态性-组件的引用和类集会涉及到其它许多不同类型的组件,而且引用组件所产生的结果得依据实际调用的类型。继承性-允许在现存的组件根底上创立子类组件,这统一并增强了多态性和封装性。典型地来说就是用类来对组件进行分组,而且还可以定义新类为现存的类的扩展,这样就可以将类组织成树形或网状结构,这表达了动作的通用性。由于抽象性、封装性、重用性以及便于使用等方面的原因,以组件为根底的编程在脚本语言中已经变得特别流行。3.1.4

RF500非接触式读卡器应用程序接口(API)简介非接触式IC卡读写器的使用及应用程序接口函数〔API〕,所有API函数均可工作于Windows98、Windows2000、WindowsNT、WindowsXP、Unix和Linux等操作系统上。RF非接触式IC卡读写器通过RS232串行接口能实现同PC机的连接。随机提供的接口函数库可满足用户二次开发的需要;其完善、可靠的接口函数,支持访问射频卡的全部功能。目前该设备已广泛地应用于门禁、考勤及高速公路、油站、停车场、公交等收费系统中。API函数,包括通用函数、设备操作函数和卡片操作函数。对于不同的操作系统,函数的参数和返回值的数据类型是不同的,并且有些函数是没有的。通用函数用来实现翻开/关闭串口、加密/解密以及16进制字符串和ASCII字符串间的相互转换等。设备操作函数可以复位读写器、控制蜂鸣器、EEPROM存储器、获取软件版本号、获取硬件版本号及产品系列号等。卡片的应用程序接口〔API〕函数是根据卡片的标准来分类的,对于Mifare标准非接触卡,有专门的API函数对其进行操作,如下表7即为API的相关函数。表7API函数列表API名称功能描述输入参数输出结果rf_load_key向读写器装载指定扇区的新密码〔不与卡片进行通讯〕,读写器中有16个扇区的密码〔0~15〕,每个扇区有两个密码(KEYA和KEYB)icdev:设备描述符_Mode:密码类型0—KEYA4—KEYB_SecNr:须装载密码的扇区号(0~15)_Nkey:写入读写器的6字节新密码=0:成功<>0:失败rf_load_key_hex与rf_load_key函数相似。icdev:rf_init()返回的设备描述符_Mode:密码类型0—KEYA4—KEYB_SecNr:须装载密码的扇区号(0~15)_Nkey:写入读写器的6字节新密码=0:成功<>0:失败rf_request该函数向卡片发出寻卡命令,开始选择一张新卡片时需要执行该函数。icdev:rf_init()返回的设备描述符_Mode:寻卡模式:IDLEmode,只有处在IDLE状态的卡片才响应读写器的命令。ALLmode,处在IDLE状态和HALT状态的卡片都将响应读写器的命令。Tagtype:返回卡片类型=0:成功<>0:失败rf_anticoll激活读写器的防冲突队列。如果有几张MIFARE卡片在感应区内,将会选择一张卡片,并返回卡片的序列号供将来调用rf_select函数时使用。icdev:rf_init()返回的设备描述符_Bcnt:预选卡片使用的位,标准调用时为bcnt=0._Snr:返回的卡片序列号=0:成功<>0:失败rf_select用指定的序列号选择卡片,将卡片的容量返回给PC机。icdev:rf_init()返回的设备描述符_Snr:卡片的序列号_Size:卡片容量的地址指针,目前该值不能使用=0:成功<>0:失败rf_authentication验证读写器中的密码与需要访问的卡片的同一扇区(0~15)的密码是否一致。如果读写器中选择的密码〔可用rf_load_key函数修改〕与卡片的相匹配,密码验证通过,传输的数据将用以下的命令加密。icdev:rf_init()返回的设备描述符_Mode:验证密码类型:0—用KEYA验证4—用KEYB验证_SecNr:将要访问的卡片扇区号(0~15)=0:成功<>0:失败rf_read从一张选定并通过密码验证的卡片读取一块共16个字节的数据。icdev:rf_init()返回的设备描述符_Adr:读取数据的块号(0~63)_Data:读取的数据,PC机上RAM的地址空间由调用该函数来分配。=0:成功<>0:失败rf_write将一块共16字节写入选定并验证通过的卡片中。icdev:rf_init()返回的设备描述符_Adr:写入数据的块地址(1~63)_Data:写入数据,长度为16字节=0:成功<>0:失败3.2软件总体设计3.2.1读卡器的通讯设计图3.1读卡器的操作流程图3.1给出了读卡器的操作流程。首先是的读卡器上电或者复位进入待机状态,而后进入寻卡模式,该模式有两种,IDLE模式下,读卡器只搜寻状态为IDLE的卡。而在ALL模式下,读卡器会搜寻所有的卡。为了解决一次刷多张卡的问题。需要设置读卡器为防冲突模式以防止多张卡造成的通讯干扰问题。之后在经过选卡之后,就可以对卡进行相应的读写操作。在卡操作完成之后中止操作。之后便可以选择下一张卡或者退出读卡操作。图3.2给出了图3.1的流程,即所对应的实际API操作流程。图3.2读卡器的详细API操作流程根据上述的读卡器对卡操作的流程,基于面向对象思想,本设计封装了一个IC卡读取类。将IC卡的读取细节进行了封装,来简化程序中卡的操作。使得整体程序更加简洁,该类的具体实现如图3.4所示,在下一小节中将给予详细介绍。其主要的接口函数:Connect函数用来连接卡,ReadCard用来读取卡数据,WriteCard函数用来写入卡数据,Beep、DispTime、DispVal分别用来鸣叫、显示时间以及显示卡余额等数字信息。在开发过程中,碰到了如下问题。由于卡的内存空间是很珍贵的,而VC6编译器默认对结构体的排布安排了很多填充字节,导致了空间的浪费,为了解决这个问题,设计中采用了#pargmapack(1)指示符,这样就可以让编译器产生很紧凑的结构体,从而节省了存储空间。为了连接动态链接库,有两种方案,动态加载和静态加载。虽然动态加载具有灵活性。但是静态加载编程简单,因此考虑采用静态加载的方法。它具体可写为:#pragmacomment(lib,"RFID500\\mwrf32.lib")3.2.2管理系统登录界面设计对于管理系统登录界面设计,其具体的流程图如下列图3.3所示。图3.3系统登录界面流程图通过在VisualC++6.0环境下编写的非接触式IC卡管理系统登录窗口,最后通过编译,即可出现登录窗口,也即用户登录的验证界面,如下列图3.4所示的电动汽车IC卡管理系统登录界面。图3.4电动汽车IC卡管理系统登录界面当用户密码验证失败,便不会进入主界面中,如图3.5所示的系统登录验证失败界面。图3.5系统登录验证失败界面〔2〕为了能在用户验证成功后,能进入管理界面,需通过以SQL-Server2000为后台数据库,使得用户登录的验证界面能与后台SERVER数据库实现交互,从而在成功验证用户和密码后,能进入管理系统的操作界面,如图3.6所示的管理系统登录成功后的管理操作界面。图3.6系统登录成功后界面管理操作界面对于非接触式IC卡管理系统的操作,其具体的流程图如下列图3.7所示。图3.7管理系统的操作当进入IC卡管理界面,可以实现IC卡的注册以及充值/修改等操作。其操作如下:首先等待用户刷卡,系统状态栏中会显示“正在读卡中…〞的字样,如图3.8所示。图3.8IC卡管理操作界面当读卡成功后,假设该卡为空卡,那么进入IC卡注册状态,系统状态栏中会显示“请更新卡信息〞。IC卡标题栏会显示“添加电动车IC卡信息〞,如图3.9所示。当用户输入所有信息后,信息会记录入IC卡中。图3.9IC卡注册界面假设该卡不为空,那么进入IC卡修改状态,系统状态栏中会显示“请输入充值金额〞。IC卡标题栏会显示“电动车IC卡充值〞,如图3.10所示。当用户输入所有信息后,信息会记录入IC卡中。图3.10IC卡充值/修改界面IC卡刷卡界面操作在正常界面上,管理系统一直在监测读卡器是否有卡,如果发现存有数据的卡被刷,那么其相应的信息会在列表中显示出来,刷一次会扣除一定的钱额。如图3.11所示。图3.11IC卡刷卡管理界面3.3本章小结本节系统软件设计与实现,关键是先通过VC++编程软件开发前台应用程序,在成功登录管理系统后和已在计算机上安装的已建立的SQLServer2000数据库连接,从而实现管理系统登录界面的设计和管理系统与读卡器的通讯设计的模块。4系统调试4.1单元测试成功地对IC进行读,写等操作是本毕业论文设计的难点所在,为了攻克这个难关,我们建立了一个Win32ConsoleApplication对IC卡读写类进行了单元测试。从而保证了IC卡读写模块功能的可靠性以及功能的完备性。图4.1为我们单元测试的测试结果截图。可见,对读卡器的操作都是成功了,证明了我们模块功能的可靠性。其实现代码如下:图4.1IC卡操作模块单元测试本节小结非接触式IC卡能否被读卡器成功读取、写入是管理系统设计的关键之一,所以有必要对其进行测试,确保IC卡读写模块功能的可靠性以及功能的完备性。结束语据本课题设计要求,经过查询相关资料并经过分析,此管理系统需要在相关软件设计环境下,才能完成管理系统设计。本设计中先是采用VisualC++6.0作为前台开发应用程序来编写管理系统登录界面的软件程序;其次利用SQLServer2000个人版作为后台数据库。数据库的作用是在实现成功登录管理系统后,以顺利进入管理操作界面,也即数据库作为一个桥接的作用;最后利用API接口函数实现读卡器与管理界面的通讯,通过此界面操作读卡器、设置IC卡上的信息以及方便管理整个系统。随着电子技术的开展,人们日常生活中越来越多地使用这项新的技术来为自己的工作和学习效劳。虽然本管理系统能够实现根本的功能,但由于个人能力有限且在短时间内很难让功能实现的很全面,尚存在一些不大完善的地方。本设计中只能用软件编写出简单、不怎么美观的界面,只能按固定金额扣钱,且充值后的金额数目与实际值不对应,尚需进行修改,从而才能使系统变得更加完善。总之,有待进一步的改良和深入研究。当然在此次设计中我也有所收获,不仅学到了很多知识,也锻炼了自学和动手能力。特别是当面对一个自己比拟陌生的课题时,要学会怎么利用现有资料以及收集相关的文献,而不是畏惧。设计中难免会遇到困惑,这时需要冷静下头脑并仔细想想,找到根本原因,然后下决心完成。这就是我在设计中所得到的一些感悟。致谢我毕业设计的顺利完成。在设计期间,刘老师向我提供了设计中需要的硬件设备读卡器和非接触式IC卡,附带RS232通讯线和5V电源以及设备相关操作的资料。当我遇到困惑,向他请教时,刘老师总是面带微笑,认真讲述问题的关键所在。在他的悉心指导下,使我在设计中所要实现的目标更加明确,直至顺利完成。在此,向刘老师致以崇高的敬意和真挚的谢意!在此向他们表示最诚挚的谢意!最后,在毕业来临之际,真心祝愿他们学业有成,工作顺利!最后再次感谢老师和同学,给我提供了很大的帮助,他们不厌其烦的为我提出了系统的缺乏之处和改良方法,指导我、催促我,让我从中得到了编程技巧和经验。参考文献[1]史其信.中国智能交通(ITS)开展的战略[J].ITS通信,1999(1):2-8.[2]陈健,汤瑞财.基于RFID-SIM的门禁管理系统研究.北京:中国科技信息,2021.[3]张宇欢.基于RFID的车辆自动识别系统设计.广州新软计算机,2021:90-92.[4]国内RFID在智能交通方面的应用.://enet/cio/RFID世界网,2021.6[5]柯荣杰,王文德,曾振东.基于超高频无线电波射频识别技术的车辆管理系统.勤益科技大学电子工程系.[6]张弢.基于RFID技术的门禁管理系统的实现与研究.信息通信.2021.4[7]李元忠,马勇,杨旭东.不停车车辆门禁管理系统.信息与电子工程.2003.12[8]杨详妹.非接触IC卡在沪宁收费公路系统中的应用.国外公路.1999.19(6)46-49[9]WolfgangRankl,WolfgangEffiing,王卓人,王峰译.智能卡大全[M].北京:电子工业出版社,2002[10]谭华春,张洁,叶新晨,李慧泽,朱佩,赵清华.大型停车场智能汽车搜索系统.第八届机械学习与控制国际会议,2021.7[11]刘志群,李丽华.非接触式IC卡信息管理系统[J].闽江学院物理学与电子信息工程系,福建省工业学院.[12]蔡锦达,吴伟鹏,徐航晖.非接触式IC卡的内部结构与工作原理及其应用.上海理工大学,2005,10.[13]王衡,李克平,孙剑.我国公共交通管理体制现状研究及建议.同济大学交通运输工程学院.[14]何朝平.城市公共交通管理体制研究[D].长安大学,2006.附录一1.编写非接触式IC卡管理系统管理界面的相关程序,并利用SQLServer2000中的查询分析器执行生成以建立数据库,其实现的代码如下:usemastergoifexists(select*fromdbo.sysdatabaseswherename='Vehicle')dropdatabaseVehicleGOcreatedatabaseVehiclegouseVehiclegoifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[user_Info]')andOBJECTPROPERTY(id,N'IsUserTable')=1)droptable[dbo].[user_Info]GOifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[bookin]')andOBJECTPROPERTY(id,N'IsUserTable')=1)droptable[dbo].[bookin]GOifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[rooms]')andOBJECTPROPERTY(id,N'IsUserTable')=1)droptable[dbo].[vehicles]GOifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[roomtype]')andOBJECTPROPERTY(id,N'IsUserTable')=1)droptable[dbo].[roomtype]GOCREATETABLE[dbo].[user_Info]( [user_ID][varchar](15)COLLATEChinese_PRC_CI_ASNOTNULL, [user_PWD][varchar](10)COLLATEChinese_PRC_CI_ASNULL, [user_Des][varchar](10)COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]GOCREATETABLE[dbo].[bookin]( [bookinNO]intidentity(1,1)PRIMARYKEY, [vehicleCardNo][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL, [vehicleOwner][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL, [indate][datetime]NULL, [memo][varchar](100)COLLATEChinese_PRC_CI_ASNOTNULL, [err_level][int]NOTNULL)ON[PRIMARY]GOCREATETABLE[dbo].[vehicles]( [vehicleNO]intidentity(1,1)PRIMARYKEY, [vehicleCardNo][varchar](50)COLLATEChinese_P

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论