已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计(论文)说明书题目:基于FM1702的射频卡读卡器的设计系 名 信息工程系 专 业 自动化 学 号 学生姓名 指导教师 2016年6月6日毕业设计(论文)任务书题目:基于FM1702的射频卡读卡器的设计2015年12月10日 一、原始依据(包括设计或论文的工作基础、研究条件、应用环境、工作目的等。)工作基础:掌握51单片机的基本原理,能够使用C51完成相关的应用程序,了解射频卡的基本工作原理。研究条件:51单片机实验系统以及FM1702射频卡读写模块。应用环境:基于FM1702的单片机读写模块的程序设计工作目的:熟练掌握51单片机的C编程 熟练使用Proteus/Protel作为电路设计、仿真的辅助工具 了解射频卡的安全认证和读写控制 开发基于该系统的读写控制程序二、参考文献1单片机的C语言应用程序设计,马忠梅,北京航空航天大学出版社,2007.2基于FM1702射频识别读写器的设计与实现,邢海霞,索明何. 嵌入式计算机,2007. 3新概念51单片机C语言教程,郭天祥,电子工业出版社,2008.4C程序设计(第三版),谭浩强,清华大学出版社,2007.5The 8051 Microcontroller and Embedded Systems, Muhammad Ali Mazidi etc.三、设计(研究)内容和要求(包括设计或研究内容、主要指标与技术参数,并根据课题性质对学生提出具体要求。)1、掌握51单片机C编程。2、掌握射频卡读写控制的基本原理和步骤。3、完成基于该模块的射频卡的基本读写控制程序的开发。4、在此基础上,通过扩展外接输入输出设备完成对射频卡读写控制。指导教师(签字)年 月 日审题小组组长(签字)年 月 日天津大学仁爱学院本科生毕业设计(论文)开题报告课题名称基于FM1702的射频卡读卡器的设计系 名 称信息工程系专业名称自动化学生姓名郭艳艳指导教师扈书亮一、课题来源及意义无线射频译自英文Radio Frequency Identification,简称为RFID,是20世纪90年代兴起的一种非接触式的自动识别技术。射频技术(RFID)相对于传统的磁卡及IC卡技术具有非接触、阅读速度快、无磨损等特点。无线射频技术在阅读器和视频卡之间进行非接触双向数据传输,以达到目标识别和数据交换的目的。与传统的条形码、磁卡及IC卡相比,射频卡具有非接触、阅读速度快、无磨损、不受环境影响、寿命长、便于使用的特点和具有防冲突功能,能同时处理多张卡片。目前生产射频技术RFID产品的很多公司都采用自己的标准,国际上还没有统一的标准。目前,可供射频卡使用的集中射频技术标准有IS010536、IS014443、IS015693和IS018000。应用最多的是IS014443和IS015693,这两个标准都有物理特性、射频功率和信号接口、初始化和反碰撞以及传输协议四部分组成。本课题采用的RFID是基于IS014443技术标准。二、研究目标用非接触式IC卡读卡器模块实现对M1卡(IC卡)的读写操作,即在实验箱的LCD上显示M1卡的卡号以及对M1卡进行读/写操作时的M1数据。三、研究内容1、 设计射频卡的控制电路。设计合理的硬件电路来实现所需要的读/写功能,其中单片机(51)系统的设计,键盘、显示部分设计等。2、 编写针对该射频卡的控制程序。包括RFID卡读/写密码验证操作程序,与PC机通信中断处理程序,键盘显示程序及存储器读写程序。3、 在MCS51集成开发环境下对射频卡的硬软件进行调试,实现研究目标。四、研究方法与手段键盘模块MCU主控制模块读卡器芯片IC卡LCD显示模块LED模块系统模块框架图键盘模块功能:给MCU命令,使MCU对非接触式IC卡模块进行读/写操作。LCD显示器模块:进行读操作时,显示M1卡号、显示“读数据”以及读的数据;进行写操作时,显示M1的卡号、显示“WRITE”以及写入数据。LED模块功能:用来动态观察程序执行到的具体位置,如:LED1寻卡成功,LED2防冲突成功,LED3选卡成功,LED4装载密钥成功,LED5验证AUTHENT1成功,LED6验证AUTHENT成功,LED7读卡成功,LED8写卡成功。非接触式IC卡模块:对M1卡进行读写操作并反馈给MCU。MCU主控制模块功能:对输入信号进行分析计算,控制非接触式IC卡模块,给予LCD以及LED模块数据和信号,等待键盘模块的命令。 工作基础:掌握51单片机C编程。 掌握射频卡读写控制的基本原理和步骤。研究条件:依据射频卡读卡器的基本原理来实现。 应用环境:基于该模块的射频卡的基本读写控制程序的开发。 在此基础上,通过扩展外接输入输出设备完成对射频卡读写控制。五、进度安排1、2015.12.102016.03.05 查找资料,了解射频卡的功能及意义,掌握51单片机基本原理,完成开题报告。2、2016.03.112016.03.29 掌握射频卡读卡器控制的基本原理和步骤。3、2016.03.302016.04.20 完成基于该模块的射频卡的基本控制程序的开发。编写程序。4、2016.04.212016.05.25 在此基础上,对系统硬软件进行调试,通过扩展外接输入输出设备完成对射频卡读卡器的控制。并对其性能进行统计和总结。5、2016.05.262016.06.06 撰写论文,准备答辩。六、主要参考文献1单片机的C语言应用程序设计,马忠梅,北京航空航天大学出版社,2007.2基于FM1702射频识别读写器的设计与实现,邢海霞,索明何. 嵌入式计算机,2007. 3新概念51单片机C语言教程,郭天祥,电子工业出版社,2008.4C程序设计(第三版),谭浩强,清华大学出版社,2007.5慈新新,王苏滨,王硕.无线射频识别(RFID)系统技术与应用M,2007.6游战清,刘克胜,吴翔,林汉宏等.无线射频设别(RFID)与条码技术M,2007.7黄智伟,射频集成电路芯片原理与应用电路设计M,2004.8慈新新,曾荣仁,美军射频识别技术应用浅析J.自动识别技术与应用,2004.9慈新新,曾荣仁,王韬.2005年射频识别应用情况回顾J.微电脑世界,2005.11The 8051 Microcontroller and Embedded Systems, Muhammad Ali Mazidi etc.12 Lawrence Rabiner, and Biing Hwang Juang, Fundamentals of SpeechRecognition . PrenticeHall, New Jersey, 1993.选题是否合适: 是 否课题能否实现: 能 不能指导教师(签字)年 月 日选题是否合适: 是 否课题能否实现: 能 不能审题小组组长(签字)年 月 日摘要本论文描述了以AT89C51单片机作为控制器,以射频技术为核心,基于复旦微电子公司FM1702SL模块设计的非接触式IC卡读写器,阐述了该系统的组成、作原理以及相应的软硬件设计。然后介绍了Type A型常用的卡片Mifare1 IC S50以及对应读卡器的设计方法和电路(使用专用的射频读卡集成芯片FM1702),并细描述了系统各个模块的组成和原理,根据课题要求详细介绍了设计的一款Type A型读卡器的射频模块的实现方案。最后介绍了系统设计的软件部分,重点介绍了FM1702的主要特性(如防冲突、三重验证等)以及与Mifare1非接触IC卡通信等一些重要软件模块,并展示了实际测试的结果并证明了该读写器完成了基本功能,运行稳定可靠。关键词:AT89C51;FM1702;非接触式IC卡ABSTRACTThis paper introduces the IC card read-write device which is based on FM1702 of Shanghai Fudan Microelectronics Company, it uses micro-computer AT89C51 as the controller and the radio frequency technology as the core. The paper describes the componets of the system,working principle and the corresponding hardware device. Then, the paper represents the card MF1 IC S50 which is usually used in the cards of Type A and the method of the design and the circuit of the card reader device (the device uses the radio frequence chip reader module FM1702), in addition, the paper analyzes the principles of every module in details and the design rules of the antenna circuit. Finally, the paper introduces the design of the software, especially it describes the features of FM1702(such as anti collision, authentication etc) and the basic instruction of IC card reader set which is contact less to Mifarel. After the test, the read-write device shows the actual test results and it can complete the basic functions and operates stably .Key words: AT89C51;FM1702; IC Read-Write Device目录第一章绪论11.1研究背景11.2射频识别技术的优点11.3研究的意义以及目的21.4研究内容2第二章基于FM1702 的读卡器硬件电路设计32.1系统结构32.2系统工作过程32.3可靠性和可行性分析32.4主控制模块42.5读卡器模块52.6Mifare1 S50 非接触IC 卡介绍82.7显示模块12第三章基于FM1702的读卡器软件设计183.1主程序183.2FM1702 初始化子程序193.3寻卡等待203.4读卡子程序213.5主函数其他功能22第四章总结与展望254.1总结254.2展望25参考文献. 26附录外文资料中文译文致谢2天津大学仁爱学院2016届本科生毕业设计(论文)第一章绪论1.1研究背景目前很多国家的城市缴费系统存在着很多问题,如大量使用现金交易,管理规范化较差,一种卡只适用于一种缴费场合,原本的磁卡系统保密性和安全性较差,同时卡片本身容易损坏,等等。人们使用金钱的机会越来越多,而大量的现金交易不方便也不安全。因此一种安全可靠,容易操作和管理的缴费系统,将会在城市发展中发挥积极的作用。单片机主要用于控制的,它的应用领域遍及各行各业,大到航天飞机,小到日常生活中的冰箱,彩电,单片机都可以大显其能。单片机在国内外的很多领域中应用得十分广泛,比如家用电器业,通信业,仪器仪表,汽车电子工业,以及工业控制领域等等。单片机几乎在人类生活的各个领域中都表现出了强大的生命力,随着单片机性能的进一步提高,它必将得到更多广泛的应用。射频卡,为近年才出现的新型卡片, 在卡片上嵌有IC(E2PROM,有的还有CPU)。由于它保存的信息比较可靠安全、可以高达几万次的读写,能存储大量资料。射频卡技术在生产流水线上实现自动控制、监视,提高生产率,改进生产方式,节约了成本。射频卡系统用于智能仓库货物管理,能有效地解决与货物流动有关的信息管理,不但增加了处理货物的速度,还可监视货物的一切信息。在缴费系统中应用单片机技术和射频卡技术,扩展功能方便,管理将更有效率,将两者的优势结合在一起。该系统在城市缴费中必然发挥重大作用1。1.2射频识别技术的优点IC卡按卡与外界数据传送的形式不同,分为接触式IC卡和非接触式IC卡。接触式IC卡通过8个触点从读写器获取能量和交换数据;非接触式IC卡通过射频感应从读写器获取能量和交换数据,所以非接触式IC卡又叫射频卡。现在常见的是接触式IC卡,这类卡的读写操作速度较慢,操作也不方便,每次读写时必须把卡正确地插入到读写器的口槽才能完成数据交换。这样,在需要频繁读/写卡的场合就很不方便,而且IC 卡的触点暴露在外,容易损坏和搞脏而造成接触不良。非接触式IC卡是基于电磁感应原理开发出来的产品。它的读写操作只需将卡片放在读写器附近一定的距离之内就能实现数据交换,无需任何接触,使用非常方便、快捷,不易损坏。目前Philips公司的Mifare卡现在是国内市场的主流产品,应用越来越广。其典型型号为Mifare1 S50,它有1K字节EEPROM用于存放数据,分成16个区,每个区都有自己独立的密码,具有完善的安全机制。Mifare卡是一种智能卡,内建有中央微处理机等,使卡的安全保密性、认证逻辑等微操作控制有序进行。Mifare卡读写器的设计一般采用Philips公司生产的读写模块MCM200或MCM500。随着技术的进步,PHILIPS公司现在生产了功能及性能更好的读卡芯片(例如:MF-RC500),我们就是以这种芯片为基础来设计和开发Mifare射频卡读写器2。1.3研究的意义以及目的城市公交系统,高速公路,地铁的自动收费系统,水电费收费系统,医疗保险系统等,其工作的质量与效率会直接影响到人民群众的日常生活和工作,本系统的应用必然极大地提高城市居民的生活便利程度,一定程度上缓解城市交通的拥挤。利用现代计算机和通讯技术,实现城市缴费射频卡收费系统,能显著提高企业的现代化管理水平,为公交运营管理提供科学准确的数字信息,获得明显的社会和经济效益。现代化城市开始朝着一卡通方向发展。一卡通的城市缴费系统,是一个革命性的转变,要经基层领域的长时间的实践应用中不断完善和发展。一旦实现,对于城市的整体竞争力的提高,会有很大帮助3。1.4研究内容本课题研究的内容是基于51单片机的射频卡读写系统,本论文中用该读写系统模拟自助交费系统。系统以AT89C51单片机作为处理控制器,应用FM17-02SL射频卡读写模块,读取射频卡中卡号和账户余额,实现自动缴费,并将缴费后的账户余额信息发送到OCMJ2X8A液晶显示模块电路进行显示。当余额不足时候发出警报。该设计系统在长期使用的情况下不容易损坏,能够简单得被工作人员操作,使其能够广泛应用于多个领域。第二章基于FM1702 的读卡器硬件电路设计2.1系统结构图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剩余金额,本次扣除金额等。2.3可靠性和可行性分析由于单片机芯片主要应用于工业控制,只能化仪器仪表和家用电器,因此对单片机应用系统的可靠性提出了更高的要求。可靠性是单片机应用系统的重要指标之一,单片机应用系统的可靠性通常是指在规定的条件下和规定的时间内,完成规定工作的能力。提高系统的可靠性也就是要减少系统的故障,而引起故障的因素有来自系统内部和外部两个方面。一个高可靠性的单片机应用系统是通过可靠性设计而产生的,并通过可靠性生产和可靠性使用及维护来保证的。单片机是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中,靠程序运行的,并且可以修改。通过不同的程序实现不同的功能。将单片机技术和射频卡技术有效地结合起来,必然给社会的发展带来巨大的效益。2.4主控制模块MCU主控电路是射频卡读写器的核心部分,主要负责系统上电后对各个模块的初始化、控制通信模块完成与上位机进行串行数据通信、控制显示模块显示数据、声光报警、控制射频模块通过天线完成对射频卡的各种操作等,保证系统能够有序、稳定的工作。因此本设计采用单片机控制外围电如图2-2。图2-2主控制电路l SO 主设备数据输出,从设备数据输入;l SI 主设备数据输入,从设备数据输出;l SCLK 时钟信号,由主设备产生;l CS 从设备使能信号,由主设备控制。2.5读卡器模块2.5.1读卡器模块概述读卡器模块是由复旦微电子股份有限公司设计的非接触卡读卡器专用芯片FM1702SL和少量外围电路组成的。该读卡器模块包括了接口电路,天线电路,存储电路以及电源电路。模块电路如图2-3。图2-3读卡器模块电路图2.5.2读卡器芯片FM1702图2-4FM1702管脚图FM1702芯片有以下特点:高集成度的模拟电路,只需最少量的外围线路;操作距离可达10cm;支持ISO14443协议;内部带有加密单元;支持SPI接;包含512byte的EEPROM;包含64byte的FIFO;数字电路具有TTL/CMOS两种电压工作模式;软件控制的power down模式;一个可编程计时器;一个中断处理器;一个串行输出输入口;启动配置可编程数字,模拟和发射模块都有独立的电源供电,电压范围从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数字地12MISOO主入从出: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 变高20ns图2-5SPI时序图2.6Mifare1 S50非接触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 数据块 4扇区1 块1 数据块 5 块2 数据块 6块3 数据块 7 数据块60 扇区 0 数据块60 15 1 数据块612 数据块623 数据块63图2-7S50存贮结构图第0扇区的块0(即绝对地址0 块),它用于存放厂商代码,已经固化,不可更改。每个扇区的块0、块1、块2为数据块,可用于存贮数据。数据块可作两种应用:用作一般的数据保存,可以进行读、写操作;用作数据值,可以进行初始化值、加值、减值、读值等操作。每个扇区的块3为控制块,包括了密码A、存取控制、密码B。具体结下:A0 A1 A2 A3 A4 A5 FF 07 80 69 B0 B1 B2 B3 B4 B5密码A(6字节) 存取控制(4字节) 密码B(6字节)每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存取控制。存取控制为4个字节,共32位,扇区中的每个块(包括数据块和控制块)的存取条件是由密码和存取控制共同决定的,在存取控制中每个块都有相应的三个控制位,定义如下:块0: C10 C20 C30块1: C11 C21 C31块2: C12 C22 C32块3: C13 C23 C33三个控制位以正和反两种形式存在于存取控制字节中,决定了该块的访问(如进行减值操作必须验证KEY A,进行加值操作必须验证KEY B,等等)。三个控制位在存取控制字节中的位置,以块0为例。对块0的控制如表2-3:表2-3块0控制表Bit 7 6 5 4 3 2 1 0字节6C20-bC10-b字节7C10C30-b字节8C30C20字节9( 注:C10_b表示C10取反)存取控制(4 字节,其中字节9 为备用字节)结构如表2-4 所示:表2-4存取控制结构表 Bit 7 6 5 4 3 2 1 0字节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,Restore000Key A|BKey A|BKey A|BKey A|B010Key A|BNeverNeverNever100Key A|BKey BNeverNever110Key A|BKey BKey BKey A|B001Key A|BNeverNeverKey A|B011Key BKey BNeverNever101Key BNeverNeverNever111NeverNeverNeverNever(KeyA|B表示密码A 或密码B,Never 表示任何条件下不能实现)例如:当块0的存取控制位C10 C20 C30=1 0 0 时,验证密码A或密码B正确后可读;验证密码B正确后可写;不能进行加值、减值操作。2.6.3工作原理卡片的电气部分只由一个天线和ASIC组成。天线:卡片的天线是只有几组绕线的线圈,很适于封装到IS0卡片中。ASIC:卡片的ASIC由一个高速(106KB 波特率)的RF接口,一个控制单元和一个8K位EEPROM组成。工作原理:读写器向M1卡发一组固定频率的电磁波,卡片内有一个LC串联谐振电路,其频率与读写器发射的频率相同,在电磁波的激励下,LC谐振电路产生共振,从而使电容内有了电荷,在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内储存,当所积累的电荷达到2V时,此电容可做为电源为其它电路提供工作电压,将卡内数据发射出去或接 取读写器的数据。l M1射频卡与读写器的通讯M1射频卡与读写器的通讯如图2-8。l 复位应答(Answer to request)M1射频卡的通讯协议和通讯波特率是定义好的,当有卡片进入读写器的操作范围时,读写器以特定的协议与它通讯,从而确定该卡是否为M1射频卡,即验证卡片的卡型。l 防冲突机制(Anti-collision Loop)当有多张卡进入读写器操作范围时,防冲突机制会从其中选择一张进行操作,未选中的则处于空闲模式等待下一次选卡,该过程会返回被选卡的序列号。l 选择卡片(Select Tag)选择被选中的卡的序列号,并同时返回卡的容量代码。l 三次互相确认(3 Pass Authentication)选定要处理的卡片之后,读写器就确定要访问的扇区号,并对该扇区密码进行密码校验,在三次相互认证之后就可以通过加密流进行通讯。(在选择另一扇区时,则必须进行另一扇区密码校验。)图2-8M1射频卡与读写器的通讯FM1702SL使用的认证算法称为三重认证。它基于密钥长度为48比特的私有加密数据流。如欲获取标准卡片的数据,有关相应密要的知识是必需的。为能够成功进行卡的认证以及后续对储存于卡EEPROM中的数据进行操作,FM1702SL 必须能够获得正确的密钥。当一张卡按照ISO14443A协议被选中后,用户可以按照标准协议继续操作。这种情况下,必须执行卡片认证。这一过程在执行Authent1(0CH)和Authent2(14H)指令时自动完成。在卡认证的过程中,加密算法被初始化,在成功认证之后与卡的通讯处于加密状态。在认证指令执行过程中,FM1702SL从内部密钥缓冲器中读取密钥。密钥总是从密钥缓冲器中获取。因此认证指令无需指明密钥存储地址。当然,在认证指令开始之前,用户必须保证在密钥缓冲器中已经准备好了密钥。密钥缓冲器可以通过一下方式加载:用LoadKeyE2指令从EPROM中加载;直接由外部处理器通过Load Key指令从FIFO中加载。三重加密算法被用于执行标准认证。在密钥缓冲器中必须储存准确的密钥以便能够进行成功的认证操作。步骤1:通过LoadKeyE2或者Load Key加载密钥到内部密钥缓冲器;步骤2:启动Authent1指令,结束以后,检查错误标志来判断执行结果;步骤3:启动Authent2指令,结束以后,检查错误标志以及FM1702中Crypto1On标志来判断执行结果。2.7显示模块2.7.1显示模块概述 显示模块由OCMJ2X8A中文图形两用型液晶显示模块组成,与主控制电路连接接口图如图2-9。2.7.2OCMJ2X8A中文图形两用型液晶显示模块简介内含GB 2312 16*16点阵国际一级简体汉字和ASCII8*8(半高)及8*16(全高)点阵英文字库,用户输入区位码或ASCII码即可实现文本显示。OCMJ中文模块系列液晶显示器也可用作一般的点阵图形显示器之用。提供有位点阵和子节点阵两种图形显示功能,用户可在指定的屏幕位置上以点为单位或以字节为单位进行图形显示。完全兼容一般的点阵模块。OCMJ中文模块系列液晶显示器可以实现汉字、ASCII码、点阵图形和变化曲线的同屏显示,并可通过字节点阵图形方式造字。图2-9OCMJ2X8A中文图形两用型液晶显示器与主控制电路连接图本系列模块具有上/下/左/右移动当前显示屏幕及清楚屏幕的命令。一改传统的使用大量的设置命令进行初始化的方法,OCMJ中文模块所有的设置初始化工作都是在上电时自动完成的,实现了“即插即用”。同时保留了一条专用的复位线供用户选择使用,可对工作中的模块进行软件或硬件强制复位。规划整齐的10个用户接口命令代码,非常容易记忆。标准用户硬件接口采用REQ/BUSY握手协议,简单可靠。表2-6OCMJ2X8A(12832)引脚说明引脚名称方向说明1VLED+I背光源正极(LED+5V)2VLED-I背光源负极(LED-0V)3VSSI地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。图2-10对模块写汉字时序图2.7.3用户命令用户通过用户命令调用OCMJ系列液晶显示器的各种功能。命令分为操作码及操作数两部分,操作数为十六制。共分为3类10条。分别是:一)字符显示命令:显示国标汉字;显示8X8 ASCII字符;显示8X16 ASCII字符;二)图形显示命令:显示位点阵;显示字节点阵;三)屏幕控制命令:清屏;上移;下移;左移;右移。(以下所示取值范围分别为:2X8、4X8、5X10的取值范围)l 显示国标汉字命令格式:F0 XX YY QQ WW 该命令为5字节命令(最大执行时间为1.2毫秒,Ts2=1.2ms),其中XX:为以汉字为单位的屏幕行坐标值,取值范围00到07、02到09、00到09YY:为以汉字为单位的屏幕列坐标值,取值范围00到01、03到09、00到04QQ WW:坐标位置上要显示的GB2312汉字区位码l 显示8X8 ASCII 字符命令格式:F1 XX YY AS该命令为4字节命令(最大执行时间为0.8毫秒,Ts2=0.8ms),其中XX:为以ASCII码为单位的屏幕行坐标值,取值范围00到0F、04到13、00到13YY:为以ASCII码为单位的屏幕列坐标值,取值范围00到1F、04到3F、00到4FAS:坐标位置上要显示的ASCII字符码l 显示8X16 ASCII 字符命令格式:F9 XX YY AS该命令为4字节命令(最大执行时间为1.0毫秒,Ts2=1.0ms),其中XX:为以ASCII码为单位的屏幕行坐标值,取值范围00到0F、04到13、00到13YY:为以ASCII码为单位的屏幕列坐标值,取值范围00到1F、04到3F、00到4FAS:坐标位置上要显示的ASCII字符码l 显示位点阵命令格式:F2 XX YY 该命令为3字节命令(最大执行时间为0.1毫秒,Ts2=0.1ms),其中XX:为以1*1点阵为单位的屏幕行坐标值,取值范围00到7F、20到9F、00到9FYY:为以1*1点阵为单位的屏幕列坐标值,取值范围00到40、00到40、00到40l 显示字节点阵命令格式:F3 XX YY BT 该命令为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显示黑点(显示字节为横向)l 清屏命令格式:F4该命令为单字节命令(最大执行时间为11毫秒,Ts2=11ms),其功能为将屏幕清空。l 上移命令格式:F5该命令为单字节命令(最大执行时间为25毫秒,Ts2=25ms),其功能为将屏幕向上移一个点阵行。l 下移命令格式:F6该命令为单字节命令(最大执行时间为30毫秒,Ts2=30ms),其功能为将屏幕向下移一个点阵行。l 左移命令格式:F7该命令为单字节命令(最大执行时间为12毫秒,Ts2=12ms),其功能为将屏幕向左移一个点阵行。l 右移命令格式:F8该命令为单字节命令(最大执行时间为12毫秒,Ts2=12ms),其功能为将屏幕向右移一个点阵行。第三章基于FM1702 的读卡器软件设计3.1主程序主程序流程图如图3-1所示。该程序分为OCMJ2X8A中文图形两用型液晶显示器子程序和主程序,其中主程序的功能主要包括,MCU初始化功能、读卡器芯片FM1702初始化功能、读卡器寻卡功能、读卡器读/写卡功能、防冲突功能,三重验证功能等6个重要功能。图3-1主程序流程图3.2FM1702 初始化子程序FM1702初始化子函数流程图如图3-2。该函数的名称为Init_FM1702( ),实现FM1702复位功能、SPI数据接口初始化功能、FM1702相关设置等三个功能。图3-2FM1702 初始化子函数流程图3.3寻卡等待图3-3寻卡等待流程图寻卡等待功能流程图如图3-3。该功能使用了Request寻卡子函数、OCMJ 2X8A(12832)显示子程序,delay延时子函数,分别起到寻卡检测,LCD显示寻卡界面、延时等三个功能。3.4读卡子程序读卡子函数流程图如图3-4。该子函数的名称是Card_Mun子函数包含了AntiColl子函数、Select_Card子函数、Load_key_CPY子函数、Authentication子函数和OCMJ2X8A(12832) 显示子程序。该读卡子函数实现了诸如防冲突、选卡、装载密匙、三重认证、显示卡号或错误信息等重要功能。该子函数的返回值有0、1、2、4,其含义是验证正确、无卡、CRC校验、三重认证失败。认证成功如图3-5,显示请求刷卡界面。图3-4读卡子函数流程图图3-5认证成功3.5主函数其他功能除上述子函数的介绍和寻卡等待功能的介绍外,主函数还实现了扣款功能,即刷一次卡扣款5元并显示余额的功能。图3-6显示了当前余额及扣款金额。图3-6刷卡显示当前余额及扣款金额图3-7显示了再次刷卡,扣款后的余额及扣款金额。图3-7扣款后图主程序中的主要函数名称及主要功能如表3-1。表3-1主程序子函数功能表子函数名称 功能 Init_FM1702() FM1702初始化函数SPI Write SPI 数据接口初始化函数SPIbyte-transceive 该函数实现SPI通讯的数据收发SPI Write 该函数实现通过SPI接口对FM1702中一个寄存器值SPIRead 该函数实现通过SPI接口读取RC531中一个寄存器值Request 该函数实现对放入FM1702操作范围之内的卡片的寻卡操作C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 02 B动量守恒定律 中档版2025新课改-高中物理-选修第1册(21讲)
- 临床门诊护理工作制度
- 法律服务行业相关投资计划提议
- 社区护理社区老年人保健
- 护理专病查房措施
- 物业公司园林苗木养护管理绿植病虫害防治作业指导书
- 我国大城市交通拥挤对策及关键技术研究
- 第二章 科学认识和科学问题课件
- 艺教企业未来规划
- 金融行业培训解决方案分享
- 《老鼠娶亲》教学设计
- 对虾与河蟹解剖课件
- 八年级上学期期中考试主题班会课件
- 癌因性疲乏课件
- 中华人民共和国文物保护法学习课程PPT
- 弘扬中华传统文化主题班会-课件
- 三年级《道德与法治》上册第一单元《 快乐学习》教学设计
- 数学评高级教学反思
- 药品公司经营范围(46个范本)
- 科研项目汇报ppt模板
- 张祖德版大学无机化学试题集及答案
评论
0/150
提交评论