遵守ISO15693協(xié)議的電子標簽都有一個(gè)8字節共64bit的全球唯一序列號(UID),這個(gè)UID一方面可以使全球范圍內的標簽互相區別,更重要的是可以在多標簽同時(shí)讀寫(xiě)時(shí)用于防沖突。8字節UID按權重從高到低標記為UID7--UID0,其中UID7固定為16進(jìn)制的E0H,UID6是標簽制造商的代碼,例如NXP的代碼為04H,TI的代碼為07H;UID5為產(chǎn)品類(lèi)別代碼,比如ICODE SL2 ICS20是01H,Tag-it HF-I Plus Chip為80H,Tag-it HF-I Plus Inlay為00H。剩下的UID4-UID0為制造商內部分配的號碼。
電子標簽數量眾多,應用范圍極為廣泛。為了區分不同行業(yè)中的電子標簽,ISO用一個(gè)字節的AFI (Application family identifier)來(lái)區分不同行業(yè)中的電子標簽。AFI的高半字節表示主要行業(yè),低半字節表示主要行業(yè)中的細分行業(yè)。其中AFI=00H表示所有行業(yè)。需要注意的是并不強制要求電子標簽支持AFI,電子標簽是否支持AFI是可選的,在收到"Inventory"清點(diǎn)命令后,如果標簽不支持AFI,則標簽必須立刻做出應答;如果支持AFI,則只有收到的AFI與標簽存儲的AFI一致才做出應答。
15693國際標準還規定了一個(gè)字節的可選的數據存儲格式識別符(DSFID),用來(lái)區分標簽中不同的數據存儲格式。如果標簽支持DSFID,在清點(diǎn)命令中標簽將返回一個(gè)非零的DSFID,讀寫(xiě)器可據此判斷射頻場(chǎng)中的標簽是否具有期望的數據格式。
電子標簽的內存最大可達8K字節,以數據塊(Block)為單位進(jìn)行管理,標簽內最多可以有256個(gè)數據塊,每個(gè)數據塊最大可以有32字節。數據塊的內容可以鎖定以防止修改。
讀寫(xiě)器與標簽之間的數據交流使用"命令-應答"的方式,如下所示:
命令:標志(Flags)+命令碼(Command code)+參數(parameters)+數據(Application data)+校驗(CRC16)
應答:標志(Flags)+參數(parameters)+數據(Application data)+校驗(CRC16)
可見(jiàn)應答除了沒(méi)有應答碼之外,結構與命令碼類(lèi)似。每一條命令及其應答都使用CRC校驗以保證數據的完整性。讀寫(xiě)器可以發(fā)出一條請求后讓射頻場(chǎng)內的所有電子標簽同時(shí)應答(Addressed mode),也可以指定一個(gè)電子標簽應答(Non-addressed mode)。在Non-addressed模式下,可以使用兩種方法指定一個(gè)電子標簽,一種是命令中給出電子標簽的唯一序列號UID,另一種是命令中不給出 UID,而是在之前的步驟中先選中一個(gè)標簽,使其處于選中(select)狀態(tài),然后命令中指明僅要求處于選中狀態(tài)的標簽做出應答。
ISO15693電子標簽的防沖突與ISO14443A中基于位的防沖突類(lèi)似。其最根本的一點(diǎn)就是基于標簽有一個(gè)全球唯一的序列號。因為序列號的唯一性,所以全球范圍內的任意兩個(gè)標簽,其64bit的序列號中總有一個(gè)bit的值是不一樣的,也就是說(shuō)任意兩個(gè)標簽的序列號總有一個(gè)bit上一個(gè)是“0”,另一個(gè)是“1”。防沖突的過(guò)程可以1位1位的進(jìn)行,也可以4位4位的進(jìn)行。具體的原理參見(jiàn)位和時(shí)隙相結合的防沖突機制。
電子標簽支持的命令可以分為強制(Mandatory)命令、可選(Optional)命令和用戶(hù)(Custom)命令三種。強制命令和可選命令的功能和格式在標準中都有明確而詳細的定義,用戶(hù)命令則由標簽制造商制定。
強制命令有兩個(gè):清點(diǎn)(Inventory)和保持靜默(Stay quiet),標簽必須支持。標簽最基本的功能是可以通過(guò)防沖突送出一個(gè)標簽識別號,這兩個(gè)命令就是實(shí)現這個(gè)功能的。如果磁場(chǎng)中有多個(gè)標簽,使用清點(diǎn)命令可以得到一個(gè)標簽UID,然后使用保持靜默命令使其休眠;然后再使用清點(diǎn)命令可以得到下一個(gè)標簽UID,依次類(lèi)推,從而實(shí)現對射頻場(chǎng)中的所有標簽實(shí)現清點(diǎn)輪詢(xún)。
可選命令是否支持由標簽制造商決定,可以分為以下4類(lèi):
1.對整個(gè)標簽操作:選擇(Select)、復位(Reset to ready)、讀取系統信息(Get system information);
2.對標簽數據塊操作:讀單塊(Read single block)、寫(xiě)單塊(Write single block)、鎖數據塊(Lock block)、讀多塊(Read multiple blocks)、寫(xiě)多塊(Write multiple blocks)、讀多塊安全狀態(tài)(Get multiple block security status);
3.對AFI操作:寫(xiě)AFI(Write AFI)、鎖定AFI(Lock AFI);
4.對DSFID操作:寫(xiě)DSFID(Write DSFID)、鎖定DSFID(Lock DSFID)。