本發(fā)明涉及射頻識(shí)別(RFID,RadioFrequencyIdentification)領(lǐng)域,尤其涉及一種RFID標(biāo)簽的升級(jí)方法。
背景技術(shù):
:RFID利用無(wú)線電技術(shù)在讀寫(xiě)器和電子標(biāo)簽之間建立通信,達(dá)到信息查詢(xún)的目的。與傳統(tǒng)的條形碼技術(shù)相比,具有傳輸數(shù)據(jù)率高、通信距離遠(yuǎn)、可同時(shí)處理多個(gè)標(biāo)簽、標(biāo)簽信息可修改、環(huán)境適應(yīng)性強(qiáng)等優(yōu)點(diǎn),因此成為物聯(lián)網(wǎng)的關(guān)鍵使能技術(shù),具有廣泛的應(yīng)用前景。按照實(shí)現(xiàn)方式的不同,RFID分為無(wú)源RFID和有源RFID兩種。無(wú)源RFID標(biāo)簽自身不帶電池,工作需要的電源從讀寫(xiě)器的電磁場(chǎng)中獲??;有源RFID標(biāo)簽自身具備電池,無(wú)需從讀寫(xiě)器的電磁場(chǎng)中獲取電源進(jìn)行工作。喚醒技術(shù)典型地分為外部喚醒、周期(內(nèi)部)喚醒兩種。外部喚醒包括采用低頻喚醒、紅外喚醒、磁場(chǎng)喚醒等;周期喚醒是指標(biāo)簽處于周期性的休眠、偵聽(tīng)狀態(tài),在標(biāo)簽的偵聽(tīng)狀態(tài),讀寫(xiě)器可以向標(biāo)簽發(fā)送命令以喚醒標(biāo)簽。外部喚醒一般功耗較低,但需要增加額外的硬件消耗,導(dǎo)致成本增加,且喚醒距離往往與射頻作用距離相差甚遠(yuǎn),因此在有源RFID中,周期喚醒應(yīng)用更為廣泛。嵌入式系統(tǒng)程序升級(jí)技術(shù)是通過(guò)運(yùn)行在嵌入式系統(tǒng)內(nèi)部的一段升級(jí)程序完成的,該程序?yàn)榍度胧较到y(tǒng)本身提供一種自編程機(jī)制。系統(tǒng)在上電復(fù)位后首先運(yùn)行升級(jí)程序,初始化完成必要的硬件資源后,判斷是否進(jìn)行程序升級(jí),如果是,則執(zhí)行程序升級(jí)將新程序?qū)懭胂鄳?yīng)的地址空間,完成升級(jí)后加載系統(tǒng)功能區(qū)的新程序運(yùn)行。有源RFID標(biāo)簽封裝完成后,一般沒(méi)有外部接口,此時(shí)如果想升級(jí)有源RFID標(biāo)簽程序,只能通過(guò)無(wú)線的方式實(shí)現(xiàn);空口數(shù)據(jù)的傳輸容易被監(jiān)聽(tīng)和干擾。因此,如何保證通過(guò)無(wú)線的方式對(duì)標(biāo)簽進(jìn)行程序升級(jí)時(shí)的安全性及可靠性,降低功耗,是亟待解決的問(wèn)題。技術(shù)實(shí)現(xiàn)要素:為解決現(xiàn)有存在的技術(shù)問(wèn)題,本發(fā)明實(shí)施例期望提供一種RFID標(biāo)簽的升級(jí)方法。為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明實(shí)施例采用以下方式來(lái)實(shí)現(xiàn):本發(fā)明實(shí)施例提供了一種射頻識(shí)別RFID標(biāo)簽的升級(jí)方法,所述方法包括:使用無(wú)線的方式完成標(biāo)簽程序的更新,其中,升級(jí)程序與標(biāo)簽程序同處于標(biāo)簽內(nèi)部且存儲(chǔ)空間分離,所 述升級(jí)程序在標(biāo)簽復(fù)位后首先被執(zhí)行,用于升級(jí)的程序文件以射頻數(shù)據(jù)的形式發(fā)送給升級(jí)程序并完成寫(xiě)入。其中,所述升級(jí)程序采用周期喚醒的機(jī)制。其中,所述程序文件的數(shù)據(jù)以密文的形式進(jìn)行傳輸,程序文件明文數(shù)據(jù)的整體校驗(yàn)值在升級(jí)結(jié)束前需發(fā)送給所述升級(jí)程序,所述升級(jí)程序根據(jù)文件整體校驗(yàn)值判斷數(shù)據(jù)接收的完整性。其中,所述升級(jí)程序包括偵聽(tīng)階段、程序檢測(cè)階段、休眠階段和升級(jí)階段;所述升級(jí)階段的前一階段是偵聽(tīng)階段,所述程序檢測(cè)階段位于所述偵聽(tīng)階段之后。其中,在所述偵聽(tīng)階段,所述升級(jí)程序處于射頻數(shù)據(jù)接收狀態(tài),當(dāng)接收到啟動(dòng)升級(jí)命令后進(jìn)入升級(jí)階段。其中,在所述程序檢測(cè)階段,對(duì)所述標(biāo)簽程序的有效性進(jìn)行判斷,如果有效,則結(jié)束升級(jí)程序的運(yùn)行,加載并運(yùn)行標(biāo)簽程序。其中,在所述休眠階段,首先啟動(dòng)喚醒定時(shí)器,然后標(biāo)簽進(jìn)入休眠狀態(tài)停止工作,喚醒定時(shí)器觸發(fā)后退出休眠。其中,在所述升級(jí)階段,啟動(dòng)超時(shí)定時(shí)器,接收程序升級(jí)命令,需在超時(shí)時(shí)間內(nèi)完成程序升級(jí),否則退出升級(jí)。其中,所述升級(jí)程序所在存儲(chǔ)空間受到保護(hù),該空間的數(shù)據(jù)不會(huì)在升級(jí)階段被擦除或改寫(xiě)。其中,所述復(fù)位是以下復(fù)位情況的任一種:上電復(fù)位、軟復(fù)位、硬件復(fù)位、看門(mén)狗復(fù)位。其中,所述周期性喚醒的周期,可根據(jù)應(yīng)用場(chǎng)景自行設(shè)定;所述休眠時(shí)間,頁(yè)可根據(jù)應(yīng)用場(chǎng)景自行設(shè)定。本發(fā)明實(shí)施例提供的一種RFID標(biāo)簽的升級(jí)方法,使用無(wú)線的方式完成標(biāo)簽程序的更新;升級(jí)程序與標(biāo)簽程序同處于標(biāo)簽內(nèi)部且存儲(chǔ)空間分離,升級(jí)程序必須在標(biāo)簽復(fù)位后首先被執(zhí)行,程序文件以射頻數(shù)據(jù)的形式發(fā)送給升級(jí)程序并完成寫(xiě)入。所述升級(jí)程序采用了周期喚醒的機(jī)制以降低待機(jī)功耗;所述程序文件的數(shù)據(jù)以密文的形式進(jìn)行傳輸,整個(gè)程序文件明文數(shù)據(jù)的校驗(yàn)值需發(fā)送給升級(jí)程序以保證文件接收的完整性。本發(fā)明實(shí)施例的方法功耗低,使用密文傳輸并對(duì)程序文件進(jìn)行整體校驗(yàn),以無(wú)線的方式實(shí)現(xiàn)標(biāo)簽程序升級(jí),適用于標(biāo)簽升級(jí)程序時(shí)對(duì)功耗、安全性與穩(wěn)定性要求比較高的場(chǎng)合。附圖說(shuō)明圖1為本發(fā)明實(shí)施例RFID標(biāo)簽狀態(tài)轉(zhuǎn)換示意圖;圖2為本發(fā)明實(shí)施例RFID標(biāo)簽的升級(jí)流程示意圖。具體實(shí)施方式下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)一步詳細(xì)闡述。本發(fā)明實(shí)施例提供一種RFID標(biāo)簽的升級(jí)方法,旨在解決對(duì)功耗、安全性及可靠性要求比較高且需要通過(guò)無(wú)線的方式對(duì)標(biāo)簽進(jìn)行程序升級(jí)的問(wèn)題。本發(fā)明實(shí)施例使用無(wú)線的方式實(shí)現(xiàn)對(duì)標(biāo)簽程序的更新;所述升級(jí)程序與標(biāo)簽程序同處于標(biāo)簽內(nèi)部且存儲(chǔ)空間分離,升級(jí)程序必須在標(biāo)簽復(fù)位后首先被執(zhí)行,程序文件以射頻數(shù)據(jù)的形式發(fā)送給升級(jí)程序并完成寫(xiě)入。所述升級(jí)程序采用了周期喚醒的機(jī)制以降低待機(jī)功耗;所述程序文件的數(shù)據(jù)以密文的形式進(jìn)行傳輸,整個(gè)程序文件明文數(shù)據(jù)的校驗(yàn)值在升級(jí)結(jié)束前需發(fā)送給升級(jí)程序,升級(jí)程序根據(jù)文件整體校驗(yàn)值判斷數(shù)據(jù)接收的完整性。本發(fā)明實(shí)施例的方法功耗低,使用密文傳輸并對(duì)程序文件進(jìn)行整體校驗(yàn),以無(wú)線的方式實(shí)現(xiàn)標(biāo)簽程序升級(jí),適用于標(biāo)簽升級(jí)程序時(shí)對(duì)安全性與穩(wěn)定性要求比較高的場(chǎng)合。需要說(shuō)明的是,本發(fā)明實(shí)施例的升級(jí)程序需包括以下四個(gè)階段:偵聽(tīng)階段、程序檢測(cè)階段、休眠階段和升級(jí)階段;其中,偵聽(tīng)階段,升級(jí)程序處于射頻數(shù)據(jù)接收狀態(tài),當(dāng)接收到啟動(dòng)升級(jí)命令后進(jìn)入升級(jí)階段;程序檢測(cè)階段,對(duì)標(biāo)簽程序的有效性進(jìn)行判斷,如果有效,則結(jié)束升級(jí)程序的運(yùn)行,加載并運(yùn)行標(biāo)簽程序;休眠階段,首先啟動(dòng)喚醒定時(shí)器,然后標(biāo)簽進(jìn)入休眠狀態(tài)停止工作,喚醒定時(shí)器觸發(fā)后退出休眠;升級(jí)階段,啟動(dòng)超時(shí)定時(shí)器,接收程序升級(jí)命令,需在超時(shí)時(shí)間內(nèi)完成程序升級(jí),否則退出升級(jí)。另外,對(duì)于所述周期喚醒,周期及休眠時(shí)間可以根據(jù)實(shí)際應(yīng)用場(chǎng)景自行設(shè)定。偵聽(tīng)階段的時(shí)間可以根據(jù)實(shí)際需要設(shè)定,典型的,可以設(shè)置為兩個(gè)啟動(dòng)升級(jí)命令的傳輸時(shí)間,不僅能夠保證每個(gè)喚醒周期都能夠進(jìn)入程序升級(jí),也盡可能的降低標(biāo)簽的待機(jī)功耗。下面再結(jié)合具體示例進(jìn)一步詳細(xì)闡述本發(fā)明實(shí)施例的RFID標(biāo)簽的升級(jí)方法。在程序升級(jí)過(guò)程中需要規(guī)定空口數(shù)據(jù)的幀結(jié)構(gòu),典型的,以某有源RFID協(xié)議幀結(jié)構(gòu)為例定義空口數(shù)據(jù)幀結(jié)構(gòu)如下表1所示:前導(dǎo)碼同步碼數(shù)據(jù)長(zhǎng)度幀選項(xiàng)消息數(shù)據(jù)校驗(yàn)碼4字節(jié)1字節(jié)1字節(jié)1字節(jié)≤124字節(jié)X字節(jié)表1參照?qǐng)D1,該方法的實(shí)施方式描述如下:第一步,復(fù)位標(biāo)簽進(jìn)入升級(jí)程序,因此標(biāo)簽程序需要支持空口復(fù)位命令,典型的,以某有源RFID協(xié)議幀結(jié)構(gòu)為例,定義復(fù)位命令如下表2所示:數(shù)據(jù)項(xiàng)標(biāo)簽ID命令I(lǐng)D口令長(zhǎng)度8字節(jié)1字節(jié)4字節(jié)表2第二步,升級(jí)程序初始化完成必要的硬件后,進(jìn)入偵聽(tīng)階段。在該階段偵聽(tīng)啟動(dòng)升級(jí)命令,典型的,啟動(dòng)升級(jí)命令可以是標(biāo)簽的復(fù)位命令,如表2所示。第三步,在偵聽(tīng)階段收到啟動(dòng)升級(jí)命令且口令校驗(yàn)通過(guò)后,進(jìn)入升級(jí)階段。啟動(dòng)超時(shí)定時(shí)器,超時(shí)時(shí)間可根據(jù)實(shí)際應(yīng)用自行設(shè)定,接收程序升級(jí)命令,典型的,以某有源RFID協(xié)議幀結(jié)構(gòu)為例,程序升級(jí)命令如下表3所示:表3參照?qǐng)D2,程序升級(jí)的流程如下:步驟1,根據(jù)命令類(lèi)型判斷空口數(shù)據(jù)是否為第一幀程序升級(jí)命令,如果是,執(zhí)行步驟2,如果不是,執(zhí)行步驟4。步驟2,判斷命令中的地址是否與約定的標(biāo)簽固件程序起始地址相符合,如果符合,則擦除標(biāo)簽程序有效標(biāo)識(shí),啟動(dòng)程序文件整體校驗(yàn);典型的,采用CRC16算法進(jìn)行校驗(yàn),CRC16算法的初始值可以自行約定。執(zhí)行步驟3。步驟3,解密數(shù)據(jù),計(jì)算CRC,存儲(chǔ)解密后的數(shù)據(jù)并返回響應(yīng)。步驟4,根據(jù)命令類(lèi)型判斷空口數(shù)據(jù)是否為中間數(shù)據(jù)幀,如果不是,執(zhí)行步驟6;如果是,判斷命令中的地址是否大于上一幀數(shù)據(jù)的結(jié)束地址,如果是,執(zhí)行步驟3,如果不是,執(zhí)行步驟5。步驟5,丟棄該幀數(shù)據(jù),繼續(xù)接收空口數(shù)據(jù),接收完空口數(shù)據(jù)后執(zhí)行步驟1。步驟6,根據(jù)命令類(lèi)型判斷空口數(shù)據(jù)是否為結(jié)束數(shù)據(jù)幀,如果不是,執(zhí)行步驟5。如果是,提取數(shù)據(jù)幀中的CRC16值,執(zhí)行步驟3,并執(zhí)行步驟7。步驟7,判斷結(jié)束幀中的CRC值是否與引導(dǎo)程序計(jì)算的CRC值是否一致,如果一致,則程序文件已經(jīng)更新完整,寫(xiě)入標(biāo)簽程序有效標(biāo)識(shí),復(fù)位標(biāo)簽。如果不一致,執(zhí)行步驟5。第四步,在程序檢測(cè)階段檢測(cè)標(biāo)簽程序是否有效,如果有效,則跳轉(zhuǎn)到標(biāo)簽程序執(zhí)行。第五步,關(guān)閉射頻收發(fā)單元,啟動(dòng)喚醒定時(shí)器,進(jìn)入休眠狀態(tài)停止工作。第六步,喚醒定時(shí)器觸發(fā),退出休眠進(jìn)入下一個(gè)喚醒周期。以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本
技術(shù)領(lǐng)域:
的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。當(dāng)前第1頁(yè)1 2 3