一种基于RFID的控制阀系统设计

时间:2014-05-20来源:网络

5)最大块,为了保证信息的完整性和保护密码不被窃取,最大块取6。

6)PWD,为了防止ATA5567被恶意改写,密码是一定需要的,即该位为1。

7)ST是为了方便以同步头的方式实现数据的读取。

2.2 ATA5567数据的存储和编码格式

对于ATA5567能操作的其实只有block0-block7,这几块的格式是一样的,只不过block0作为控制块,block7作为密码块,所以实际上真正能存储用户数据的只有block1-block6,共有6个块。

ATA5567的编码方式设定为曼切斯特编码。曼切斯特编码是基带传输中广泛应用的一种数据传输编码方式,这种编码通常用于局域网传输,是一种自同步法编码方式。在数据信号的波形中既有同步时钟信号又有数据信号。在调制电路输出的波形中,数据“1”对应着曼切斯特编码(下面简称“曼码”)电平的上跳沿,数据“0”对应着曼码电平的下跳沿。在所接收的一系列曼码数据,注意空跳变,假定两个相邻bit的间隔时间是1P。若两个相邻bit代表的数据极性相同(同为0或者同为1),那么在这两个bit传送之间,会出现一个预备性的非数据跳变。

 

 

根据上跳,下跳和空跳来分辨数据是“0”或者“1”,通过下图的图解可以发现,如果通过定时器捕获,最少会得到两种时间间隔,一种为一个整传送周期(256/μs),另一种为半个传送周期(128μs)

2.3 ATA5567写卡规则

在ATA5567卡片内部有一个写解码器,该解码器采用脉冲间隔编译码技术。在写卡期间,写解码器会检查写数据流是否有效,并检测场中断间隔。

 

 

写卡的首要工作是确定写卡的时间间隔,结合上表中官方给出的数据和现场实践,选择时间如表1所示。

 

 

确定写卡时间间隔之后,还要确定写卡的命令。在使用一张从市场上买的新卡前,首先要做的就是在Block7当中写入32位秘钥数据,然后初始化Block0为0x800880d8,写卡的命令及格式如下。

1)标准写命令格式如表2所示。

 

 

此时的写卡为“Standard Write”模式,由于能操作的只有第0页,所以p取0;

2)保护写命令格式如表3所示。

 

 

初始化block0之后,写卡操作变为“Protected Write”模式,具体操作与“Standard Write”模式类似,唯一的不同点便是在写入数据之前必须先写入block7中存储的秘钥,如果秘钥不对,则卡进入其他状态,这里不再赘述。

 

 

2.4 ATA5567读卡规则和算法实现

对于ATA5567,读卡命令如表4所示。

 

 

由于PWD位已经置为1,所以选择第一种格式,写命令与之前讲述的写数据类似,此处不再讲述。

发完写命令后,Nano110单片机会捕获到数据,这些时间间隔数据是获取二进制数据来源。根据ATA5567数据的存储和编码格式,读卡算法如下:

算法的核心是ReadNumber()函数的实现,由于在发送完命令之后,ATA5567会根据发送命令中的地址信息,循环发送所选地址存储是数据。由于每个block中存储了32 bit的数据,实际上转换为曼码对应的波形最多有64个跳变,所以采集到的128个数据中一定至少有一个所需数据的完整遍历。这时同步码也包括在128个数据之中,通过同步码来确定block中数据的起始位。同步码的波形如图8所示。

 

 

同步码在所捕获的数据中体现为:256或128,128,384,128(单位均为μs)。用图4中的表示方式,上面的数据对应的时长分别为1P或0.5P,0.5P,1.5P,0.5P。因为在实际中的波形经过调制后不可能为完美的方波,波形的好坏与标签和天线的距离有很大关系,此外还跟所选器件的精度、MCU的定时器捕获精度有关,所以允许捕获的数据有误差。定时器捕获数据完成后,要进行解码,这里定义了两个数组array[128],bit_array[32],前者用来存放捕获的数据,后者存放解码后的数据,找到同步码形后1.5P的时长对应array[bitnum],bitnu m1的初始值为0。

程序执行完毕后,bit_array[]数组中就存储了某个block对应的32bit的数据,这些数据是二进制数据,可以根据需要将其转换为十进制或者十六进制的数据,因为需要在各个block中存储时间、日期、金额、流量(热量)等信息,这里需要将其转换为十进制数据。

3 结束语

文中主要针对预付费的表类(热表、水表、气表、电表),提出了一种低成本、低功耗、高可靠性的解决方案。由于篇幅所限,着重介绍了无需解码芯片的RFID解码电路的构成,提出了一种针对ATA5567的高效的编解码方案,这是整个系统架构的核心。对于系统而言,大部分时间处于非工作状态,可以使其进入PowerDown模式(ARM架构MCU具有的功能),以节省电力。另外出于对数据备份和保护的目的,可以在系统里加入单独的存储单元,如SPI-Flash或者EEPROM,以期在设备损毁等场合尽最大可能的减少用户的损失。在某些场合下,如果需要组网,除了使用RS-485外还可以使用以太网或者无线方式(如433 MHz),这样就可以实现与局域管理系统进行实时对接。

1 2

关键词: Nuvoton Nano110

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版