IC卡讀寫(xiě)器防沖突過(guò)程
防沖突是讀卡器對(duì)進(jìn)入其讀寫(xiě)范圍內(nèi)的有效卡片按一定的順序進(jìn)行有條不紊的操作。在這個(gè)過(guò)程中,讀卡器始終處于主動(dòng)狀態(tài),通過(guò)一個(gè)命令集來(lái)管理與多張卡片的通信??ㄆ瑑?nèi)部的操作系統(tǒng),能夠?qū)?a href="http://www.www.rzqzixun.com/products/" target="_blank" title="IC卡讀寫(xiě)卡器,充電樁計(jì)費(fèi)閱讀器,RFID閱讀器,金融IC卡QuickPass讀卡器,NFC讀寫(xiě)器,二代證閱讀器,工業(yè)物聯(lián)網(wǎng),串口轉(zhuǎn)以太網(wǎng)模塊">IC卡讀卡器發(fā)出的這組命令集進(jìn)行處理。當(dāng)讀寫(xiě)器在檢測(cè)到?jīng)_突發(fā)生時(shí),讀寫(xiě)器必須執(zhí)行相應(yīng)的防沖突(Anticollision)過(guò)程,以識(shí)別出每一張工作卡片,并準(zhǔn)備進(jìn)入傳輸協(xié)議的更高層, 以進(jìn)行后續(xù)的通信過(guò)程。
第一步:若有多張卡片進(jìn)入RF場(chǎng),當(dāng)讀卡器檢測(cè)到?jīng)_突之后,發(fā)送多時(shí)隙帶AF I應(yīng)用標(biāo)識(shí)符的REQB或者WUPB命令,那些與AF I相匹配的卡片,產(chǎn)生一個(gè)內(nèi)部隨機(jī)數(shù)R, R 的取值范圍在1~N 之間, R = 1的卡片即除在1時(shí)隙的卡片,回ATQB給讀卡器。若在1時(shí)隙內(nèi)有多于一張卡片回復(fù)ATQB,則發(fā)生新的沖突,這些卡片無(wú)法在此次防沖突循環(huán)中被識(shí)別出來(lái),等待下次的防沖突循環(huán);若僅有一張卡片且正確回復(fù)ATQB,則讀卡器可接著發(fā)出ATTR IB或者HALT命令;若發(fā)AT2TR IB命令,則選定此卡進(jìn)入ACTIVE狀態(tài),此時(shí)卡片可接受高層命令并進(jìn)行處理, REQB 及WUPB命令無(wú)效,直至卡片離開(kāi)射頻場(chǎng)內(nèi);若發(fā)出HLTB命令,則卡片進(jìn)入HALT狀態(tài),此時(shí)卡片只接受WUPB命令,直至卡片離開(kāi)射頻場(chǎng)內(nèi)。
第二步:讀卡器發(fā)SLOTMARKER命令,由小到大依次檢查2~N 這N - 1個(gè)時(shí)隙,選取卡片的原理和過(guò)程同第一步。
第三步:若一次防沖突循環(huán)之后,還有卡片未被識(shí)別出來(lái),則繼續(xù)執(zhí)行步驟1和步驟2,直至所有卡片被識(shí)別出來(lái)。
防沖突循環(huán)允許在任何時(shí)間選擇一張或者多張卡進(jìn)行進(jìn)一步的高層通信。
設(shè)同時(shí)有3張卡進(jìn)入RF場(chǎng)中, 3張卡片的應(yīng)用類(lèi)型各不相同。首先讀卡器發(fā)單時(shí)隙REQB命令,卡片1和卡片3都回復(fù)了ATQB,讀卡器檢測(cè)到?jīng)_突后,改發(fā)4 時(shí)隙的REQB命令,卡片1 選擇了時(shí)隙2,這次不回復(fù)ATQB;卡片3選擇了1時(shí)隙,馬上回復(fù)ATQB;卡片2類(lèi)型符不對(duì),所以不做反應(yīng)。然后讀卡器發(fā)時(shí)隙2的SLOTMARKER命令,卡片1回復(fù)AT2QB;卡片2類(lèi)型不符,還是不做回復(fù),卡片3時(shí)隙不符也不做回復(fù)。讀卡器接著發(fā)出時(shí)隙3和時(shí)隙4的SLOTMARKER命令,卡片1和3不在這2個(gè)時(shí)隙內(nèi),不做回復(fù);卡片2 類(lèi)型不對(duì),也不做回復(fù);此時(shí)卡片1和3等待著HLTB或者ATTR IB,所以這2個(gè)時(shí)隙內(nèi)沒(méi)有回復(fù)。讀卡器接著發(fā)時(shí)隙3和時(shí)隙4的SLOTMARKER命令,卡片1和3不在這2個(gè)時(shí)隙內(nèi),不做回復(fù);卡片2 類(lèi)型不對(duì),也不做回復(fù);此時(shí)卡片1和3等待著HLTB或者ATTR IB,所以這2個(gè)時(shí)隙內(nèi)沒(méi)有回復(fù)。