基于LABVIEW 8.0的RFID超聲波定位系統(tǒng)的開發(fā)
摘要:采用美國國家儀器(NationalInstruments,NI)LabVIEW8.0圖型控制式程序語言,搭配射頻和超聲波模塊儀器,使用TOA(timeofarrive)定位技術(shù),可以組成RFID射頻信號(hào)識(shí)別(RadioFrequencyIdentification)-超聲波定位系統(tǒng),并可針對(duì)不同產(chǎn)業(yè)的量測需求,提供客制化測試系統(tǒng)服務(wù)。
關(guān)鍵詞:LabVIEWRFID超聲波定位
0 引言
虛擬儀器是當(dāng)前測控領(lǐng)域的技術(shù)熱點(diǎn),它代表了未來儀器技術(shù)的發(fā)展方向。LabVIEW是虛擬儀器概念的首創(chuàng)者。它不僅僅是一種編程語言,從測量和自動(dòng)化到實(shí)時(shí)嵌入式系統(tǒng),再到通用場合。而且LabVIEW還具有對(duì)FPGA編程下載的能力,所以LabVIEW也是一個(gè)硬件設(shè)計(jì)工具 。
RFID定位與跟蹤系統(tǒng)主要是利用標(biāo)簽對(duì)物體的唯一標(biāo)識(shí)特性,依據(jù)讀寫器與安裝在物體上的標(biāo)簽之間射頻通信的信號(hào)強(qiáng)度來測量物品的空間位置。RFID技術(shù)所具備的遠(yuǎn)距離存取,高速辨識(shí)及資料讀出寫入等能力,相當(dāng)受到各產(chǎn)業(yè)重視,應(yīng)用領(lǐng)域包括物流,零售,制造業(yè),軍事,服裝業(yè),醫(yī)療,身份識(shí)別,防偽,交通等等。但是單純的RFID系統(tǒng)存在兩個(gè)問題:一個(gè)問題是利用射頻信號(hào)的強(qiáng)度定位,精度較低,而且針對(duì)研發(fā)該技術(shù)的方案,常受限于封閉式的硬件量測架構(gòu)。另一個(gè)問題是使用GPIB界面的儀器,其數(shù)據(jù)傳輸也相當(dāng)緩慢。無法對(duì)物體進(jìn)行實(shí)時(shí)追蹤。
為了解決第一個(gè)問題,開發(fā)了RFID-超聲波定位系統(tǒng)。 即以報(bào)時(shí)方式構(gòu)建射頻觸發(fā)-超聲波定位系統(tǒng)。這個(gè)系統(tǒng)容易實(shí)現(xiàn)且成本低;定位精度高,容錯(cuò)性能好;標(biāo)簽體積小,可以附著在任何需要定位的物體上;除了被定位物體策動(dòng)定位請(qǐng)求外,還允許外部網(wǎng)絡(luò)策動(dòng)定位請(qǐng)求和監(jiān)控被定位物體。
在可以實(shí)現(xiàn)射頻觸發(fā)-超聲波定位的基礎(chǔ)上,導(dǎo)入NI的虛擬儀器控制架構(gòu),使得RFID-超聲波定位測試系統(tǒng)開發(fā)成為可能,并可進(jìn)行物理層,協(xié)議層及系統(tǒng)仿真等多項(xiàng)功能,且由于NI虛擬儀器控架構(gòu)具有高彈性及擴(kuò)充性,它不但能和企業(yè)現(xiàn)有生產(chǎn)線流程緊密結(jié)合,也能針對(duì)客制化的需求,進(jìn)行數(shù)據(jù)庫存取、Word或Excel報(bào)表產(chǎn)生、遠(yuǎn)程監(jiān)控,或者是和其它軟件進(jìn)行搭配等系統(tǒng)整合作業(yè)。
1 硬件設(shè)計(jì)
RFID系統(tǒng)由三部分組成:標(biāo)簽(Tag),由耦合元件及芯片組成,每個(gè)標(biāo)簽具有唯一的電子編碼(ID號(hào)),附著在物體上標(biāo)識(shí)目標(biāo)對(duì)象;閱讀器(Reader),讀?。ㄓ袝r(shí)還可寫入)標(biāo)簽信息的設(shè)備;天線(Antenna),在標(biāo)簽和讀取器間傳遞信號(hào) 。
RFID-超聲波定位系統(tǒng)是在RFID的基礎(chǔ)上加上超聲波發(fā)射接受電路而得到的。基本原理是主機(jī)通過串行口向讀寫器寫命令,由讀頭向標(biāo)簽發(fā)出射頻觸發(fā)信號(hào),開啟有源標(biāo)簽的超聲波接收電路,然后讀頭發(fā)出超聲波。等待接收返回波。利用音速較慢的特性,可以準(zhǔn)確的量測出讀頭和標(biāo)簽之間的距離。在已知其中3個(gè)讀頭的空間坐標(biāo)和利用超聲波測得每個(gè)讀頭到標(biāo)簽的距離,就可求出標(biāo)簽的3D位置 。根據(jù)試驗(yàn),定位精度可以達(dá)到公分等級(jí)。系統(tǒng)外觀示意圖見圖1.1。
圖1.1 定位系統(tǒng)外觀示意圖
2 軟件設(shè)計(jì)
2.1 串口通信
LABVIEW提供了豐富的儀器控制功能,針對(duì)串行口通信提供了具有完整功能的組件,利用圖形化編程語言―G語言的直觀,快捷的優(yōu)勢,通過功能模塊的組合和連接可以比較方便的開發(fā)出適合各種不同通信協(xié)議的串行口通信程序。VISA是用于儀器編程的標(biāo)準(zhǔn)I/O軟件規(guī)范的總稱。它是一個(gè)API(應(yīng)用程序接口),通過調(diào)用底層的驅(qū)動(dòng)程序來控制儀器,向串行口讀寫數(shù)據(jù)。實(shí)現(xiàn)上位機(jī)對(duì)硬件模塊的控制 。
(1)用VISA Configure Serial Port節(jié)點(diǎn)初始化串口
串口設(shè)置為:使用串行口COM1,波特率38400bit/s,數(shù)據(jù)格式為8位數(shù)據(jù)位,1位停止位,無奇偶校驗(yàn)位。無握手信號(hào)。
(2)用VISA Write節(jié)點(diǎn)向標(biāo)簽發(fā)送命令
RFID―超聲波定位系統(tǒng)有三個(gè)命令字符,第一個(gè)是使讀寫器搜尋有效范圍內(nèi)的所有標(biāo)簽,并返回讀到的ID號(hào);第二個(gè)是使某個(gè)標(biāo)簽的LED點(diǎn)亮或者熄滅;第三個(gè)命令是測量某一個(gè)讀頭到某一標(biāo)簽的空間距離。
(3)用VISA Read節(jié)點(diǎn)從讀頭緩存區(qū)中讀取數(shù)據(jù)
當(dāng)通過VISA Write節(jié)點(diǎn)向標(biāo)簽發(fā)送返回ID號(hào)命令時(shí),用VISA Read節(jié)點(diǎn)從讀頭緩存區(qū)中讀取數(shù)據(jù)是ID號(hào)字符串,因?yàn)闀?huì)經(jīng)歷幾個(gè)完整的搜尋過程,所以返回的ID號(hào)會(huì)發(fā)生重復(fù),需要進(jìn)行重號(hào)過濾。每個(gè)ID號(hào)的第一位代表標(biāo)簽所在地的能量等級(jí)(按照距離讀頭的距離,劃分為4級(jí))。
讀頭向標(biāo)簽發(fā)射超聲波,系統(tǒng)15位計(jì)數(shù)器開始計(jì)時(shí)。直到接收返回的超聲波停止計(jì)時(shí)。從緩沖區(qū)讀取的數(shù)據(jù)就是計(jì)數(shù)器的計(jì)數(shù)值。根據(jù)計(jì)數(shù)值(可計(jì)算出超聲波傳播時(shí)間)和光速計(jì)算出標(biāo)簽與讀頭之間的距離。從而知道超聲波在空中傳播的距離。 即讀頭到標(biāo)簽的空間距離。
(4)結(jié)束程序,關(guān)閉VISA。
2.2 數(shù)據(jù)處理
(1)分離ID號(hào)字符串
根據(jù)返回字符串的格式,去除第一位空格位,第二位功率位,濾除重復(fù)ID號(hào),得到有效范圍內(nèi)所有ID號(hào)。
圖1.2 分離ID字符串程序框圖
(2)空間坐標(biāo)系3點(diǎn)定位
超聲波定位的基本概念既是三點(diǎn)定位方式,利用空間已知三個(gè)點(diǎn)到待測物的距離,利用三角與幾何的關(guān)系即可求解出待測物在空間的坐標(biāo) 。
當(dāng)3個(gè)讀頭在不同位置時(shí),這個(gè)3元2次方程的通解是不同的。為了實(shí)現(xiàn)讀頭位置的無限制擺放,利用數(shù)學(xué)方法。解出所有解的情況,利用LABVIEW中的公式節(jié)點(diǎn)和CASE 語句,實(shí)現(xiàn)了在讀頭任意擺放的情況下,對(duì)標(biāo)簽進(jìn)行定位。
2.3 從VC中調(diào)用LABVIEW語言開發(fā)的程序
LABVIEW作為虛擬儀器開發(fā)平臺(tái),以其編程方便,功能強(qiáng)大,應(yīng)用靈活在測控領(lǐng)域應(yīng)用日漸廣泛,但是它畢竟是一門新興的工具軟件,還有許多不足。LABVIEW中的DLL節(jié)點(diǎn)在LABVIEW與其他語言之間架起資源互動(dòng)的橋梁。
LabVIEW8.0可以建造動(dòng)態(tài)庫(DLL),DLL文件完全可以在VC或VB中進(jìn)行調(diào)用,因此可以通過一種間接的辦法實(shí)現(xiàn)LabVIEW程序和Web的結(jié)合:首先在LabVIEW中根據(jù)需要建造DLL,然后在VC或VB中調(diào)用該DLL生成ISAPI或CGI程序,甚至可以在VB中構(gòu)造COM組件,在ASP中調(diào)用。
在LABVIEW編程環(huán)境下計(jì)算標(biāo)簽坐標(biāo),會(huì)得到兩組解。但在實(shí)際情況中,標(biāo)簽所在的位置只能有一個(gè),根據(jù)現(xiàn)場具體情況需要舍掉一組值,為了RFID定位系統(tǒng)的客制化需要,在VC環(huán)境下調(diào)用已編譯好的LabVIEW程序,根據(jù)實(shí)際情況,編譯取舍條件,進(jìn)行二次開發(fā)。
3 結(jié)束語
LabVIEW是高效圖形化應(yīng)用開發(fā)環(huán)境,它結(jié)合了簡單易用的圖形化開發(fā)方式和靈活強(qiáng)大的編程語言。提供一個(gè)直覺性環(huán)境,并通過與測量硬件的密切結(jié)合,可以迅速開發(fā)出有關(guān)數(shù)據(jù)采集和控制,數(shù)據(jù)分析和數(shù)據(jù)顯示的應(yīng)用系統(tǒng)。基于LABVIEW8.0的RFID-超聲波定位系統(tǒng),可針對(duì)各式的研發(fā)量測或生產(chǎn)線量測需求,快速進(jìn)行客制化的修改。這個(gè)系統(tǒng)可行性高,復(fù)雜性低,定位精度高。此系統(tǒng)已在INTEL生產(chǎn)廠房內(nèi)開始使用,對(duì)大批儀器進(jìn)行監(jiān)控。
本文作者創(chuàng)新點(diǎn):在對(duì)原有的RFID硬件進(jìn)行修改,添加超聲波發(fā)生接收電路的基礎(chǔ)上,使用LABVIEW8.0進(jìn)行軟件開發(fā),在VC環(huán)境下進(jìn)行二次開發(fā)。此系統(tǒng)最大的研發(fā)特點(diǎn)在于定位精度高,具備生產(chǎn)線整合能力,可以滿足不同行業(yè)的要求。
參考文獻(xiàn):
[1] 楊樂平, 李海濤, 楊磊. LabVIEW程序設(shè)計(jì)與應(yīng)用[M]. 北京:電子工業(yè)出版社,2005.
[2] 劉君華, 賈惠芹, 丁 暉等, 虛擬儀器圖形化編程語言LabVIEW教程[M]. 西安:西安電子科技大學(xué)出版社,2001.
[3] 林永仁, 何慶雄, 吳振勝, 精密室內(nèi)定位技術(shù)建立與驗(yàn)證. 香港:成功大學(xué)航太所.
[4] 王宏. PLC 及PC 與RFID 射頻識(shí)別讀寫器串行通訊的實(shí)現(xiàn)?!段⒂?jì)算機(jī)信息》 2003年第一期.
[5] McCarthy, M. and Muller, H. RF Free Ultrasonic Position. In proceedings of Seventh International Symposium on Wearable Computers. October 21-23, White Plains. New York IEEE Computer Society, 2003.
評(píng)論