一种新颖的RFID防冲突算法
(7)如果当前没有标签回传ID,读写器等待一定时间后发送确认命令,附加命令参数"低位减1"。所有在仲裁态且高4为全零的标签Rel低4位减1,回到步骤(4)重复操作。
(8)低4位减1操作重复L次(L是一个系统参数,由系统设定,经验值为4)后,读写器认为所有在仲裁态且寄存器高4位为零的标签都已经被正确读取,则发送确认命令,附加命令参数"高4位减l",回到步骤(4)。
(9)标签接收到附加"高位减l"参数的确认命令后,所有Rel高4位不为零的标签高4位减l,回到步骤4重复操作;在被要求高位减1前已为零的标签则回到等待态。
(10)重复15次高位减1操作后.读写器认为所有在仲裁态的标签都已经被读取,则仲裁过程停止,所有还处于仲裁态的标签返回等待态。
算法步骤中所述等待态是指电子标签上电后的初始状态;仲裁态是指未被读写器鉴别的电子标签开始响应读写器鉴别命令时进入的状态;确认态是指已被读写器鉴别的电子标签进入的状态。电子标签状态转移规则如下:上电后电子标签进入等待态;处于等待态的电子标签可以进入仲裁态;处于仲裁态的电子标签可以返回等待态;处于仲裁态的电子标签可以进入确认态;处于确认态的电子标签不能返回仲裁态;确认态与等待态之间不能直接转移。
针对上述算法步骤,在以下几个地方加以改进,形成本算法的改进算法。
A、步骤(1)中,随机数产生器产生两组随机数,分别加载到寄存器高位和低4位。其中高位加载的位数M可以动态设为1、2、3或4。
B、步骤(10)中的重复操作次数为2M次。因为改进算法在寄存器低4位也加载了随机数,使得标签在群间转移的概率(即低4位向高位进位的概率)大大增加,特别如果最后一个群中标签的寄存器低4位在退让步骤中进位,则会产生一个新群,因此需要额外增加一次高位减l操作。
3 电路实现
算法实现的参考电路框图见图l,其中RGI是一个"0""1"随机数产生器;Rel是一个8位寄存器。加法器ADDl和ADD2的加减功能根据读写器命令来设定:当执行加法操作时,低4位的ADD2需向高4位的ADDl进位;当执行减法操作时,两个器件ADDl和ADD2相互独立。加法器可以工作在同步状态或异步状态,工作在同步状态时可以使用电子标签的最大时钟。
4 仿真结果
仿真l:为了评估本算法的优劣,特设计以下仿真:标签使用8位寄存器,高4位为高位。定义0个、2个和2个以上的标签同时发送数据时为传输冲突;只有一个标签发送数据时为传输成功,平均冲突次数定义为传输冲突总次数和传输成功总次数的比;空传率定义O个标签发送数据的次数与传输成功总次数的比。观察标签数为20~10000时的平均冲突次数。
仿真结果如图2所示,本文提出的算法与二进制算法性能接近,平均每成功传输1次都要伴随2次传输冲突;而改进算法则在标签数为50~5000个时明显减少了碰撞次数。同时也注意到当标签个数少于50时,改进算法性能下降,这是因为此时标签数接近分群的群数导致空传率上升所致,解决的办法是减少分群的群数。针对该问题,特设计仿真2来分析。
仿真2:为了分析低标签密度时改进算法的性能,特设计以下仿真:采用改进算法,分别使用5~8位寄存器。高l~4位为高位,即分群群数分别为2、4、8和16。仿真结果如图3所示,可以看到当标签总数为20时,如果把高位寄存器的位数从4降到l,则平均碰撞次数从5 5回落到1.4。而当标签总数为200和2000时,高位寄存器位数的改变对平均碰撞次数的影响不大。因此如果在某次仲裁中出现多次空传,根据这个先验知识,读写器可以在下一次仲裁时指示标签改变寄存器高位个数,以此降低空传率,进而可以降低平均碰撞次数。
本文提出的防碰撞算法仅需在电子标签中配置1个8位寄存器、1个l位"O"、"l"随机数产生器和2个4位加减l 计数器以及少量选择电路就能实现最多达1048 576个标签的仲裁。仿真表明本算法产生的碰撞概率明显小于二进制数算法,同时通过寄存器高位的灵活设置,还能有效解决低标签密度时空传率高的问题,从而进一步降低了碰撞概率。本算法实现简单,复杂度低,非常适合在RFID系统中应用,因而具有广阔的应用前景。
- 非接触式RFID的读写器系统设计(03-09)
- RFID芯片的攻击技术分析及安全设计策略(11-26)
- 基于Linux平台上S3C2440的物流配送系统设计(01-22)
- 基于ATMEGA64L和TRH031M的RFID读卡器设计 (02-15)
- 一种基于RFID的便携式智能语音播放器设计(08-02)
- 基于ARM9嵌入式平台的多标签多协议RFID读写器设计(02-02)