毕业设计(论文)-基于射频识别卡的智能饮水机控制系统设计.doc_第1页
毕业设计(论文)-基于射频识别卡的智能饮水机控制系统设计.doc_第2页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

基于射频识别卡的智能饮水机控制系统设计基于射频识别卡的智能饮水机控制系统设计摘 要随信息社会的到来,ic卡技术以其广泛的应用领域和巨大的产品市场成为我国信息产业的一大热点。智能型水表、电表等民用产品相继进入到人们家庭,以及各种基于ic卡的收费系统也相继应用于机关,学校等公共场合,极大的改善了社会各个领域的服务质量和工作效率。基于公共场所饮水收费难的课题,本文介绍了一种基于射频ic卡技术的智能饮水机系统的设计,并阐述了该系统的组成、工作原理以及相应的软硬件设计。本文在了解了ic卡智能饮水机系统的现状和意义后,针对当前ic卡饮水机收费的要求和特点,设计了以stc12c5a32s2单片机为控制核心,以philips公司s50卡为信息载体的智能ic卡饮水机。整个系统包括硬件的选择和制作、软件的设计和调试,以及系统的软件和硬件的联合调试。硬件系统主要包括:单片机最小系统、led数码管显示、独立按键、ic卡读写、冷热水指示显示及出水显示等模块;软件系统包括:读写ic卡、键盘服务、报警、冷热水控制、显示等。系统的软件和硬件的联合调试表明,各项指标都达到了预期的设想,能正常实现具体的系统功能。关键字 stc12c5a32s2 mf-rc522 射频ic卡 饮水机design of control system of the smart water dispenser based on rfid cardabstractwith the advent of the information society, ic card technology has become a hot topic in chinas information industry for its wide range of applications and a huge market. smart water meter, meter, and other civilian products have entered our homes, and a various of payment system based on ic card have also used in offices, schools and other public places, greatly improved the quality of service and work efficiency in all areas of society. based on the topic of water charges in public places difficulty, this paper presents a design of the smart water dispenser system based on radio frequency ic card technology, and explains the composition of the system, working principle and the corresponding design of the software and hardware.after having a better understanding of the ic card smart water dispenser systems statue and significance, for requirements and characteristics of the current ic card water dispenser charging, this paper designed an ic card smart water dispenser with stc12c5a32s2 as its control core and philips companys s50 card as its information carrier. the entire system includes hardware selection and production, software design and debugging, and system software and hardware co-debugging. hardware system includes minimum microcontrollers system, led digital display, independent keys, ic card reader, hot and cold water instructions and water display and so on. software system includes ic card r/w, keyboard service, alarm, hot and cold water control and display and so on. system software and hardware co-debugging shows that all indicators have reached the desired vision and it can achieve specific system functions properly.key words stc12c5a32s2 mf-rc522 non-contact ic card water dispenser36目 录中文摘要i英文摘要ii1 绪论11.1 课题研究的背景11.1.1 智能ic卡的简介11.1.2 ic卡饮水机出现的背景11.2 课题的意义21.3 本课题设计的主要工作和任务22 系统方案设计与实现42.1 ic卡选型42.2 读卡模块介绍42.3 总体方案论证52.3.1 各模块方案选择与论证52.3.2 总体方案确定73 系统硬件设计与实现83.1 电源模块83.2 数码管显示电路83.3 单片机最小系统电路93.4 mf-rc522读写模块103.4.1 mf-rc522芯片介绍103.4.2 mf-rc522模块工作原理133.4.3 读写模块的天线设计143.4.4 读写模块电路153.5 mf-rc522模块与单片机接口电路164 系统软件设计与实现174.1 软件设计环境174.2 主程序的设计184.3 读/写卡程序设计204.3.1 s50卡数据存储结构介绍204.3.2 mf-rc522命令寄存器及指令说明224.3.3 读/写卡程序流程图254.4 系统外围基本电路程序的设计274.4.1 显示程序设计274.4.2 键盘程序设计275 系统调试296 结束语30致谢31参考文献32附录33附录1 电路原理图33附录2 电路pcb图34附录3 设计实物图351 绪论1.1 课题研究的背景1.1.1 智能ic卡的简介随着社会的进步和现代化程度的不断提高,人类所拥有的信息种类和数量都在成倍增加,人们每天都要处理许多与个人有关的信息,如购物、打电话、交水费、电费、到银行存款取款等,这样就需要携带多种票证、现金、单据,给人们带来极大的不便和不安全感。于是,人们开始寻求一种具有支付、查询、密码查验等多功能及携带方便、安全可靠的“卡”。ic卡就是随着计算机技术、微电子技术和信息化技术的发展应运而生的一种现代社会重要的信息载体和交易工具。1972年,法国人罗兰莫雷诺(roland moreno)第一次将可进行编程设置的ic芯片放在卡片中,使卡片具有了存储、加密及数据处理能力等功能,这就是早期的ic卡。1976年法国布尔(bull)公司研制出世界第一枚ic卡1。早期的ic卡系统是接触式的,它有其本身不可克服的缺点,如接触磨损、交易速率慢、难以维护、基础设施投入大等。随着信息业和服务业的全球化,在一些场合,对信息载体的便携性、安全性及易用性等方面提出更高的要求,于是非接触式ic卡以其无机械磨损、容易维护、方便使用等优点,成为ic卡中潜力最大的新军而备受国内外业界的瞩目。非接触式ic卡系统是当今世界先进的射频技术和ic卡技术相结合的产物,是世界上最近几年发展起来的一项新技术,它成功地将射频识别技术和ic技术结合起来,解决了无源和免接触这一难题,是电子器件领域的一大突破,使卡片在靠近读写器表面时即可完成卡中数据的读写操作。非接触式ic卡一经问世,便立即引起广泛的关注。非接触式ic卡操作方便、抗干扰性高、可靠性高、安全性高的特点,使得它在一些接触式ic卡不适用或者无法使用的场所,具有无可比拟的优势,被广泛应用于公交、收费、门禁系统、考勤系统等领域2。1.1.2 ic卡饮水机出现的背景随着人们生活质量的提高,饮水机早已不再是摆设品或奢侈品,而成为家庭的必需品。据不完全统计,全国大中城市约有15%以上的家庭拥有饮水机。中国医促会健康饮用水专业委员会主任李复兴教授说,购买符合国家标准的合格饮水机,其卫生是有保障的,但劣质饮水机的涉水材料安全性没有保障,可能危害健康。 一些假冒伪劣饮水机产品使用的是不符合卫生安全要求的材料,这些材料经水浸泡后,有害物质可能被溶出来,例如材料中的铅、铜、镍、铝、铁等,如果进入人体,就会危害健康。 由于国内外饮水习惯不同,对饮水机的功能要求也不同。国外消费者饮水以冰水为主,因此对饮水机主要强调制冷功能;而国内消费者习惯喝开水、茶水,因此对饮水机加热的功能较为注重。正因为需求的差异,目前国内绝大多数的家庭饮水机均有加热胆及配套设施。 加热胆的加热功能方便了人们的生活,但同时也存在一些问题,例如容易出现结垢,特别是在水质硬度比较高的地区。出现的白色沉淀物大部分是碳酸盐类,这些盐类是一种很稳定的化合物形态,还没有证据表明这些物质对人有害。但这些物质的存在影响了热交换的效率,结垢严重时,会带来安全的隐患3。 在饮用不达标水而威胁到人们身体健康的环境下,一个饮用水的新时代已经到来,ic卡饮水机为人们提供了直饮水必须符合三个标准:没有污染的水,充满生命活力的水,符合人体生理需要,含有对人体有益矿质元素,ph值呈弱碱性的水,从而让人类机体更易吸收并能够达到调理身体酸碱平衡的作用,使人们在创造财富的同时,也为自己创造了一个健康舒适的美好生活。1.2 课题的意义ic卡饮水机主要是针对像学校这些公共场所饮水收费难的问题,跟以往的饮水机相比,优点更为突出。采取智能卡管理可达到有序合理使用水资源,让学生放心使用,家长省心,学校开心,政府放心,社会满意;有偿用水,改变学生随意饮水习惯,自小培养节约用水意识;使用方便,24小时供给冷热饮用水,方便师生自主选择使用,尤其是在冬季也能随时喝上热水;费用低廉,适宜推广,其价格远远低于瓶装水,价格合理,学生家长易于接受,为人们提供了饮用水的安全保障。1.3 本课题设计的主要工作和任务ic卡饮水机是通过对ic卡进行初始化操作,将使用权限,用水金额、ic卡编号等信息,写入ic 卡里。持卡人饮水时,将ic卡放在饮水机的刷卡区,饮水机则出水,并根据出水的时间,从卡中扣除相应的金额。所以本课题的关键技术在于对ic 卡的读写操作。根据课题设计要求,本课题将开发一种基于飞利浦公司mf-rc522读卡芯片的非接触式ic卡智能饮水机的收费系统,其具有以下特点:能识别typea型卡片,读取卡号,并有防冲突功能;能对typea 的卡片进行高层操作,从而实现计费售水的功能。本设计完成后所要达到的主要指标有:第一,显示系统:led数码管显示,能显示操作模式和卡片中余下的时间;第二,按键操作:能选择冷,热水和操作模式;第三,机器读卡速度:0.5秒可完成一次读卡过程,读卡距离为5至10厘米;第四,保密性和防伪性:能辨认卡的密码,非授权范围内的卡在系统内无法使用。2 系统方案设计与实现2.1 ic卡选型目前经常接触到的ic卡有两种:接触式和非接触式的ic卡。接触式的ic卡通过机械触点从读写器获取能量和交换数据;非接触式ic卡通过线圈射频感应从读写器获取能量和交换数据,所以又称射频卡。日前在社会上常见的是接触式ic卡,它具有存储量大,可实现一卡多用等功能。但是,这类卡的读写操作速度较慢,操作也不方便,每次读写时必须把卡插入到读写器中才能完成数据交换,这样在读写卡片频繁的场合就很不方便,而且读写器的触点和卡片上ic卡的触脚暴露在外,容易损坏和搞脏而造成接触不良。非接触式智能卡又称射频卡,是近几年发展起来的新技术。它是根据射频电磁感应原理产生的,它的操作只需将卡放在读写器一定距离内就能实现数据交换。它成功地将射频识别技术和ic卡技术结合起来,将具有微处理器的集成电路芯片和天线封装于塑料基片之中。读写器采用兆频段及磁感应技术,通过无线方式对卡片中的信息进行读写并采用高速率的半双工通信协议。其优点是应用范围广、操作方便。因此,在公交、门禁、娱乐场所等方面有广泛的应用前景。目前我国引进的射频卡主要以philips公司的mifare卡为主。本系统中使用的是philips公司的mf1 ic s50,其属于typea型卡,下面对其做一些简述:mifare1 ic卡的核心是philips公司mf1 ic s50系列微模块,它确定了卡片的特性以及卡片读写器的诸多性能。mifare1 ic智能卡内建有高速的mcu,卡片上除了ic微晶片及一副高效率天线外,无任何其他元件;卡片上无源,工作时的电源能量由读写器天线发送无线电载波信号耦合到卡片上天线而产生电能;它与读写器通信使用握手式半双工通信协议4。2.2 读卡模块介绍非接触式ic卡读写模块以射频识别技术为核心,读写模块主要使用专用的读写处理芯片,它是读/写操作的核心器件,其功能包括调制、解调、产生射频信号、安全管理和防碰撞机制。其内部结构分为射频区和接口区:射频区内含调制解调器和电源供电电路,直接与天线连接;接口区有与单片机相连的端口,还具有与射频区相连的收/发器、数据缓冲器、防碰撞模块和控制单元。这是与智能ic卡实现无线通信的核心模块,也是读写器读写智能ic卡的关键接口芯片。其工作时,不断地向外发出一组固定频率的电磁波,当有卡靠近时,卡片内有一个lg串联谐振电路,其频率与读写器的发射频率相同,这样在电磁波的激励下,lg谐振电路产生共振,从而使电容充电有了电荷。在这个电容另一端,接有一个单向导电的电子泵,将电容内的电荷送到另一个电容内存储。当电容器充电达到一定电压值时,此电容就作为电源为卡片上的其他电路提供工作电压,将卡内数据发射出去或接收读写器发出的数据并保存5。其工作过程如下:第一,读卡模块将载波信号经天线向外发送;第二,卡进入工作区域后,卡内天线和电容组成的谐振回路接收读卡模块发射的载波信号,射频接口模块将其转换成电源电压、复位信号,使卡片激活;第三,存取控制模块将存储器中信息调制到载波上,经卡上天线送给读卡模块;第四,读卡模块对接收到的信号进行解调、解码后送给单片机处理;第五,单片机根据卡号的合法性,针对不同应用做出相应的处理和控制。2.3 总体方案论证2.3.1 各模块方案选择与论证(1)控制器的选择方案一:采用atmel公司的at89s52作为系统的控制器。at89s52单片机算术运算功能强、软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制,并且其功耗低、体积小、技术成熟和成本低,但是其需要专用的编程器或仿真器,相对来说开发成本较高,另外代码执行速度较慢。方案二:采用宏晶科技的stc12c5a32s2单片机,该单片机是宏晶科技生产的单时钟/机器周期(1t)的单片机,是高速低功耗超强抗干扰的新一代8051单片机,指令代码完全兼容8051,但速度快8-12倍,并且该型号单片机还提供isp(在系统可编程)/iap(在应用可编程),无需专用的编程器和专用的仿真器,可通过串口直接下载用户程序,此外该单片机还具有32k的用户程序空间和28k的eeprom,片上还集成了1280字节的ram6,足够用户使用,并且具备了at89s52的所有优点,且开发成本低,能更好的实现系统功能,故选用方案二。 (2)rfid读卡芯片的选择随着rfid市场的迅猛增长,各大传统ic芯片制造商都加入到rfid读卡芯片的开发当中,可供选择的芯片很多,下面介绍两款主流的rfid读写芯片:方案一:ti公司的trf7960芯片。trf7960是一个整合的13.56mhz rfid读卡器系统的模拟前端和数据帧系统,可以用于较宽范围的近耦合rfid系统。它的特点是完全整合协议处理,内部独立的模拟与数字电源,am和pm双信号输入接收解调,读卡器与读卡器之间反冲突算法,输出功率可调,内建带通滤波器并且用户可选择边界频率,低功耗设计,掉电模式下电流小于la,激活状态10ma;与微处理器接口为8位并行接口或者4线spi接口7。方案二:nxp公司(原飞利浦半导体公司)是较早进入rfid芯片行业的国际半导体公司,在射频读写芯片上产品较全。mf-rc522芯片就是nxp公司生产的一款低电压、低成本、体积小的非接触式读写卡芯片。mf-rc522 利用了先进的调制和解调概念,完全集成了在13.56mhz 下所有类型的被动非接触式通信方式和协议。支持iso14443a 的多层应用。其内部发送器部分可驱动读写器天线与iso 14443a/mifare卡和应答机的通信,无需其它的电路。接收器部分提供一个坚固而有效的解调和解码电路,用于处理iso14443a 兼容的应答器信号。数字部分处理iso14443a 帧和错误检测(奇偶crc)。此外,它还支持快速crypto1 加密算法,用于验证mifare 系列产品。mfrc522支持mifare更高速的非接触式通信,双向数据传输速率高达424kbit/s。它与主机间的通信采用连线较少的串行通信,且可根据不同的用户需求,选取spi、i2c 或串行uart(类似rs232)模式之一8,有利于减少连线,缩小pcb 板体积,降低成本。 由于mf-rc522能够满足设计需求,而且应用范围比其他的芯片更广,资料齐备,于是选择mf-rc522作为本设计的射频接口芯片。(3)显示模块的选择方案一:使用led显示。数码管显示,对外界环境要求低,操作简单,成本低,亮度高,显示清晰可见,无热量,耐冲击,寿命长,并且容易编程实现,能显示数字和部分字符。 方案二:使用液晶显示屏显示各种信息。虽然液晶显示屏具有轻薄短小、低耗电量、平面直角显示以及影像稳定不闪烁等优势,但是考虑到其亮度低,实际成本高,并且数码管已经可以很好的完成系统的显示任务,故采用方案一。(4)键盘模块的选择方案一:采用独立式按键。独立式按键接口设计优点是电路的配置灵活,软件实现简单。但缺点也很明显,每个按键需要占用一跟口线,若按键较多,资源浪费将比较严重。因此本方法主要用于按键较少或对操作速度要求较高的场合。方案二:采用矩阵式按键。矩阵式按键接口适用于按键数量较多,又不想使用专用键盘芯片的场合。这种方式的按键接口由行线和列线组成,按键位于行、列的交叉点上。这种方的优点是可以节省很多i/o资源,相对于专用键盘可以节省成本,且更为灵活9。缺点是需要用软件处理消抖、重键等。由于该系统要求的按键很少,故采用方案一。2.3.2 总体方案确定根据上述分析,系统设计方案如下:本系统拟以宏晶科技公司的stc12c5a32s2单片机作为控制器,采用mf-rc522芯片作为射频卡读/写模块,采用led数码管显示和独立按键,并以spi总线接口和mf-rc522模块通信,组成一套ic卡饮水机收费控制系统。当ic卡在天线区域经过时,单片机自动对ic卡进行读写识别并开始扣费,同时饮水机出水,并根据出水的时间,从卡中扣除相应的时间。系统框图如图2-1所示。 图2-1 ic卡饮水机系统结构框图3 系统硬件设计与实现3.1 电源模块该电源按常规设计,为系统工作提供所需电源,其输入为220v、50hz交流电,输出电压等级为+5v,电路原理图如图3-1所示。该部分主要采用78系列稳压器,结构简单,调整方便,输出电压纹波小。市电交流220v经变压器降压为交流12v,经过全桥整流输出直流电流,再经过1000f的电解电容滤波,除去整流后的交流成分,送至各三端稳压器,输出需要的电压。经过各三端稳压器稳压后,在lm7805输出端输出+5v直流电压10。图3-1 +5v直流稳压电源3.2 数码管显示电路本系统的显示部分采用数码管显示,用来显示饮水机实际消费时的余额情况。为了节省单片机i/o口资源,本设计采用动态显示的方法,所谓动态显示方式是指所要显示的数据在led上一个一个逐个显示,它是通过位选端控制在哪个led上显示数字,由于这些led数字显示之间切换的时间非常的短,使的人眼看起来它们是一起显示数字的11,所以其能很好的实现设计所需的要求,同时动态显示方式所用的接口较少,节省了单片机的管脚资源。本电路中采用两片74hc573并口锁存器来实现显示电路,电路图如下图3-2所示。图3-2 数码管显示电路3.3 单片机最小系统电路本设计中采用的单片机是宏晶科技的stc12c5a32s2,该单片机具有1t的机器周期,且指令代码完全兼容8051系列单片机,但速度却快812倍,并且可通过串口直接下载用户程序,不需要专用的编程器和仿真器,片上集成有高容量的程序存储空间和数据ram,无需拓展存储器件就可满足设计需要,下图3-3是其最小系统电路,集合了系统时钟电路、复位电路和按键电路以及程序下载接口。图3-3 单片机最小系统电路3.4 mf-rc522读写模块3.4.1 mf-rc522芯片介绍philips公司的mf-rc522是应用于13.56mhz非接触式通信中高集成读卡ic系列中的一员。其利用先进的调制和解调概念,完全集成了在13.56mhz下所有类型的被动非接触式通信方式和协议。mf-rc522支持is014443a的多层应用,其功能框图如图3-4。图3-4 mf-rc522的功能框图mf-rc522支持可直接相连的各种微控制器接口类型,如spi、i2c 和串行uart。mf-rc522 可复位其接口,并可对执行了上电或硬复位的当前微控制器接口的类型进行自动检测。它通过复位阶段后控制管脚上的逻辑电平来识别微控制器接口。数据处理部分执行数据的并行串行转换。它支持的帧包括crc 和奇偶校验。它以完全透明的模式进行操作,因而支持iso14443a 的所有层。状态和控制部分允许对器件进行配置以适应环境的影响并使性能调节到最佳状态。当与mifare standard 和mifare 产品通信时,使用高速crypto1 流密码单元和一个可靠的非易失性密匙存储器。模拟电路包含了一个具有非常低阻抗桥驱动器输出的发送部分。这使得最大操作距离可达100mm。接收器可以检测到并解码非常弱的应答信号。由于采用了非常先进的技术,接收器已不再是限制操作距离的因素了12。该器件为32脚hvqfn封装,器件使用了3个独立的电源以实现在emc特性和信号解耦方面达到最佳性能。mf-rc522具有出色的rf性能并且模拟和数字部分可适应不同的操作电压,其驱动、模拟、数字部分分别使用单独电源供电。mf-rc522管脚如图3-5所示。图3-5 mf-rc522管脚图为了驱动天线,mf-rc522通过txl和tx2提供13.56mhz的能量载波。根据寄存器的设定对发送数据进行调制得到发送的信号。智能卡采用rf场的负载调制进行响应。天线拾取的信号经过天线匹配电路送到rx脚,rc522内部接收器对信号进行检测和解调并根据寄存器的设定进行处理,然后将数据发送到串行接口由微控制器进行读取。表3-1 天线连接管脚名称类型功能tx1,tx2输出缓冲天线驱动器vmid模拟参考电压rx输入模拟天线输入信号表3-2 mf-rc522串行接口管脚描述名称类型功能d1.d7带施密特触发器的i/o不同接口的数据线sda带施密特触发器的i/o串行数据线i2c输入i2c使能ea输入外部地址:选择i2c的地址在每次上电或硬件复位后,mf-rc522 也复位其接口模式并检测当前微处理器的接口类型。mf-rc522 在复位阶段后根据控制脚的逻辑电平识别微处理器接口。这是由固定管脚连接的组合和一个专门的初始化程序实现的。表3-3 mf-rc522接口类型的链接配置引脚名称uart方式spi方式i2c方式sdarxnsssdai2cllhealhead7txmisoscld6mxmosiadr0d5dtrqsckadr1d4-adr2d3-adr3d2-adr4d1-adr53.4.2 mf-rc522模块工作原理首先, mf-rc522 射频卡读写模块(下面简称读写模块)通过天线向射频卡(非接触卡)发送无线载波信号, 这些信号经过射频卡的天线耦合接收后, 先进行波形转换, 然后对其整流滤波,由电压调节模块对电压进行进一步的处理, 包括稳压等, 最终输出到射频卡上的各级电路上。 此时, 非接触卡接收到载波信号后就通过本卡片上的调制/解调电路对载波信号进行调制/解调, 处理后的信号就送到卡片上的控制器以供控制及处理。 非接触卡处理好数据后, 也通过它本身的天线向 mf-rc522 返回载波信号, mf-rc522 也通过自身的调制/解调电路来对这些信号进行处理。这些返回的载波信号的频率与 mf-rc522 发出的载波信号的频率是一致的。通过这样一个通讯回路, mf-rc522就可以对非接触卡的内容进行读写操作。 这里需要说明的是:非接触型 ic 卡本身是无源体, 当读写器对卡进行读写操作时,读写模块发出的信号由两部分叠加组成:一部分是电源信号, 该信号由卡接收后, 与其本身的 l/c 产生谐振, 产生一个瞬间能量来供给芯片工作。另一部分则是结合数据信号, 指挥芯片完成数据、修改、存储等, 并返回给读写模块13。如上所述可以看出, 读写模块的性能与天线的参数有着直接的关系。天线的性能高低决定着读卡的距离远近。因此, 下面将就影响天线性能的参数做一些探讨。3.4.3 读写模块的天线设计电感耦合射频识别系统的读写模块中的天线用于产生交变磁通量, 而交变磁通量用于向ic卡提供电源并在读写模块与ic卡之间传送信息。因此, 天线的构造有以下几个基本要求:第一,使天线线圈的电流最大, 用于产生最大的磁通量峰值;第二,功率匹配, 最大程度地利用产生交变磁通量的可用能量;第三,足够的带宽, 无失真地传送用数据调制的载波信号。在天线设计中, 品质因数 q 是一个非常重要的参数。对于电感耦合式射频识别系统的天线, 其特征值就是它的谐振频率和品质因数的值。较高的品质因数的值会使天线线圈中的电流强度大些, 由此改善对ic的功率传送。与之相反, 天线的传输带宽刚好与品质因数值成反比例变化14, 选择的品质因数过高会导致带宽缩小从而明显地减弱 ic卡接收到的调制边带。计算品质因数的公式如下:q=(2flcoil)/rcoil (3-1)式(3-1)中的 f 是工作频率, lcoil 是天线的尺寸, rcoil 是天线的半径。通过品质因数可以很容易计算出天线的带宽 b:b=f/q (3-2)从式(3-2)中可以看出, 天线的传输带宽与品质因数成反比关系。因此, 过高的品质因数会导致带宽缩小。从而减弱阅读器的调制边带, 会导致读写模块无法与卡通信。一般系统的最佳品质因数为 1030, 最大值不能超过 60。如果太高, 卡将无法准确地识别复位响应。3.4.4 读写模块电路mf-rc522 模块电路如图3-6所示,其中包括系统电路、天线电路和spi接口电路。本模块的接口采用spi总线,当然也可以选择i2c或uart方式,可以根据不同情况进行选择。图3-6 mf-rc522射频模块电路3.5 mf-rc522模块与单片机接口电路由于单片机系统电路使用的是5v电源,而mf-rc522射频模块使用的是3.3v电源,为了使mf-rc522射频模块与单片机系统之间能正常的通信,我在他们直接加了一个390欧的电阻,经测试可以正常使用,工作非常稳定。同时还用了lm1117-3.3稳压芯片给mf-rc522射频模块提供3.3v的电源。其电路连接如下图3.8所示:图3-7 mf-rc522射频模块接口电路4 系统软件设计与实现非接触ic卡饮水机系统的软件设计可分为三部分,分别为主程序设计、rc522的读/写程序的设计和读卡器外围基本电路的应用程序设计。主程序主要包括:系统初始化程序,ic卡读/写/密码验证/擦除操作程序,键盘扫描处理程序,定时扫描显示程序等,对mf-rc522的应用程序的设计也即是对mf-rc522操作指令的程序设计,对读卡器外围基本电路程序的设计包括数码管显示程序设计、键盘扫描程序设计、出水控制程序。4.1 软件设计环境一个好的程序设计思想,加上适当的编译软件、仿真器和编程器,是单片机软件开发的基本要求。本系统程序的设计以模块化和结构化的设计思想为指导。单片机开发所使用的语言一般为汇编语言和c语言。汇编语言的优点是代码生成效率高,程序运行速度快,但是程序的可读性和可移植性都较差,而且用汇编语言编写单片机应用系统程序的周期长,调试和排错比较困难。c语言是一种通用的计算机程序设计语言,在国际上十分流行,它既可用来编写计算机的系统程序,也可用来编写一般的应用程序。用它编写的程序,具有较好的可读性和可移植性。有经验表明,用c语言编写的程序生成代码的效率仅比用汇编语言编写的程序低1020%。德国keil软件公司的c51编译器可以直接对8051单片机的内部特殊功能寄存器和i/o口进行操作,直接访问片内或片外存储器,还可以进行各种位操作,能产生简洁、高效率的程序代码,在代码质量上可以与汇编语言相媲美。因此系统在设计中使用了c语言进行设计。开发环境keil软件如图4-1所示。图4-1 keil软件界面图4.2 主程序的设计ic卡饮水机工作的过程是一个复杂的程序执行过程,要执行一系列的操作指令,调用多个函数。其主要包括键盘扫描、数码管显示、读/写卡及外围电路控制等。这一系列的操作必须按固定的顺序进行。在没ic卡进入射频天线有效范围内时,在数码管上显示工作模式标志,此时可以通过按键进行工作模式选择,当有ic卡进入到射频天线的有效范围内时,读卡程序验证卡及密码成功后,将根据具体的模式显示ic卡中的数据,当ic卡拿走后,将恢复当前模式显示,执行键盘扫描。主程序流程图如图4-2所示:图4-2 ic卡饮水机系统主程序流程图4.3 读/写卡程序设计4.3.1 s50卡数据存储结构介绍m1卡分为16个扇区,每个扇区由4块(块0、块1、块2、块3)组成,我们也将16个扇区的64个块按绝对地址编号为063,存储结构如表4-1所示:表4-1 ic卡存储结构块0数据块0扇区0 块1数据块1块2数据块2块3密码a 存取控制 密码b控制块3 块0数据块4扇区1块1数据块5块2数据块6块3密码a 存取控制 密码b控制块7 0数据块60扇区15 1数据块61 2数据块62 3密码a 存取控制 密码b控制块63第0扇区的块0(即绝对地址0块),它用于存放厂商代码,已经固化,不可更改。每个扇区的块0、块1、块2为数据块,可用于存贮数据。数据块可作两种应用:第一,用作一般的数据保存,可以进行读、写操作;第二,用作数据值,可以进行初始化值、加值、减值、读值操作15。每个扇区的块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的控制:表4-2 块0控制位分布 bit76543210字节6c20_bc10_b字节7c10c30_b字节8c30c20字节9注: c10_b表示c10取反存取控制(4字节,其中字节9为备用字节)结构如下表所示:表4-3 控制位分布bit76543210字节6c23_bc22_bc21_bc20_bc13_bc12_bc11_bc10_b字节7c13c12c11c10c33_bc32_bc31_bc30_b字节8c33c32c31c30c23c22c21c20字节9注: _b表示取反数据块(块0、块1、块2)的存取控制如下:表4-4 存取控制位组合定义 控制位(x=0.2) 访 问 条 件 (对数据块 0、1、2)c1xc2xc3x read write incrementdecrement,transfer,restore000keya|bkeya|bkeya|bkeya|b010keya|bnevernevernever100keya|bkeybnevernever110keya|bkeybkeybkeya|b001keya|bneverneverkeya|b011keybkeybnevernever101keybnevernevernever111nevernevernevernever注:keya|b 表示密码a或密码b,never表示任何条件下不能实现例如:当块0的存取控制位c10 c20 c30=1 0 0时,验证密码a或密码b正确后可读;验证密码b正确后可写;不能进行加值、减值操作。控制块块3的存取控制与数据块(块0、1、2)不同,它的存取控制如下:表4-5 数据块控制位组合定义存取控制位密码a存取控制密码bc13c23c33readwrite readwritereadwrite000neverkeya|bkeya|bneverkeya|bkeya|b010neverneverkeya|bneverkeya|bnever100neverkeybkeya|bneverneverkeyb110neverneverkeya|bnevernevernever001neverkeya|bkeya|bkeya|bkeya|bkeya|b011neverkeybkeya|bkeybneverkeyb101neverneverkeya|bkeybnevernever111neverneverkeya|bnevernevernever例如:当块3的存取控制位c13 c23 c33=1 0 0时,表示:密码a:不可读,验证keya或keyb正确后,可写(更改);存取控制:验证keya或keyb正确后,可读、可写;密码b:验证keya或keyb正确后,可读、可写。4.3.2 mf-rc522命令寄存器及指令说明mf-rc522 内部有 64 个寄存器, 共分 4 页: page0:command and status;page1: command;page2:cfg;page3: testregister。mf-rc522 通过内部寄存器的读写控制与mifare1 ic 卡数据通信16。commandreg 命令控制字如表4-6所示。表4-6commandreg(address 01h); reset value:20h7 654 3 2 1 00 0rcvoffpower downcommandcommand命令类别如表4-7所示。表4-7command(命令)命令代码idle(空闲)0000calccrc(校验)0011transmit(发送)0100nocmd change(无命令改变)0111receive(接收)1000tranceive(收发)1100mfauthent(认证)1110soft reset(软件复位)1111mcu对mifare非接触式智能卡的控制是通过mf-rc522来实现的,mf-rc522是mcu和mifare非接触式智能卡之间的通信载体。mcu对mf-rc522的控制是以mcu发出mf-rc522的指令来达到的,mf-rc522收到指令之后执行这些指令。mf-rc522的指令主要有:request std,request all,anticollision,select tag,authentication,read,write,increment,decrement,restore,transfer等,它们可以完成mcu对mifare非接触式智能卡的很多应用场合的控制。mcu对mf-rc522的某一指令操作不是简单的一条指令所能完成的,必须有一个程序的序列来完成,其中有对mf-rc522硬件内核寄存器的读/写以及根据读出的硬件内核寄存器的内容进行语言软件上的判断和设置。不同的指令将设置不同的mf-rc522内部寄存器以及应有不同的编程语言程序序列。mf-rc522主要指令说明如下:(1)“answer to request”(应答或复位应答)表4-8 复位应答指令指令指令代码(hex)相关的出错标志接收卡片上数据request std26te,betag typerequest all52request指令将通知mf-rc522在天线有效的工作范围内寻找ware卡片。如果有mifare卡片存在,这一指令将分别与mifare卡片进行通信,读取ware卡片上的卡片类型号tagtype,由mf-rc522传递给mcu,进行识别处理。request指令分为request std和request all两个指令。request all指令是非连续性的读卡指令,只读一次,它可以防止mf-rc522选择同一卡片好几次。当某一张卡片在mf-rc522天线的有效工作范围内,request all指令在成功地读取这一张卡片之后,将一直等待卡片的使用者拿走这张卡片,直到有新一张的卡片进入m- rc522天线的有效工作范围内。request std指令的使用和request all指令相反,request std指令是连续性的读卡指令。当卡片在mf-rc522天线的有效工作范围内,request std指令在成功地读取这一张卡片之后,对卡进行其他操作。如果其他操作完成之后,程序员又将mf-rc522进入request std指令操作,则request std指令将连续性地再次进行读卡操作,而不管这张卡片是否被拿走。只要有一张卡片进入mf-rc522之天线的有效的工作范围内,request std指令将始终连续性地再次进行读卡操作。(2)“select tag”(选择卡片操作)表4-9 选择卡片指令指令指令代码(hex)相

温馨提示

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

评论

0/150

提交评论