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