ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:180.83KB ,
资源ID:1899300      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-1899300.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(RC531操作说明.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

RC531操作说明.docx

1、RC531操作说明RC531操作说明1:上电初始化主要做SPI接口确认步骤:1:给rc531的RSTPD脚一个高电平脉冲至少100us,热复位RC5312:读command-reg 直到寄存器数值为0,表示芯片上电初始化完成3:写0x80到page-reg,让芯片开始处理接口时序4:读command-reg 直到寄存器数值为0,表示芯片接口时序初始化完成5:此时可以写0x00到page-reg,指定寄存器地址模式为线性地址模式 Note:见RC531第93页11.4 Initialising the Parallel Interface-Type说明 2:spi接口时序使用SPIMODE0模式

2、,在时钟的上升沿发送和读取数据读时序:主机连续写地址,写第二个地址时,在时钟上升沿可以读到RC531返回的第一个地址的值要求,地址字节的最高位为1,中间6位为实际地址,最低位为0写时序:第一个字节是地址,后面可以是N个数据,都往这个地址写,这点在写FIFO时很方便要求,地址字节的最高位为0,中间6位为实际地址,最低位为0NOTE:见RC531第17页3:RC531操作, 通过写寄存器,一般两字节操作,addr+data 和卡的数据交互,写数据到RC531的FIFO寄存器 如(cs选中,addr写+data1+data2+.+dataN,cs释放) (cs选中,cmd-reg+0x1e(发送接收

3、命令)+cs释放) (cs选中,addr读,读出n字节,cs释放)4:和卡的交互 寻卡,使用命令0x52(对所有卡包括halt的卡有效),0x26(对standby的卡有效) 数据长度1字节, 返回2字节 返回说明,2字节卡类型 0x04= CARD_S50; 0x44=UL卡 0x08=CPU卡 0x03= SHUL卡; NOTE:格式要求:RC531关闭所有校验,关闭加密,只发送7bit数据(通过更改 531寄存器BitFraming), 见ISO144443A,7.2.3.2 WAKE-UP(REQA)指令 防冲撞:先使用命令 0x93,0x20 返回5字节,4字节卡号+1字节异或效验

4、例:531设置:无发送CRC,无接收CRC,有奇校验,ZeroAfer=1; 发0x93,0x20; 收0x88,0x4,0x4b,0x7,0xc0 设置ZeroAfer=0;(必须有,否则之后操作不能完成) NOTE:格式要求:RC531关闭CRC,奇校验,通过设置DecodeControl接收控 制ZeroAfer置1,选卡:先使用命令 0x93,0x70 + 4字节卡号 + 卡号异或校验 返回1字节SAK 例:531设置:有发送CRC,接收CRC,有奇校验 发0x93,0x70,0x88,0x4,0x4b,0x7,0xc0 收0x04载入密码:验证:读卡: 先使用命令 0x30+bloc

5、k号(对UL卡而言是page号) 返回16字节数据 例:531设置:有发送CRC,有接收CRC,有奇校验 发0x30,0x05 收:0x4,0x4b,0x7,0xc0,0x99,0x2c,0x25,0x84,0x14,0x48,0x0,0x0,0x0,0x0,0x0,0x0 NOTE:UL卡每扇区只有4字节,所以每次读出4扇区数据,共16字节数据 对于普通mafare卡,每个扇区读写都要重新认证密钥写卡: 第一步: 先使用命令 0xA0+block号(对UL卡而言是page号)确定写入地址有效 返回1字节ACK(0x0a) 例:531设置:有发送CRC,无接收CRC,有奇校验 发0xA0,0x

6、05 收0x0a 第二步: 写入16字节块数据 返回1字节ACK(0x0a) 例:531设置:有发送CRC,无接收CRC,有奇校验 发0x5,0x5,0x5,0x5,0x5,0x5,0x5,0x5,0x5,0x5,0x5,0x5,0x5,0x5,0x5,0x5 收0x0a NOTE:按照14443A标准,返回的ACK是4bit数据,所以在使用FM2701等 兼容芯片时,一定要取消接收CRC,否则接收不到ACK应答, 另:在写UL卡之前,要先读一下0扇区,确定块锁定状态,否则不能写入。 写入时,16字节数据仅前4字节有效,后12字节要设为0 对于普通mafare卡,每个扇区读写都要重新认证密钥M

7、L卡ML卡是一种小容量卡,共384位,适合于一卡一用。电气特性l 容量为384位l 16位的数值计算l 128位的数据区(如果不用钱包文件可达192位)l 用户可自定义控制权限l 唯一的32位序列号l 工作频率:13.56MHZl 通信速率:106KB波特率l 防冲 突:同一时间可处理多张卡l 读写距离:在10cm以内(与天线有关)l 卡内无需电源存储结构ML卡共384位,分为12页,每页为4个字节。存储结构如下:页号字节0字节1字节2字节3说明0SerNr(0)SerNr(1)SerNr(2)SerNr(3)Block 01SerNr(4)Size CodeType(0)Type(1)2Da

8、ta(0)Data(1)Data(2)Data(3)Data13Data(4)Data(5)Data(6)Data(7)4Value(0)Value(1)Value_b(0)Value_b(1)Value5Value(0)Value(1)Value_b(0)Value_b(1)6KeyA(0)KeyA(1)KeyA(2)KeyA(3)KeyA7KeyA(4)KeyA(5)AC-AAC-A_b8KeyB(0)KeyB(1)KeyB(2)KeyB(3)KeyB9KeyB(4)KeyB(5)AC-BAC-B_bAData(0)Data(1)Data(2)Data(3)Data2BData(4)Dat

9、a(5)Data(6)Data(7)(注:_b表示取反)(1)第0、1页存放着卡的序列号等信息,只可读。(2)第2、3页及A、B两页数据块,可存贮一般的数据。(3)第4、5页为数值块,可作为钱包使用,两字节的值以正和反两种形式存贮。只有减值操作,没有加值操作。如果不做钱包使用,则可以做为普通的数据块使用。(4)第6、7、8、9页存储着密码A(6字节)、密码B(6字节)及存取控制。(5)第7页的2字节、第9页的2字节为存储控制,存储控制以正和反的形式存两次。Bit 7Bit 6Bit 5Data2WriteEnableBit 4Data2readEnableBit 3Key+ACWriteEna

10、bleBit 2ValueWriteEnableBit 1Data1WriteEnableBit 0Data1readEnable例如:AC-A的初始值为ff,即11111111,即:Data1:可读、可写;Value:可写;AC-A:可写;Data2:可读、可写;(6)一次写一页(4个字节),一次读两页(8个字节)。UL卡M1卡0扇区0块厂商标识信息第04个字节为卡片的序列号,第5个字节为序列号的校验码; 第6个字节为卡片的容量“SIZE”字节; 第7,8个字节为卡片的类型号字节,即Tagtype字节; 其他字节由厂商另加定义。 UL卡储存规范,共16扇区,每扇区4字节,等效与M1卡的4个块

11、,(select时,返回4)存储结构:页号Byte0Byte1Byte2Byte3说明0SN0SN1SN2BCC0只读,存放卡的序列号:Page0前3字节+整个Page11SN3SN4SN5SN62BCC1保留LOCK0LOCK1只读,通过设置LOCK0和LOCK1可以讲16个page设为只读3OTP0OTP1OTP2OTP3可读写,一次性交易计数器,不可逆4Data0Data1Data2Data3可读写,数据存放区域5Data0Data1Data2Data36Data0Data1Data2Data37Data0Data1Data2Data38Data0Data1Data2Data39Data

12、0Data1Data2Data310Data0Data1Data2Data311Data0Data1Data2Data312Data0Data1Data2Data313Data0Data1Data2Data314Data0Data1Data2Data315Data0Data1Data2Data3红色的SN在读扇区0时,返回的是SN0,SN1,SN2,BCC,SN3,SN4,SN5,SN6,xx,xx,0,0,0,0,0,0所以实际取得的psnr(卡序列号)为SN0,SN1,SN2 + SN3,SN4,SN5,SN62.2.2 读卡和写卡指令14443A协议中并没有具体规定对射频卡的读写操作方式

13、,故对每种卡的读写操作都必须考虑该卡的存储区域组织形式和应答形式。MIFARE卡内部存储器是由E2PROM组成的,共划分为16个扇区,每个扇区4个块,每块16字节。对E2PROM的读写都以块为单位进行,即每次读写16字节。以写卡指令为例,MIFARE卡要求有两步握手,指令格式分别如下所述。注意:address值无意义,但value值写入时必须在47字节中存入取反值。一次写一页,一次读4页S50卡(常用标准卡)Mifare 1卡的存储结构2007-06-22 11:262、Mifare 1卡的存储结构1 2Mifare 1卡(简称M1卡)为8k位的IC卡。M1卡的存储结构如下。M1卡分为16个扇

14、区,每个扇区4块(块03),共64块,按块号编址为063,除了第0扇区的块0(即绝对地址0块)用于存放厂商代码不可更改外,其他各扇区的块0、块1、块2为数据块,用于存储数据;块3为控制块,存放密码A、存取控制、密码B,其结构如表1:A0A1A2A3A4A5PP078069B0B1B2B3B4B5密码A(6字节)存取控制(4字节)密码B(6字节)表1各扇区块3存储结构每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存取控制,在存取控制中每个块都有相应的三个控制位,分别以正和反两种形式存在于存取控制字节中,决定了该块的访问权限(如进行减值操作必须验证KEY A,进行加值操作必须

15、验证KEY B,等等)。三个控制位在存取控制字节中的位置如表2所示(字节9为备用字节,默认值为0x69)。Bit76543210字节6C23_bC22_bC21_bC20_bC13_bC12_bC11_bC10_b字节7C13C12C11C10C33_bC32_bC31_bC30_b字节8C33C32C31C30C23C22C21C20表2控制位在存取控制字节中的位置 (注:_b表示取反)每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存取控制,扇区中的每个数据块的存取条件由密码和存取控制共同决定,他们的关系如表3所示。控制位(X:0.2)访问条件(对块0、1、2)C1XC

16、2XC3X读写加值减值000KeyA|BKeyA|BKeyA|BKeyA|B010KeyA|BNeverNeverNever100KeyA|BKeyBNeverNever110KeyA|BKeyBKeyBKeyA|B001KeyA|BNeverNeverKeyA|B011KeyBKeyBNeverNever101KeyBNeverNeverNever111NeverNeverNeverNever表3数据块存取控制条件据此通过授权机制,对特定操作用户实现不同级别的读写控制。只有知道特定密码组合的操作用户才能更新卡中数据,从而大大增强了系统的安全性。射频卡的存储实现技术和工作原理决定了其良好特性,

17、可适用于多种应用。其中射频卡具多个分区、适合一卡多用的特性,使得射频卡在各种一卡通系统中得到广泛应用。M1卡读写失误常见问题 盲目操作: 造成某些区块误操作被锁死不能再使用。应当仔细参考控制位的权限后,预先得出操作后的结果是否 适合使用要求,并且列出操作顺序表单再操作。最好授权程序员对块3的设置作专人操作。 丢失密码: 在读写时造成密码认证出错而不能访问卡。特别要求在对MF卡进行块3编程操作时,必须及时记录相关卡 号的控制值、KeyA、KeyB等,而且应当有专人管理密码档案。 错误设置: 对MF1卡的块3控制位了解不透彻,错误的理解造成错误的设置。目前MF1卡的控制块仅只有8种数据 块控制权限

18、和8种控制块设置权限,超出这16种权限的其它代码组合,将直接引起错误码设置而使卡片报废。 极端权限: 当块3的存取控制位C12 C23 C33=100或者111时,称为极端权限。除特殊应用外一般不被使用!启用前认真权衡对密码读写、存取控制的锁死是否必要,否则,数据加密后即使有密码 也无法读取被锁死的数据区块(看不见)! 设备低劣: 低劣的设备将直接影响卡的读写性能。对MF1卡进行块3编程操作的设备,特别要求其性能必须十分可 靠,运行十分稳定!建议选用由飞利浦公司原装读写模块构建的知名读写机具! 编程干扰: 在对块3进行编程操作时,不可以有任何的“IO”中断或打扰!包括同时运行两个以上程序干扰甚

19、至PC 机不良的开关电源干扰等,否则,不成功的写操作将造成某个扇区被锁死的现象,致使该扇区再次访问时出错而报废。 数据出错: 在临界距离点上读卡和写卡造成的。通常的读卡,特别是写卡,应该避免在临界状态(刚能读卡的距离)读卡。因为临界状态下的数据传达是很不稳定的!容易引起读写出错! 人为失误: 例如,密码加载操作失误,误将KeyA加载为KeyB;或者是误将其他制卡厂约定的初始密码值如 a0a1a2a3a4a5、b0b1b2b3b4b5加载到MF1卡内;或者在初始状态下(密码A=000000000000【隐藏状态,实际为 FFFFFFFFFFFF】、控制位=FF 07 80 69、密码B=FFFF

20、FFFFFFFF【可见】),若不经意地将KeyA=000000000000删除后又重新输入12个“0”,并加载了它!这时无 意中已将KeyA原来12个隐藏的“F”,修改成了12个“0”,其后果可想而知! 卡片失效: 读写均无数据传送,读写器报告“寻卡错误”!卡片被超标扭曲、弯曲而造成内电路断裂。 读写距离过近: 与用户使用的读写器性能有关。标准型MF1卡的读写距离可达10cm(在飞利浦公司的标准读写机 具上测试的最大距离),国产知名品牌读写器一般可达510cm。尺寸较小的匙扣卡,其读写距离当然比标准卡近许多,但只要可靠的读写距离在510cm 之间,一般不会影响正常使用!对于控制块的处理一定要仔

21、细阅读一下部分,刚开始很容易出错。比如:用B密码读控制块,则控制块数据都是伪码数据其伪码数据值与控制字段有关,真实值不显示;用A密码读控制块,则除A区数据为伪码数据外,控制字段和B区数据显示真实值;A,B不能同时认证,每次认证都需要重新选卡等;存储器组织1024 x 8 bit EEPROM存储器分为16区,每区4块,每块16字节。在擦处后的状态下,EEPROM的单元读为逻辑“0”,写后的状态下读为“1”。块内字节编号扇区块0123456789ABCDEF说明153KEY A控制位KEY B扇区15尾块2数据1数据0数据143KEY A控制位KEY B扇区14尾块2数据1数据0数据:13KEY

22、 A控制位KEY B扇区1尾块2数据1数据0数据03KEY A控制位KEY B扇区0尾块2数据1数据0制造商占用块尾块(块3)各区均有一个尾块,存有: 密钥A和B(可选),读时返回逻辑“0”。 该区四个块的读写条件,存储在字节6至9 。读写控制位也指定了数据块的类型(读写块或数值块)。如果不需要密钥B,块3的最后6字节可以用作数据字节。尾块的字节9可用于用户数据。因为此字节享有与字节6、7、8相同的读写权限。字节号0123456789101112131415说明密钥A读写条件密钥B(可选)读写条件每个数据块和尾块的读写条件均由3个bit定义,并以非取反和取反形式保存在各个区的尾块中。读写控制位

23、管理着使用密钥A和B读写存储器的权限。如果知道相关的密钥,并且当前读写条件允许,读写条件是可以更改的。读写控制位有效命令块说明C13 C23 C33read, write3尾块C12 C22 C32read, write, increment, decrement, transfer, restore2数据块C11 C21 C31read, write, increment, decrement, transfer, restore1数据块C10 C20 C30read, write, increment, decrement, transfer, restore0数据块注意:在每一次存储器读

24、写时,内部逻辑会验证存储条件的格式。如果发现个是错误,这个区将被永久性锁死。注意:在下列说明中,读写控制位是仅以非取反形式表述的。MF1的内部逻辑保证了命令只有在通过认证后才被执行。尾块的读写条件对密钥和控制位的读写取决于尾块(块3)的访问控制位,分为“禁止”、“KEY A”、“KEY B”和“KEY A|B”( KEY A或KEY B)。访问控制位所控制的访问对象注释KEY A访问控制位KEY BC1C2C3读写读写读写000禁止Key AKey AKey BKey AKey AKey B可读010禁止禁止Key A禁止Key A禁止Key B可读100禁止Key BKey A|B禁止禁止K

25、ey B110禁止禁止Key A|B禁止禁止禁止001禁止Key AKey AKey AKey AKey AKey B可读传输配置状态011禁止Key BKey A|BKey B禁止Key B101禁止禁止Key A|BKey B禁止禁止111禁止禁止Key A|B禁止禁止禁止注:灰色行为key B可读并可用于存储数据的访问控制条件。 尾块和key A被预定义为传输配置状态。因为在传输配置状态下key B可读,新卡必须用key A认证。因为访问控制位本身也可以禁止访问,所以个人化时应当特别小心。数据块的访问控制条件对数据块(块0至2)的读写访问取决于其访问控制位,分为“禁止”、“KEY A”、“KEY B”和“kEY A|B”( KEY A或KEY B)。相关访问控制位的设置确定了其用途以及相应的可用命令。 读写块:允许读、写操作。 数值块:运行另外的数值操作加值、减值、转存和恢复。在用于非充值卡的一种情况(001)下,只能够读和减值。在另一种情况(110)下,可以用key B充值。 制造厂商块:只读,不受访位控制位设置的影响! 密钥管理:在传输配置状态下,必须用key A 认证。访问控制位所控制的访问操作用途C1C2C3读写加值减值转存恢复000ke

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2