RFID干貨專欄|30 外部接口、LLRP協(xié)議
RFID干貨專欄概述
經(jīng)過(guò)20多年的努力發(fā)展,超高頻RFID技術(shù)已經(jīng)成為物聯(lián)網(wǎng)的核心技術(shù)之一,每年的出貨量達(dá)到了200億的級(jí)別。在這個(gè)過(guò)程中,中國(guó)逐步成為超高頻RFID標(biāo)簽產(chǎn)品的主要生產(chǎn)國(guó),在國(guó)家對(duì)物聯(lián)網(wǎng)發(fā)展的大力支持下,行業(yè)應(yīng)用和整個(gè)生態(tài)的發(fā)展十分迅猛。然而,至今國(guó)內(nèi)還沒(méi)有一本全面介紹超高頻RFID技術(shù)的書籍。
為了填補(bǔ)這方面的空缺,甘泉老師花費(fèi)數(shù)年之功,撰寫的新書《物聯(lián)網(wǎng)UHF RFID技術(shù)、產(chǎn)品及應(yīng)用》正式出版發(fā)布,本書對(duì)UHF RFID最新的技術(shù)、產(chǎn)品與市場(chǎng)應(yīng)用進(jìn)行了系統(tǒng)性的闡述,干貨滿滿!RFID世界網(wǎng)得到了甘泉老師獨(dú)家授權(quán),在RFID世界網(wǎng)公眾號(hào)特設(shè)專欄,陸續(xù)發(fā)布本書內(nèi)容。
掃碼觀看本章節(jié)視頻講解
5.1.3 閱讀器外部接口詳解
由于手持式閱讀器和一體式閱讀器的外部接口較為簡(jiǎn)單,本節(jié)將主要針對(duì)固定式閱讀器的外部接口展開講解,主要通過(guò)Impinj的SpeedwayRevolution R420和Alien的ALR-9900這兩款經(jīng)典的閱讀器設(shè)備作為案例進(jìn)行詳解。
01、ImpinjR420閱讀器接口分析
如圖5-12所示,為ImpinjR420的端口連接圖。圖中從左到右依次是帶有鎖扣的外部直流24V供電接口、POE網(wǎng)口、默認(rèn)自恢復(fù)按鍵(DefaultRestore button)、USB Type B接口(作為設(shè)備從機(jī))、USB接口(作為主機(jī))、RJ-45接口的操作臺(tái)串口RS232(Console)、DE-15口內(nèi)部為GPIO和RS-232。
圖5-12Speedway Revolution R420端口連接圖
如圖5-13所示,為R420閱讀器天線接口及狀態(tài)燈,4個(gè)TNC天線接頭和天線工作指示燈以及電源和狀態(tài)指示燈。
圖5-13Speedway Revolution R420天線接口及狀態(tài)燈
從上述Speedway Revolution R420的資料進(jìn)行分析,可以得出以下結(jié)論:
R420的供電方式有兩種,分別是外部直接供電和POE供電,其中外部供電插頭也為普通插頭,在工業(yè)級(jí)應(yīng)用中設(shè)備必須裝在保護(hù)箱中。多數(shù)閱讀器的供電為24V,只有少數(shù)的工業(yè)級(jí)閱讀器或小型設(shè)備使用不同的供電電壓。
具有從機(jī)USB接頭,電腦可以通過(guò)USB接口控制閱讀器并與之通信。實(shí)際案例中很少用USB與閱讀器直接通信,因?yàn)榉€(wěn)定性不高。一般情況下使用網(wǎng)口作為通信手段,少數(shù)使用RS232串口。只有小型閱讀器設(shè)備會(huì)使用USB接口通信,如小型桌面機(jī)。R420預(yù)留USB從機(jī)接口是為了方便開發(fā)者調(diào)試。
具有主機(jī)的USB接口,當(dāng)設(shè)備的存儲(chǔ)空間有限時(shí),可以直接外接USB存儲(chǔ)設(shè)備,擴(kuò)大存儲(chǔ)空間,可以理解為給電腦加了一個(gè)移動(dòng)硬盤。此主機(jī)USB接口可以實(shí)現(xiàn)掉電保存功能,該方法被許多設(shè)備所采納。
控制臺(tái)RJ-45口,外形如網(wǎng)口,是類似思科設(shè)備的控制臺(tái)串口,一般在閱讀器內(nèi)部配置參數(shù)時(shí)使用。
GPIO的DE-15接口其實(shí)是一個(gè)普通電腦接頭,需要再接其他轉(zhuǎn)換頭才可以把GPIO的4進(jìn)4出和RS232轉(zhuǎn)換出來(lái)。當(dāng)然這樣設(shè)置也有它的好處,如果系統(tǒng)是通過(guò)串口或GPIO觸發(fā)工作時(shí)(觸發(fā)工作模式)只需要拉一根通信線。R420的GPIO接口有兩個(gè)缺點(diǎn):一個(gè)是使用不方便需要轉(zhuǎn)接,另一個(gè)是GPIO的接口非工業(yè)級(jí)。
射頻天線口為4個(gè),并附有指示燈。一般的固定式閱讀器輸出天線口為4個(gè),有的閱讀器有2個(gè)或者1個(gè),還有比較少的閱讀器有8個(gè)射頻天線接口,如MOTO的閱讀器。如果需要閱讀器連接更多的天線最好的方法是使用天線分配器。
02、ALR-9900閱讀器接口分析
如圖5-14所示為Alien的ALR-9900閱讀器外部接口圖,對(duì)比Impinj的R420,其外部接口比較簡(jiǎn)單,包括多芯電源接口、9 Pin的RS-232串口、網(wǎng)線口、GPIO口。
圖5-14 ALR-9900閱讀器外部接口圖
如圖5-15所示,ALR-9900閱讀器同樣有4個(gè)TNC天線接頭,指示燈為:電源(Power)、連接(Link)、天線0到天線3(ANT0 –ANT 3)、CUP、發(fā)現(xiàn)(Sniff)、錯(cuò)誤(Fault)。其中Power表示是否有供電;Link表明是否連接網(wǎng)絡(luò);Active表明是否有數(shù)據(jù)在網(wǎng)絡(luò)中傳輸;ANT 0 –ANT 3表示各個(gè)天線是否在工作;CPU表示系統(tǒng)是否Boost成功并在運(yùn)轉(zhuǎn)中;Sniff表示有標(biāo)簽被閱讀器發(fā)現(xiàn);Fault表示閱讀器是否出現(xiàn)錯(cuò)誤。
圖5-15 ALR-9900閱讀器天線接口及狀態(tài)燈
從上述ALR-9900的資料進(jìn)行分析,可以得出以下結(jié)論:
采用工業(yè)級(jí)的電源適配器供電,多芯多電壓輸入,減少閱讀器內(nèi)部電源管理壓力,EMC和EMI的穩(wěn)定性提高。是非常好的選擇,只有在工業(yè)級(jí)閱讀器中使用。但是該設(shè)備沒(méi)有POE供電,正常工作至少需要兩根線纜。
串口采用標(biāo)準(zhǔn)RS-232,使用9-PinD female管腳,方便開發(fā)調(diào)試。
I/O接頭使用了工業(yè)的標(biāo)準(zhǔn)接頭,4進(jìn)8出1電源1地共14-Pin,是非常專業(yè)的I/O接口。
指示燈非常齊全,開發(fā)和現(xiàn)場(chǎng)故障處理非常方便。
03、GPIO接口對(duì)比
在做GPIO接口對(duì)比之前,先通過(guò)一個(gè)案例介紹下GPIO的作用。如圖5-16所示為ALR-9900閱讀器給出的一個(gè)GPIO應(yīng)用實(shí)例圖,圖中一個(gè)叉車載著帶有標(biāo)簽的物品通過(guò)一個(gè)區(qū)域,被區(qū)域內(nèi)的紅外傳感器所感應(yīng),紅外傳感器通過(guò)GPIO的輸入口將信息傳遞到閱讀器。閱讀器被紅外信號(hào)所觸發(fā)啟動(dòng)盤點(diǎn)功能,發(fā)現(xiàn)正確的標(biāo)簽后通過(guò)GPIO的輸出口點(diǎn)亮綠色指示燈,同時(shí)把標(biāo)簽的數(shù)據(jù)記錄在閱讀器的存儲(chǔ)區(qū)。在整個(gè)叉車出/入庫(kù)過(guò)程中,閱讀器并未連接網(wǎng)絡(luò)和電腦,只是通過(guò)自身的操作系統(tǒng)進(jìn)行觸發(fā)工作,不僅效率高而且節(jié)省成本。許多智能倉(cāng)庫(kù)都是通過(guò)這樣的方案實(shí)現(xiàn)的。
圖5-16 GPIO應(yīng)用實(shí)例圖
如圖5-17(a)為R420GPIO的輸入輸出示意圖,圖5-17(b)為ALR-9900GPIO的輸入輸出示意圖,兩者的差異體現(xiàn)在電氣隔離方式與供電方式的不同:
R420的GPIO與內(nèi)部電路之間是通過(guò)電子管直連的;ALR-9900的GPIO與內(nèi)部電路通過(guò)光電耦合隔離,這樣的好處是當(dāng)外界設(shè)備出現(xiàn)故障時(shí)不會(huì)損毀閱讀器內(nèi)部電路,也不會(huì)帶來(lái)不必要的干擾。
ALR-9900的GPIO的輸出OUT需要連接額外的電源供電VDD,如圖GPIO應(yīng)用實(shí)例圖中有一個(gè)很大的24VDC適配器供電,其輸出電壓可以達(dá)到24V 0.5A。這個(gè)輸出的驅(qū)動(dòng)能力很強(qiáng),可以直接驅(qū)動(dòng)燈柱等外圍設(shè)備;相比之下R420的輸出驅(qū)動(dòng)能力非常弱,只夠?qū)崿F(xiàn)簡(jiǎn)單的觸發(fā)功能。
(a) R420的GPIO輸入輸出示意圖(b)ALR-9900 GPIO的輸入輸出示意圖
圖5-17R420與ALR-9900 GPIO接口對(duì)比
對(duì)比兩個(gè)閱讀器的GPIO,ALR-9900的要復(fù)雜很多,優(yōu)點(diǎn)為工業(yè)級(jí)穩(wěn)定性高,而R420更加簡(jiǎn)單,可以直接與許多觸發(fā)設(shè)備連接,使用簡(jiǎn)單方便。市場(chǎng)上大多數(shù)閱讀器的GPIO都是采用R420的方式。
5.1.4 閱讀器協(xié)議——LLRP協(xié)議詳解
初級(jí)閱讀器協(xié)議(LowLevel Reader Protocol)簡(jiǎn)稱為L(zhǎng)LRP,也稱為低級(jí)別閱讀器協(xié)議,是市場(chǎng)上主流超高頻RFID閱讀器都兼容的一套閱讀器協(xié)議。
01、LLRP協(xié)議介紹
市場(chǎng)上每個(gè)超高頻RFID閱讀器廠商都有自己特有的閱讀器硬件和配套的通信協(xié)議,但相互之間不兼容。當(dāng)有一個(gè)大的項(xiàng)目需要同時(shí)使用多家供應(yīng)商的閱讀器時(shí),就需要開發(fā)多套通信協(xié)議,管理十分不便。因此在EPCglobal的組織下,開發(fā)了LLRP協(xié)議。LLRP協(xié)議中低級(jí)別的含義是將原來(lái)閱讀器的所有功能和操作都分解成最小的單元,每一步只完成最簡(jiǎn)單的一部,如采用閱讀器廠商的私有協(xié)議一個(gè)盤點(diǎn)的命令,LLRP需要多個(gè)命令才能實(shí)現(xiàn)。一個(gè)大項(xiàng)目開發(fā)時(shí)可以完全針對(duì)LLRP協(xié)議,閱讀器的選擇也很寬泛,項(xiàng)目的代碼復(fù)制也很簡(jiǎn)單。
在一個(gè)超高頻RFID系統(tǒng)中,LLRP協(xié)議為上層應(yīng)用層(Clinent)與底層物理層(閱讀器設(shè)備)之間的中間接口,底層物理層因廠商不同而有差異,LLRP 協(xié)議將底層物理層的差異屏蔽掉,為上層應(yīng)用提供統(tǒng)一的協(xié)議接口,使得上層應(yīng)用可以無(wú)差別的對(duì)下層的閱讀器進(jìn)行控制和管理。
LLRP協(xié)定定義了客戶端與閱讀器之間通信的格式與過(guò)程,LLRP 協(xié)議通信格式單元為數(shù)據(jù)協(xié)議單位(PDU),即報(bào)文(Messages)。
LLRP協(xié)議有三個(gè)作用:標(biāo)簽數(shù)據(jù)的處理、閱讀器裝置的管理以及閱讀器之間的協(xié)調(diào)與同步。LLRP的主要操作為盤點(diǎn)(Inventory)操作和存取操作,Inventory為閱讀器在其讀取范圍內(nèi)辨識(shí)標(biāo)簽中的EPC的動(dòng)作,而Access則是對(duì)標(biāo)簽數(shù)據(jù)進(jìn)行存取的動(dòng)作,包含了讀?。≧ead)、寫入(Write)、鎖定(Lock)及滅活(Kill)等操作。
02、LLRP操作與數(shù)據(jù)模式
從閱讀器端傳送給客戶端的報(bào)文包含閱讀器的狀態(tài)回報(bào)、RF(Radio Frequency)調(diào)查以及EPC盤點(diǎn)(Inventory)和標(biāo)簽存取結(jié)果回報(bào)等,從客戶端傳給閱讀器端的報(bào)文包含閱讀器配置檔的獲取與設(shè)置、閱讀器的讀取能力、管理Inventory參數(shù)設(shè)定以及標(biāo)簽的存取操作等。
(1)LLRP 報(bào)文操作模式
客戶端與閱讀器之間典型LLRP報(bào)文序列會(huì)有以下過(guò)程:
客戶端在操作閱讀器之前需先了解閱讀器的能力,第一個(gè)過(guò)程就是客戶端查詢閱讀器的能力,包含一般裝置能力、LLRP能力及監(jiān)管能力等信息,其內(nèi)容可能包含天線數(shù)量、軟件版本、支持何種通信協(xié)議、讀取靈敏程度、是否支持RF調(diào)查等信息。
取得或設(shè)定閱讀器的配置內(nèi)容,包含設(shè)定閱讀器事件通知模式、天線屬性、ROSpec回復(fù)報(bào)告和AccessSpec回復(fù)報(bào)告的觸發(fā)條件以及報(bào)告形態(tài)、事件和報(bào)告模式等。
發(fā)送閱讀器操作指令,也即ROSpecs,其可能包含一或多個(gè)Inventory操作細(xì)節(jié)指令。
發(fā)送閱讀器存取指令,也AccessSpecs,其功能是要求閱讀器存取標(biāo)簽數(shù)據(jù)。
獲得從閱讀器回應(yīng)的報(bào)告。
(2)LLRP報(bào)文與動(dòng)作
LLRP指令傳輸?shù)淖钚挝粸閳?bào)文,報(bào)文可能由一組或多組參數(shù)(parameter)和場(chǎng)域(field)所組合而成,在LLRP中大部分的報(bào)文是雙向的,當(dāng)客戶端傳遞一組報(bào)文給閱讀器,閱讀器會(huì)回復(fù)相對(duì)應(yīng)的回復(fù)報(bào)告,如當(dāng)客戶端傳送一個(gè)GET_READER_CAPABILITIES報(bào)文,則閱讀器必須回復(fù)GET_READER_CAPABILITIES_RESPONSE報(bào)文,通知客戶端報(bào)文是否成功及信息回復(fù)。LLRP報(bào)文依照功能分類成下列幾組:
閱讀器裝置能力報(bào)文:用于查詢閱讀器能力的message,客戶端在下達(dá)指令前必需了解閱讀器的能力,以及閱讀器支持何種指令,以便讓客戶端清楚如何對(duì)閱讀器下達(dá)指令。
閱讀器操作控制報(bào)文:控制閱讀器通信協(xié)定中Inventory操作及RF調(diào)查動(dòng)作的報(bào)文,Inventory為辨識(shí)標(biāo)簽的操作,包含一連串的指令,當(dāng)閱讀器下達(dá)一個(gè)Query指令時(shí),視為一個(gè)Inventory回合的開始;當(dāng)客戶端想要確認(rèn)閱讀器設(shè)備的操作環(huán)境,例如閱讀器頻率等,則需要進(jìn)行RF調(diào)查的動(dòng)作。
閱讀器存取控制報(bào)文:客戶端控制標(biāo)簽數(shù)據(jù)的存取操作的報(bào)文以及閱讀器回復(fù)的報(bào)文,如對(duì)標(biāo)簽進(jìn)行讀?。≧ead)、寫入(Write)、鎖定(Lock)及刪除(Kill)等存取操作。
閱讀器裝置配置報(bào)文:查詢及設(shè)定閱讀器裝置的配置內(nèi)容以及管理關(guān)閉客戶端與閱讀器之間連線的報(bào)文。
報(bào)告報(bào)文:這類報(bào)文主要有Report、Notifications、Keepalives這三大類,當(dāng)回傳報(bào)告觸發(fā)條件成立時(shí)、使用者下達(dá)取得報(bào)告指令時(shí)以及通知事件發(fā)生時(shí),閱讀器須回傳相對(duì)應(yīng)的報(bào)告到客戶端,報(bào)告可能包含閱讀器的狀態(tài)、標(biāo)簽數(shù)據(jù)、RF分析報(bào)告結(jié)果等信息。Keepalives主要是由閱讀器向客戶端發(fā)送,以確保與客戶端的連線。
客戶延伸報(bào)文:這個(gè)報(bào)文可以包含版本內(nèi)容,客戶需額外定義的數(shù)據(jù)格式以及數(shù)據(jù)內(nèi)容等。
錯(cuò)誤報(bào)文:此類報(bào)文負(fù)責(zé)定義錯(cuò)誤事件或錯(cuò)誤碼,此錯(cuò)誤報(bào)文會(huì)由閱讀器回應(yīng)給客戶端。除了報(bào)文內(nèi)容錯(cuò)誤之外,如果有接收到不支持的報(bào)文類型或是一個(gè)CUSTOM_MESSAGE,閱讀器也需要回應(yīng)給客戶端一個(gè)錯(cuò)誤報(bào)文。
當(dāng)閱讀器接收到客戶端傳送的報(bào)文(message)之后,閱讀器須做相對(duì)應(yīng)的回復(fù)及動(dòng)作。例如當(dāng)閱讀器接收到GET_READER_CAPABILITIES報(bào)文時(shí),閱讀器此時(shí)應(yīng)該回應(yīng)閱讀器的能力數(shù)據(jù),除了回應(yīng)客戶端的要求之外,閱讀器還需要時(shí)常發(fā)送KEEPALIVE報(bào)文給客戶端,要求客戶端保持連線以接收?qǐng)?bào)文,而此時(shí)客戶端需回應(yīng)告知閱讀器,沒(méi)有回應(yīng)閱讀器將視為連線中斷??蛻舳俗詈蟀l(fā)送CLOSE_CONNECTION報(bào)文表示結(jié)束與閱讀器的連線。
03、LLRP的優(yōu)缺
LLRP接口有以下優(yōu)點(diǎn):
客戶端和讀寫器之間的LLRP接口有助于對(duì)讀寫器設(shè)備進(jìn)行管理,以緩解讀寫器對(duì)標(biāo)記和讀寫器對(duì)讀寫器的干擾,并最大程度地提高了分離和數(shù)據(jù)操作的效率。分離是識(shí)別多標(biāo)記環(huán)境中單個(gè)標(biāo)記的過(guò)程。
LLRP接口提供了一個(gè)可縮放的機(jī)制來(lái)管理對(duì)讀寫器設(shè)備的訪問(wèn)操作,如讀取、寫入、刪除和鎖定。
LLRP接口幫助進(jìn)行錯(cuò)誤報(bào)告,并發(fā)現(xiàn)設(shè)備狀態(tài)和設(shè)備功能。
LLRP的缺點(diǎn)是操作復(fù)雜,閱讀器廠商的私有協(xié)議效率遠(yuǎn)高于LLRP協(xié)議,一般的中小型項(xiàng)目中不會(huì)使用LLRP協(xié)議,只有大型的全球性項(xiàng)目或多閱讀器供應(yīng)商的項(xiàng)目才會(huì)使用。