超级大乐透开奖时间

单片机与RFID的非接触式读卡器软件设计

 一、背景
  随着中国物联网热的兴起人们对物联网的兴趣也极大的增加各种对物联网应用的研究也逐步展开。所谓^物联网 ̄(Internet of Things)指的是将各?#20013;?#24687;传感设备如射频识别(RFID)装置、红外感应器、全球定位系统、激光扫描器等种种装置与互联网结合起来而形成的一个巨大网络。其目的是让任何物品都与网络连接在一起方便识别和管理。 物联网是利用无所不在的网络技术建立起来的。
  其中非常重要且应用得最为广泛的的是RFID技术。RFlD是射频识别技术(Radio Frequency denti-fieation)的英文缩写又?#39057;?#23376;标签是一项利用射频信号通过空间耦合(交变磁场或电磁场)实现无接触信息传递并通过所传递的信息达到识别目的的技术。RFID具备自动识别的能力而且能够应用到任何物体上. RFlD又可分为接触式与非接触式两种. 非接触式刷卡方便安全性能高.故其应用越来越广泛。
  射频识别技术具有很多突出的优点第一安全性高。适合于高安全性的终端。数据安全方面除电子标签的密码保护外数据部分可用一些算法实现安全管理。读写器与标签之间存在相互?#29616;?#30340;过程。可实现安全通信和存储读写器具有不直接对最终用户开放的物理接口可保证其自身的安全性第二。可同时识别多个电子标签第三无机?#30340;?#25439;。寿命长。并可工作于各种油渍、?#39029;?#27745;染等恶劣的环?#24120;?#31532;四非接触操作完成识别工作时无需人工干预。应用便利。正是因为具有这些优点使RFID的应用在近年来如火如荼。为了使复杂的RFID系统简化。?#25910;?#35774;计了基于单片机与MF RC500型读卡器的?#32479;?#26412;无源RFID系统。系统外部接口为串口使得包括PC在内的有串口的设备可以方便地与它相连。对RFID的推广有重要意义。
  二、方案及元器件选择
  本次读卡器的RFID芯片上我选择了Philip公司的mifare技术及其芯片MF RC500 它目前占据世界非接触式IC卡市场80%的份额具有方案成熟价资料全面的优点格低廉。
  随着半导体技术的进步单片机成为功能越来越强的片上系统SOC正向小型化低功耗及模数混合的方向发展使其在通用小型化系?#25345;?#25104;为处理器的首选.而51系列单片机更是其中最为典?#20572;?#24212;用最为广?#28023;?#26368;稳定的一系列产品.
  因此在本次非接触式IC读卡器的设计上我选择了atmel公司生产的89c51单片机.它是一种带4k字节可编程可擦除只读存储器(FPEROM!Falsh Programmable and Erasable Read Only Memory)的低电压、高性能CMOS8位微处理器。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非?#36164;?#23384;储器制造技术制造与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和?#20102;?#23384;储器组合在单个芯片中ATMEL的89C51是一种高效微控制器。它结构稳定技术成熟资料全面价格低廉.89C51单片机为很多嵌入式控制系?#31243;?#20379;了一种灵活性高且价廉的方案。
  89c51系列单片机与MF RC500的组合已?#34892;?#22810;成熟的方案资?#29616;?#22810;便于实现 。
  三、系统硬件设计
  1、系统工作概述
  非接触式卡读IC卡器硬件电路包括以下部分控制器mifare读写芯片天线匹配电路天线RS232通信电路分为电路电源电路LED状态显示?#22836;?#40483;器驱动电路?#21462;?BR>  RFID标签由耦合元件及电路组成其发射电波及内部处理器运行所需能量均来自阅读器产生的电磁波。无源标签接收到阅读器发出的电磁波信号后。将部?#20540;?#30913;能量转化为供自己工作的能量。每个电子标签具有全球惟一的识别号(ID)无法修改、无法仿造保证?#31246;?#20840;性。电子标签中保存有约定格式的电子数据。
  天线在标签和阅读器间传递射频信号。即标签的数据信息。
  RFID阅读器是读取(或写入)电子标签信息的设备。阅读器可无接触地读取并识别电子标签中所保存的电子数据。能自动识别物体。阅读器通过网口与计算机相连。将读取的标签信息传送到计算机上。进行下一步处理。
  2、MF RC500的特点
  Philips公司的MF RC500型读卡器是应用于13。56 MHz非接触式通信的高集成读卡IC系列中的一员。该读卡IC系列利用先进的调制和解调概念。完全集成了在13。56 MHz下所有类型的被动非接触式通信方式和协议。MF RC500支持IS014443A所有的层。内部的发送器部分不需要增加有源电路就能够直接驱动近操作距离的天线(可达100 mm)接收器部分提供一个坚固而?#34892;?#30340;解调和解码电路用于IS014443兼容的应答器信号数字部分处理IS014443A帧和错误检测(奇偶&CRC)。此外它还支持快速CRYPTOI?#29992;?#31639;法用于验证Mifare系列产品。方便地并行接口可直接连接到任何8位微处理器。给阅读器的设计提供了极大的灵活性。。MF RC500可方便的用于各种基于ISOIEC 14443A标准并且要求?#32479;?#26412;、小尺寸、高性能以及单电源的非接触式通信的应用场合。
  3、MF RCS00的功能
  MF RC500内部包括并行微控制器接口、双向。FIFO缓冲区、中断、数据处理单元、状态控制单元、安全和密码控制单元、模拟电路接口及天线接口。MF RC500的外部接口包括数据总线、地址总线、控制总线(包含读写信号和中?#31995;?和电源?#21462;MF RC500的并行微控制器接口自动检测连接的8位并行接口的类型。它包含一个易用的双向FIFO缓冲区和一个可配置的中断输出为连接各种MCU提供了很大的灵活性。即使采用成本非常低的器件也能满足高速非接触式通信的要求。数据处理部?#31181;?#34892;数据的并行一串行转换。支持的帧包括CRC?#25512;?#20598;校验。MF RC500以完全透明的模式进行操作。因而支持IS014443A的所有层。状态和控制部分?#24066;?#23545;器件进行配置以适应环境的影响并将性能调节到最佳状态。当与Mifare Standard和Mifare通信时使用高速CRYPTOI流密码单元和一个可靠的非?#36164;?#24615;密匙存储器。模拟电路包含一个具有阻抗非常低的桥驱动器输出的发送部分。这使得最大操作距离可达100 mm。接收器可以检测到并解码非常弱的应答信号。
  根据RFID原理和MF RC500的特性可设计基于AT89C51和MF RC500的REID阅读器系统。
  系?#25345;?#35201;由AT89C51、MF RC500、时钟电路、看门狗、MAX232和矩阵键盘等组成。系统的工作方式是先由。MCU控制MF RC500驱动天线对Mifare卡也就是对应答器(PICC)进行读写操作然后与PC通信把数据传给上位机。主控电路采用AT89C51因为AT89C51的开发简单、快捷。运行稳定。采用ATMEL的AT24C256型。12C总线EEPROM存储系统的数据。为了防止系统^死机 ̄.使用MAX813作为看门狗来实现系统?#31995;?#22797;位、按键的热重启及电压检测?#21462;?#19982;上位机的通信采用RS一232方式整个系统由9V电源供电。再由稳压模块7805稳压成5V的电源。
  MF RC500和单片机AT89C51都是采用标准TTL电平不需电平转换。单片机AT89C51与PC串口电平不匹配。使用MAX232型电平转换器进行电平转换。
  4、系?#31243;?#32447;设计
  MF RC500的非接触式天线接口使用4个引脚。
  为了驱动天线MF RC500通过TXl和TX2提供13。56 MHz的能量载波。根据寄存器的设定对发送数据进行调制来得到发送的信号。S50卡采用RF场的负载调制进行响应。天线拾取的信号经过天线匹配电路送到RX脚。MF RC500的内部接收器对信号进行检测和解调并根据寄存器的设定进行处理。然后数据发送到并行接口。由微控制器进行读取。MF RC500对驱动部分使用单独电源供电。
  一般的天线设计要达到如下要求
  1)使天线线圈的电流最大用于产生最大的磁通量2)功率匹配。以最大程度地利用产生磁通量的可用能量3)足够的带宽。以便无失真地传送用数据调制的载波信号。天线是有一定负载阻抗的谐振回路。阅读器又具有一定的源阻抗。为了获得最?#30740;?#33021;必须通过无源的匹配回?#26041;?#32447;圈阻抗转换为源阻抗。然后通过同轴线缆即可无损失且无辐射地将功率从读写器末级传送到匹配电路。
  为了节约成本?#22270;?#23567;系?#31243;?#31215;。本系统采用PCB板天线设计。品质因数Q是一个很重要的参数。用于电感耦合式射频识别系统的天线其特征值就是它的谐振频率和品质因数。较高的品质因数值会增加天线线圈中的电流强度由此改善对RFID卡的功率传送。与之相反天线的传输带宽刚好与品质因数值成反比例变化选择的品质因数过高会导致带宽缩小。从而明显地减弱卡片接收到的调制边。品质因数可以通过电感线圈电抗与电阻的比值计算出来公式Q=(coaxLm)/RANT
  四、系统软件设计
  1、系统的工作方式
  硬件掉电阶段
  以下三?#26234;?#20917;导致系统掉电阶段?#34892;В?1)DVDD引脚电压上升导致?#31995;?#22797;位。(2)AVDD引脚电压上升导致?#31995;?#22797;位。(3)RSTPD引脚为高电平。
  (1)复位和复位响应
  复位和复位响应是根据ISO/IEC 10536-1标准来进行的 在操作期间的?#25105;?#26102;候都可以复位开始地址计数器随一个时钟脉冲而被设置为零。复位阶段需要512个时?#21448;?#26399;在复位阶段一些寄存器由硬件预设。如果使用内部晶振需要注意他是由AVDD供电需要一点时间等到晶振稳定。当RST 线从高状态(H)置到低状态(L)时第一个数据位(LSB)的内?#33660;?#36865;到I/O上若连续输入32个时钟脉冲主存储器中的前四个字节地址单元中的内?#33660;?#35835;出在第33 个始终脉冲的下降沿I/O线被置成高状态而关闭。
  (2)命令模式
  复位响应以后芯片等待着命令每条命令都以一个启动状态开始整个命令包括3 个字节随后紧跟着一个附加脉冲并用一个停止状态来结束操作。
  启动状态在CLK 为高状态(H 状态)期间I/O 显得下降沿为启动状态。
  停止状态在CLK 为高状态(H 状态)期间I/O 显得上升沿为停止状态。
  在接受一个命令之后有两种可能的模式输出数据模式(即读数据)和处理数据模式。注IFD (INTERFACE DEVICE)指接口设备。
  (3)输出模式
  输出数据模式是将IC 卡芯片中的数据传送个外部设备接口(IFD)的一种操作 在第一个CLK 脉冲的下降沿之后I/O 线上的第一位数据变为?#34892;В?#38543;后每增加一个时钟脉冲芯片内部的一位数据被送到I/O 线上其传送顺序?#29992;?#20010;字节的最低位(LSB)开始。当所需要的最后一个数据?#32479;?#20197;后需要在附加一个时钟脉冲来把I/O 置成高状态以便接受新的命令。在输出数据期间任何启动状态和停止状态均被屏蔽掉。
  (4)读操作
  基站产生固定间隙的射频振荡并通过控制两个间隙之间的振荡时间对位数据"1"和位数据"0"进行编码持续地发送位数据流完成写操作。 
  (5) 时钟特性
  MF RC500包含一个TIMER TIMER的主要部分是一个自减计数器值不为0?#31361;?#22312;时钟控制下做自减操作。如果AutoRestart置1则TIMER不会自减到0。当TIMER计数到1时会在下一个时钟自动加载TimerReolad寄存器的值。
  TIMER时钟由芯片13.56 MHz时钟分配得到。由TpreScaler寄存器决定?#21046;?#25968;
  TpreScaler寄存器?#27573;?#20174;0到21对应T从74ns到150ms。从上一个开始时间到目前的时间?#27573;?#20026;74ns到40s。
  2、单片机软件设计
  下位机程序主要包括对MF RC500进行初始化、接收上位计算机的指令、控制MF RC500并且把MF RC500的状态信息反馈给计算机。MCU对Mifare1卡操作的命令主要有空操作、装载密码、验证密码、读卡、写卡和关卡?#21462;?#26080;论哪种操作都必须先把命令代码写入到Command寄存器比如执行验证密码则需要执行WriteRC(RegCommand0x0c)命令。
  整个系统的工作由对Mifare卡操作和系统后台处理两大部分组成。由于篇幅有限本文只介绍对Mifare卡操作流程。Mifare卡的操作可以分为以下几项
  1复位请求
  当一张Mifare卡处在读写器的天线的工作?#27573;?#20043;内时复位请求开始工作并按以下步骤进行操作
  1)读写器向卡片发出Request all(或Request std)命令。Request all指令是连续性的读卡指令。Request all指令是非连续性的读卡指令只读一次。
  2)Request all指令在成功地读取一张卡片之后会一直等待使用者拿走这一张卡片直?#25509;行?#19968;张卡片进入MF的天线?#34892;?#24037;作?#27573;?#20043;内
  3)卡片的ATR将启动将卡片Block 0中的卡片类型(TagType)号共2个字节传送给读写器建立卡片与读写器的第一步通信联络。
  具体代码如下
  void SerialIRQ() interrupt 4
  {   if(RI){RI=0
  if(SBUF=='[')//开始接收
  point_in=0
  else if(!Request all)
  { Request std[point_in]=SBUF} // 放入缓冲
  2?#30913;?#25758;操作
  如果有多张Mifare卡片处在卡片读写器的天线的工作?#27573;?#20043;内时读卡器将
  1)与每一张卡片进行通信取得每一张卡片的系列号。由于每一张Mifare卡片都具有其唯一的序列号决不会相同。
  2)读卡器根据卡片的序列号来保证一?#27779;?#23545;一张卡操作。
  3)读卡器得到PICC的返回值为卡的序列号。
  3卡选择操作步骤
  1) MCU向MF RC500发送^SELECT ̄命令。
  2)同时在^AntiCollision ̄操作中得到Mifare 1卡片的40bit长的序列号的前四个字节以及前四个字节的异或结果。
  3)同时再重新发送给Mifare 1卡只有本身的序列号和接收的序列号相同的卡片才被真正地选中。
  4)Select指令成功执行后MCU将得到DATA寄存器传来的一个字节长的卡片容量信息(SIZE字节)。SIZE字节被存储在Mifare 1卡片上的第00H扇区中的第00H 块中。
  4?#29616;?#25805;作步骤
  1)设置密码控制寄存器KEYSTACON使AL1。
  2)然后设置KS0和KS1以指定一套密码集。
  3设置密码地址寄存器KEYADDR。
  4)通过写Authentication ?#29616;?#21629;令代码和写^地址 ̄(Mifare 1卡要?#29616;?#30340;扇区地址是0~15)到DATA寄存器。如果三遍?#29616;?#30340;每一个环都为^真?#20445;?#19988;都能正确通过验证则整个?#29616;?#25104;功。这时读写器即可对刚刚?#29616;?#36890;过的卡片上的这个扇区进行下一步READWRITE 等操作。
  5读写操作步骤
  1)^Authentication ̄ ?#29616;?#25351;令完成。
  2)对数据扇区或数据块进行^Write ̄写指令操作。
  3)完成数据块的初始化。
  3、MF RC500编程方法
  除了复位以外。对MF RC500的绝大多数控制是通过读写MF RC500的寄存器来实现的。MFRC500共有64个寄存器分为8个寄存器页每页8个。每个寄存器都是8位。单片机将这些寄存器作为片外RAM进行操作。最常用的是FIFODATA(数据堆栈)、COMMAND(命令)、FIFOLENGTH(堆栈长度)和PRIMARYSTATUS(标记)?#21462;?#35201;实现某个操作。只需将该操作对应的代码写入对应地址即可。例如MF RC500休眠模式对应的控制寄存器名为Contr01地址为09H的bit4且为1?#34892;В?#37027;么让MFRC500进入休眠模式只需要将Contr01写入0x10即可。
  当对应的RFlD卡S50进入阅读器的?#34892;Х段?#26102;天线的能量使RFID卡耦合出自身工作的能量并建立通信。MF RC500对卡的操作主要是通过写通讯命令、参数和数据到FIFODATA再通过写命令到120MMAND实现与RFID卡的通讯。
  工程中用到的函数主要有系统初始化、验证密码、复位射频卡、?#29616;?#29366;态、防重叠?#29616;ぁ?#35835;取?#20572;稗藤腺b?#21345;、写EEprom、蜂鸣器响、命令执行标志置1、冲掉FIF?#31995;取?#20854;他就不一一?#33455;?#20102;。很多函数只是在基本的读写寄存器操作的基础上做了一个封装使得调用起来更加方便这种模块化的程序设计方法在项目中得到了很好的体现。
  五、结束语
  物联网的研究以及应用涉及到很多方面本着专而精的原则再加上时间的限制我选择了应用最为广?#28023;?#19988;最贴近人们日常生活的基于单片机与非接触式IC射的频读卡器作为本次的课题。本文介绍了基于Philips公司MF RC500型芯片和atmel公司AT89c51型单片机的RFID阅读器的?#32479;?#26412;软硬件设计。且重点放在这两块芯片的I/O接口设计及相互通信方面对MF RC500与IC卡片之间的射频通信及单片机与上位机之间的通信则未作过多的介绍。经?#23548;?#39564;证本系统可成功实现对符合IS014443协议的MifareS50卡的读写并且能对?#27573;?#20869;的多个卡准确无误地读写读写距离达到8 cm。本系统成本低廉足协速度快可靠性高操作便利可以方便地和包括PC在内的有申口的设备连接。它可以作为简单模块与其他系统相连。对RFID的推广有重要意义。
  通过本次课题的设计我也从对单片机及射频方面的知识一点也不懂进步到对单片机的工作原理、接口设计、射频的原理、系统的整?#31995;?#37117;有一定了解。由于之?#23433;?#27809;有相关知识所以平时主要以看书及查资料为主边查边学习进步较快。同时也认识到要进行一个项目一定要先进行市场调查全面把握对各方面都要考虑到。

上海誉澄智能科技有限公司智能系统事业部 All rights reserved 地址上海金沙江西路1075弄1号写?#33268;? 
电话 021-59786133 18621810519(24小时)   ?#27663;筍[email protected]  QQ529131638 9223677 9603426 沪ICP备10219392号  

沪公网安备 31011402002854号

更多
階雫寄赤邑蝕襲扮寂
紘同嫻鋸嫌渣 臭釦11僉5蝕襲恠 紘同耽晩容呪利 嶄署e塘 挫釘168塘彿 紘同迫米鯱 膨圭采掴醍繍郊圭道惚 寄赤i邑蝕襲潤惚l 敬友柴皿 庁亭慨紘頁寔熱宅