首页> 中国专利> 基于无源可计算RFID系统的无线重编程方法

基于无源可计算RFID系统的无线重编程方法

摘要

基于无源可计算RFID系统的无线重编程方法,本发明涉及无线射频识别技术领域,其旨在解决RFID标签重编程等技术问题。本发明方法主要包括在RFID阅读器端,对应现有固件的存储区,将待写入固件分段并关联映射至存储区;在RFID阅读器端,根据RFID标签类型和写指令的三个特征字段,将分段后的待写入固件的指令和数据按字段编码并嵌入写命令,以完成指令编码;RFID阅读器将写命令发送至RFID标签;在RFID标签端,根据EPC协议,对写命令进行解析,以完成指令解码;在RFID标签端,根据写命令的解析值,执行重编程,以完成重编程指令执行。本发明用于软件定义的无源可计算RFID标签和基于商用芯片的无源可计算RFID标签两类三种标签上实现的无线重编程。

著录项

  • 公开/公告号CN105930752A

    专利类型发明专利

  • 公开/公告日2016-09-07

    原文格式PDF

  • 申请/专利权人 电子科技大学;

    申请/专利号CN201610242269.X

  • 发明设计人 鲁力;

    申请日2016-04-15

  • 分类号G06K7/00(20060101);G06K7/10(20060101);

  • 代理机构成都弘毅天承知识产权代理有限公司;

  • 代理人李春芳

  • 地址 611731 四川省成都市高新区(西区)西源大道2006号

  • 入库时间 2023-06-19 00:28:54

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-05-25

    授权

    授权

  • 2018-03-09

    著录事项变更 IPC(主分类):G06K7/00 变更前: 变更后: 申请日:20160415

    著录事项变更

  • 2016-10-05

    实质审查的生效 IPC(主分类):G06K7/00 申请日:20160415

    实质审查的生效

  • 2016-09-07

    公开

    公开

说明书

技术领域

本发明涉及无线射频识别技术领域,具体涉及基于无源可计算RFID系统的无线重编程方法。

背景技术

无源可计算RFID标签可以被归类为软件定义和完全无源超高频RFID标签,这些标签不仅具备相对强大的计算,而且为无线感知提供了方便。这些超低功耗的标签是由分立元件组成的印刷电路板电路,并遵循反向散射架构。通常情况下,包括偶极天线,接收机,反向散射发射机,能量采集器,存储器,能量监视器和微控制器。其中,微控制器是其核心引擎,它执行三个主要功能:执行RFID协议;实现能量管理以保证系统运行在duty-cycle模式下;执行的计算或感知任务,同时轮询模拟或数字传感器,并将数去存入EEPROM。自WISP项目面世十多年来,无源可计算RFID标签在动作感知、健康监测、生物信号感知,被动环境监测,访问控制和基数估计等学术研究和实践中已经成为一个炙手可热的平台。从广义上讲,将由WISP衍生而来的基于分离架构设计的系统归类为“软件定义”的无源可计算RFID标签。而另外一类,称作“基于商用芯片”(或基于芯片)的无源可计算RFID标签。这类标签通过商业芯片来执行EPC协议并为外部模块提供辅助电源和通信接口。这类芯片主要包括Andy100和SL系列。虽然这样的系统在本质上是完全无源的,但还是发现了一种由电池辅助的系统,其功能实现了声音定位系统。

尽管无源可计算RFID标签存在诸多优点,但是,有且仅有一个特定的固件在部署期间被烧写进入了其微控制器,这就极大地限制了其广泛的部署和灵活的应用。虽然标签本身是被无线RFID读写器控制,但若需改变即使是某一个固件功能,用户仍然需要特定的编程工具来修改,擦除或重编程。当无源可计算RFID标签被部署在难以触及的地方,或者在标签规模的增长情况下,对于标签固件的修改就变得十分困难。例如,当基于WISP的无源可计算RFID标签被铺设在混凝土块中以测量温度;或者是可以预见的用以执行感知任务的无源可计算RFID标签网络。在这些情况下,用户必须通过有线编程适配器和运行在计算机上的编译软件来访问每一个独立的标签并修改其固件。在这些情况下,一种灵活的无线地 重编程方案成为了迫切的需求,不仅如此,RFID读取器应能够通过使用EPC协议来无线地对微控制器进行重编程。

近年来,无线重编程在无线传感器网络中已经成为研究中的一个热门主题。然而,这些系统与CRFID标签相比具有两大优势:首先,在无线传感器网络中节点通常都是一些具有电池的装置,能够承受对微控制器无线重编程所需的高能量预算。其次,由于ZigBee或BLuetooth等无线协议为无线重编程提供了足够的灵活性,且对数据的大小和传输时延没有严格的限制。虽然,EPC协议为RFID读写器与标签之间的大数据传输提供了一些接口,使得无线重编程变得似乎可行。但是,无源可计算RFID标签完全是无源设备,由于能量的限制,通过单一操作来传输完整的程序固件是不可能的。具体而言,由于EPC协议限制阅读器在几个有限的字段内进行数据传输,且EPC协议要求标签在20毫秒以内计算循环冗余校验码,并确认每个字段接收成功,导致基于无源可计算RFID标签的无线重编程变得更加地困难。因此,需要设计一个能够在通过EPC协议中现有的命令,有效地将程序固件和片上的存储器映射起来的方案。更重要的是,这样的方案应该与EPC协议兼容,而不要求对无源可计算RFID标签进行任何的硬件升级,也无需对商业RFID阅读器做出任何改进。

发明内容

为了解决上述问题,本发明率先提出基于无源可计算RFID标签的无线重编程方案。由于EPC协议没有为重编程操作提供特定的命令,因此,本发明将重编程指令嵌入到常规的写指令中。

对于标签而言,出于重编程的操作能耗和时间开销的考虑,在软件层面上,本发明按照链路时序和微控制器中的存储器类型,将目标固件程序切分成多个片段。然后,将每一个固件片段与特定的存储位置进行关联。在本发明的设计中,固件部署的灵活性,使得当用户只要求对某一个特定的程序固件进行修改时,用户只需使用新的固件程序来替换标签上现有的固件程序。例如,如果无源可计算RFID标签被预编程以加速传感器固件、温度传感器固件或者LED控制固件,并且用户希望用湿度传感器固件来“替换”温度传感器固件,本发明的方案就会只擦除温度固件并用湿度固件替换它。这种存储器固件部署方案不仅节约了能量,而且降低了计算和时间开销。最后,重新编程在引导程序的协助下实现,满足用 户将固件部署在某个特定位置的需求。这种灵活的重编程方案使得重编程可以指定特定的固件片段,而不是擦除并重写整个存储器。简要地,本发明从现有固件执行通路“借道”,关联映射存储区,进行替换执行新固件,对RFID标签实现无线重编程。

为达到上述目的,本发明采用的技术方法如下:

基于无源可计算RFID系统的无线重编程方法,包括

在RFID阅读器端,将待写入固件分段并映射对应现有固件的关联存储区;

在RFID阅读器端,根据RFID标签类型和写指令的三个特征字段,将分段后的待写入固件的指令和数据按字段编码并嵌入写命令,以完成指令编码;

RFID阅读器将写命令发送至RFID标签;

在RFID标签端,根据EPC协议,对写命令进行解析,以完成指令解码;

在RFID标签端,根据写命令的解析值,执行重编程,以完成重编程指令执行。

上述方法中,所述的RFID标签类型,包括软件定义的无源可计算RFID标签类型和/或基于芯片的无源可计算RFID标签类型。

上述方法中,对于软件定义的无源可计算RFID标签,所述的指令和数据按字段编码,包括

将第一字段作为二进制标识字段,第二字段和第三字段对应第一字段进行相应编码,以区分不同编码指令;具体地,

当第一字段编码为开始重编程指令的二进制对应值,第二字段编码为重编程操作在软件定义的无源可计算RFID标签上存储区域的开始位置对应值并且第三字段编码为待写入固件的长度对应值;

进一步具体地,当第一字段编码为程序固件传输指令的二进制对应值,第二字段编码为待写入固件片段在存储区域位置对应值并且第三字段编码为待写入固件片段对应值;

进一步具体地,当第一字段编码为目标固件执行指令的二进制对应值,第二字段编码为待写入固件的重置向量在软件定义的无源可计算RFID标签上存储区域地址对应值。

上述方法中,对于基于芯片的无源可计算RFID标签类型,所述的指令和数 据按字段编码,包括

定义,当常规写指令中第一字段为二进制值11时,第(i)个常规写指令中第三字段的低八位数据为第(i)值,i=1,2,3……,具体地,若连续三个8位数据为重编程指令标识(AABBCC),则标记第一个八位数据为第i值,并进入重编程状态,否则,继续等待直至收到(AABBCC);

顺序相邻的第(i)值、第(i+1)值和第(i+2)值合并编码为开始重编程指令的十六进制对应值;

与第(i+2)值顺序相邻的第(i+3)值和第(i+4)值,合并编码为待写入固件在微控制器上存储区域起始地址的十六进制对应值;

与第(i+4)值顺序相邻的第(i+5)值和第(i+6)值,包括待写入固件长度的十六进制对应值;

在最后一个待写入固件片段后的两个低八位数据编码为待写入固件重置向量地址十六进制对应值,并且位于执行固件指令的十六进制对应值之后。

上述方法中,对于软件定义的无源可计算RFID标签,所述的对写命令进行解析,RFID标签中微控制器执行EPC协议,解码RFID阅读器命令并进一步解析写命令中的字段。

上述方法中,对于基于芯片的无源可计算RFID标签类型,所述的对写命令进行解析,包括

在芯片内解析RFID阅读器写命令;

通过串行外设接口将第i值传输至微控制器;

其中,同述地,若连续三个8位数据为重编程指令标识(AABBCC),或为程序执行标识(FFFFFF),则标记第一个八位数据为第i值。

上述方法中,对于软件定义的无源可计算RFID标签,所述的执行重编程,包括

对整个写命令进行循环冗余校验,当校验成功时,微控制器中引导程序对其进行执行操作并且反馈状态信息至RFID阅读器。

上述方法中,对于基于芯片的无源可计算RFID标签类型,所述的执行重编程,包括

微控制器中引导程序获得数据,并将数据保存至内存中,标记一个八位数据 为第i值,根据重编程指令进入重组状态,并且基于重编程指令之后的四个字节初始化内存,其中,同述地,若连续三个8位数据为重编程指令标识(AABBCC),则标记第一个八位数据为第i值,并进入重编程状态,否则,继续等待直至收到(AABBCC);

引导程序将从第八值开始的固件片段写入微控制器的存储区;

当最后一个固件片段被写入后,重置向量被引导程序设置于最后写入存储段的最后两字节。

与现有技术相比,本发明有益效果:

突出地且显著地,在不对EPC协议做出任何修改,也无需对现有的RFID阅读器或无源可计算RFID标签做任何硬件升级的情况下,率先提出了一种完全与EPC协议兼容的基于无源可计算RFID标签的重编程方法,并且该方法通过对指令的编码、解码、执行和存储区布局,针对两类标签实现了无源可计算RFID的无线重编程;

卓越地,对于商用芯片的无源可计算RFID标签,突破了其芯片内部架构对一次最多传输MemBank字段等于11b的写指令中Data字段的低8位数据给外部微控制器的限制,创造了值Si的定义且实现了基于商用芯片的无源可计算RFID标签重编程编码的新算法;

有效地将程序固件与微控制器上相关闪存段进行映射,为重编程操作提供了灵活性,节省了采集到的能量,时间开销和计算复杂性。

附图说明

图1系统整体框图;

图2软件定义的无源可计算RFID的指令编码;

图3基于商用芯片的无源可计算RFID的指令编码;

图4在优化的WISP和Spider标签上的存储区布局。

具体实施方式

本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。

下面结合附图对本发明做进一步说明:

从RFID阅读器与无源可计算RFID标签的两方面讨论本发明设计。在RFID阅读 器端,根据片上存储介质的不同类型,将程序固件划分为不同的段。然后,把重编程指令以及固件片段嵌入到写命令中。在无源可计算RFID标签端,引导程序接收含有固件片段的指令并且执行重编程操作。为了充分的利用存储区域和提供重编程的灵活性,每个程序固件和相应的重置向量都设置在特定的存储区域。总体方案在图1中展示,下面将详细解释(其中,下标b代表二进制,下标h表示十六进制;写指令总共六个字段,本方案使用了Membank字段,WordPtr字段和Data字段三个特征字段,令第一字段为Membank字段,第二字段为WordPtr字段,第三字段为Data字段且第i值为Si):

实施例1>

在EPC协议中,RFID阅读器可以通过写指令或块写指令传输定制的数据到标签中。然而,块写指令是一个可选的命令,并不是能够被所有的可计算RFID标签都支持该指令,比如,Spider标签。因此,发送多个写指令来实现对两类三种标签的重编程。

对于软件定义的无源可计算RFID标签,通过将参数嵌入到写指令中的三个字段来实现对指令的编码,这三个字段分别是2位的MemBank字段,16位的WordPtr字段和16位的Data字段。由于这类标签使用微控制器中的内存代替用户存储区、EPC存储区、TID存储区和保留存储区,因此,利用2位的MemBank字段作为标记,以区分开始重编程指令(编码为00b),程序固件传输指令(01b),目标固件执行指令(10b)和常规写指令(11b),如图2所示。在本发明方案中,如果写指令中的MeMBank字段中的值为00b,则WordPtr字段和Data字段中的数据分别表示重编程操作在片上存储区域的开始位置及待写入的程序固件的长度。如果写指令中的MeMBank字段中的值为01b,则WordPtr字段和Data字段中的数据分别表示待写入固件片段在存储区域的位置及16位的待写入的程序固件片段。若MemBank字段中的值为10b,则WordPtr字段表示待写入程序固件的重置向量在标签片上存储区域的地址。最后,如果MemBank字段的值为11b,则表示该指令为常规写操作,比如,访问用户内存中的数据。

基于商用芯片的无源可计算RFID标签(Spider)通过SPI接口与外部微控制器相连接。其芯片内部架构限制了一次最多传输MemBank字段等于11b的写指令中Data字段的低8位数据给外部微控制器。为了解决这个问题,图片3中的过程显示 了解决方案:定义第i个MemBank字段等于11b的写指令中Data字段的低8位数据为Si,开始重编程的指令被定义为Si||Si+1||Si+2=AAh||BBh||CCh。接下来的Si+3和Si+4,合并起来(Si+3||Si+4)作为固件在微控制器片上存储区域的起始地址,程序固件的长度包含于Si+5||Si+6,接下来的数据是待写入的程序固件片段,在最后一个程序固件片段之后的两个低8位代表待写入程序固件的重置向量的地址。执行固件的指令被定义为三个连续的EE,也就是sk||Sk+1||Sk+2=EEh||EEh||EEh,紧跟其后的是待执行的固件的重置向量的地址,置于Sk+3||Sk+4中,如图3所示。

实施例2>

在软件定义的无源可计算RFID标签中,微控制器自身执行EPC协议,解码阅读器命令,并将解析写命令中的三个字段。与之相反,基于商用芯片的无源可计算RFID标签首先在芯片内解析阅读器命令,并且通过SPI将MemBank字段为11的写指令的Data字段的低8位数据传输到片外微控制器。基于不同的工作模式,指令的解码过程是完全不同的。

在软件定义的无源可计算RFID中,首先,引导程序(Boot-loader)接收到写命令,解析上述三个字段并对整个写命令进行循环冗余校验。若检验成功,引导程序就会执行该指令并且回复“成功”给阅读器。如前所述,MemBank的值指示着标签上的下一个任务。比如,当MemBank字段的值为10b,引导程序会将存于WordPtr字段的值(也就是待执行程序的重置向量的地址)存入程序计数器。(注:程序计数器的功能是保存下一个即将被执行的指令。)当MemBank字段中的值为00b,引导程序将进入重编程状态,并根据Data字段的值擦除相应的存储区域(擦除操作只在微控制器存储介质为闪存时执行)。当MemBank字段中的值等于01b,引导程序将Data字段的数据写入以WordPtr字段中所存储的值为起始地址的存储区域。当MemBank字段中的值等于11b,引导程序离开重组状态,并且等待来自阅读器的下一个指令。

对于基于商用芯片的无源可计算RFID,微控制器中的引导程序从SPI接口获得数据,解析指令和程序固件,然后执行重编程操作。在这种情况下,商用RFID芯片初始化SPI通信并且将MemBank字段为11的写指令的Data字段的低8位数据传输到片外微控制器。微控制器中的引导程序获得数据,并将数据保存到内存中,标记第i个8位数据作为Si。当接收到重编程指令AAh||BBh||CCh时,引导程序进 入重组状态,并且基于重编程指令之后的四个字节(Si+3,Si+4,Si+5,Si+6)初始化内存。这四个字节包含待写入固件程序的起始地址和长度。然后,引导程序将存放于从Si+7开始的固件片段写入微控制器的存储区。一旦最后一个固件片段被成功接收,复位向量被设置于现有存储段的最后2字节。当接收到执行指令(三个连续的EEh)时,引导程序将把来自于SPI的下两个字节存储到程序计数器中以执行目标固件。

实施例3>

存储区的布局是将程序固件片段和微控制器中的存储段进行映射。在本发明系统中,优化的WISP和Spider标签的微控制器为MSP430F2132,其存储介质为闪存(FLASH),而WISP5.1的微控制器为基于铁电存储器(FRAM)的MSP430FR5969。通俗的讲,FRAM可以被作为一种通用的存储器,它不仅可以用以永久地存储固件代码,可以被用于存储变量。更重要的是,它没有被划分为特定的存储段。因此,在例子中,程序固件,常量,变量,堆栈等都分配于FRAM中。若要重编程FRAM,只需将待写入程序固件直接写在特定位置而不像写闪存那样,需要预先擦除,才能写入。

如图4所示,在优化的WISP标签和Spider标签中的8KB的闪存被分为16段,每段512字节,每个存储段都是擦除操作的最小单元。若想对其进行重编程,首先需要通过对存储区的伪写操作来擦除所有的存储段。不仅如此,为了有效地利用存储区域,并灵活地擦除和写入程序固件,在存储区布局中,重置向量需被置于每个段的最后。在本发明系统中,每个单独的固件的起始位置都是某一个闪存存储段的起点。

实施例4>

无源可计算RFID标签是能量受限的设备,为了节省能量,标签通常运行于Duty-Cycle模式下。MSP430系列的微控制器提供了一种活跃模式和几种不同的软件可选择的低功耗模式。简单的讲,在活跃模式下,所有的时钟都被激活。在低功耗模式下,内存能够处于低功耗保持模式,而CPU被禁用。对于优化的WISP和WISP5.1而言,标签从LPM4模式开始执行程序,当阅读器发出命令时,能量监视器产生的中断信号会使标签转换为活跃模式。如果能量足够,标签将执行重编程操作。否则,标签将保持LPM4模式直至电源监视器产生下一个中断信号。对于基 于商用芯片的无源可计算RFID标签Spider标签而言,一旦上电,微控制器从LPM4模式开始。在这种标签中,SPI的信号会产生中断,并使其转换到活跃模式以执行设定的操作。微控制器一旦处于激活模式,能量监视器将会持续地监视能量状态直至微控制器中的任务完全完成,在任务完成之后,微控制器又会回到低功耗模式。

从以下几个方面评估本发明:重编程操作的时间和能量开销;包含了EPC协议和在阅读器端和标签端所执行时延,以及重编程操作自身时延的系统总时延;在有效盘存范围内的成功率。上述参数被用于对比、评价系统在前述三个无源可计算RFID标签上得表现。结果表明,由于铁电存储器FRAM可以将数据写入FRAM而不需要擦除操作,因此,对于WISP5.1,重编程操作中引入了1.01微秒的时延,而对于Spider标签和优化的WISP,由于它们需要擦除和重编程闪存,因此,它们的时延均多达14.4ms。评估了当三个标签上微控制器在不同的工作频率的重编程的能量开销。对于其能量开销,使用闪存(FLASH)的无源可计算RFID标签在擦除和重编程操作时的能耗为118.64J,而另一个使用FRAM的无源可计算RFID则消耗7.264nJ。对于重编程512字节而言,当工作频率为1兆赫兹时,Spider标签,优化的WISP及WISP5.1的系统时延最多为28.12秒,13.89秒和13.87秒,其在1米的盘存距离下,重编程操作成功率分别为93%,84%和89.5%。

技术的进步只是选用标准的参考,但是出于改劣发明,或者成本考量,仅仅从实用性的技术方案选择。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何属于本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号