高小鵬,陳若彤
(1.西安精準(zhǔn)測控有限責(zé)任公司,陜西 西安 710075;2.西北工業(yè)大學(xué) 自動化學(xué)院,陜西 西安 710072)
目前大多數(shù)投擲場的落點(diǎn)定位依靠人工定位或測量,但是實踐中,測試場地的環(huán)境往往很復(fù)雜,而且排查范圍往往較大(比如查找半徑500 m),如果僅依靠原始方法查找落點(diǎn)準(zhǔn)確位置,不僅費(fèi)時費(fèi)力,還經(jīng)常會發(fā)生找不到落點(diǎn)準(zhǔn)確位置的情況。如何高效地利用現(xiàn)有物聯(lián)網(wǎng)技術(shù)進(jìn)行實驗場地的信息化改造,已經(jīng)成為場地管理方非常重視的問題?;诖?,本文提出了一種高精度無線定位的測量系統(tǒng)設(shè)計。該系統(tǒng)充分利用成熟的物聯(lián)網(wǎng)技術(shù),具有目標(biāo)落點(diǎn)定位精度高、系統(tǒng)響應(yīng)速度快等優(yōu)點(diǎn),在數(shù)字化的空場的改造、升級等方面,具有很好的應(yīng)用場景。
本文設(shè)計的無線定位采集系統(tǒng)由記錄控制模塊、無線傳輸模塊、基準(zhǔn)站模塊和上位機(jī)模塊4部分組成。系統(tǒng)總體框圖如圖1所示。
圖1 系統(tǒng)總體框圖
本模塊的核心處理器選用Xilinx公司的Zynq?-7000系列芯片。Zynq?-7000系列產(chǎn)品基于Xilinx SoC架構(gòu),集成了功能豐富的雙核ARM?CortexTM-A9處理系統(tǒng)(PS)和28 nm Xilinx可編程邏輯(PL)。ARM Cortex-A9 PS(ARM)的核心部分包括片上存儲器、外部存儲器接口和一組豐富的外設(shè)連接接口。PL(FPGA)部分有可配置的邏輯、DSP模塊以及可編程I/O接口。無線定位采集系統(tǒng)采用Zynq-7020模塊,這樣既可以利用FPGA強(qiáng)大的并行計算能力和豐富的邏輯資源,同時又結(jié)合了ARM實現(xiàn)復(fù)雜控制和方便的接口交互能力。其中,無線通信模塊選用加拿大Microhard公司的P900無線數(shù)傳電臺。P900是一款尺寸小巧、穩(wěn)定可靠、成本低廉、具備真正的Mesh、自動路由、存儲&轉(zhuǎn)發(fā)、低功耗休眠等特點(diǎn)的成熟數(shù)據(jù)鏈模塊。超高精度ADC采樣模塊選用美國ADI公司的高精度數(shù)/模轉(zhuǎn)換模塊AD7760。AD7760是一款高性能、24位Σ-△型模/數(shù)轉(zhuǎn)換器(ADC),融合了寬輸入帶寬、高速特性與Σ-△轉(zhuǎn)換技術(shù)的優(yōu)勢,2.5 MSPS時信噪比可達(dá)100 dB,因此非常適合高速數(shù)據(jù)采集應(yīng)用。信息采集模塊硬件原理框圖如圖2所示。
圖2 信息采集模塊硬件原理框圖
信息采集模塊包括3個傳感器模塊、1個XC7Z020模塊、1個GPS移動站模塊、1個無線通信模塊、1個傾角模塊和電源電壓監(jiān)視模塊。FPGA的主要功能是進(jìn)行并行高速采集控制、循環(huán)隊列存儲以及授時差分控制。ARM模塊的主要功能包含參數(shù)配置及查詢、數(shù)據(jù)搬移及文件系統(tǒng)寫入eMMC、傾角解算和GPS授時定位。FPGA和ARM模塊通過AXI lite進(jìn)行信號交互以及參數(shù)配置查詢,通過DMA模塊進(jìn)行數(shù)據(jù)搬移。ARM通過文件系統(tǒng)記錄觸發(fā)時間、記錄觸發(fā)前5 000條和觸發(fā)后15 000共計20 000條數(shù)據(jù),以及觸發(fā)時的其他狀態(tài)信息。信息采集模塊軟件功能流程如圖3所示。
圖3 信息采集模塊軟件功能流程
FPGA完成同步差分授時功能,保證時間分辨率達(dá)到10 ns,確保記錄文件能精確反映真實的觸發(fā)時間。通過高精度低漂移晶振和鎖相環(huán)保證FPGA時鐘的精度,再由FPGA進(jìn)行時間等分,使FPGA記錄觸發(fā)時間分辨率達(dá)到10 ns,之后通過PPS清除長時間可能產(chǎn)生的時鐘漂移。同步差分授時模塊流程如圖4所示。
圖4 同步差分授時模塊流程
傳感器可能產(chǎn)生噪聲抖動使保存數(shù)據(jù)無效,為了保存有效的數(shù)據(jù),產(chǎn)品中采用滑動窗口的方式,即窗口內(nèi)有連續(xù)5個點(diǎn)數(shù)據(jù)超過觸發(fā)點(diǎn)電壓,則認(rèn)為是真正的觸發(fā)點(diǎn)。當(dāng)產(chǎn)品觸發(fā)記錄數(shù)據(jù)后,則不在比較滑動窗口內(nèi)的數(shù)據(jù),直到下一次數(shù)據(jù)采集。
高精度衛(wèi)星定位系統(tǒng)通過載波相位差分技術(shù)RTK實現(xiàn)厘米級精度定位。多個記錄控制模塊部署在不同位置,結(jié)合高精度定位RTK和高精度高速率ADC,能夠精準(zhǔn)分析每一個部署地甚至整個片區(qū)發(fā)生的情況。通過事后分析可還原觸發(fā)前后發(fā)生的相關(guān)信息并推導(dǎo)可能的影響。設(shè)置合適的觸發(fā)門限和優(yōu)化記錄控制模塊的排列方式可以優(yōu)化產(chǎn)品整體效果。
上位機(jī)配置ADC的采樣頻率和觸發(fā)電平,配置后進(jìn)入數(shù)據(jù)循環(huán)記錄步驟。因需保存觸發(fā)前5 000條數(shù)據(jù)且觸發(fā)是隨機(jī)產(chǎn)生的,所以FPGA需要一直保存數(shù)據(jù)到DDR循環(huán)隊列中。當(dāng)滿足觸發(fā)條件時,F(xiàn)PGA鎖定觸發(fā)時間并且開始計時,根據(jù)采集頻率定時15 000條數(shù)據(jù)并通知ARM。ARM產(chǎn)生中斷并搬移20 000條數(shù)據(jù)到eMMC,并記錄觸發(fā)時間、觸發(fā)時的經(jīng)緯高等信息。記錄完成后ARM配置FPGA開始下一輪數(shù)據(jù)采集。數(shù)據(jù)記錄模塊流程如圖5所示。
圖5 數(shù)據(jù)記錄模塊流程
上位機(jī)采用C++語言 MFC框架編寫,界面采用Tab頁面設(shè)計,包括曲線繪制、狀態(tài)監(jiān)測、歷史數(shù)據(jù)、通信檢測、拓?fù)浣Y(jié)構(gòu)和參數(shù)校準(zhǔn)頁面。主控界面如圖6所示。
圖6 主控界面
先通過狀態(tài)監(jiān)視頁面添加設(shè)備信息,然后通過掃描設(shè)備,查看當(dāng)前通信狀態(tài),如果設(shè)備異常離線,檢查是否通電或者有其他故障。
傳感器1和傳感器2可以設(shè)置從15.625 kHz~1 MHz的采樣速率。兩個傳感器可以配置相同,也可以不相同。傳感器1和傳感器2可以設(shè)置不同的觸發(fā)電平,也可相同。勾選觸發(fā)絕對值使其只有正電平才能觸發(fā)。觸發(fā)方式分為單獨(dú)觸發(fā)、單通道觸發(fā)全部和全部觸發(fā)。單獨(dú)觸發(fā),指滿足觸發(fā)條件的通道記錄本通道相關(guān)數(shù)據(jù)。如果選擇通道1單通道觸發(fā)全部,則在通道1滿足觸發(fā)條件時同時記錄通道1和通道2的數(shù)據(jù);選擇通道2單通道觸發(fā)全部類似。如果選擇全部觸發(fā),則不論是哪個通道滿足觸發(fā)條件都同時記錄兩個通道的數(shù)據(jù)。
通過上位機(jī)可以對多個記錄控制模塊同時進(jìn)行操作,快捷的配置多個相同功能的模塊。也可以對單個產(chǎn)品進(jìn)行操作,從而給不同的記錄控制模塊設(shè)置不同的參數(shù)。
當(dāng)記錄數(shù)據(jù)達(dá)到系統(tǒng)設(shè)定的條數(shù)時,則無法繼續(xù)記錄數(shù)據(jù)。通過查詢歷史文件按鈕查詢控制模塊的記錄文件數(shù)目和文件名字,如果已經(jīng)寫滿,則需要清除設(shè)備數(shù)據(jù)。為防止誤操作,清除設(shè)備數(shù)據(jù)時需要數(shù)據(jù)密碼確認(rèn),清除成功后,上位機(jī)會提示清除成功。從站點(diǎn)狀態(tài)監(jiān)測界面如圖7所示。
圖7 從站點(diǎn)狀態(tài)監(jiān)測界面
設(shè)備信息和歷史數(shù)據(jù)頁面采用MySQL數(shù)據(jù)庫保存數(shù)據(jù)到本地,可高效方便地進(jìn)行添加、刪除、排序等操作。查詢信息可查看產(chǎn)品是否定位、電源電壓、經(jīng)緯高、傾角信息、設(shè)置的觸發(fā)電壓、觸發(fā)方式、采樣頻率等。
歷史數(shù)據(jù)關(guān)聯(lián)觸發(fā)時間、觸發(fā)方式、觸發(fā)電壓、經(jīng)緯高和傾角信息,使數(shù)據(jù)分析更加精確。記錄控制模塊和上位機(jī)之間采用無線通信方式進(jìn)行信息傳輸。因為無線傳輸?shù)牟豢煽啃?,所以通過分包和握手機(jī)制保證數(shù)據(jù)傳輸?shù)恼_性。把20 000條數(shù)據(jù)分為2 000包,每一包數(shù)據(jù)加幀頭、數(shù)據(jù)長度、數(shù)據(jù)幀編號及CRC-32校驗。上位機(jī)收到數(shù)據(jù)時存入緩沖文件,如果校驗正確則把緩沖數(shù)據(jù)寫入文件繼續(xù)請求下一包數(shù)據(jù);如果校驗不正確,則請求繼續(xù)重發(fā)本包數(shù)據(jù),直到數(shù)據(jù)正確或者超過最大重傳次數(shù);如果無線環(huán)境很差,連續(xù)N包數(shù)據(jù)都不正確,那么上位機(jī)會對本條數(shù)據(jù)標(biāo)紅,并繼續(xù)讀取下一包數(shù)據(jù)。歷史數(shù)據(jù)查詢界面如圖8所示。
圖8 歷史數(shù)據(jù)查詢界面
因發(fā)生無線傳輸速率相對較慢,對于多產(chǎn)品多文件傳輸耗時較長,上位機(jī)可一次操作讀取多個產(chǎn)品多個文件,很大程度上減少了人工干預(yù)。加上容錯重傳機(jī)制,即使某個記錄控制模塊發(fā)生故障,產(chǎn)品仍能自動讀取文件,適合無人值守的環(huán)境。
拓?fù)浣Y(jié)構(gòu)頁面,通過曲線控件進(jìn)行描點(diǎn)標(biāo)識,更直觀的觀察產(chǎn)品的分布。實時觀察RTK定位的信息,方便的觀察產(chǎn)品的差分狀態(tài)。在進(jìn)行RTK差分的時候,在拓?fù)浣Y(jié)構(gòu)頁面實時地顯示RTK精度,如果差分精度達(dá)不到要求,可對產(chǎn)品進(jìn)行排查。采集端位置拓?fù)鋱D如圖9所示。
圖9 采集端位置拓?fù)鋱D
拓?fù)浣Y(jié)構(gòu)以RTK定位經(jīng)度緯度數(shù)據(jù)為基礎(chǔ),第一個產(chǎn)品定位為原點(diǎn),其他產(chǎn)品分別與第一個產(chǎn)品求差值計算相對經(jīng)緯度,通過如下公式把經(jīng)緯度轉(zhuǎn)換到平面相對位置距離:
deltaX = (pos(:,2)-pos(1,2))·cos(pos(1,1))·Re
deltaY= (pos(:,1)-pos0(1,1))·Re
式中:pos表示位置緯度/經(jīng)度(單位:rad);高度單位為m;Re表示地球半徑。
本系統(tǒng)經(jīng)過外場測試,主控站觀測實驗結(jié)果表明,系統(tǒng)數(shù)據(jù)準(zhǔn)確可靠、使用便捷。其中:無線網(wǎng)絡(luò)經(jīng)過中繼之后,傳送距離大于3 km;經(jīng)過RTK差分后,從站點(diǎn)定位精度在優(yōu)于3 cm。在采樣頻率1 MHz時,采樣本底噪聲小于0.1 mV,GPS授時精度優(yōu)于100 ns,達(dá)到了設(shè)計要求。