新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 射頻識(shí)別系統(tǒng)的防沖突算法改進(jìn)與實(shí)現(xiàn)

射頻識(shí)別系統(tǒng)的防沖突算法改進(jìn)與實(shí)現(xiàn)

作者:喻武龍,孟穎 時(shí)間:2008-09-01 來源:中電網(wǎng) 收藏

  1 引言

本文引用地址:http://m.butianyuan.cn/article/87579.htm

  技術(shù)()是一種非接觸式自動(dòng)識(shí)別技術(shù),它通過無線射頻方式對(duì)目標(biāo)加以識(shí)別并交換數(shù)據(jù),主要應(yīng)用于較短時(shí)間內(nèi)在射頻區(qū)域中識(shí)別一個(gè)目標(biāo)。當(dāng)多個(gè)同時(shí)到達(dá)射頻有效區(qū)域時(shí),標(biāo)簽會(huì)同時(shí)響應(yīng)讀寫器指令并發(fā)送信號(hào),導(dǎo)致閱讀器不能正確接收數(shù)據(jù),也不能正確識(shí)別標(biāo)簽,發(fā)生沖突。需要一種可靠的防沖突(Anti-collision)算法,解決在識(shí)別多個(gè)時(shí)出現(xiàn)的數(shù)據(jù)沖突而導(dǎo)致閱讀器無法正確識(shí)別標(biāo)簽的問題。

  無源數(shù)字集成電路結(jié)構(gòu)框圖如圖1所示,主要由通信安全、信息安全、存儲(chǔ)以及控制等4個(gè)單元組成。其中防沖突模塊位于通信信息安全單元,用于解決多個(gè)標(biāo)簽與閱讀器進(jìn)行數(shù)據(jù)交換所引起的數(shù)據(jù)沖突問題。

 
  2 ALOHA算法 

  ALOHA算法足一種簡(jiǎn)便的,如圖2所示。它既沒有檢測(cè)機(jī)制也沒有恢復(fù)機(jī)制,只是以一定概率確保電子標(biāo)簽發(fā)出的信息準(zhǔn)確地被閱讀器接收。ALOHA算法僅用于只讀閱讀器,標(biāo)簽將數(shù)據(jù)(序列號(hào))傳輸給閱讀器,并且在一個(gè)周期中將數(shù)據(jù)不斷發(fā)送給閱讀器,數(shù)據(jù)傳輸時(shí)間只是重復(fù)時(shí)間的一小部分,使得在傳輸中產(chǎn)生相當(dāng)長(zhǎng)的間歇,因此,存在一定概率,使兩個(gè)應(yīng)答器可以在不同的時(shí)隙傳輸其數(shù)據(jù),從而避免沖突。


   從圖2可以看到,閱讀器首先發(fā)送讀指令,處于射頻區(qū)域的多個(gè)標(biāo)簽收到指令,立即在隨后多個(gè)時(shí)隙中隨機(jī)選擇一個(gè)將信息上傳給閱讀器,并且標(biāo)簽在一個(gè)周期循環(huán)時(shí)隙內(nèi)完成數(shù)據(jù)上傳。增加時(shí)隙數(shù)量可降低RF終端發(fā)生沖突的概率,但是信道大部分時(shí)間將處于空閑狀態(tài),使得防沖突識(shí)別速度變慢。反之,減少時(shí)隙數(shù)量導(dǎo)致射頻終端沖突明顯增加。運(yùn)用時(shí)隙算法的關(guān)鍵在于尋找一個(gè)有效的折衷方案,使得防沖突的可靠性和速度滿足要求。隨著系統(tǒng)復(fù)雜程度的加大,防沖突的可靠性顯著降低,沖突不可避免,所以這種沒有檢測(cè)恢復(fù)機(jī)制的抗沖突算法僅適用于簡(jiǎn)單系統(tǒng)。 

  3 二進(jìn)制搜索

  ALOHA算法由于效率低,實(shí)際系統(tǒng)并未采用,而是采用更加高效的二進(jìn)制搜索算法。二進(jìn)制搜索算法靈活,不會(huì)發(fā)生防沖突失敗情況。對(duì)于N個(gè)應(yīng)答器發(fā)生沖突的情況,最多只需要N-1次防沖突循環(huán)就能準(zhǔn)確識(shí)別出適合的應(yīng)答器。二進(jìn)制搜索算法的基本思想是閱讀器判斷出發(fā)送應(yīng)答器的序列號(hào)產(chǎn)生數(shù)據(jù)沖突位置。然后強(qiáng)制命令在沖突位置發(fā)送信息為"0"或"1"的應(yīng)答器退出沖突。當(dāng)N-1個(gè)應(yīng)答器退出沖突后信道則被剩下的一個(gè)應(yīng)答器完全占有并由閱讀器識(shí)別出。

  為了防止數(shù)據(jù)沖突的發(fā)生,首先確定發(fā)生沖突的數(shù)據(jù)比特位的具體位置。這里使用Manchester編碼如圖3所示。這種編碼通過電平的上升沿和下降沿表示高、低電平。上升沿為邏輯"1",下降沿為邏輯"0",不存在狀態(tài)不變的情況。因此數(shù)據(jù)傳輸過程中檢測(cè)到編碼狀態(tài)不跳變,則認(rèn)為在數(shù)據(jù)傳輸過程中發(fā)生了沖突。兩個(gè)發(fā)生沖突的數(shù)據(jù)比特位必定有一個(gè)為邏輯"0",另一個(gè)為邏輯"1",這樣Manchester碼的上升沿和下降沿相互抵消,使接收器在持續(xù)時(shí)間內(nèi)接收到狀態(tài)持續(xù)不變的副載波信號(hào),即出現(xiàn)狀態(tài)不跳變,這在Manchester編碼中是不允許的,可以肯定該處出現(xiàn)了沖突。因此可以用這種方法按位跟蹤發(fā)生沖突的數(shù)據(jù)比特位的具體位置。


   當(dāng)應(yīng)答器進(jìn)入射頻區(qū)域時(shí),閱讀器開始針對(duì)所有的應(yīng)答器進(jìn)行檢測(cè)識(shí)別。其工作進(jìn)程主要有如下五個(gè)狀態(tài): 

  POWER OFF(斷電)狀態(tài):應(yīng)答器尚未獲得能量(未進(jìn)入閱讀器工作區(qū)),而處于斷電狀態(tài),因此也不能發(fā)射副載波:

  IDLE(空閑)狀態(tài):應(yīng)答器進(jìn)入閱讀器工作區(qū),電磁場(chǎng)激活獲得能量,形成電壓,進(jìn)入空閑狀態(tài),同時(shí)能對(duì)已調(diào)制的信號(hào)解調(diào),并識(shí)別來自閱讀器的RE-QUEST命令和WAKE UP命令;

  READY(就緒)狀態(tài):當(dāng)接收到一個(gè)有效的REQA或WAKE UP命令時(shí),進(jìn)入就緒狀態(tài),在該狀態(tài)采用防沖突方法,用UID(惟一標(biāo)識(shí)符)從多張IC卡中選擇出一張應(yīng)答器,此時(shí)該張應(yīng)答器就進(jìn)入ACTIVE(激活)狀態(tài);

  ACTIVE(激活)狀態(tài):在本狀態(tài)完成本次應(yīng)用(一次交易)所要求的全部操作;

  HALT(停止)狀態(tài):閱讀器完成一次交易后,處于停止?fàn)顟B(tài)。

  應(yīng)答器各狀態(tài)間的轉(zhuǎn)換圖如圖4所示。

  4 改進(jìn)后的實(shí)現(xiàn)步驟

  這里采用SEL+NVB方式傳輸。SEL為指令碼,其代碼為93;NVB的前半字節(jié)表示字節(jié)數(shù),后半字節(jié)表示沖突的位置。

 
  改進(jìn)后的算法具體實(shí)現(xiàn)步驟如下:
  第1步:閱讀器分配SEL值,選定反沖突類型和級(jí)聯(lián)級(jí)數(shù);
  第2步:閱讀器分配給NVB值'20'(定義了閱讀器將發(fā)出命令迫使場(chǎng)內(nèi)所有應(yīng)答器響應(yīng)完整的序列號(hào));
  第3步:閱讀器發(fā)出SEL和NVB命令;
  第4步:場(chǎng)內(nèi)所有應(yīng)答器以完整序列號(hào)響應(yīng);
  第5步:假定場(chǎng)內(nèi)的應(yīng)答器都有唯一的序列號(hào),
  則當(dāng)多個(gè)應(yīng)答器響應(yīng)時(shí),就會(huì)發(fā)生沖突。如果無沖突,第6步到第10步可以跳過。
  第6步:閱讀器確認(rèn)第一個(gè)沖突的位置X并記錄下來。
  第7步:閱讀器分配NVB值,其中NVB前半字節(jié)為該命令的字節(jié)數(shù),后半字節(jié)為沖突X的位置。
  第8步:閱讀器發(fā)出SEL和NVB,要求應(yīng)答器中第X位為'1'的作出響應(yīng)。
  第9步:只有該部分序列號(hào)中第X位為'1'的應(yīng)答器才會(huì)發(fā)出它們序列號(hào)剩余的部分。
  第10步:若有沖突發(fā)生,第6~9步重復(fù)執(zhí)行。
  第11步:若無沖突發(fā)生,閱讀器為NVB分配一個(gè)值'70'。
  第12步:閱讀器發(fā)出SEL和NVB,要求應(yīng)答器傳送完整的序列號(hào)。
  第13步:應(yīng)答器傳送完整的序列號(hào)、聞讀器收到后完成對(duì)該標(biāo)簽的識(shí)別工作。

  改進(jìn)后的防沖突算法流程圖如圖5所示。

  5 改進(jìn)后防沖突算法的仿真與實(shí)現(xiàn)

  改進(jìn)后主要實(shí)現(xiàn)Manchester碼和防沖突算法。Manchester碼是一種適合傳輸?shù)幕鶐Тa型,是實(shí)現(xiàn)防沖突檢測(cè)所采用的碼型。Manchester編碼可用兩個(gè)不同相位的二進(jìn)制碼代替一個(gè)二進(jìn)制碼。而防沖突算法則是采用編寫程序進(jìn)行算法驗(yàn)證。實(shí)驗(yàn)證明,算法正確。


 
  6 結(jié)束語 

  改進(jìn)后的二進(jìn)制防沖突算法能夠?qū)⑸漕l區(qū)域內(nèi)的多個(gè)應(yīng)答器準(zhǔn)確地識(shí)別出來,并且使系統(tǒng)的傳輸數(shù)據(jù)量和傳輸時(shí)間大大減少,有效節(jié)省了傳輸信道,這是其他算法難以達(dá)到的。因此,改進(jìn)后的二進(jìn)制防沖突算法比其他算法更準(zhǔn)確、更高效地解決系統(tǒng)中的標(biāo)簽應(yīng)答數(shù)據(jù)沖突問題。
 



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉