基于無源可計算rfid系統(tǒng)的無線重編程方法
【專利摘要】基于無源可計算RFID系統(tǒng)的無線重編程方法,本發(fā)明涉及無線射頻識別技術領域,其旨在解決RFID標簽重編程等技術問題。本發(fā)明方法主要包括在RFID閱讀器端,對應現(xiàn)有固件的存儲區(qū),將待寫入固件分段并關聯(lián)映射至存儲區(qū);在RFID閱讀器端,根據(jù)RFID標簽類型和寫指令的三個特征字段,將分段后的待寫入固件的指令和數(shù)據(jù)按字段編碼并嵌入寫命令,以完成指令編碼;RFID閱讀器將寫命令發(fā)送至RFID標簽;在RFID標簽端,根據(jù)EPC協(xié)議,對寫命令進行解析,以完成指令解碼;在RFID標簽端,根據(jù)寫命令的解析值,執(zhí)行重編程,以完成重編程指令執(zhí)行。本發(fā)明用于軟件定義的無源可計算RFID標簽和基于商用芯片的無源可計算RFID標簽兩類三種標簽上實現(xiàn)的無線重編程。
【專利說明】
基于無源可計算RF ID系統(tǒng)的無線重編程方法
技術領域
[0001]本發(fā)明涉及無線射頻識別技術領域,具體涉及基于無源可計算RFID系統(tǒng)的無線重編程方法。
【背景技術】
[0002]無源可計算RFID標簽可以被歸類為軟件定義和完全無源超高頻RFID標簽,這些標簽不僅具備相對強大的計算,而且為無線感知提供了方便。這些超低功耗的標簽是由分立元件組成的印刷電路板電路,并遵循反向散射架構。通常情況下,包括偶極天線,接收機,反向散射發(fā)射機,能量采集器,存儲器,能量監(jiān)視器和微控制器。其中,微控制器是其核心引擎,它執(zhí)行三個主要功能:執(zhí)行RFID協(xié)議;實現(xiàn)能量管理以保證系統(tǒng)運行在duty-cycle模式下;執(zhí)行的計算或感知任務,同時輪詢模擬或數(shù)字傳感器,并將數(shù)去存入EEPR0M。自WISP項目面世十多年來,無源可計算RFID標簽在動作感知、健康監(jiān)測、生物信號感知,被動環(huán)境監(jiān)測,訪問控制和基數(shù)估計等學術研究和實踐中已經(jīng)成為一個炙手可熱的平臺。從廣義上講,將由WISP衍生而來的基于分離架構設計的系統(tǒng)歸類為“軟件定義”的無源可計算RFID標簽。而另外一類,稱作“基于商用芯片”(或基于芯片)的無源可計算RFID標簽。這類標簽通過商業(yè)芯片來執(zhí)行EPC協(xié)議并為外部模塊提供輔助電源和通信接口。這類芯片主要包括AndylOO和SL系列。雖然這樣的系統(tǒng)在本質上是完全無源的,但還是發(fā)現(xiàn)了一種由電池輔助的系統(tǒng),其功能實現(xiàn)了聲音定位系統(tǒng)。
[0003]盡管無源可計算RFID標簽存在諸多優(yōu)點,但是,有且僅有一個特定的固件在部署期間被燒寫進入了其微控制器,這就極大地限制了其廣泛的部署和靈活的應用。雖然標簽本身是被無線RFID讀寫器控制,但若需改變即使是某一個固件功能,用戶仍然需要特定的編程工具來修改,擦除或重編程。當無源可計算RFID標簽被部署在難以觸及的地方,或者在標簽規(guī)模的增長情況下,對于標簽固件的修改就變得十分困難。例如,當基于WISP的無源可計算RFID標簽被鋪設在混凝土塊中以測量溫度;或者是可以預見的用以執(zhí)行感知任務的無源可計算RFID標簽網(wǎng)絡。在這些情況下,用戶必須通過有線編程適配器和運行在計算機上的編譯軟件來訪問每一個獨立的標簽并修改其固件。在這些情況下,一種靈活的無線地重編程方案成為了迫切的需求,不僅如此,RFID讀取器應能夠通過使用EPC協(xié)議來無線地對微控制器進行重編程。
[0004]近年來,無線重編程在無線傳感器網(wǎng)絡中已經(jīng)成為研究中的一個熱門主題。然而,這些系統(tǒng)與CRFID標簽相比具有兩大優(yōu)勢:首先,在無線傳感器網(wǎng)絡中節(jié)點通常都是一些具有電池的裝置,能夠承受對微控制器無線重編程所需的高能量預算。其次,由于ZigBee或BLuetooth等無線協(xié)議為無線重編程提供了足夠的靈活性,且對數(shù)據(jù)的大小和傳輸時延沒有嚴格的限制。雖然,EPC協(xié)議為RFID讀寫器與標簽之間的大數(shù)據(jù)傳輸提供了一些接口,使得無線重編程變得似乎可行。但是,無源可計算RFID標簽完全是無源設備,由于能量的限制,通過單一操作來傳輸完整的程序固件是不可能的。具體而言,由于EPC協(xié)議限制閱讀器在幾個有限的字段內進行數(shù)據(jù)傳輸,且EPC協(xié)議要求標簽在20毫秒以內計算循環(huán)冗余校驗碼,并確認每個字段接收成功,導致基于無源可計算RFID標簽的無線重編程變得更加地困難。因此,需要設計一個能夠在通過EPC協(xié)議中現(xiàn)有的命令,有效地將程序固件和片上的存儲器映射起來的方案。更重要的是,這樣的方案應該與EPC協(xié)議兼容,而不要求對無源可計算RFID標簽進行任何的硬件升級,也無需對商業(yè)RFID閱讀器做出任何改進。
【發(fā)明內容】
[0005]為了解決上述問題,本發(fā)明率先提出基于無源可計算RFID標簽的無線重編程方案。由于EPC協(xié)議沒有為重編程操作提供特定的命令,因此,本發(fā)明將重編程指令嵌入到常規(guī)的寫指令中。
[0006]對于標簽而言,出于重編程的操作能耗和時間開銷的考慮,在軟件層面上,本發(fā)明按照鏈路時序和微控制器中的存儲器類型,將目標固件程序切分成多個片段。然后,將每一個固件片段與特定的存儲位置進行關聯(lián)。在本發(fā)明的設計中,固件部署的靈活性,使得當用戶只要求對某一個特定的程序固件進行修改時,用戶只需使用新的固件程序來替換標簽上現(xiàn)有的固件程序。例如,如果無源可計算RFID標簽被預編程以加速傳感器固件、溫度傳感器固件或者LED控制固件,并且用戶希望用濕度傳感器固件來“替換”溫度傳感器固件,本發(fā)明的方案就會只擦除溫度固件并用濕度固件替換它。這種存儲器固件部署方案不僅節(jié)約了能量,而且降低了計算和時間開銷。最后,重新編程在引導程序的協(xié)助下實現(xiàn),滿足用戶將固件部署在某個特定位置的需求。這種靈活的重編程方案使得重編程可以指定特定的固件片段,而不是擦除并重寫整個存儲器。簡要地,本發(fā)明從現(xiàn)有固件執(zhí)行通路“借道”,關聯(lián)映射存儲區(qū),進行替換執(zhí)行新固件,對RFID標簽實現(xiàn)無線重編程。
[0007]為達到上述目的,本發(fā)明采用的技術方法如下:
[0008]基于無源可計算RFID系統(tǒng)的無線重編程方法,包括
[0009]在RFID閱讀器端,將待寫入固件分段并映射對應現(xiàn)有固件的關聯(lián)存儲區(qū);
[0010]在RFID閱讀器端,根據(jù)RFID標簽類型和寫指令的三個特征字段,將分段后的待寫入固件的指令和數(shù)據(jù)按字段編碼并嵌入寫命令,以完成指令編碼;
[0011]RFID閱讀器將寫命令發(fā)送至RFID標簽;
[0012]在RFID標簽端,根據(jù)EPC協(xié)議,對寫命令進行解析,以完成指令解碼;
[0013]在RFID標簽端,根據(jù)寫命令的解析值,執(zhí)行重編程,以完成重編程指令執(zhí)行。
[0014]上述方法中,所述的RFID標簽類型,包括軟件定義的無源可計算RFID標簽類型和/或基于芯片的無源可計算RFID標簽類型。
[0015]上述方法中,對于軟件定義的無源可計算RFID標簽,所述的指令和數(shù)據(jù)按字段編碼,包括
[0016]將第一字段作為二進制標識字段,第二字段和第三字段對應第一字段進行相應編碼,以區(qū)分不同編碼指令;具體地,
[0017]當?shù)谝蛔侄尉幋a為開始重編程指令的二進制對應值,第二字段編碼為重編程操作在軟件定義的無源可計算RFID標簽上存儲區(qū)域的開始位置對應值并且第三字段編碼為待寫入固件的長度對應值;
[0018]進一步具體地,當?shù)谝蛔侄尉幋a為程序固件傳輸指令的二進制對應值,第二字段編碼為待寫入固件片段在存儲區(qū)域位置對應值并且第三字段編碼為待寫入固件片段對應值;
[0019]進一步具體地,當?shù)谝蛔侄尉幋a為目標固件執(zhí)行指令的二進制對應值,第二字段編碼為待寫入固件的重置向量在軟件定義的無源可計算RFID標簽上存儲區(qū)域地址對應值。
[0020]上述方法中,對于基于芯片的無源可計算RFID標簽類型,所述的指令和數(shù)據(jù)按字段編碼,包括
[0021]定義,當常規(guī)寫指令中第一字段為二進制值11時,第(i)個常規(guī)寫指令中第三字段的低八位數(shù)據(jù)為第(i)值,i = I,2,3……,具體地,若連續(xù)三個8位數(shù)據(jù)為重編程指令標識(AABBCC),則標記第一個八位數(shù)據(jù)為第i值,并進入重編程狀態(tài),否則,繼續(xù)等待直至收到(AABBCC);
[0022]順序相鄰的第(i)值、第(i+Ι)值和第(i+2)值合并編碼為開始重編程指令的十六進制對應值;
[0023]與第(i+2)值順序相鄰的第(i+3)值和第(i+4)值,合并編碼為待寫入固件在微控制器上存儲區(qū)域起始地址的十六進制對應值;
[0024]與第(i+4)值順序相鄰的第(i+5)值和第(i+6)值,包括待寫入固件長度的十六進制對應值;
[0025]在最后一個待寫入固件片段后的兩個低八位數(shù)據(jù)編碼為待寫入固件重置向量地址十六進制對應值,并且位于執(zhí)行固件指令的十六進制對應值之后。
[0026]上述方法中,對于軟件定義的無源可計算RFID標簽,所述的對寫命令進行解析,RFID標簽中微控制器執(zhí)行EPC協(xié)議,解碼RFID閱讀器命令并進一步解析寫命令中的字段。
[0027]上述方法中,對于基于芯片的無源可計算RFID標簽類型,所述的對寫命令進行解析,包括
[0028]在芯片內解析RFID閱讀器寫命令;
[0029]通過串行外設接口將第i值傳輸至微控制器;
[0030]其中,同述地,若連續(xù)三個8位數(shù)據(jù)為重編程指令標識(AABBCC),或為程序執(zhí)行標識(FFFFFF),則標記第一個八位數(shù)據(jù)為第i值。
[0031]上述方法中,對于軟件定義的無源可計算RFID標簽,所述的執(zhí)行重編程,包括
[0032]對整個寫命令進行循環(huán)冗余校驗,當校驗成功時,微控制器中引導程序對其進行執(zhí)行操作并且反饋狀態(tài)信息至RFID閱讀器。
[0033]上述方法中,對于基于芯片的無源可計算RFID標簽類型,所述的執(zhí)行重編程,包括
[0034]微控制器中引導程序獲得數(shù)據(jù),并將數(shù)據(jù)保存至內存中,標記一個八位數(shù)據(jù)為第i值,根據(jù)重編程指令進入重組狀態(tài),并且基于重編程指令之后的四個字節(jié)初始化內存,其中,同述地,若連續(xù)三個8位數(shù)據(jù)為重編程指令標識(AABBCC),則標記第一個八位數(shù)據(jù)為第i值,并進入重編程狀態(tài),否則,繼續(xù)等待直至收到(AABBCC);
[0035]引導程序將從第八值開始的固件片段寫入微控制器的存儲區(qū);
[0036]當最后一個固件片段被寫入后,重置向量被引導程序設置于最后寫入存儲段的最后兩字節(jié)。
[0037]與現(xiàn)有技術相比,本發(fā)明有益效果:
[0038]突出地且顯著地,在不對EPC協(xié)議做出任何修改,也無需對現(xiàn)有的RFID閱讀器或無源可計算RFID標簽做任何硬件升級的情況下,率先提出了一種完全與EPC協(xié)議兼容的基于無源可計算RFID標簽的重編程方法,并且該方法通過對指令的編碼、解碼、執(zhí)行和存儲區(qū)布局,針對兩類標簽實現(xiàn)了無源可計算RFID的無線重編程;
[0039]卓越地,對于商用芯片的無源可計算RFID標簽,突破了其芯片內部架構對一次最多傳輸MemBank字段等于Ilb的寫指令中Data字段的低8位數(shù)據(jù)給外部微控制器的限制,創(chuàng)造了值定義且實現(xiàn)了基于商用芯片的無源可計算RFID標簽重編程編碼的新算法;
[0040]有效地將程序固件與微控制器上相關閃存段進行映射,為重編程操作提供了靈活性,節(jié)省了采集到的能量,時間開銷和計算復雜性。
【附圖說明】
[0041]圖1系統(tǒng)整體框圖;
[0042]圖2軟件定義的無源可計算RFID的指令編碼;
[0043]圖3基于商用芯片的無源可計算RFID的指令編碼;
[0044]圖4在優(yōu)化的WISP和Spider標簽上的存儲區(qū)布局。
【具體實施方式】
[0045]本說明書中公開的所有特征,或公開的所有方法或過程中的步驟,除了互相排斥的特征和/或步驟以外,均可以以任何方式組合。
[0046]下面結合附圖對本發(fā)明做進一步說明:
[0047]從RFID閱讀器與無源可計算RFID標簽的兩方面討論本發(fā)明設計。在RFID閱讀器端,根據(jù)片上存儲介質的不同類型,將程序固件劃分為不同的段。然后,把重編程指令以及固件片段嵌入到寫命令中。在無源可計算RFID標簽端,引導程序接收含有固件片段的指令并且執(zhí)行重編程操作。為了充分的利用存儲區(qū)域和提供重編程的靈活性,每個程序固件和相應的重置向量都設置在特定的存儲區(qū)域。總體方案在圖1中展示,下面將詳細解釋(其中,下標b代表二進制,下標h表示十六進制;寫指令總共六個字段,本方案使用了Membank字段,WordPtr字段和Data字段三個特征字段,令第一字段為Membank字段,第二字段為WordPtr字段,第三字段為Data字段且第HSSS1):
[0048]實施例1指令編碼
[0049]在EPC協(xié)議中,RFID閱讀器可以通過寫指令或塊寫指令傳輸定制的數(shù)據(jù)到標簽中。然而,塊寫指令是一個可選的命令,并不是能夠被所有的可計算RFID標簽都支持該指令,比如,Spider標簽。因此,發(fā)送多個寫指令來實現(xiàn)對兩類三種標簽的重編程。
[0050]對于軟件定義的無源可計算RFID標簽,通過將參數(shù)嵌入到寫指令中的三個字段來實現(xiàn)對指令的編碼,這三個字段分別是2位的MemBank字段,16位的WordPtr字段和16位的Data字段。由于這類標簽使用微控制器中的內存代替用戶存儲區(qū)、EPC存儲區(qū)、TID存儲區(qū)和保留存儲區(qū),因此,利用2位的MemBank字段作為標記,以區(qū)分開始重編程指令(編碼為00b),程序固件傳輸指令(01b),目標固件執(zhí)行指令(1b)和常規(guī)寫指令(llb),如圖2所示。在本發(fā)明方案中,如果寫指令中的MeMBank字段中的值為OOb,則WordPtr字段和Data字段中的數(shù)據(jù)分別表示重編程操作在片上存儲區(qū)域的開始位置及待寫入的程序固件的長度。如果寫指令中的MeMBank字段中的值為Olb,則WordPtr字段和Data字段中的數(shù)據(jù)分別表示待寫入固件片段在存儲區(qū)域的位置及16位的待寫入的程序固件片段。若MemBank字段中的值為10b,則WordPtr字段表示待寫入程序固件的重置向量在標簽片上存儲區(qū)域的地址。最后,如果MemBank字段的值為llb,則表示該指令為常規(guī)寫操作,比如,訪問用戶內存中的數(shù)據(jù)。
[0051 ] 基于商用芯片的無源可計算RFID標簽(Spider)通過SPI接口與外部微控制器相連接。其芯片內部架構限制了一次最多傳輸MemBank字段等于Ilb的寫指令中Data字段的低8位數(shù)據(jù)給外部微控制器。為了解決這個問題,圖片3中的過程顯示了解決方案:定義第i個MemBank字段等于Ilb的寫指令中Data字段的低8位數(shù)據(jù)SS1,開始重編程的指令被定義SS1Si+i Si+2=AAh I BBh I 乂01。接下來的3^3和5^4,合并起來&+3| | Si+4)作為固件在微控制器片上存儲區(qū)域的起始地址,程序固件的長度包含于s1+511s1+6,接下來的數(shù)據(jù)是待寫入的程序固件片段,在最后一個程序固件片段之后的兩個低8位代表待寫入程序固件的重置向量的地址。執(zhí)行固件的指令被定義為三個連續(xù)的EE,也就是Skl Sk+1 Sk+2 = EEh EEh EEh,緊跟其后的是待執(zhí)行的固件的重置向量的地址,置于Sk+31 |Sk+4中,如圖3所示。
[0052]實施例2指令解碼和執(zhí)行
[0053]在軟件定義的無源可計算RFID標簽中,微控制器自身執(zhí)行EPC協(xié)議,解碼閱讀器命令,并將解析寫命令中的三個字段。與之相反,基于商用芯片的無源可計算RFID標簽首先在芯片內解析閱讀器命令,并且通過SPI將MemBank字段為11的寫指令的Data字段的低8位數(shù)據(jù)傳輸?shù)狡馕⒖刂破?。基于不同的工作模式,指令的解碼過程是完全不同的。
[0054]在軟件定義的無源可計算RFID中,首先,引導程序(Boot-1oader)接收到寫命令,解析上述三個字段并對整個寫命令進行循環(huán)冗余校驗。若檢驗成功,引導程序就會執(zhí)行該指令并且回復“成功”給閱讀器。如前所述,MemBank的值指示著標簽上的下一個任務。比如,當MemBank字段的值為10b,引導程序會將存于WordPtr字段的值(也就是待執(zhí)行程序的重置向量的地址)存入程序計數(shù)器。(注:程序計數(shù)器的功能是保存下一個即將被執(zhí)行的指令。)當MemBank字段中的值為OOb,引導程序將進入重編程狀態(tài),并根據(jù)Data字段的值擦除相應的存儲區(qū)域(擦除操作只在微控制器存儲介質為閃存時執(zhí)行)。當MemBank字段中的值等于0U,引導程序將Data字段的數(shù)據(jù)寫入以WordPtr字段中所存儲的值為起始地址的存儲區(qū)域。當MemBank字段中的值等于llb,引導程序離開重組狀態(tài),并且等待來自閱讀器的下一個指令。
[0055]對于基于商用芯片的無源可計算RFID,微控制器中的引導程序從SPI接口獲得數(shù)據(jù),解析指令和程序固件,然后執(zhí)行重編程操作。在這種情況下,商用RFID芯片初始化SPI通信并且將MemBank字段為11的寫指令的Data字段的低8位數(shù)據(jù)傳輸?shù)狡馕⒖刂破?。微控制器中的引導程序獲得數(shù)據(jù),并將數(shù)據(jù)保存到內存中,標記第i個8位數(shù)據(jù)作為Si。當接收到重編程指令AAhI BBh ICCh時,引導程序進入重組狀態(tài),并且基于重編程指令之后的四個字節(jié)(Si+3,Si+4,Si+5,Si+6)初始化內存。這四個字節(jié)包含待寫入固件程序的起始地址和長度。然后,引導程序將存放于WS1+7開始的固件片段寫入微控制器的存儲區(qū)。一旦最后一個固件片段被成功接收,復位向量被設置于現(xiàn)有存儲段的最后2字節(jié)。當接收到執(zhí)行指令(三個連續(xù)的EEh)時,引導程序將把來自于SPI的下兩個字節(jié)存儲到程序計數(shù)器中以執(zhí)行目標固件。
[0056]實施例3存儲區(qū)布局
[0057]存儲區(qū)的布局是將程序固件片段和微控制器中的存儲段進行映射。在本發(fā)明系統(tǒng)中,優(yōu)化的WISP和Spider標簽的微控制器為MSP430F2132,其存儲介質為閃存(FLASH),而WISP5.1的微控制器為基于鐵電存儲器(FRAM)的MSP430FR5969。通俗的講,F(xiàn)RAM可以被作為一種通用的存儲器,它不僅可以用以永久地存儲固件代碼,可以被用于存儲變量。更重要的是,它沒有被劃分為特定的存儲段。因此,在例子中,程序固件,常量,變量,堆棧等都分配于FRAM中。若要重編程FRAM,只需將待寫入程序固件直接寫在特定位置而不像寫閃存那樣,需要預先擦除,才能寫入。
[0058]如圖4所示,在優(yōu)化的WISP標簽和Spi der標簽中的8KB的閃存被分為16段,每段512字節(jié),每個存儲段都是擦除操作的最小單元。若想對其進行重編程,首先需要通過對存儲區(qū)的偽寫操作來擦除所有的存儲段。不僅如此,為了有效地利用存儲區(qū)域,并靈活地擦除和寫入程序固件,在存儲區(qū)布局中,重置向量需被置于每個段的最后。在本發(fā)明系統(tǒng)中,每個單獨的固件的起始位置都是某一個閃存存儲段的起點。
[0059]實施例4活躍模式與省電模式之間的轉換
[0060]無源可計算RFID標簽是能量受限的設備,為了節(jié)省能量,標簽通常運行于Duty-Cycle模式下。MSP430系列的微控制器提供了一種活躍模式和幾種不同的軟件可選擇的低功耗模式。簡單的講,在活躍模式下,所有的時鐘都被激活。在低功耗模式下,內存能夠處于低功耗保持模式,而CPU被禁用。對于優(yōu)化的WISP和WISP5.1而言,標簽從LPM4模式開始執(zhí)行程序,當閱讀器發(fā)出命令時,能量監(jiān)視器產(chǎn)生的中斷信號會使標簽轉換為活躍模式。如果能量足夠,標簽將執(zhí)行重編程操作。否則,標簽將保持LPM4模式直至電源監(jiān)視器產(chǎn)生下一個中斷信號。對于基于商用芯片的無源可計算RFID標簽Spider標簽而言,一旦上電,微控制器從LPM4模式開始。在這種標簽中,SPI的信號會產(chǎn)生中斷,并使其轉換到活躍模式以執(zhí)行設定的操作。微控制器一旦處于激活模式,能量監(jiān)視器將會持續(xù)地監(jiān)視能量狀態(tài)直至微控制器中的任務完全完成,在任務完成之后,微控制器又會回到低功耗模式。
[0061]從以下幾個方面評估本發(fā)明:重編程操作的時間和能量開銷;包含了EPC協(xié)議和在閱讀器端和標簽端所執(zhí)行時延,以及重編程操作自身時延的系統(tǒng)總時延;在有效盤存范圍內的成功率。上述參數(shù)被用于對比、評價系統(tǒng)在前述三個無源可計算RFID標簽上得表現(xiàn)。結果表明,由于鐵電存儲器FRAM可以將數(shù)據(jù)寫入FRAM而不需要擦除操作,因此,對于WISP5.1,重編程操作中引入了 1.01微秒的時延,而對于Spider標簽和優(yōu)化的WISP,由于它們需要擦除和重編程閃存,因此,它們的時延均多達14.4ms。評估了當三個標簽上微控制器在不同的工作頻率的重編程的能量開銷。對于其能量開銷,使用閃存(FLASH)的無源可計算RFID標簽在擦除和重編程操作時的能耗為118.64J,而另一個使用FRAM的無源可計算RFID則消耗
7.264nJ。對于重編程512字節(jié)而言,當工作頻率為I兆赫茲時,Spider標簽,優(yōu)化的WISP及WISP5.1的系統(tǒng)時延最多為28.12秒,13.89秒和13.87秒,其在I米的盤存距離下,重編程操作成功率分別為93%,84%和89.5%。
[0062]技術的進步只是選用標準的參考,但是出于改劣發(fā)明,或者成本考量,僅僅從實用性的技術方案選擇。
[0063]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何屬于本技術領域的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。
【主權項】
1.基于無源可計算RFID系統(tǒng)的無線重編程方法,其特征在于,包括 在RFID閱讀器端,對應現(xiàn)有固件的存儲區(qū),將待寫入固件分段并關聯(lián)映射至存儲區(qū); 在RFID閱讀器端,根據(jù)RFID標簽類型和寫指令的三個特征字段,將分段后的待寫入固件的指令和數(shù)據(jù)按字段編碼并嵌入寫命令,以完成指令編碼; RFID閱讀器將寫命令發(fā)送至RFID標簽; 在RFID標簽端,根據(jù)EPC協(xié)議,對寫命令進行解析,以完成指令解碼; 在RFID標簽端,根據(jù)寫命令的解析值,執(zhí)行重編程,以完成重編程指令執(zhí)行。2.根據(jù)權利要求1所述的基于無源可計算RFID系統(tǒng)的無線重編程方法,其特征在于,所述的RFID標簽類型,包括軟件定義的無源可計算RFID標簽類型和/或基于芯片的無源可計算RFID標簽類型。3.根據(jù)權利要求2所述的基于無源可計算RFID系統(tǒng)的無線重編程方法,其特征在于,對于軟件定義的無源可計算RFID標簽,所述的指令和數(shù)據(jù)按字段編碼,包括 將第一字段作為二進制標識字段,第二字段和第三字段對應第一字段進行相應編碼,以區(qū)分不同編碼指令;具體地, 當?shù)谝蛔侄尉幋a為開始重編程指令的二進制對應值,第二字段編碼為重編程操作在軟件定義的無源可計算RFID標簽上存儲區(qū)域的開始位置對應值并且第三字段編碼為待寫入固件的長度對應值; 具體地,當?shù)谝蛔侄尉幋a為程序固件傳輸指令的二進制對應值,第二字段編碼為待寫入固件片段在存儲區(qū)域位置對應值并且第三字段編碼為待寫入固件片段對應值; 具體地,當?shù)谝蛔侄尉幋a為目標固件執(zhí)行指令的二進制對應值,第二字段編碼為待寫入固件的重置向量在軟件定義的無源可計算RFID標簽上存儲區(qū)域地址對應值。4.根據(jù)權利要求2所述的基于無源可計算RFID系統(tǒng)的無線重編程方法,其特征在于,對于基于芯片的無源可計算RFID標簽類型,所述的指令和數(shù)據(jù)按字段編碼,包括 定義,當常規(guī)寫指令中第一字段為二進制值11時,第(i)個常規(guī)寫指令中第三字段的低八位數(shù)據(jù)為第(i)值,i = l,2,3……; 順序相鄰的第(i)值、第(i+Ι)值和第(i+2)值合并編碼為開始重編程指令的十六進制對應值; 與第(i+2)值順序相鄰的第(i+3)值和第(i+4)值,合并編碼為待寫入固件在微控制器上存儲區(qū)域起始地址的十六進制對應值; 與第(i+4)值順序相鄰的第(i+5)值和第(i+6)值,包括待寫入固件長度的十六進制對應值; 在最后一個待寫入固件片段后的兩個低八位數(shù)據(jù)編碼為待寫入固件重置向量地址十六進制對應值,并且位于執(zhí)行固件指令的十六進制對應值之后。5.根據(jù)權利要求3所述的基于無源可計算RFID系統(tǒng)的無線重編程方法,其特征在于,對于軟件定義的無源可計算RFID標簽,所述的對寫命令進行解析,RFID標簽中微控制器執(zhí)行EPC協(xié)議,解碼RFID閱讀器命令并解析寫命令中的字段。6.根據(jù)權利要求4所述的基于無源可計算RFID系統(tǒng)的無線重編程方法,其特征在于,對于基于芯片的無源可計算RFID標簽類型,所述的對寫命令進行解析,包括 在芯片內解析RFID閱讀器寫命令; 通過串行外設接口將第i值傳輸至微控制器。7.根據(jù)權利要求5所述的基于無源可計算RFID系統(tǒng)的無線重編程方法,其特征在于,對于軟件定義的無源可計算RFID標簽,所述的執(zhí)行重編程,包括 對整個寫命令進行循環(huán)冗余校驗,當校驗成功時,微控制器中引導程序對其進行執(zhí)行操作并且反饋狀態(tài)信息至RFID閱讀器。8.根據(jù)權利要求6所述的基于無源可計算RFID系統(tǒng)的無線重編程方法,其特征在于,對于基于芯片的無源可計算RFID標簽類型,所述的執(zhí)行重編程,包括 微控制器中引導程序獲得數(shù)據(jù),并將數(shù)據(jù)保存至內存中,標記一個八位數(shù)據(jù)為第i值,根據(jù)重編程指令進入重組狀態(tài),并且基于重編程指令之后的四個字節(jié)初始化內存; 引導程序將從第八值開始的固件片段寫入微控制器的存儲區(qū); 當最后一個固件片段被寫入后,重置向量被引導程序設置于最后寫入存儲段的最后兩字T1
【文檔編號】G06K7/00GK105930752SQ201610242269
【公開日】2016年9月7日
【申請日】2016年4月15日
【發(fā)明人】魯力
【申請人】電子科技大學