




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
任务书一、原始依据(包括设计或论文的工作基础、研究条件、应用环境、工作目的等。)工作基础:掌握51单片机的基本原理,能够使用C51完成相关的应用程序,了解射频卡的基本工作原理。研究条件:51单片机实验系统以及FM1702射频卡读写模块。应用环境:基于FM1702的单片机读写模块的程序设计工作目的:熟练掌握51单片机的C编程熟练使用Proteus/Protel作为电路设计、仿真的辅助工具了解射频卡的安全认证和读写控制开发基于该系统的读写控制程序二、参考文献1单片机的C语言应用程序设计,马忠梅,北京航空航天大学出版社,2007.2基于FM1702射频识别读写器的设计与实现,邢海霞,索明何.嵌入式计算机,2007.3新概念51单片机C语言教程,郭天祥,电子工业出版社,2008.4C程序设计(第三版),谭浩强,清华大学出版社,2007.5The8051MicrocontrollerandEmbeddedSystems,MuhammadAliMazidietc.三、设计(研究)内容和要求(包括设计或研究内容、主要指标与技术参数,并根据课题性质对学生提出具体要求。)1、掌握51单片机C编程。2、掌握射频卡读写控制的基本原理和步骤。3、完成基于该模块的射频卡的基本读写控制程序的开发。4、在此基础上,通过扩展外接输入输出设备完成对射频卡读写控制。指导教师(签字)年月日审题小组组长(签字)年月日摘要本论文描述了以AT89C51单片机作为控制器,以射频技术为核心,基于复旦微电子公司FM1702SL模块设计的非接触式IC卡读写器,阐述了该系统的组成、作原理以及相应的软硬件设计。然后介绍了TypeA型常用的卡片Mifare1ICS50以及对应读卡器的设计方法和电路(使用专用的射频读卡集成芯片FM1702),并细描述了系统各个模块的组成和原理,根据课题要求详细介绍了设计的一款TypeA型读卡器的射频模块的实现方案。最后介绍了系统设计的软件部分,重点介绍了FM1702的主要特性(如防冲突、三重验证等)以及与Mifare1非接触IC卡通信等一些重要软件模块,并展示了实际测试的结果并证明了该读写器完成了基本功能,运行稳定可靠。关键词:AT89C51;FM1702;非接触式IC卡ABSTRACTThispaperintroducestheICcardread-writedevicewhichisbasedonFM1702ofShanghaiFudanMicroelectronicsCompany,itusesmicro-computerAT89C51asthecontrollerandtheradiofrequencytechnologyasthecore.Thepaperdescribesthecomponetsofthesystem,workingprincipleandthecorrespondinghardwaredevice.Then,thepaperrepresentsthecardMF1ICS50whichisusuallyusedinthecardsofTypeAandthemethodofthedesignandthecircuitofthecardreaderdevice(thedeviceusestheradiofrequencechipreadermoduleFM1702),inaddition,thepaperanalyzestheprinciplesofeverymoduleindetailsandthedesignrulesoftheantennacircuit.Finally,thepaperintroducesthedesignofthesoftware,especiallyitdescribesthefeaturesofFM1702(suchasanticollision,authenticationetc)andthebasicinstructionofICcardreadersetwhichiscontactlesstoMifarel.Afterthetest,theread-writedeviceshowstheactualtestresultsanditcancompletethebasicfunctionsandoperatesstably.Keywords:AT89C51;FM1702;ICRead-WriteDevice0目录第一章绪论.11.1研究背景.11.2射频识别技术的优点.11.3研究的意义以及目的.21.4研究内容.2第二章基于FM1702的读卡器硬件电路设计.32.1系统结构.32.2系统工作过程.32.3可靠性和可行性分析.32.4主控制模块.42.5读卡器模块.52.6Mifare1S50非接触IC卡介绍.82.7显示模块.12第三章基于FM1702的读卡器软件设计.183.1主程序.183.2FM1702初始化子程序.193.3寻卡等待.203.4读卡子程序.213.5主函数其他功能.22第四章总结与展望.2514.1总结.254.2展望.25参考文献.26附录致谢0第一章绪论1.1研究背景目前很多国家的城市缴费系统存在着很多问题,如大量使用现金交易,管理规范化较差,一种卡只适用于一种缴费场合,原本的磁卡系统保密性和安全性较差,同时卡片本身容易损坏,等等。人们使用金钱的机会越来越多,而大量的现金交易不方便也不安全。因此一种安全可靠,容易操作和管理的缴费系统,将会在城市发展中发挥积极的作用。单片机主要用于控制的,它的应用领域遍及各行各业,大到航天飞机,小到日常生活中的冰箱,彩电,单片机都可以大显其能。单片机在国内外的很多领域中应用得十分广泛,比如家用电器业,通信业,仪器仪表,汽车电子工业,以及工业控制领域等等。单片机几乎在人类生活的各个领域中都表现出了强大的生命力,随着单片机性能的进一步提高,它必将得到更多广泛的应用。射频卡,为近年才出现的新型卡片,在卡片上嵌有IC(E2PROM,有的还有CPU)。由于它保存的信息比较可靠安全、可以高达几万次的读写,能存储大量资料。射频卡技术在生产流水线上实现自动控制、监视,提高生产率,改进生产方式,节约了成本。射频卡系统用于智能仓库货物管理,能有效地解决与货物流动有关的信息管理,不但增加了处理货物的速度,还可监视货物的一切信息。在缴费系统中应用单片机技术和射频卡技术,扩展功能方便,管理将更有效率,将两者的优势结合在一起。该系统在城市缴费中必然发挥重大作用1。1.2射频识别技术的优点IC卡按卡与外界数据传送的形式不同,分为接触式IC卡和非接触式IC卡。接触式IC卡通过8个触点从读写器获取能量和交换数据;非接触式IC卡通过射频感应从读写器获取能量和交换数据,所以非接触式IC卡又叫射频卡。现在常见的是接触式IC卡,这类卡的读写操作速度较慢,操作也不方便,每次读写时必须把卡正确地插入到读写器的口槽才能完成数据交换。这样,在需要频繁读/写卡的场合就很不方便,而且IC卡的触点暴露在外,容易损坏和搞脏而造成接触不良。非接触式IC卡是基于电磁感应原理开发出来的产品。它的读写操作只需将卡片放在读写器附近一定的距离之内就能实现数据交换,无需任何接触,使用非常方便、快捷,不易损坏。目前Philips公司的Mifare卡现在是国内市场的主流产品,应用越来越广。其典型型号为Mifare1S50,它有1K字节EEPROM用于1存放数据,分成16个区,每个区都有自己独立的密码,具有完善的安全机制。Mifare卡是一种智能卡,内建有中央微处理机等,使卡的安全保密性、认证逻辑等微操作控制有序进行。Mifare卡读写器的设计一般采用Philips公司生产的读写模块MCM200或MCM500。随着技术的进步,PHILIPS公司现在生产了功能及性能更好的读卡芯片(例如:MF-RC500),我们就是以这种芯片为基础来设计和开发Mifare射频卡读写器2。1.3研究的意义以及目的城市公交系统,高速公路,地铁的自动收费系统,水电费收费系统,医疗保险系统等,其工作的质量与效率会直接影响到人民群众的日常生活和工作,本系统的应用必然极大地提高城市居民的生活便利程度,一定程度上缓解城市交通的拥挤。利用现代计算机和通讯技术,实现城市缴费射频卡收费系统,能显著提高企业的现代化管理水平,为公交运营管理提供科学准确的数字信息,获得明显的社会和经济效益。现代化城市开始朝着一卡通方向发展。一卡通的城市缴费系统,是一个革命性的转变,要经基层领域的长时间的实践应用中不断完善和发展。一旦实现,对于城市的整体竞争力的提高,会有很大帮助3。1.4研究内容本课题研究的内容是基于51单片机的射频卡读写系统,本论文中用该读写系统模拟自助交费系统。系统以AT89C51单片机作为处理控制器,应用FM17-02SL射频卡读写模块,读取射频卡中卡号和账户余额,实现自动缴费,并将缴费后的账户余额信息发送到OCMJ2X8A液晶显示模块电路进行显示。当余额不足时候发出警报。该设计系统在长期使用的情况下不容易损坏,能够简单得被工作人员操作,使其能够广泛应用于多个领域。2第二章基于FM1702的读卡器硬件电路设计2.1系统结构IC卡FM1702读卡器芯片MCU主控制模块1283LCD显示模块图2-1系统结构图IC卡:非接触式IC卡模块由非接触式IC卡读卡器芯片FM1702及其外围电路组成。射频读写器向IC卡发一组固定频率的电磁波,卡片内有一个LC串联谐振电路,其频率与读写器发射的频率相同,这样在电磁波激励下,LC谐振电路产生共振,从而使电容内有了电荷;在这个电荷的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内存储,当所积累的电荷达到2V时,此电容可作为电源为其它电路提供工作电压,将卡内数据发射出去或接受读写器的数据。对M1卡进行读写操作并反馈给MCU4。MCU主控制模块功能:对输入信号进行分析计算,控制非接触式IC卡模块,给予LCD以及LED模块数据和信号,等待键盘模块的命令。LCD显示器模块:进行读操作时,显示M1卡号、显示“读数据”以及读的数据;进行写操作时,显示M1的卡号、显示“WRITE”以及写入数据。2.2系统工作过程接通电源后,系统不停地检测FM1702周围是否有可以识别的IC卡,如果有,AT89C51就把卡内预设单元数据读回,减去预设缴费值(5元),然后将处理后的数据通过FM1702存储卡内,接着将卡挂起,避免一次刷卡进行多次缴费操作。一次缴费操作(一次读取一次存储)的时间小于5ms,而进行一次刷卡操作的时间大于0.5s,因此正常刷卡不会影响对卡的读写操作。操作结束后系统会控制蜂鸣器提示操作完毕,之后会在OCMJ2X8A(12832)液晶上显示个人信息,包括ID剩余金额,本次扣除金额等。32.3可靠性和可行性分析由于单片机芯片主要应用于工业控制,只能化仪器仪表和家用电器,因此对单片机应用系统的可靠性提出了更高的要求。可靠性是单片机应用系统的重要指标之一,单片机应用系统的可靠性通常是指在规定的条件下和规定的时间内,完成规定工作的能力。提高系统的可靠性也就是要减少系统的故障,而引起故障的因素有来自系统内部和外部两个方面。一个高可靠性的单片机应用系统是通过可靠性设计而产生的,并通过可靠性生产和可靠性使用及维护来保证的。单片机是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中,靠程序运行的,并且可以修改。通过不同的程序实现不同的功能。将单片机技术和射频卡技术有效地结合起来,必然给社会的发展带来巨大的效益。2.4主控制模块MCU主控电路是射频卡读写器的核心部分,主要负责系统上电后对各个模块的初始化、控制通信模块完成与上位机进行串行数据通信、控制显示模块显示数据、声光报警、控制射频模块通过天线完成对射频卡的各种操作等,保证系统能够有序、稳定的工作。因此本设计采用单片机控制外围电如图2-2。图2-2主控制电路SO主设备数据输出,从设备数据输入;4SI主设备数据输入,从设备数据输出;SCLK时钟信号,由主设备产生;CS从设备使能信号,由主设备控制。2.5读卡器模块2.5.1读卡器模块概述读卡器模块是由复旦微电子股份有限公司设计的非接触卡读卡器专用芯片FM1702SL和少量外围电路组成的。该读卡器模块包括了接口电路,天线电路,存储电路以及电源电路。模块电路如图2-3。图2-3读卡器模块电路图52.5.2读卡器芯片FM1702图2-4FM1702管脚图FM1702芯片有以下特点:高集成度的模拟电路,只需最少量的外围线路;操作距离可达10cm;支持ISO14443协议;内部带有加密单元;支持SPI接;包含512byte的EEPROM;包含64byte的FIFO;数字电路具有TTL/CMOS两种电压工作模式;软件控制的powerdown模式;一个可编程计时器;一个中断处理器;一个串行输出输入口;启动配置可编程数字,模拟和发射模块都有独立的电源供电,电压范围从3V到5V;封装形式为SOP24小型封装。FM1702的管脚配置如图2-5所示。管脚功能如表2-1。表2-1FM1702管脚功能表引脚序号引脚名称类型引脚功能1OSCINI晶振输入:fosc=13.56MHz2IRQ0中断请求:输出中断源请求信号3MFINI串行输入:接收满足ISO14443A协议的数字串行信号4TX1O发射口1:输出经过调制的13.56MHz信号5TVDDPWR发射器电源:提供TX1和TX2的输出能量6TX2O发射口2:输出经过调制的13.56MHz信号7TVSSPWR发射器地8C0I固定接低电平9C1I固定接高电平10C2I固定接高电平11DVSSPWR数字地612MISOO主入从出:SPI接口下数据输出13SCKI串行时钟(SCK):SPI接口下时钟信号14MOSII主出从入:SPI接口下数据输入15NSSI接口选通:选通SPI接口模式16C3I固定接低电平17DVDDPWR数字电源18AVDDPWR模拟电源19AUXO模拟测试信号输出:输出模拟测试信号,测试信号由TestAnaOutSel寄存器选择20AVSSPWR模拟地21RXI接收口:接收外部天线耦合过来的22VMIDPWR内部参考电压:输出内部参考电压23RSTPDI复位及掉电信号:高电平时复位内部电路24OSCOUTO晶振输出2.5.3FM1702接口规范FM1702SL支持SPI微处理器接口,在SPI通信方式下,FM1702SL只能作为slave端,SCK时钟需由master提供。时序图如图2-6。SPI时序如表2-2。表2-2时序表符号参数MINMAX单位tSCKLSCK低电平宽度100nstSCKHSCK高电平宽度100nstSHDXSCK高到数据改变20nstDXSH数据改变到SCK变高20nstSLDXSCK低到数据改变15nstSLNHSCK低到NSS变高20ns7图2-5SPI时序图2.6Mifare1S50非接触IC卡介绍2.6.1主要指标容量为8K位(bits)=1K字节(bytes)EEPROM;分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位;每个扇区有独立的一组密码及访问控制;每张卡有唯一序列号,为32位;具有防冲突机制,支持多卡操作;无电源,自带天线,内含加密控制逻辑和通讯逻辑电路;数据保存期为10年,可改写10万次,读无限次;工作温度:-2050(湿度为90%);工作频率:13.56MHZ;通信速率:106KBPS;读写距离:10cm以内(与读写器有关)。2.6.2存储结构M1卡分为16个扇区,每个扇区由4块(块0、块1、块2、块3)组成,我们也将16个扇区的64个块按绝对地址编号为063。存贮结构如下图2-7所示:块0数据块0扇区0块1数据块1块2数据块2块3数据块3块0数据块48扇区1块1数据块5块2数据块6块3数据块7数据块60扇区0数据块60151数据块612数据块623数据块63图2-7S50存贮结构图第0扇区的块0(即绝对地址0块),它用于存放厂商代码,已经固化,不可更改。每个扇区的块0、块1、块2为数据块,可用于存贮数据。数据块可作两种应用:用作一般的数据保存,可以进行读、写操作;用作数据值,可以进行初始化值、加值、减值、读值等操作。每个扇区的块3为控制块,包括了密码A、存取控制、密码B。具体结下:A0A1A2A3A4A5FF078069B0B1B2B3B4B5密码A(6字节)存取控制(4字节)密码B(6字节)每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存取控制。存取控制为4个字节,共32位,扇区中的每个块(包括数据块和控制块)的存取条件是由密码和存取控制共同决定的,在存取控制中每个块都有相应的三个控制位,定义如下:块0:C10C20C30块1:C11C21C31块2:C12C22C32块3:C13C23C33三个控制位以正和反两种形式存在于存取控制字节中,决定了该块的访问(如进行减值操作必须验证KEYA,进行加值操作必须验证KEYB,等等)。三个控制位在存取控制字节中的位置,以块0为例。对块0的控制如表2-3:表2-3块0控制表9Bit76543210字节6C20-bC10-b字节7C10C30-b字节8C30C20字节9(注:C10_b表示C10取反)存取控制(4字节,其中字节9为备用字节)结构如表2-4所示:表2-4存取控制结构表Bit76543210字节6C23-bC22-bC21-bC20-bC13-bC12-bC11-bC10-b字节7C13C12C11C10C33-bC32-bC31-bC30-b字节8C33C32C31C30C23C22C21C20字节9(注:_b表示取反)数据块(块0、块1、块2)的存取控制如表2-5:表2-5数据块存取控制表控制位(X=0.2)访问条件(对数据块0、1、2)C1XC2XC3XReadWriteIncrementDecrement,transfer,Restore000KeyA|BKeyA|BKeyA|BKeyA|B010KeyA|BNeverNeverNever100KeyA|BKeyBNeverNever110KeyA|BKeyBKeyBKeyA|B001KeyA|BNeverNeverKeyA|B011KeyBKeyBNeverNever101KeyBNeverNeverNever111NeverNeverNeverNever(KeyA|B表示密码A或密码B,Never表示任何条件下不能实现)例如:当块0的存取控制位C10C20C30=100时,验证密码A或密码B10正确后可读;验证密码B正确后可写;不能进行加值、减值操作。2.6.3工作原理卡片的电气部分只由一个天线和ASIC组成。天线:卡片的天线是只有几组绕线的线圈,很适于封装到IS0卡片中。ASIC:卡片的ASIC由一个高速(106KB波特率)的RF接口,一个控制单元和一个8K位EEPROM组成。工作原理:读写器向M1卡发一组固定频率的电磁波,卡片内有一个LC串联谐振电路,其频率与读写器发射的频率相同,在电磁波的激励下,LC谐振电路产生共振,从而使电容内有了电荷,在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内储存,当所积累的电荷达到2V时,此电容可做为电源为其它电路提供工作电压,将卡内数据发射出去或接取读写器的数据。M1射频卡与读写器的通讯M1射频卡与读写器的通讯如图2-8。复位应答(Answertorequest)M1射频卡的通讯协议和通讯波特率是定义好的,当有卡片进入读写器的操作范围时,读写器以特定的协议与它通讯,从而确定该卡是否为M1射频卡,即验证卡片的卡型。防冲突机制(Anti-collisionLoop)当有多张卡进入读写器操作范围时,防冲突机制会从其中选择一张进行操作,未选中的则处于空闲模式等待下一次选卡,该过程会返回被选卡的序列号。选择卡片(SelectTag)选择被选中的卡的序列号,并同时返回卡的容量代码。三次互相确认(3PassAuthentication)选定要处理的卡片之后,读写器就确定要访问的扇区号,并对该扇区密码进行密码校验,在三次相互认证之后就可以通过加密流进行通讯。(在选择另一扇区时,则必须进行另一扇区密码校验。)11图2-8M1射频卡与读写器的通讯FM1702SL使用的认证算法称为三重认证。它基于密钥长度为48比特的私有加密数据流。如欲获取标准卡片的数据,有关相应密要的知识是必需的。为能够成功进行卡的认证以及后续对储存于卡EEPROM中的数据进行操作,FM1702SL必须能够获得正确的密钥。当一张卡按照ISO14443A协议被选中后,用户可以按照标准协议继续操作。这种情况下,必须执行卡片认证。这一过程在执行Authent1(0CH)和Authent2(14H)指令时自动完成。在卡认证的过程中,加密算法被初始化,在成功认证之后与卡的通讯处于加密状态。在认证指令执行过程中,FM1702SL从内部密钥缓冲器中读取密钥。密钥总是从密钥缓冲器中获取。因此认证指令无需指明密钥存储地址。当然,在认证指令开始之前,用户必须保证在密钥缓冲器中已经准备好了密钥。密钥缓冲器可以通过一下方式加载:用LoadKeyE2指令从EPROM中加载;直接由外部处理器通过LoadKey指令从FIFO中加载。三重加密算法被用于执行标准认证。在密钥缓冲器中必须储存准确的密钥12以便能够进行成功的认证操作。步骤1:通过LoadKeyE2或者LoadKey加载密钥到内部密钥缓冲器;步骤2:启动Authent1指令,结束以后,检查错误标志来判断执行结果;步骤3:启动Authent2指令,结束以后,检查错误标志以及FM1702中Crypto1On标志来判断执行结果。2.7显示模块2.7.1显示模块概述显示模块由OCMJ2X8A中文图形两用型液晶显示模块组成,与主控制电路连接接口图如图2-9。2.7.2OCMJ2X8A中文图形两用型液晶显示模块简介内含GB231216*16点阵国际一级简体汉字和ASCII8*8(半高)及8*16(全高)点阵英文字库,用户输入区位码或ASCII码即可实现文本显示。OCMJ中文模块系列液晶显示器也可用作一般的点阵图形显示器之用。提供有位点阵和子节点阵两种图形显示功能,用户可在指定的屏幕位置上以点为单位或以字节为单位进行图形显示。完全兼容一般的点阵模块。OCMJ中文模块系列液晶显示器可以实现汉字、ASCII码、点阵图形和变化曲线的同屏显示,并可通过字节点阵图形方式造字。13图2-9OCMJ2X8A中文图形两用型液晶显示器与主控制电路连接图本系列模块具有上/下/左/右移动当前显示屏幕及清楚屏幕的命令。一改传统的使用大量的设置命令进行初始化的方法,OCMJ中文模块所有的设置初始化工作都是在上电时自动完成的,实现了“即插即用”。同时保留了一条专用的复位线供用户选择使用,可对工作中的模块进行软件或硬件强制复位。规划整齐的10个用户接口命令代码,非常容易记忆。标准用户硬件接口采用REQ/BUSY握手协议,简单可靠。表2-6OCMJ2X8A(12832)引脚说明引脚名称方向说明1VLED+I背光源正极(LED+5V)2VLED-I背光源负极(LED-0V)143VSSI地4VDDI(+5V)5REQI请求信号,高电平有效6BUSY0应答信号=1:已收到数据并正在处理中;=0:模块空闲,可接收数据7DB0I数据08DB1I数据19DB2I数据210DB3I数据311DB4I数据412DB5I数据513DB6I数据614DB7I数据7硬件接口接口协议为请求/应答(REQ/BUSY)握手方式。应答BUSY高电平(BUSY=1)表示OCMJ忙于内部处理,不能接收用户命令;BUSY低电平(BUSY=0)表示OCMJ空闲,等待接收用户命令。发送命令到OCMJ可在BUSY=0后的任意时刻开始,先把用户命令的当前字节放到数据线上,接着发高电平REQ信号(REQ=1)通知OCMJ请求处理当前数据线上的命令或数据。OCMJ模块在收到外部的REQ高电平信号后立即读取数据线上的命令或数据,同时将应答线BUSY变为高电平,表明模块已收到数据并正在忙于对此数据的内部处理,此时,用户对模块的写操作已经完成,用户可以撤销数据线上的信号兵可作模块显示以外的其他工作,也可不断地查询应答线BUSY是否为低(BUSY=0?),如果BUSY=0,表明模块对用户的写操作已经执行完毕。可以再送下一个数据。如向模块发出一个完整的显示汉字的命令,包括坐标及汉字代码在内共需5个字节,模块在收到最后一个字节后才开始执行整个命令的内部操作,因此,最后一个字节的应答BUSY高电平(BUSY=1)持续时间较长,具体的时序图参见图2-10。15图2-10对模块写汉字时序图2.7.3用户命令用户通过用户命令调用OCMJ系列液晶显示器的各种功能。命令分为操作码及操作数两部分,操作数为十六制。共分为3类10条。分别是:一)字符显示命令:显示国标汉字;显示8X8ASCII字符;显示8X16ASCII字符;二)图形显示命令:显示位点阵;显示字节点阵;三)屏幕控制命令:清屏;上移;下移;左移;右移。(以下所示取值范围分别为:2X8、4X8、5X10的取值范围)显示国标汉字命令格式:F0XXYYQQWW该命令为5字节命令(最大执行时间为1.2毫秒,Ts2=1.2ms),其中XX:为以汉字为单位的屏幕行坐标值,取值范围00到07、02到09、00到09YY:为以汉字为单位的屏幕列坐标值,取值范围00到01、03到09、00到04QQWW:坐标位置上要显示的GB2312汉字区位码显示8X8ASCII字符命令格式:F1XXYYAS16该命令为4字节命令(最大执行时间为0.8毫秒,Ts2=0.8ms),其中XX:为以ASCII码为单位的屏幕行坐标值,取值范围00到0F、04到13、00到13YY:为以ASCII码为单位的屏幕列坐标值,取值范围00到1F、04到3F、00到4FAS:坐标位置上要显示的ASCII字符码显示8X16ASCII字符命令格式:F9XXYYAS该命令为4字节命令(最大执行时间为1.0毫秒,Ts2=1.0ms),其中XX:为以ASCII码为单位的屏幕行坐标值,取值范围00到0F、04到13、00到13YY:为以ASCII码为单位的屏幕列坐标值,取值范围00到1F、04到3F、00到4FAS:坐标位置上要显示的ASCII字符码显示位点阵命令格式:F2XXYY该命令为3字节命令(最大执行时间为0.1毫秒,Ts2=0.1ms),其中XX:为以1*1点阵为单位的屏幕行坐标值,取值范围00到7F、20到9F、00到9FYY:为以1*1点阵为单位的屏幕列坐标值,取值范围00到40、00到40、00到40显示字节点阵命令格式:F3XXYYBT该命令为4字节命令(最大执行时间为0.1毫秒,Ts2=0.1ms),其中XX:为以1*8点阵为单位的屏幕行坐标值,取值范围00到0F、04到13、00到13YY:为以1*1点阵为单位的屏幕列坐标值,取值范围00到1F、00到3F、00到4FBT:字节像素值,0显示白点,1显示黑点(显示字节为横向)清屏命令格式:F4该命令为单字节命令(最大执行时间为11毫秒,Ts2=11ms),其功能为将屏幕清空。17上移命令格式:F5该命令为单字节命令(最大执行时间为25毫秒,Ts2=25ms),其功能为将屏幕向上移一个点阵行。下移命令格式:F6该命令为单字节命令(最大执行时间为30毫秒,Ts2=30ms),其功能为将屏幕向下移一个点阵行。左移命令格式:F7该命令为单字节命令(最大执行时间为12毫秒,Ts2=12ms),其功能为将屏幕向左移一个点阵行。右移命令格式:F8该命令为单字节命令(最大执行时间为12毫秒,Ts2=12ms),其功能为将屏幕向右移一个点阵行。18第三章基于FM1702的读卡器软件设计3.1主程序主程序流程图如图3-1所示。该程序分为OCMJ2X8A中文图形两用型液晶显示器子程序和主程序,其中主程序的功能主要包括,MCU初始化功能、读卡器芯片FM1702初始化功能、读卡器寻卡功能、读卡器读/写卡功能、防冲突功能,三重验证功能等6个重要功能。图3-1主程序流程图193.2FM1702初始化子程序FM1702初始化子函数流程图如图3-2。该函数的名称为Init_FM1702(),实现FM1702复位功能、SPI数据接口初始化功能、FM1702相关设置等三个功能。图3-2FM1702初始化子函数流程图203.3寻卡等待开始开始结束结束显示:等待状态显示:等待状态延时100ms延时100ms显示:()显示:()延时100ms延时100ms显示:()显示:()延时100ms延时100ms显示:()显示:()延时100ms延时100ms操作区域是否有卡?操作区域是否有卡?YN图3-3寻卡等待流程图寻卡等待功能流程图如图3-3。该功能使用了Request寻卡子函数、OCMJ2X8A(12832)显示子程序,delay延时子函数,分别起到寻卡检测,LCD显示寻21卡界面、延时等三个功能。3.4读卡子程序读卡子函数流程图如图3-4。该子函数的名称是Card_Mun子函数包含了AntiColl子函数、Select_Card子函数、Load_key_CPY子函数、Authentication子函数和OCMJ2X8A(12832)显示子程序。该读卡子函数实现了诸如防冲突、选卡、装载密匙、三重认证、显示卡号或错误信息等重要功能。该子函数的返回值有0、1、2、4,其含义是验证正确、无卡、CRC校验、三重认证失败。认证成功如图3-5,显示请求刷卡界面。图3-4读卡子函数流程图22图3-5认证成功3.5主函数其他功能除上述子函数的介绍和寻卡等待功能的介绍外,主函数还实现了扣款功能,即刷一次卡扣款5元并显示余额的功能。图3-6显示了当前余额及扣款金额。图3-6刷卡显示当前余额及扣款金额23图3-7显示了再次刷卡,扣款后的余额及扣款金额。图3-7扣款后图主程序中的主要函数名称及主要功能如表3-1。表3-1主程序子函数功能表子函数名称功能Init_FM1702()FM1702初始化函数SPIWriteSPI数据接口初始化函数SPIbyte-transceive该函数实现SPI通讯的数据收发SPIWrite该函数实现通过SPI接口对FM1702中一个寄存器值SPIRead该函数实现通过SPI接口读取RC531中一个寄存器值Request该函数实现对放入FM1702操作范围之内的卡片的寻卡操作Command_Send该函数实现向FM1702发送命令集的功能Clear_FIFO该函数实现清空FM1702中FIFO的数据Write_FIFO该函数实现向FM1702的FIFO中写入xbytes数据Read_FIFO该函数实现从FM1702的FIFO中读出xbytes数据Judge_Req该函数实现对卡片复位应答信号的判断24AntiColl该函数实现对放入FM1702操作范围之内的卡片的防冲突检测Check_UID该函数实现对收到的卡片的序列号的判断Select_Card该函数实现对放入FM1702操作范围之内的某张卡片进行选择Load_keyE该函数实现把E2中密码存入FM1702keyRevBuffer中M500HostCodeKey转换密钥格式Authentication该函数实现密码认证MIF_Read该函数实现读MIFARE卡块的数值MIF_Write该函数实现写MIFARE卡块的数值Read_E2该函数实现从FM1702的EEprom中读出数据Write_E2该函数实现向FM1702的EE中写入数据init该函数实现单片机初始化及功能设置setpay该函数实现将数值转化为百位,个位,小数点后一位Card_Mun该函数实现读卡内信息25第四章总结与展望4.1总结通过这段时间的不懈努力,终于完成了基于FM1702的射频卡读卡器的功能实现。在接通电源后,系统不停地检测FM1702周围是否有可以识别的IC卡,如果有,AT89T51就把卡内预设单元数据读回,减去预设缴费值(5元),然后将处理后的数据通过FM1702存储卡内,接着将卡挂起,避免一次刷卡进行多次缴费操作。操作结束后系统会控制LED提示操作完毕,之后会在OCMJ2X8A(12832)液晶上显示个人信息,包括ID剩余金额,本次扣除金额等。在完成毕业设计过程中,对单片机及射频卡技术有了较深刻的认识,对硬件选择有了更好的理论基础,使自己具备一定的学习研究能力;翻阅、检索资料的能力也得到相应的提高。在读卡模块的资料收集和处理中,学习社会上的各种卡片的发展和变化的过程,也对整个单片机的功能应用有了更全面的认识;而在液晶显示方面,使自己更好的掌握了编程语言。4.2展望本人所设计的射频卡读写器完成了设计要求,但仍有许多改进之处。如该射频卡读写器只可以实现显示基本的寻卡等待界面,每次刷卡只能减少固定数值,用户只能看到简单的信息等。基于这两个问题可有以下改进方案:1)可以改进程序,让读卡器在寻卡等待时显示时间、日期等信息;2)硬件上增加矩阵键盘,软件上增加相应的程序,使每次刷卡可以实现任意加减数值。3)增加串行接口,改进程序,使其可以往卡内写入用户信息(如性别、年龄等),还可以增加上位机程序,实现人机交互,让卡内信息一目了然。26参考文献1慈新新,王苏滨,王硕.无线射频识别(RFID)系统技术与应用M,2007.2游战清,刘克胜,吴翔,林汉宏等.无线射频设别(RFID)与条码技术M,2007.3黄智伟.射频集成电路芯片原理与应用电路设计M,2004.4范博.射频电路原理与实用电路设计M,2006.5慈新新,盛裕平,张海波等.架设企业级多网络域邮件系统J.软件世界,2000.6慈新新,李德彩,王韬.RFID在物流中的应用及前景J.微电脑世界,2004.7慈新新,曾荣仁.美军射频识别技术应用浅析J.自动识别技术与应用,2004.8慈新新,RFID的技术发展与创新J.微电脑世界平,2005.9慈新新,曾荣仁,王韬.2005年射频识别应用情况回顾J.微电脑世界,2005.10王忠敏,张成海.EPC与物联网M.北京:中国标准出版社,2004.11陈大才等.射频识别(RFID)技术M.北京:电子工业出版社,2001.12陆永宁.非接触式IC原理与应用电子技术M,北京:电子工业出版社,2006.13胡汉才.单片机原理及接口技术M,北京:清华大学出版社,2010.14陈大才.无线射频识别技术(RFID)M.北京:电子工业出版社,2001.15陈宏宇.RFID系统入门M.台北:文魁资讯股份有限公司,2004.16刁建成.RFID原理与应用M.台北:全华科技图书股份有限公司,2005.17张成海,张铎.现代自动识别技术与应用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山中杂诗:诗词赏析与理解
- 销售公司劳动合同
- 世界地理区域知识考核题
- 2023年上海进才中学高一(下)5月考化学试题及答案
- 项目部抹灰班组施工合同
- 难忘的一次演讲比赛经历及其感悟的作文12篇
- 羽绒服活动方案
- 能源之战1500字7篇
- 公交公司六一活动方案
- 英语自然发音规则与单词发音练习教案
- 我国未成年人犯罪的现状、成因及对策研究
- 小型农田水利灌溉工程施工组织设计(word共114页)
- 轧机主传动装置及主电机的选择
- 工程移交书及质量保修书水利工程
- 蓟中上元古界剖面研究生地质实习-中国科学院地质与地球物理研究所
- 管式加热炉温度控制系统设计++
- 水污染源自动监控系统运行作业指导书
- 载人氦气球观光游览项目商业实施计划书
- ASTM_A29/A29M热锻及冷加工碳素钢和合金钢棒
- 《阿斯图利亚传奇》古典吉他谱
- 化学学院526实验室事故的调查报告
评论
0/150
提交评论