摘要 在介绍ISO 11784/5动物识别国际标准的基础上,通过对动物识别卡片结构的详细分析,以及对于可读写射频卡EM4205和读写基站EM4095的说明,给出一种利用EM4095基站将EM4205射频卡仿真制作为动物识别卡的设计方法。这种方法使得动物标签卡的制作更为灵活,满足了各动物标签使用国家和领域对其定义的自由度需求,是一种先进的卡片仿真设计方法。
引言
近年来,口蹄疫、疯牛病、禽流感以至“非典”的蔓延,严重危及人类生命安全,引发了人们对动物性食品生产全过程安全追溯管理的重视。因此,有效地利用科技手段对其进行控制成为紧要的任务。
目前国际上已经广泛采用动物识别射频卡作为识别的媒介,但市场上的大部分动物标签卡都是只读型的,不能进行修改。这就限制了卡片的使用范围以及重复再利用,因此,有必要找到一种既能自由读写又可以仿真成动物标签卡的方法以及相应的卡片和读写基站。
在此之前,要先了解一下动物识别标准。
1 国际动物识别标准介绍
ISO 11784:动物的射频识别——代码结构。
ISO 11785:动物的射频识别——技术标准。
ISO 11784和11785分别规定了动物识别的代码结构和技术准则。标准中没有对应答器样式尺寸加以规定,因此可以设计成适合于所涉及动物的各种形式,如玻璃管状、耳标或项圈等。
1.1 代码结构——国际标准ISO 11784
代码结构为64位,如表1所列。其中的27~64位可由各个国家自行定义。
RFID 11784和11785标准代码结构
各国国内识别代码由该国自行管理。27~64位也可以分配用于区别不同的动物类型、品种、所在区域、饲养者等等。这些在此标签内没有做出规定。
技术准则规定了应答器的数据传输方法和阅读器规范。工作频率为134.2 kHz,数据传输方式有全双工和半双工两种,阅读器数据以差分双相代码表示。应答器采用FSK调制,NRZ编码。
由于较长的应答器充电时间和工作频率的限制,通信速率较低。
1.2 技术标准——国际标准ISO 11785
ISO 11785技术标准规定了电子标签的数据传输方法和读写器规范,以便激活电子标签的数据载体。制定该技术标准的目的是使范围广泛的不同制造商的电子标签能够使用一个共同的读写器来询问。动物识别用的符合国际标准的读写器能够识别和区分使用全双工/半双工的系统(负载调制)的电了标签和使用时序系统的电子标签。
1.2.1 全双工/半双工系统
全双工/半双工电子标签通过活化场得到电源,并立即开始传输存储的数据。因为是不需要副载波的负载调制过程,同时数据表示成差分双相代码(DBP),把读写器频率除以32即可以得到位率。当频率为134.2 kHz时,传输速率(位率)为4 194 bps。
全双工/半双工数据报文包括了11位的起始域(头标)、64位(8字节)有用数据、16位(2字节)CRC以及24位(3字节)终止域(尾标)。每传输8位后,插入一个逻辑“1”电平的填充位,以便避免出现头标为“00000000001”的情况。在给定传输速率的情况下,传输128位大约需要30.5 ms。
1.2.2 时序系统
每50 ms后活化场暂停3 ms。时序电子标签事先已经通过活化场充入了能量,在活化场暂停后大约1~2 ms开始传输存储的数据。
电子标签用频移键控(2FSK)调制法。位编码采用NRZ逻辑“0”与基频134.2 kHz对应,逻辑“1”与频率124.2 kHz对应。
把发送频率除以16就可以得到比特率。因此,在频移键控情况下,比特率对于逻辑“0”为8 387 bps,对于逻辑“1”为7 762 bps。
时序数据报文包括了8位起始域01111110b、64位(8字节)有用数据、16位(2字节)CRC以及24位(3字节)终止域,没有填充位。
在给定传输速率的情况下,传输112位多需要14.5 ms(“1”序列)。
2 动物识别卡片结构说明
根据动物识别的标准,可以得到动物识别卡片数据发送的顺序,即从第1个字节的bit0发送到第16个字节的bit7。
动物识别卡片数据发送表见本刊网站(编者注)。表中内容说明如下:
(1) DATA1~DATA64
① National ID: 高位到低位=DATA27~DATA64=NID37~NID0
举例:假设要写入的是11223344556(十进制)(为27487790*4),
对应于十六进制是1A21A278BE,
对应于二进制是01 1010 0010 0001 1010 0010 0111 1000 1011 1110,
对应于表中的NID就是从NID37~NID0。
② Country ID: 高位到低位=DATA17~DATA26=CID9~CID0
举例: 假设要写入的是1000(十进制)(为1024),
对应于十六进制是3E8,
对应于二进制是11 1110 1000,
对应于表中的CID就是从CID9~CID0。
③ DATA BLOCK: DATA16。
④ Reserved: DATA2~DATA15。
⑤ Animal FLAG: DATA1。
(2) CRC部分为8字节的校验
CRC计算例程如下:
buf[0]~buf[7]为8字节有效数据。crc_value为2字节CRC校验数据。
POLYNOMIAL = 33800 ;
PRESET_VALUE = 0
crc_value = PRESET_VALUE ;
for(i=0;i<8;i++) {
crc_value = crc_value ^buf\[i\];
for(j=0;j<8;j++) {
if((crc_value & 0x01)== 0x01) {
crc_value = (crc_value / 2) ^ POLYNOMIAL;
}
else {
crc_value = (crc_value / 2);
}
}
}
3 射频读写基站EM4095介绍
EM4095 是用于RFID的CMOS集成收发器电路基站芯片,有以下功能:
◆ 利用载波驱动天线;
◆ 用于可读写应答器的AM调制磁场;
◆ 对从天线传输来的应答器的调制信号进行AM解调;
◆ 与微处理器通过简单接口通信。
特点如下:
◆ 集成的锁相环系统,以实现用自适应载波频率来匹配天线谐振频率;
◆ 无需外部晶振;
◆ 100~150 kHz 载波频率范围;
◆ 用桥驱动方式直接驱动天线;
◆ 以OOK (100% AM调制)的方式进行数据传输;
◆ 用外部可调整系数的单端驱动器以AM调制的方式进行数据传输;
◆ 兼容多种应答器协议(如EM400X、 EM4050、 EM4150、 EM4070、 EM4170、EM4069……);
◆ 睡眠模式1 μA;
◆ 兼容USB电压范围;
◆ 40~+85 ℃温度范围;
◆ 小外形塑料封装SO16。
典型工作模式原理如图1所示。
图1 读写工作模式原理
4 射频读写卡片EM4205介绍
4.1 基本说明
EM Microelectronic 的低频率RFID IC EM4205用来满足动物识别、废料管理、工业的物流管理和存取控制应用等领域的特定需求。这个符合ISO 11784/11785的应答器芯片(transponder chip)可满足目前及未来家畜(livestock)需用,提供高质量的读取范围。
EM4205特别适于低成本的动物标签应用,并符合ISO 11784/11785标准,有助于产品的一致性和设备的互通性。对大多数的动物识别应用而言,ISO的数据完整性是很重要的。EM4205/4305 可避免数据发生未授权的修改,也可避免在生产流程中因UV光线所造成的数据损失。另外,使用者可通过编程(userprogrammable)内存来记录特定应用的信息,如药品的编码、日期或与拥有者相关的数据。内存可由密码来保护,以达到完整性及保密的目的。
EM4205为了满足一些特殊应用,如玻璃管转换器(glass tube transponder),采用了的尺寸,以便将对电子产品的影响减到。
4.2 工作原理
EM4205通过外部线圈及内部集成的电容一起组成谐振电路,从连续的125 kHz磁场中获取能量启动。芯片从内部的EEPROM中读出数据,并通过与线圈并联的负载的开断产生深幅调制,将数据发送出去。通过对125 kHz磁场的100%幅度调制,可以执行各种命令并更新EEPROM中的数据。
EM4205/4305支持几种Biphase和Manchester,操作模式(配置选项)存储在EEPROM的配置字中。所有EEPROM字可以通过设置锁位进行保护。芯片还包括一个可编程的32位的UID
(Unique Identification)。
4.3 特点
◆ 512位EEPROM,16字×32位分布;
◆ 32位UID(识别码);
◆ 兼容ISO 11784/11785协议;
◆ 32位口令读和写保护;
◆ 可使EEPROM字进入只读锁定状态;
◆ 2种编码方式(曼彻斯特、Biphase);
◆ 多种数据传输率(8、16、32、64个RF时钟);
◆ 具有读卡器先问询的特点;
◆ 频率范围为100~150 kHz;
◆ 芯片自带整流器和电压钳位;
◆ 无需外部电容(电压保持);
◆ 温度范围为-45 ℃~+85 ℃;
◆ 非常低的功率消耗;
◆ 加大的焊点(200 μm×400 μm) 允许直接连接天线(EM4305);
◆ EM4205: 2个谐振电容210 pF或250 pF(mask版本可选);
◆ EM4305: 3个谐振电容210 pF或250 pF或330 pF(mask版本可选);
◆ 协议和EM4469/4569兼容;
◆ 双缓冲保护字。
4.4 EEPROM组成
字14和15用于保护字0 和13免于被误操作。
EEPROM的512位有16个字,每个字由32位组成。EEPROM字的编号为0~15,在字中的位编号为0~31位,LSB优先的原则(即先发送LSB)。
EEPROM字中的32位通过一个写的命令进行编程。开始2个字,代表工厂芯片类型、谐振电容大小及UID号码,且可以由用户自行编程。它们不能作为默认的信息,但可以存储一些有用的信息只允许读命令访问。(通过写保护)
字2是32位的密码。
字3是自由读写。和0、1一样,它们可以存储一些有用的信息,只允许读命令访问。
字4是配置字,决定设备操作模式等选项。
字5~13是自由读写的数据块(288位),可以作为默认信息的一部分。
字14、15是保护字,用来防止写命令对字0~13的修改。
5 用EM4205制作动物识别卡
第1步:设计EM4205配置字。
对于符合ISO11784/5的FDXB 模式,
EM4205应该配置为:
◆ Biphase
◆ RF/32
◆ 返回4 BLOCK 16字节 (128位)ISO11784/5的有效数据,则BLOCK4为00020C8F。
第2步: 计算8字节64位的有效数据。
参考动物识别卡片数据发送表以及说明。
◆ 将十进制的National ID转化为38位的二进制数,位对应于标签结构中的第64位。
◆ 将十进制的Country ID转化为10位的二进制数,加入到38位National ID之前。
◆ 加入1位DATA BLOCK。
◆ 加入14位Reserved位 0。
◆ 加入1位Animal FLAG。
上述5项组成64位二进制数据。
第3步:计算2字节CRC。
根据上文的CRC计算例程,计算64位(8字节)数据的2字节CRC校验字节。
第4步:组成16字节的动物标签终数据。
以发送的顺序组成16字节(128位)的数据。
◆ 加入000000001。
◆ 加入8字节有效,然后再加入2字节CRC校验数据,每个字节后面跟1个1。
◆ 加入3字节空数据,每个字节后面跟1个1。
第5步:16字节数据写入卡片。
由于每个BLOCK(32位)的发送顺序为位0—位31,将16个字节放入4个BLOCK中的时候要作如下处理:
第1个BLOCK:BYTE4+BYTE3+BYTE2+BYTE1。
第2个BLOCK:BYTE8+BYTE7+BYTE6+BYTE5。
第3个BLOCK:BYTE12+BYTE11+BYTE10+BYTE9。
第4个BLOCK:BYTE16+BYTE15+BYTE14+BYTE13。
至此,由EM4205卡编写而成的ISO11784/5动物识别卡制作完成。
结语
本文介绍了用EM4205通用读写射频卡制作动物标签卡的基本过程和方法,对于从事动物识别领域的卡片制造商、系统集成商、中间件集成商有一定的实用价值。
[1]. EM4095 datasheet https://www.dzsc.com/datasheet/EM4095_297320.html.
[2]. 3E8 datasheet https://www.dzsc.com/datasheet/3E8_2318887.html.
[3]. EM400X datasheet https://www.dzsc.com/datasheet/EM400X_1110325.html.
[4]. EM4150 datasheet https://www.dzsc.com/datasheet/EM4150_1431387.html.
[5]. EM4069 datasheet https://www.dzsc.com/datasheet/EM4069_1431022.html.
[6]. SO16 datasheet https://www.dzsc.com/datasheet/SO16_1182580.html.
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。