還記得之前一期推送,我們介紹了西克超高頻讀寫器內(nèi)部讀取邏輯么?(點擊藍字回顧往期文章)
我們在之前的推送介紹過,除了市面常見讀寫器讀寫功能外,西克讀寫器還配備了強大的標簽和數(shù)據(jù)處理功能,用來輔助對標簽信息進行多次過濾和加工,從而減少上位機的工作量。

當我們在面對實際的應(yīng)用時候,我們不僅可以利用這個強大的數(shù)據(jù)處理功能,我們也可以合理利用超高頻現(xiàn)有規(guī)范,來改善讀取效果。
今天,就讓我們開始進行新的硬核討論:讓我們透視下EPC Class1 Gen 2,也就是我們常說的ISO18000-6C協(xié)議規(guī)范里有哪些玄機。
在2004年EPC Global組織聯(lián)合全球數(shù)十個頂尖科技企業(yè),在經(jīng)過多次更新后發(fā)布的EPC Class1 Generation 2(簡稱Gen2)空中接口協(xié)議硬件標準,一年半后ISO經(jīng)過核準將其寫入了ISO18000-6標準,并作為C類也就是超高頻RFID標準。
該標準無論是在硬件通用性,技術(shù)性能以及成本和可拓展性上都具有較大的優(yōu)勢。既然是通用標準,了解其中通訊規(guī)則會對我們實施超高頻項目中起到很大的“避坑”作用。
我們今天了先解下幾個關(guān)鍵信息:
盤存 Inventory
超高頻讀寫器在工作時候,會通過無線電載波向外發(fā)出訊號并開始執(zhí)行盤存過程,這一步會包含多種命令,只有當這一步順利完成時候,射頻范圍內(nèi)的可讀標簽才能夠被正確讀取,反之則無法正確讀取。這也是包括西克在內(nèi)大多數(shù)超高頻閱讀器開始工作的關(guān)鍵一步。
西克讀寫器在默認出場時候已經(jīng)配置好適用于大多數(shù)場景的盤存算法設(shè)置(Inventory-algorithm),用戶也可根據(jù)實際需求直接使用可視化頁面進行高階配置。
詢問命令 Query
該命令是6C標準中的關(guān)鍵命令,正是因為這個命令超高頻6C標準才能夠?qū)崿F(xiàn)多標簽“防碰撞”的讀取效果,從而大批量讀取標簽。在6C標準下的讀寫器使用的是半雙工通訊方式,也就是由讀寫器主動發(fā)起通信,而后標簽返回信息,你一句我一句往復完成通訊的。
在閱讀器發(fā)送Query命令時候,會自帶一個參數(shù)Q,這個Q的值決定了整個射頻系統(tǒng)的清點效率。為什么這么說?按照協(xié)議描述,Q的值可以設(shè)定為0~15的整數(shù),標簽收到命令后會從0~2Q隨機產(chǎn)生一個數(shù)字作為標簽的應(yīng)答槽。
讀寫器可以讓標簽應(yīng)答槽中的數(shù)字不斷變小直至為0,此時標簽返回一個16位的隨機數(shù)(RN16)與讀寫器通訊。我們可以理解為標簽會有一個隨即響應(yīng)概率,該值為

由此可見合適的Q值對于多標簽的讀取效率有很大關(guān)系。
例如Q為0時候,那么隨機數(shù)只能為1,如果出現(xiàn)多標簽的時候就會發(fā)生沖突,多標簽就無法讀。挥秩绛h(huán)境中有5個標簽,Q值設(shè)置為10,則會有1024個槽計數(shù)器,理論上需要數(shù)1024次才能盤存出這5個標簽,效率就又太低。阿杰也會在后續(xù)文章和大家討論Q算法。
但是需要記住,西克讀寫器可以直接在可視化界面對Q值進行定義。
讀寫器與標簽響應(yīng)過程
我們參考協(xié)議中單標簽響應(yīng)過程:

在讀寫過程中每次均為讀寫器發(fā)出清點命令(Query/QueryAjust/QueryReq)獲取標簽的16位隨機數(shù)(RN16),此數(shù)值代表了標簽在此次清點過程中的身份信息,讀寫器獲得該隨機數(shù)后發(fā)送ACK命令(Acknowledge)進而獲取標簽的編碼信息,包括PC,常用的EPC和CRC值。
到此為止,讀寫器獲取的EPC信息已經(jīng)可以滿足用戶進行使用,如果用戶需要對標簽的其他數(shù)據(jù)區(qū)進行操作,讀寫器會再發(fā)送一次Req_RN(Request Random Number)指令,也就是再做身份信息獲取動作,然后標簽再返回RN16,然后讀寫器再進行讀寫或者鎖殺等操作。
這也是為什么我們建議通常進行托盤追溯或非大容量應(yīng)用中,我們建議使用EPC作為被標記物的信息儲存區(qū),因為這樣可以大大加快讀取速度。
會話層 Session
這是一個非常有趣的參數(shù),我們首先看下協(xié)議中對于這個參數(shù)的解釋是什么:

阿杰嘗試多次在實戰(zhàn)中反復理解這段話,總結(jié)下就是:Session就是標簽讀寫時候的跳轉(zhuǎn)條件,目標是將射頻覆蓋區(qū)域內(nèi)所有標簽全部盤存到,用戶可以針對不同場景選用不同會話層來實現(xiàn)不同盤存方式進而高效率盤存。需要注意的是這里的Session和后續(xù)的Session SL是兩個不同概念。
我們看下協(xié)議中的這個圖:

每個標簽進入射頻區(qū)域后都會有4個會話層,每個會話層都有兩個狀態(tài)A和B,默認初始狀態(tài)為A,在標簽響應(yīng)ACK命令后狀態(tài)會被更改為B,當標簽離開射頻區(qū)域后,或按照IC種類不同達到一定時間后狀態(tài)又會變?yōu)锳。
首先假設(shè)標簽已經(jīng)被放入了射頻區(qū)域內(nèi),那么此時狀態(tài)一定是A,我們先在舉例幾個場景:
S0條件下,所有標簽一旦離開射頻區(qū)域內(nèi),狀態(tài)則會立刻變?yōu)锳;如果標簽不離開射頻區(qū)域,則標簽一定會是B狀態(tài),如果讀寫器一直找不到A狀態(tài)標簽,則可以理解為標簽均為B狀態(tài),也就是讀寫器完成了本盤存。
S1條件下,標簽從A狀態(tài)變?yōu)锽狀態(tài)開始計時,500ms~5s后狀態(tài)會自動轉(zhuǎn)變?yōu)锳,無論標簽是不是在射頻場內(nèi)這個狀態(tài)更改必定會發(fā)生。
S2和S3條件下,當標簽離開射頻區(qū)域內(nèi)開始計時,至少2s后標簽返回A狀態(tài)。這里的時間取決于IC廠家設(shè)計的不同。
可見不同的條件標簽的盤存效率會有不同,需要針對不同場景進行優(yōu)化以達到可靠的讀取效果,例如S2和S3就是用于超大量標簽盤存,S0就比較適合單標簽應(yīng)用等。


歡迎您在評論區(qū)留言
告訴我們您對本次推文的看法
|