《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > RFID多標(biāo)簽閱讀時防碰撞技術(shù)
RFID多標(biāo)簽閱讀時防碰撞技術(shù)
摘要: RFID讀寫器正常情況下一個時間點只能對磁場中的一張RFID卡進(jìn)行讀或?qū)懖僮?,但是實際應(yīng)用中經(jīng)常有當(dāng)多張卡片同時進(jìn)入讀寫器的射頻場,,讀寫器怎么處理呢?讀寫器需要選出特定的一張卡片進(jìn)行讀或?qū)懖僮?,這就是標(biāo)簽防碰撞,。
Abstract:
Key words :

 

RFID讀寫器正常情況下一個時間點只能對磁場中的一張RFID卡進(jìn)行讀或?qū)懖僮鳎菍嶋H應(yīng)用中經(jīng)常有當(dāng)多張卡片同時進(jìn)入讀寫器的射頻場,,讀寫器怎么處理呢,?讀寫器需要選出特定的一張卡片進(jìn)行讀或?qū)懖僮鳎@就是標(biāo)簽防碰撞,。

防碰撞機(jī)制是RFID技術(shù)中特有的問題,。在接觸式IC卡的操作中是不存在沖突的,因為接觸式智能卡的讀寫器有一個專門的卡座,,而且一個卡座只能插一張卡片,,不存在讀寫器同時面對兩張以上卡片的問題。常見的非接觸式RFID卡中的防沖突機(jī)制主要有以下幾種:

1.面向比特的防沖突機(jī)制,。

高頻的ISO14443A使用這種防沖突機(jī)制,,其原理是基于卡片有一個全球唯一的序列號。比如Mifare1卡,,每張卡片有一個全球唯一的32位二進(jìn)制序列號,。顯而易見,卡號的每一位上不是“1”就是“0”,而且由于是全世界唯一,,所以任何兩張卡片的序列號總有一位的值是不一樣的,,也就說總存在某一位,一張卡片上是“0”,,而另一張卡片上是“1”,。

當(dāng)兩張以上卡片同時進(jìn)入射頻場,讀寫器向射頻場發(fā)出卡呼叫命令,,問射頻場中有沒有卡片,。這些卡片同時回答“有卡片”;

然后讀寫器發(fā)送防沖突命令“把你們的卡號告訴我”,,收到命令后所有卡片同時回送自己的卡號,。

可能這些卡片卡號的前幾位都是一樣的。比如前四位都是1010,,第五位上有一張卡片是“0”而其他卡片是“1”,,于是所有卡片在一起說自己的第五位卡號的時候,由于有卡片說“0”,,有卡片說“1”,,讀寫器聽出來發(fā)生了沖突。

讀寫器檢測到?jīng)_突后,,對射頻場中的卡片說,,讓卡號前四位是“1010”,第五位是“1”的卡片繼續(xù)說自己的卡號,,其他的卡片不要發(fā)言了,。

結(jié)果第五位是“1”的卡片繼續(xù)發(fā)言,可能第五位是“1”的卡片不止一張,,于是在這些卡片回送卡號的過程中又發(fā)生了沖突,,讀寫器仍然用上面的辦法讓沖突位是“1”的卡片繼續(xù)發(fā)言,其他卡片禁止發(fā)言,,最終經(jīng)過多次的防沖突循環(huán),,當(dāng)只剩下一張卡片的時候,就沒有沖突了,,最后勝出的卡片把自己完整的卡號回送給讀寫器,,讀寫器發(fā)出卡選擇命令,這張卡片就被選中了,,而其他卡片只有等待下次卡呼叫時才能再次參與防沖突過程,。

上述防沖突過程中,當(dāng)沖突發(fā)生時,,讀寫器總是選擇沖突位為“1”的卡片勝出,,當(dāng)然也可以指定沖突位為“0”的卡片勝出,。

上述過程有點擬人化了,實際情況下讀寫器是怎么知道發(fā)生沖突了呢,?在前面的數(shù)據(jù)編碼中我們已經(jīng)提到,卡片向讀寫器發(fā)送命令使用副載波調(diào)制的曼側(cè)斯特(Manchester)碼,,副載波調(diào)制碼元的右半部分表示數(shù)據(jù)“0”,,副載波調(diào)制碼元的左半部分表示數(shù)據(jù)“1”,當(dāng)發(fā)生沖突時,,由于同時有卡片回送“0”和“1”,,導(dǎo)致整個碼元都有副載波調(diào)制,讀寫器收到這樣的碼元,,就知道發(fā)生沖突了,。

這種方法可以保證任何情況下都能選出一張卡片,即使把全世界同類型的所有卡片都拿來防沖突,,最多經(jīng)過32個防沖突循環(huán)就能選出一張卡片,。缺點是由于卡序列號全世界唯一,而卡號的長度是固定的,,所以某一類型的卡片的生產(chǎn)數(shù)量也是一定的,,比如常見的Mifare1卡,由于只有4個字節(jié)的卡序列號,,所以其生產(chǎn)數(shù)量最多為2的32次方,,即4294967296張。

2.面向時隙的防沖突機(jī)制

ISO14443B中使用這種防沖突機(jī)制,。這里的時隙(timeslot)其實就是個序號,。這個序號的取值范圍由讀寫器指定,可能的范圍有1-1,、1-2,、1-4、1-8,、1-16,。當(dāng)兩張以上卡片同時進(jìn)入射頻場,讀寫器向射頻場發(fā)出卡呼叫命令,,命令中指定了時隙的范圍,,讓卡片在這個指定的范圍內(nèi)隨機(jī)選擇一個數(shù)作為自己的臨時識別號。然后讀寫器從1開始叫號,,如果叫到某個號恰好只有一張卡片選擇了這個號,,則這張卡片被選中勝出。如果叫到的號沒有卡片應(yīng)答或者有多于一張卡片應(yīng)答,,則繼續(xù)向下叫號,。如果取值范圍內(nèi)的所有號都叫了一遍還沒有選出一張卡片,則重新讓卡片隨機(jī)選擇臨時識別號,直到叫出一張卡片為止,。

這種辦法不要求卡片有一個全球唯一序列號,,所以卡片的生產(chǎn)數(shù)量沒有限制,但是理論上存在一種可能,,就是永遠(yuǎn)也選不出一張卡片來,。

Felica采用的也是這種機(jī)制。

3.位和時隙相結(jié)合的防沖突機(jī)制

ISO15693中使用這種機(jī)制,。一方面每張卡片有一個7字節(jié)的全球唯一序列號,,另一方面讀寫器在防沖突的過程中也使用時隙叫號的方式,不過這里的號不是卡片隨機(jī)選擇的,,而是卡片唯一序列號的一部分,。

叫號的數(shù)值范圍分為0-1和0-15兩種。其大體過程是,,當(dāng)有多張卡片進(jìn)入射頻場,,讀寫器發(fā)出清點請求命令,假如指定卡片的叫號范圍是0-15,,則卡片序列號最低4位為0000的卡片回送自己的7字節(jié)序列號,。如果沒有沖突,,卡片的序列號就被登記在PCD中,。然后讀寫器發(fā)送一個幀結(jié)束標(biāo)志,,表示讓卡片序列號最低4位為0001的卡片作出應(yīng)答;之后讀寫器每發(fā)送一個幀結(jié)束標(biāo)志,,表示序列號的最低4位加1,,直到最低4位為1111的卡片被要求應(yīng)答。如果此過程中某一個卡片回送序列號時沒有發(fā)生沖突,,讀寫器就可選擇此張卡片,;如果巡檢過程中沒有卡片反應(yīng),表示射頻場中沒有卡片,;如果有卡片反應(yīng)的時隙發(fā)生了沖突,,比如最低4位是1010的卡片回送卡號時發(fā)生了沖突,則讀寫器在下一次防沖突循環(huán)中指定只有最低4位是1010的卡片參與防沖突,,然后用卡片的5-8位作為時隙,,重復(fù)前面的巡檢。如果被叫卡片的5-8位時隙也相同,,之后再用卡片的9-12位作為時隙,,重復(fù)前面的巡檢,依次類推,。讀寫器可以從低位起指定任意位數(shù)的序列號,,讓卡號低位和指定的低位序列號相同的卡片參與防沖突循環(huán),,卡片用指定號前面的一位或4位作為時隙對讀寫器的叫號作出應(yīng)答。由于卡片的序列號全球唯一,,所以任何兩張卡片總有某個連續(xù)的4位二進(jìn)制數(shù)不一樣,,因而總能選出一張卡片。需要指出的是,,當(dāng)選定的時隙數(shù)為1時,,這種防沖突機(jī)制等同于面向比特的防沖突機(jī)制。

RFID工作原理圖


另外需要說明的是,,TTF(Tag Talk First)的卡片一般是無法防沖突的。這種卡片一進(jìn)入射頻場就主動發(fā)送自己的識別號,,當(dāng)有多張卡片同時進(jìn)入射頻場時就會發(fā)生不讀卡的現(xiàn)象,。這時只有靠卡片的持有者自己去避免沖突了。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。