接触RFID已有一段时间了。现在准备静下心来学学EPC的一系列标准协议。虽然现在UHF C1G2都出来了,但HF Class1仍然是应用最成熟的标准。下面是学习Auto-ID Lab 的HF Class1 V1.00版本的心得体会。主要是通讯协议和空中接口部分。
EPC HF(13.56MHz) Class 1和ISO/IEC15693兼容并且已被收录到ISO/IEC18000-3中。
通讯协议
采用终端时间分片自适应采集协议(Slotted Terminating Adaptive Collection)。
Tag进入电磁场后进入Ready状态。
接收到Reader的Begin Round后,如果tag编码和Begin Round中的掩码不匹配,tag还是在Ready状态;如果匹配,进入Slotted Read状态。
进入Slotted状态后,tag会根据Begin Round的内容和自己的信息计算出一个返回的Slot。同时,tag内的Slot计数器将置零。当Reader每发送上一个Slot结束,下一个Slot开始的信息后,tag内的Slot计数器加1。当计数器和计算出来的Slot位置相同时,tag开始返回信息。
tag的返回信息将被Reader检测。如果Reader没有检测到返回信息,表明没有tag存在,Reader发送Close Slot Sequence,为tag开始新的一个Slot。tag的slot计数器会加1。tag仍然在Slotted状态。如果Reader检测到了返回信息,表明有tag存在。此时Reader通过tag的CRC校验位来检测返回信息是否正确,也可以通过特殊的方法来检测是否有冲突存在。如果有冲突存在或者是返回信息不正常,Reader发送Close Slot Sequence。同时,该tag回到Ready状态。如果Reader检测到该tag的返回信息正常,Reader发送一个Close Slot Sequence,该tag进入Slot Fixed状态。
进入Slot Fixed状态的tag对今后的每个Begin Round(如果掩码匹配),在特殊的F Slot中回复。而Reader是不处理F Slot中的回复内容的。因此可以认为进入Slot Fixed状态的tag就不再被Reader识别了(他们已经被识别过了)。
空中接口
1 Reader to Tag
1.1 工作频率
fc = 13.56MHz +/- 7kHz.
1.2 单一脉冲特性
Reader to tag的信号使用调制深度为10%~30%的,脉宽为9.44us(fc/128)的单一脉冲。
1.3 波特率
Reader to tag的波特率为26.48kb/s(fc/512)。即四个单一脉冲宽度表示一个bit.
1.4 通讯信号
计有长帧起始,短帧起始,帧结束,二进制0,二进制1,关闭时间片序列(close slot sequence)等信号。
如二进制0表达为 1个9.44us的低脉冲后有连续3个9.44us的高脉冲。4个9.44us脉冲表示一个bit位。因此,波特率为fc/(128*4)=fc/512
1.5 通讯命令
有开始序列命令,关闭时间片命令,固定时间片命令,完全重置命令,写入命令等。
2 Tag to Reader
2.1 副载波频率
fsc = fc/32 = 423.75KHz
2.2 回复信号
包括一个帧起始信号,EPC编码,16位CRC,帧结束信号。
2.3 回复信号编码
逻辑0是4个副载波周期信号,后接4个副载波周期的未调制信号。
逻辑1是4个副载波周期未调制信号,后接4个副载波周期信号。
2.4 回复的波特率
波特率为fb = fc/(32*(4+4)) = fc/256 = 52.969Kb/s。因为副载波频率为fc/32,而每一位需要8个副载波信号表示,因此是fc/(32*8) = fc/256。
3 冲突检测
只有在同一Slot中返回的tag才可能冲突。
发生冲突说明两个(或多个)tag至少有一位不同。即某位上一个tag是逻辑1,另一个tag是逻辑0。
逻辑0是后四个副载波周期未调制;逻辑1是前四个副载波周期未调制。
如果Reader读到某位8个副载波周期均有调制,说明有冲突了。
Reader的做法是关闭该Slot,使这两个(多个)tag回复到Ready状态。