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