蔣冠宇蔣 泰鄧家明張余明
(1.清華大學(xué),北京 100084;2.廣西瀚特信息產(chǎn)業(yè)股份有限公司,廣西 桂林 541004)
一種超高頻RFID讀寫器的設(shè)計(jì)與實(shí)現(xiàn)
蔣冠宇1蔣 泰2鄧家明2張余明2
(1.清華大學(xué),北京 100084;2.廣西瀚特信息產(chǎn)業(yè)股份有限公司,廣西 桂林 541004)
目的:設(shè)計(jì)一種多標(biāo)簽超高頻RFID讀寫器并實(shí)現(xiàn)其讀寫功能。方法:根據(jù)ISO18000-6短程通信接口協(xié)議,基于arm7芯片實(shí)現(xiàn)軟件數(shù)據(jù)處理功能,采用外圍硬件設(shè)計(jì)實(shí)現(xiàn)整個(gè)系統(tǒng)功能。結(jié)果:讀寫器能夠同時(shí)讀取多枚標(biāo)簽并且有效避免沖突發(fā)生,讀取的數(shù)據(jù)可以通過服務(wù)器做進(jìn)一步處理。結(jié)論:該讀寫器工作正常,具有比較大的應(yīng)用前景。
RFID;ISO18000-6協(xié)議;防沖突算法
1.1 射頻識(shí)別的概念
射頻識(shí)別(Radio Frequency Identification,RFID)是一種無線通信技術(shù),可以通過無線電訊號(hào)識(shí)別特定目標(biāo)并讀寫相關(guān)數(shù)據(jù),而無需識(shí)別系統(tǒng)與特定目標(biāo)之間建立機(jī)械或者光學(xué)接觸。
無線電的信號(hào)是通過調(diào)成無線電頻率的電磁場(chǎng),把數(shù)據(jù)從附著在物品上的標(biāo)簽上傳送出去,以自動(dòng)辨識(shí)與追蹤該物品。某些標(biāo)簽在識(shí)別時(shí)從識(shí)別器發(fā)出的電磁場(chǎng)中就可以得到能量,并不需要電池;也有標(biāo)簽本身擁有電源,并可以主動(dòng)發(fā)出無線電波(調(diào)成無線電頻率的電磁場(chǎng))。標(biāo)簽包含了電子存儲(chǔ)的信息,數(shù)米之內(nèi)都可以識(shí)別。與條形碼不同的是,射頻標(biāo)簽不需要處在識(shí)別器視線之內(nèi),也可以嵌入被追蹤物體之內(nèi)。
1.2 RFID系統(tǒng)組成
RFID系統(tǒng)包括標(biāo)簽、RFID讀寫器和RFID應(yīng)用系統(tǒng)三大部分,如圖1所示。
圖1 RFID系統(tǒng)組成
標(biāo)簽:由天線,耦合元件及芯片組成,每個(gè)標(biāo)簽具有唯一的電子編碼,附著在物體上標(biāo)識(shí)目標(biāo)對(duì)象。
RFID讀寫器:由天線,耦合元件,芯片組成,讀取(有時(shí)還可以寫入)標(biāo)簽信息的設(shè)備,是RFID系統(tǒng)的核心部分,主要任務(wù)是控制射頻模塊向標(biāo)簽發(fā)射讀取信號(hào),并接收標(biāo)簽的應(yīng)答,對(duì)標(biāo)簽的標(biāo)識(shí)信息進(jìn)行解碼,將標(biāo)識(shí)信息連帶標(biāo)簽上其他相關(guān)信息傳輸?shù)街鳈C(jī)以供處理。讀寫器具有對(duì)電子標(biāo)簽的ID號(hào)列舉、數(shù)據(jù)讀、寫等功能,例如:(1)喚醒標(biāo)簽:只有被喚醒的標(biāo)簽才能與讀寫器進(jìn)行通信,防止系統(tǒng)外其它標(biāo)簽的干擾,確保讀寫器與本系統(tǒng)標(biāo)簽信息交換的可靠與準(zhǔn)確。(2)讀取標(biāo)簽數(shù)據(jù):不僅可以讀取標(biāo)簽的ID 號(hào),還可讀取指定標(biāo)簽存儲(chǔ)區(qū)的數(shù)據(jù);不僅可以讀取單個(gè)標(biāo)簽的數(shù)據(jù),而且可以同時(shí)讀取天線發(fā)射波范圍內(nèi)的多個(gè)標(biāo)簽的數(shù)據(jù)。(3)寫入標(biāo)簽數(shù)據(jù):可以向指定的標(biāo)簽存儲(chǔ)區(qū)寫入數(shù)據(jù)。(4)對(duì)標(biāo)簽數(shù)據(jù)進(jìn)行保護(hù):對(duì)指定的標(biāo)簽存儲(chǔ)區(qū)設(shè)置“寫保護(hù)”,將使該存儲(chǔ)區(qū)的數(shù)據(jù)被鎖存并永久“保護(hù)”,不被改寫。
應(yīng)用軟件系統(tǒng):是應(yīng)用層軟件,主要是把收集的數(shù)據(jù)進(jìn)一步處理,并為人們所使用。
1.3 RFID系統(tǒng)的工作原理
標(biāo)簽進(jìn)入磁場(chǎng)后,接收讀寫器發(fā)出的射頻信號(hào),憑借感應(yīng)電流所獲得的能量發(fā)送出存儲(chǔ)在芯片中的產(chǎn)品信息(無源標(biāo)簽或被動(dòng)標(biāo)簽),或者由標(biāo)簽主動(dòng)發(fā)送某一頻率的信號(hào)(Active Tag,有源標(biāo)簽或主動(dòng)標(biāo)簽),讀寫器讀取信息并解碼后,送至中央信息系統(tǒng)進(jìn)行有關(guān)數(shù)據(jù)處理。
超高頻RFID標(biāo)簽讀寫器主要由控制模塊、發(fā)射模塊、接收模塊、基帶處理模塊、通道切換模塊等構(gòu)成,如圖2所示。發(fā)射模塊受控制模塊控制,為讀寫器提供載波信號(hào),并對(duì)載波信號(hào)進(jìn)行調(diào)制和功率放大后,通過發(fā)射模塊、通道切換模塊的射頻接口輸出發(fā)射信號(hào)至電子標(biāo)簽;同時(shí),射頻接口接收電子標(biāo)簽返回的反射信號(hào),輸入到接收模塊;接收模塊將電子標(biāo)簽返回的反射信號(hào)進(jìn)行零中頻解調(diào),實(shí)現(xiàn)雙路正交解碼,輸出兩路基帶信號(hào);基帶處理模塊對(duì)兩路基帶信號(hào)進(jìn)行濾波、放大、整形,得到控制模塊可處理的低頻信號(hào);控制模塊同時(shí)接收和處理兩路正交低頻信號(hào),根據(jù)相關(guān)協(xié)議將信號(hào)恢復(fù)為電子標(biāo)簽的原始信息。
圖2 超高頻RFID標(biāo)簽讀寫器結(jié)構(gòu)
RFID接口協(xié)議:空中接口通信協(xié)議規(guī)范讀寫器與電子標(biāo)簽之間信息交互,目的是為不同廠家生產(chǎn)設(shè)備之間的互聯(lián)互通性。ISO/IEC制定五種頻段的空中接口協(xié)議,這種思想充分體現(xiàn)標(biāo)準(zhǔn)統(tǒng)一的相對(duì)性,一個(gè)標(biāo)準(zhǔn)是對(duì)相當(dāng)廣泛的應(yīng)用系統(tǒng)的共同需求,但不是所有應(yīng)用系統(tǒng)的需求,一組標(biāo)準(zhǔn)可以滿足更大范圍的應(yīng)用需求。
ISO18000-6信息技術(shù)-基于單品管理的射頻識(shí)別-適用于超高頻段 860~960MHz,規(guī)定讀寫器與標(biāo)簽之間的物理接口、協(xié)議和命令再加上防碰撞方法。它包含TypeA、TypeB和TypeC三種無源標(biāo)簽的接口協(xié)議,通信距離最遠(yuǎn)可以達(dá)到10m。其中TypeC是由EPCglobal起草的,并于2006年7月獲得批準(zhǔn),它在識(shí)別速度、讀寫速度、數(shù)據(jù)容量、防碰撞、信息安全、頻段適應(yīng)能力、抗干擾等方面有較大提高。2006年遞交V4.0草案,它針對(duì)帶輔助電源和傳感器電子標(biāo)簽的特點(diǎn)進(jìn)行擴(kuò)展,包括標(biāo)簽數(shù)據(jù)存儲(chǔ)方式和交互命令。帶電池的主動(dòng)式標(biāo)簽可以提供較大范圍的讀取能力和更強(qiáng)的通信可靠性,不過其尺寸較大,價(jià)格也更貴一些。
本超高頻RFID讀寫器采用TypeB接口協(xié)議。
3.1 數(shù)據(jù)編碼
(1)前向鏈路(讀寫器到標(biāo)簽):讀寫器通過調(diào)制載波完成到識(shí)別卡的數(shù)據(jù)傳送,數(shù)據(jù)編碼通過產(chǎn)生曼徹斯特編碼的脈沖實(shí)現(xiàn)。
(2)返向鏈路(標(biāo)簽到讀寫器):對(duì)于標(biāo)簽到讀寫器的通信,發(fā)送數(shù)據(jù)使用反向散射技術(shù)。這需要在返向鏈路上讀寫器給識(shí)別卡提供穩(wěn)定的能量。當(dāng)讀寫器向識(shí)別卡提供能量時(shí),識(shí)別卡將交替的改變其天線前端的有效阻抗,從而改變能被讀寫器辨識(shí)的識(shí)別卡的射頻反射率。
(3)命令的格式:命令幀由下列域組成:幀頭檢測(cè),幀頭,分隔符,命令碼,參數(shù),CRC-16。
(4)幀頭檢測(cè)域由一個(gè)穩(wěn)定的沒有調(diào)制的載波組成,持續(xù)時(shí)間至少400us。一般來說此類短程通訊的速率為40kbps,對(duì)應(yīng)幀頭檢測(cè)域?yàn)?6位。
幀頭等效為9位非歸零格式的曼徹斯特碼0,編碼形式為010101010101010101。
CRC-16:CRC即循環(huán)冗余校驗(yàn)碼(Cyclic Redundancy Check[1] ):是數(shù)據(jù)通信領(lǐng)域中最常用的一種差錯(cuò)校驗(yàn)碼,其特征是信息字段和校驗(yàn)字段的長(zhǎng)度可以任意選定。
幀的格式:響應(yīng)幀由靜默域,返回幀頭,數(shù)據(jù)域以及CRC-16構(gòu)成。
3.2 Btree協(xié)議與沖突仲裁
(1)全協(xié)議的描述
標(biāo)簽主要有四個(gè)主要狀態(tài):電源關(guān)閉狀態(tài)(power-off),當(dāng)讀寫器不能激活識(shí)別卡時(shí),識(shí)別卡處于電源關(guān)閉狀態(tài)(對(duì)于有源標(biāo)簽,意味著射頻激勵(lì)強(qiáng)度不足以激活標(biāo)簽的回路);就緒狀態(tài)(ready),當(dāng)讀寫器第一次激活標(biāo)簽時(shí),識(shí)別卡處于ready狀態(tài);識(shí)別狀態(tài)(ID),當(dāng)標(biāo)簽試圖向讀寫器傳送識(shí)別信息時(shí),識(shí)別卡處于 ID狀態(tài);數(shù)據(jù)交換狀態(tài)(DATA-EXCHANGE)狀態(tài),當(dāng)識(shí)別卡被讀寫器識(shí)別并被選中時(shí),識(shí)別卡處于數(shù)據(jù)交換狀態(tài)。
(2)沖突仲裁
讀寫器可用GROUP_SELECT與GROUP_UNSELECT命令,使所有或一部分在讀寫器射頻電磁場(chǎng)的標(biāo)簽參與沖突仲裁。為了支持仲裁沖突,標(biāo)簽卡上應(yīng)該具有兩個(gè)硬件電路:一個(gè)8bit計(jì)數(shù)器 COUNT,以及一個(gè)隨機(jī)數(shù)發(fā)生器(兩個(gè)可能的值:0或1)。開始時(shí),一組標(biāo)簽通過GROUP_SELECT命令轉(zhuǎn)換到ID狀態(tài),還應(yīng)該將它們內(nèi)部的計(jì)數(shù)器置0。
在上述選擇過程后,實(shí)現(xiàn)下列循環(huán):
①所有處于ID狀態(tài)且計(jì)數(shù)器COUNT為0的標(biāo)簽應(yīng)發(fā)送它們的ID號(hào)。最初這個(gè)組包含所有選中的標(biāo)簽;
②如果多于一個(gè)標(biāo)簽在發(fā)送,該讀寫器接受一個(gè)錯(cuò)誤的響應(yīng),發(fā)出FAIL命令;
③計(jì)數(shù)器COUNT不等于0的標(biāo)簽在接收到FAIL命令后,將增加COUNT,它們將更沒有機(jī)會(huì)發(fā)送ID。計(jì)數(shù)器等于0的識(shí)別卡在接收到FAIL命令后,將生成一個(gè)隨機(jī)數(shù)。隨機(jī)數(shù)為1的標(biāo)簽將增加COUNT,它們將不會(huì)發(fā)送。隨機(jī)數(shù)為0的識(shí)別卡將保持COUNT為0,并且再一次發(fā)送ID?,F(xiàn)在出現(xiàn)四種可能情況之一;
④如果多于一個(gè)標(biāo)簽發(fā)送,則重復(fù)FAIL;
⑤如果所有標(biāo)簽的COUNT不為0,無標(biāo)簽發(fā)送,讀寫器接收不到信號(hào),將發(fā)出 SUCCESS命令。所有內(nèi)部計(jì)數(shù)器 COUNT減小,以及計(jì)數(shù)器COUNT為0的標(biāo)簽發(fā)送。一般來說,這樣會(huì)返回②;
⑥如果只有一個(gè)標(biāo)簽發(fā)送并且ID號(hào)被正確讀到,讀寫器應(yīng)發(fā)送帶此ID的DATA_READ命令。如果DATA_READ命令被識(shí)別卡正確地收到,該識(shí)別卡應(yīng)轉(zhuǎn)為 DATA_EXCHANGE狀態(tài),并發(fā)送它的數(shù)據(jù)。讀寫器發(fā)送SUCCESS命令,所有處于ID狀態(tài)的標(biāo)簽減小計(jì)數(shù)器COUNT;
⑦如果只有一個(gè)標(biāo)簽的計(jì)數(shù)器COUNT為1,重復(fù)第五步或第六步。如果多于一個(gè)標(biāo)簽發(fā)送,重復(fù)②;
⑧如果只有一個(gè)標(biāo)簽發(fā)送,而接受的ID有錯(cuò)誤,該讀寫器應(yīng)發(fā)送RESEND命令。如果ID正確地收到,重復(fù)5。如果重發(fā)接收ID有若干個(gè),則會(huì)假定有多個(gè)標(biāo)簽發(fā)送,重復(fù)②。
(3)命令
命令分為四個(gè)功能組:選擇命令,識(shí)別命令,數(shù)據(jù)傳輸命令以及多卡處理命令。
命令為下列類型之一:強(qiáng)制的,可選的,定制的以及專有的。
具體命令的標(biāo)準(zhǔn)見ISO18000-6B協(xié)議標(biāo)準(zhǔn)。
本讀寫器利用LPC-2132單片機(jī)開發(fā),其軟件實(shí)現(xiàn)步驟主要如下:
(1)定義常量
超高頻RFID讀寫器系統(tǒng)比較復(fù)雜,其中涉及許多固定的命令和寄存器,將這些常量定義有利于代碼的閱讀和理解。
命令:
上文提到,標(biāo)簽主要存在四個(gè)狀態(tài),狀態(tài)間的轉(zhuǎn)換主要靠讀寫器發(fā)送的命令實(shí)現(xiàn),以達(dá)到不同的目的。
命令主要分為兩類:
①選擇命令
選擇(selection)命令根據(jù)某種條件在射頻場(chǎng)中選擇一組識(shí)別卡,進(jìn)行識(shí)別或?qū)懭霐?shù)據(jù),此命令可用于沖突仲裁。比如GROUP_SELECT_XX(用于選擇標(biāo)簽,XX表示不同的條件),GROUP_UNSELECT_XX(用于去選擇),SUCCESS(當(dāng)標(biāo)簽內(nèi)部計(jì)數(shù)器COUNT為0的時(shí)候響應(yīng),發(fā)送ID),RESEND(重新發(fā)送ID),INITIALIZE(復(fù)位),F(xiàn)AIL_O(多于一個(gè)標(biāo)簽試圖識(shí)別自己是,使某些標(biāo)簽退避)
②數(shù)據(jù)轉(zhuǎn)移命令
數(shù)據(jù)轉(zhuǎn)移命令用于數(shù)據(jù)從存儲(chǔ)器讀出或?qū)懭氪鎯?chǔ)器。比如READ(標(biāo)簽在滿足一定條件時(shí)轉(zhuǎn)化為DATA_EXCHANGE狀態(tài)),READ_FLAGS(讀flags),READ_VARIABLE讀指定長(zhǎng)度的內(nèi)容等等)。
以上每個(gè)命令都對(duì)應(yīng)自己的命令碼,程序中將這些命令碼常量定義為以上的表達(dá)形式。
寄存器:?jiǎn)纹瑱C(jī)每個(gè)模塊都有自己的寄存器用來存儲(chǔ)數(shù)據(jù),而每個(gè)寄存器對(duì)應(yīng)的地址是固定的,比如在定時(shí)器中有中斷寄存器(0xE0004000),定時(shí)器控制寄存器(0xE0004004),定時(shí)器計(jì)數(shù)器(0xE0004008)等,將它們的地址定義成一個(gè)相關(guān)的名字,T0IR,T0TCR,T0TC。
(2)定義函數(shù)
讀寫器的軟件功能靠不同的函數(shù)實(shí)現(xiàn)。函數(shù)按模塊劃分,主要如下:外設(shè)定義,讀取數(shù)據(jù),寫入數(shù)據(jù),發(fā)送數(shù)據(jù),循環(huán)冗余校驗(yàn),數(shù)據(jù)編碼等。
①外設(shè)定義
讀寫器通過單片機(jī)開發(fā),為實(shí)現(xiàn)其功能需要單片機(jī)的外部設(shè)備,這就需要啟動(dòng)初始化外設(shè)并且設(shè)定相關(guān)參數(shù)。比較重要的外部設(shè)備有通用I/O口(GPIO,定義I/O口的方向,使用方式,以及高低電平的定義),異步串行接口(UART,用于數(shù)據(jù)串行傳輸,需要定義時(shí)鐘和波特率),定時(shí)器(TIMER,用于計(jì)數(shù)產(chǎn)生中斷),脈寬調(diào)制器(PWM,等效正弦波輸出),數(shù)模/模數(shù)轉(zhuǎn)換(A/D,D/A),看門狗(WATCHDOG,用于防止程序鎖死)
②讀取數(shù)據(jù)
讀寫器收到來自標(biāo)簽的信號(hào)經(jīng)過外圍電路放大判決后送入單片機(jī),單片機(jī)設(shè)置其中若干引腳為捕捉功能,其用途是捕捉每一次電平的跳轉(zhuǎn),于此同時(shí)定時(shí)器計(jì)數(shù),記錄兩次跳轉(zhuǎn)的時(shí)間間隔,這樣就可以知道每次高低電平的時(shí)間長(zhǎng)短(脈寬),根據(jù)相關(guān)協(xié)議經(jīng)過換算就可以知道這是數(shù)據(jù)0還是數(shù)據(jù)1,或者是無效數(shù)據(jù)。將數(shù)據(jù)翻譯好了以后就是來自標(biāo)簽的響應(yīng),根據(jù)標(biāo)簽不同的響應(yīng)做不同的處理。
③寫入數(shù)據(jù)
讀寫器的主要目的就是讀取來自標(biāo)簽的信息,然后傳輸給后臺(tái)服務(wù)器進(jìn)行處理,這之中就需要將讀到的數(shù)據(jù)寫入單片機(jī)的緩存中。寫入數(shù)據(jù)不僅要考慮準(zhǔn)確性,還要考慮效率,比如之前已經(jīng)寫入的標(biāo)簽信息之后再次讀到時(shí)忽略此次寫入,不再改變?cè)行畔ⅰ?/p>
④發(fā)送數(shù)據(jù)
讀寫器發(fā)送的數(shù)據(jù)主要是命令。系統(tǒng)開始工作時(shí),讀寫器每隔一段時(shí)間發(fā)送一次讀卡命令,直到有標(biāo)簽響應(yīng),讀寫器讀到響應(yīng)之后根據(jù)不同的情況改變發(fā)送的命令,通過沖突仲裁等手段最終正確讀到所有卡的信息。
⑤數(shù)據(jù)編碼
上文提到,協(xié)議采用的是曼徹斯特編碼,當(dāng)命令形成以后需要通過外部設(shè)備形成曼徹斯特編碼再到外圍電路處理。
⑥循環(huán)冗余校驗(yàn)
無線通信中一個(gè)很大的問題是誤碼。由于數(shù)字信號(hào)的傳輸需要加載在模擬信號(hào)上通過空間電磁場(chǎng)傳播,數(shù)據(jù)的正確性會(huì)受到發(fā)端的調(diào)制和放大模塊,信道與收端的放大解調(diào)模塊的影響,最終收到的數(shù)據(jù)有可能不正確,使用不正確的數(shù)據(jù)將會(huì)影響整個(gè)系統(tǒng)的正常運(yùn)行。因此工程上在每一段數(shù)據(jù)后面加上一段校驗(yàn)碼,接收方通過校驗(yàn)碼來判斷接收的數(shù)據(jù)是否正確以作下一步處理,通過犧牲數(shù)據(jù)空間效率的方式提升正確率。數(shù)據(jù)校驗(yàn)的方法很多,最簡(jiǎn)單的比如奇偶校驗(yàn),可以檢測(cè)出奇數(shù)個(gè)誤碼的情況。CRC校驗(yàn)(循環(huán)冗余校驗(yàn))是數(shù)據(jù)通訊中最常采用的校驗(yàn)方式。在嵌入式軟件開發(fā)中,經(jīng)常要用到 CRC 算法對(duì)各種數(shù)據(jù)進(jìn)行校驗(yàn)。循環(huán)冗余校驗(yàn)碼(CRC)的基本原理是:在K位信息碼后再拼接R位的校驗(yàn)碼,整個(gè)編碼長(zhǎng)度為 N位,因此,這種編碼也叫(N,K)碼。對(duì)于一個(gè)給定的(N,K)碼,可以證明存在一個(gè)最高次冪為N-K=R的多項(xiàng)式G(x)。根據(jù)G(x)可以生成K位信息的校驗(yàn)碼,而G(x)叫做這個(gè)CRC碼的生成多項(xiàng)式。 校驗(yàn)碼的具體生成過程為:假設(shè)要發(fā)送的信息用多項(xiàng)式C(X)表示,將C(x)左移R位(可表示成C(x)*2R),這樣C(x)的右邊就會(huì)空出R位,這就是校驗(yàn)碼的位置。用 C(x)*2R 除以生成多項(xiàng)式G(x)得到的余數(shù)就是校驗(yàn)碼。生成多項(xiàng)式的概念:是接受方和發(fā)送方的一個(gè)約定,也就是一個(gè)二進(jìn)制數(shù),在整個(gè)傳輸過程中,這個(gè)數(shù)始終保持不變。在發(fā)送方,利用生成多項(xiàng)式對(duì)信息多項(xiàng)式做模 2除生成校驗(yàn)碼。在接受方利用生成多項(xiàng)式對(duì)收到的編碼多項(xiàng)式做模 2除檢測(cè)和確定錯(cuò)誤位置。應(yīng)滿足以下條件:A.生成多項(xiàng)式的最高位和最低位必須為1。B.當(dāng)被傳送信息(CRC碼)任何一位發(fā)生錯(cuò)誤時(shí),被生成多項(xiàng)式做除后應(yīng)該使余數(shù)不為0。C.不同位發(fā)生錯(cuò)誤時(shí),應(yīng)該使余數(shù)不同。D.對(duì)余數(shù)繼續(xù)做除,應(yīng)使余數(shù)循環(huán)。CRC-16采用的生成多項(xiàng)式一般為0x1021。
CRC-16算法如下:
①如果原來的CRC最高位異或輸入是0的話(既CRC最高位與校驗(yàn)的信息位相同),那么結(jié)果就是使CRC左移一位;
②如果原來的CRC最高位異或輸入是1的話(既CRC最高位與校驗(yàn)的信息位不同),那么結(jié)果就是先使CRC左移一位,再異或生成的多項(xiàng)式。
事實(shí)上,計(jì)算本字節(jié)后的CRC碼,等于上一字節(jié)余式CRC碼的低8位左移8位,加上上一字節(jié)CRC右移 8位和本字節(jié)之和后所求得的 CRC碼。如果我們把 8位二進(jìn)制序列數(shù)的CRC(共256個(gè))全部計(jì)算出來,放在一個(gè)表里,編碼時(shí)只要從表中查找對(duì)應(yīng)的值進(jìn)行處理即可。這是一種 CRC改進(jìn)方法,對(duì)于內(nèi)存的節(jié)省很有幫助。
由于RFID技術(shù)具有防水、防磁、耐高溫、使用壽命長(zhǎng)、讀取距離大、標(biāo)簽上數(shù)據(jù)可以加密、存儲(chǔ)數(shù)據(jù)容量更大、存儲(chǔ)信息更改自如等優(yōu)點(diǎn),已經(jīng)成為21世紀(jì)全球自動(dòng)識(shí)別技術(shù)發(fā)展的主要方向。本讀寫器產(chǎn)品可以應(yīng)用于商貿(mào)、汽車、藥物、食品、運(yùn)輸、能源、軍工等領(lǐng)域,具有廣闊的應(yīng)用空間。
[1] ISO18000-6A/B標(biāo)準(zhǔn):Information technology automatic identification and data capture techniques-Radio frequency identification for item management air interface-Part 6: Parameters for air interface communications at 860-960MHz.
[2] 蔣泰,高廣尚. ISO18000-6 Type C標(biāo)準(zhǔn)中防沖突技術(shù)的改進(jìn)[J].計(jì)算機(jī)工程與應(yīng)用,2010,(20):42-45.
[3] 禹士朋.UHF射頻識(shí)別系統(tǒng)的防沖突算法研究[D].鄭州:鄭州大學(xué),2010.
Design and implementation of UHF RFID reader
Objective:A multi-tag UHF RFID reader is designed and realized.Method:According to ISO18000-6 protocol of short range communication, data processing is realized based on ARM7 chips and peripheral hardware is designed to make the system workable.Result:The reader can read multiple tags at one time and effectively avoid collision. The data read can be sent to servers for further processing.Conclusion:This UHF RFID reader functions properly and it has a broad application prospect.
RFID; ISO18000-6 protocol; anti-collision algorithm
TP391.4
A
1008-1151(2015)02-0006-04
2015-01-10
蔣冠宇,清華大學(xué)在讀生。