⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1.htm

📁 新一代Mifare射频基站IC  MF  RC522在水表中的应用
💻 HTM
📖 第 1 页 / 共 2 页
字号:
                  1&nbsp;&nbsp;&nbsp;&nbsp; 0</B></DIV>
                  <TABLE borderColorDark=#ffffff width="100%" 
                  borderColorLight=#000000 border=1>
                    <TBODY>
                    <TR>
                      <TD 
                        width="25%">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                        0</TD>
                      <TD width="25%">Rcv OFF</TD>
                      <TD width="25%">Power Down</TD>
                      <TD width="25%">COMMAND</TD></TR></TBODY></TABLE>
                  <DIV>Command命令类别如表2所示。<BR><BR><B>表2 Command命令类型</B></DIV>
                  <TABLE height=159 borderColorDark=#ffffff width="100%" 
                  borderColorLight=#000000 border=1>
                    <TBODY>
                    <TR>
                      <TD align=middle width="50%" height=12>COMMAND(命令)</TD>
                      <TD align=middle width="50%" height=12>命令代码</TD></TR>
                    <TR>
                      <TD align=middle width="50%" height=12>Idle(空闲)</TD>
                      <TD align=middle width="50%" height=12>0000</TD></TR>
                    <TR>
                      <TD align=middle width="50%" height=12>CalcCRC(校验)</TD>
                      <TD align=middle width="50%" height=12>0011</TD></TR>
                    <TR>
                      <TD align=middle width="50%" height=12>Transmit(发送)</TD>
                      <TD align=middle width="50%" height=12>0100</TD></TR>
                    <TR>
                      <TD align=middle width="50%" height=12>NoCmd 
                        Change(无命令改变)</TD>
                      <TD align=middle width="50%" height=12>0111</TD></TR>
                    <TR>
                      <TD align=middle width="50%" height=12>Recceive(接收)</TD>
                      <TD align=middle width="50%" height=12>1000</TD></TR>
                    <TR>
                      <TD align=middle width="50%" height=12>Transceive(收发)</TD>
                      <TD align=middle width="50%" height=12>1100</TD></TR>
                    <TR>
                      <TD align=middle width="50%" height=12>MFAuthent(认证)</TD>
                      <TD align=middle width="50%" height=12>1110</TD></TR>
                    <TR>
                      <TD align=middle width="50%" height=9>Soft 
Reset(软件复位)</TD>
                      <TD align=middle width="50%" 
                  height=9>1111</TD></TR></TBODY></TABLE>
                  <DIV>2.2 基本指令集</DIV>
                  <DIV>MF RC522有14种基本指令集,实现不同方式的数据传输,如表3所示。<BR><BR><B>表3 
                  14种基本指令集</B></DIV>
                  <TABLE borderColorDark=#ffffff width="100%" 
                  borderColorLight=#000000 border=1>
                    <TBODY>
                    <TR>
                      <TD align=middle width="50%">基本指令</TD>
                      <TD align=middle width="50%">指令代码</TD></TR>
                    <TR>
                      <TD align=middle width="50%">Request Std</TD>
                      <TD align=middle width="50%">0x26</TD></TR>
                    <TR>
                      <TD align=middle width="50%">Request All</TD>
                      <TD align=middle width="50%">0x52</TD></TR>
                    <TR>
                      <TD align=middle width="50%">AntiCollision(防重叠)</TD>
                      <TD align=middle width="50%">0x93</TD></TR>
                    <TR>
                      <TD align=middle width="50%">Select Tag(选卡片)</TD>
                      <TD align=middle width="50%">0x93</TD></TR>
                    <TR>
                      <TD align=middle width="50%">Authentication_A</TD>
                      <TD align=middle width="50%">0x60</TD></TR>
                    <TR>
                      <TD align=middle width="50%">Authentication_B</TD>
                      <TD align=middle width="50%">0x61</TD></TR>
                    <TR>
                      <TD align=middle width="50%">Read(读)</TD>
                      <TD align=middle width="50%">0x30</TD></TR>
                    <TR>
                      <TD align=middle width="50%">Write(写16Bytes)</TD>
                      <TD align=middle width="50%">0xA0</TD></TR>
                    <TR>
                      <TD align=middle width="50%">Write4(写4Bytes)</TD>
                      <TD align=middle width="50%">0xA2</TD></TR>
                    <TR>
                      <TD align=middle width="50%">Increment(增值)</TD>
                      <TD align=middle width="50%">0xC1</TD></TR>
                    <TR>
                      <TD align=middle width="50%">Destore(减值)</TD>
                      <TD align=middle width="50%">0xC0</TD></TR>
                    <TR>
                      <TD align=middle width="50%">Restore(重储)</TD>
                      <TD align=middle width="50%">0xC2</TD></TR>
                    <TR>
                      <TD align=middle width="50%">Transfer(传送)</TD>
                      <TD align=middle width="50%">0xB0</TD></TR>
                    <TR>
                      <TD align=middle width="50%">No command</TD>
                      <TD align=middle width="50%">0x50</TD></TR></TBODY></TABLE>
                  <DIV><B>3 软件设计</B></DIV>
                  <DIV>MSP430F413首先对MF RC522进行初始化配置,寄存器设置好后,MF 
                  RC522可以接收控制执行命令执行操作,实现与Mifare 1 S50卡片通信;Mifare 1 
                  S50卡根据接收到的指令进行相应操作。但是MSP430F413并不是通过简单的指令就可以读写IC卡片,需要一系列的操作才能完成通信。主要包括:(1)请求唤醒;(2)防重叠;(3)选择卡片;(4)密码认证;(5)读写操作。</DIV>
                  <DIV>MSP430F413对Mifare 1 S50卡片操作流程,如图3所示。</DIV>
                  <DIV>3.1 请求Request Std/Request All</DIV>
                  <DIV>当在天线有效工作距离内检测到卡片,MF RC522发送Request Std/Request 
                  All请求指令,卡片接收到请求指令后返回握手信号,从而判断操作是否成功。<BR><IMG height=640 
                  hspace=20 
                  src="新一代Mifare射频基站IC&nbsp;MF&nbsp;RC522在水表中的应用.files/200671920506580.gif" 
                  width=525 vspace=10 border=0><BR><FONT 
                  size=3>&nbsp;&nbsp;&nbsp; </FONT>Request Std(0x26)连续读卡指令</DIV>
                  <DIV>Request All(0x52)非连续读卡指令</DIV>
                  <DIV>3.2 Atcollision(防重叠)</DIV>
                  <DIV>MF 
                  RC522能够防止多张卡片重叠造成的数据错误。当在天线有效工作距离内检测到多张卡片时,MCU读取序列号进行判断检测。</DIV>
                  <DIV>Mifare 1 
                  S50卡具有全球唯一4个字节的序列号,SN存放在Sector0的Block0内前4个字节,第5个字节存放校验码(4字节异或结果),MCU控制循环读取序列号,直到读取一个校验正确的序列号后,保存并退出循环;当然出错也会退出循环。</DIV>
                  <DIV>Sector0的Block0数据格式如表4所示。</DIV>
                  <DIV><IMG height=136 
                  src="新一代Mifare射频基站IC&nbsp;MF&nbsp;RC522在水表中的应用.files/200671920506621.gif" 
                  width=549 border=0></DIV>
                  <DIV>3.3 Select(选择卡片)</DIV>
                  <DIV>将Anticollision操作读取的序列号SN 4个字节还有异或的校验码发送到Mifare 1 
                  S50卡上,卡片接收后与自身SN及校验码核对,只有完全一样才能选定卡片。</DIV>
                  <DIV>3.4 Authentication(密码认证)</DIV>
                  <DIV>Mifare 1 
                  S50卡有1KB容量,分为16个扇区:Sector0到Sector15,每个Sector(扇区)包括4个Block(块),每个Block具有16个byte的存储容量。Block被分为Block0至Block3;整个Mifare 
                  1 S50非接触式智能卡共有64个Block。</DIV>
                  <DIV>每个Sector的Block3都存放着本扇区自己的密码KeyA、KeyB和Access Bits。通过Access 
                  Bits设置密码方式和数据块类型(Write/Read或Value)。</DIV>
                  <DIV>只有密码完全认证通过后,才可以对卡片进行Write/Read操作。</DIV>
                  <DIV>3.5 Write/Read(读写操作)</DIV>
                  <DIV>Authentication密码认证通过后,可以对64Block进行读写操作。其中Sector0中的Block0只能执行读操作。Mifare 
                  1 S50读写时是以Block为单位的,读或写都是针对整个Block 
                  16字节的数据,不能单个字节读写。为了确保数据的正确性,可进行数据校验。</DIV>
                  <DIV>3.6 Decrement/Increment(增值和减值操作)</DIV>
                  <DIV>当数据块通过设置Access 
                  bits配置成Value型时,可以对其进行Decrement/Increment操作。为了防止数据出错,Value 
                  Block设有复杂的数据格式。Value重复存放3次,其中原码存放2次,补码再存放1次;Adr重复存放4次,其中原码存放2次,补码再存放2次。</DIV>
                  <DIV>Value:增值或减值 Adr:操作Block地址</DIV>
                  <DIV>执行Decrement/Increment后,把结果存放在内部数据缓冲寄存器中,等待Transfer指令操作写入指定的目标Block中。</DIV>
                  <DIV>3.7 Restore</DIV>
                  <DIV>Restore指令是将Mifare 1 
                  S50内某一Block内容读出,存放在内部数据缓冲寄存器中,等待Tranfer指令操作写入指定的目标Block中,相当于复制Block 
                  a到Block b中.</DIV>
                  <DIV>3.8 Transfer(传送)</DIV>
                  <DIV>Transfer指令操作是将内部数据缓冲区内数据传送到目标Block中.执行Decrment/Increment和Restore指令操作都需要Transfer指令,数据才能成功传输.</DIV>
                  <DIV>3.9 Halt(停机)</DIV>
                  <DIV>Halt指令操作将结束MF RC522与Mifare S50通信。</DIV>
                  <DIV>MF 
                  RC522作为新一代非接触IC卡与传统的IC卡相比有着很大的优势,具有较强的保密性能和防碰撞功能,特别是采用低电压供电大大降低功耗,能够与超低功耗MSP430单片机结合实现低功耗预付费水表的设计。 
                  </DIV><SPAN class=style1>(<A class=link3 
                  href="http://www.avrw.com/" 
                target=_parent>综合电子论坛</A>)</SPAN></TD></TR></TBODY></TABLE>
            <P 
            align=center>&nbsp;*注:部份文章为网上收录供大家共同学习参考之用,并不代表本站意见。如存在版权问题请马上通知我们,我们将马上删除。</P></TD></TR></TBODY></TABLE></P></TD></TR></TBODY></TABLE>
<SCRIPT 
src="新一代Mifare射频基站IC&nbsp;MF&nbsp;RC522在水表中的应用.files/floor.htm"></SCRIPT>

<SCRIPT 
src="新一代Mifare射频基站IC&nbsp;MF&nbsp;RC522在水表中的应用.files/homeright.js"></SCRIPT>

<SCRIPT language=javascript 
src="新一代Mifare射频基站IC&nbsp;MF&nbsp;RC522在水表中的应用.files/339405.js" 
type=text/javascript></SCRIPT>
<NOSCRIPT><A href="http://www.51.la/?339405" target=_blank><IMG 
style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none" 
alt=我要啦免费统计 
src="新一代Mifare射频基站IC&nbsp;MF&nbsp;RC522在水表中的应用.files/s.gif"></A></NOSCRIPT>
<SCRIPT language=JavaScript 
src="新一代Mifare射频基站IC&nbsp;MF&nbsp;RC522在水表中的应用.files/stat.htm" 
charset=gb2312></SCRIPT>

<SCRIPT 
src="新一代Mifare射频基站IC&nbsp;MF&nbsp;RC522在水表中的应用.files/shownum.htm"></SCRIPT>
 </BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -