王忱平,周嚴
(南京理工大學(xué) 機械工程學(xué)院,南京 210094)
AM3359的鋼軌實時檢測與數(shù)據(jù)融合無線傳輸
王忱平,周嚴
(南京理工大學(xué) 機械工程學(xué)院,南京 210094)
針對鋼軌輪廓檢測時,數(shù)據(jù)量大且后期分析計算算法較為復(fù)雜這一特點,設(shè)計了一套鋼軌輪廓檢測與數(shù)據(jù)無線傳輸系統(tǒng)。該系統(tǒng)主要由激光二維傳感器、以太網(wǎng)收發(fā)器、AM3359核心微處理器、U-BLOX定位模塊與4G通信模塊組成。利用激光二維傳感器采集鋼軌輪廓數(shù)據(jù),同時U-BLOX接收GPS衛(wèi)星給出的地理坐標(biāo)信息。AM3359對鋼軌輪廓數(shù)據(jù)與地理信息數(shù)據(jù)進行數(shù)據(jù)融合,并最終利用4G模塊通過Internet上傳至云端服務(wù)器進行后續(xù)數(shù)據(jù)處理。該系統(tǒng)具有功耗低、檢測精度高、數(shù)據(jù)傳輸距離不受制約等特點。
鋼軌檢測;4G; AM3359;U-BLOX;STM32F103RBT6; SCMC8710A
隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,傳統(tǒng)的工業(yè)現(xiàn)場檢測方式已經(jīng)無法滿足當(dāng)今環(huán)境的需要。由于鋼軌線路長,造成檢測數(shù)據(jù)量巨大[1-2]。采用4G通信技術(shù)與鋼軌輪廓檢測系統(tǒng)結(jié)合的方案可以很好地解決檢測數(shù)據(jù)量龐大的問題,并且可以利用云端豐富的計算機資源對檢測數(shù)據(jù)做出快速高質(zhì)量處理,同時引入GPS定位單元,可以為檢測裝置提供高精度的定位信息。
針對鋼軌檢測的數(shù)據(jù)量大及后續(xù)處理計算量大這一特點,鋼軌輪廓檢測終端應(yīng)負責(zé)得到精確的鋼軌輪廓數(shù)據(jù)與地理定位信息,而由于后續(xù)流程需要對輪廓信息進行處理與比對,需進行大量數(shù)學(xué)運算,對計算機資源要求較高,所以應(yīng)將輪廓信息處理放至計算機資源更為強大的云端服務(wù)器進行。本文設(shè)計了一套應(yīng)用于野外的鋼軌輪廓檢測與數(shù)據(jù)傳輸系統(tǒng)。系統(tǒng)總體架構(gòu)圖如圖1 所示。
圖1 系統(tǒng)總體架構(gòu)圖
該系統(tǒng)中利用激光二維傳感器進行鋼軌輪廓采集、U-BLOX模塊進行差分定位,在核心處理器AM3359平臺上對鋼軌輪廓數(shù)據(jù)與定位信息進行數(shù)據(jù)包打包處理,并將數(shù)據(jù)暫存在本地存儲空間中。檢測過程結(jié)束后,系統(tǒng)最終通過4G模塊將鋼軌輪廓數(shù)據(jù)與定位信息上傳至云端服務(wù)器。在云端服務(wù)器上對鋼軌輪廓數(shù)據(jù)進行存儲并進一步處理,同時通過Google Earth繪制檢測終端當(dāng)前地理位置。
系統(tǒng)硬件設(shè)計主要包含以下部分:激光二維檢測單元、核心微處理器單元、GPS定位單元、存儲單元與4G通信單元。
2.1 總體硬件架構(gòu)圖
系統(tǒng)總體硬件架構(gòu)如圖2所示。系統(tǒng)中,激光二維傳感器檢測到鋼軌輪廓,經(jīng)過以太網(wǎng)線將檢測得到的輪廓數(shù)據(jù)通過RJ45發(fā)送到以太網(wǎng)收發(fā)器SCMC8710A。以太網(wǎng)收發(fā)器與核心處理器AM3359通過RMII(簡化媒體獨立接口)連接,AM3359接收鋼軌輪廓數(shù)據(jù)并將其通過并行接口寫入本地存儲空間eMMC中。STM32F103RBT6的UART0、UART1分別與U-BLOX和AM3359連接。U-BLOX接收到GPS定位數(shù)據(jù)后通過串口將數(shù)據(jù)傳至STM32,后者對地理信息數(shù)據(jù)重新拆分打包,經(jīng)UART1傳送至AM3359寫入eMMC中存儲。當(dāng)鋼軌輪廓信息監(jiān)測與地理信息獲取完畢后,AM3359將eMMC中存儲的輪廓數(shù)據(jù)與地理信息通過USB發(fā)送至4G模塊,最終上傳至云端。
圖2 硬件總體架構(gòu)圖
2.2 激光二維傳感器的安裝
激光二維傳感器負責(zé)精確采集鋼軌斷面輪廓。本文采用的激光二維傳感器為MICROTRAK PRO 2-D 80/40。該款傳感器z向量程為80 mm,起始測量距離為63 mm;x向起始測量范圍為40 mm,終止范圍為55 mm;z向分辨率為0.045,x向分辨率為0.09;掃描速度為100 Hz,線性度0.2%滿量程,滿足鋼軌輪廓檢測的量程與精度要求。傳感器采用直流24 V供電,數(shù)據(jù)輸出接口為M12(4-pin)母接頭以太網(wǎng)接口,可以方便系統(tǒng)的硬件連接與后續(xù)編程。
圖3 激光二維傳感器的安裝
由經(jīng)驗可知,鋼軌的磨耗主要體現(xiàn)在鋼軌的輪軌接觸側(cè)軌頭部分,由于鋼軌軌頭部分長期與車輪接觸,會產(chǎn)生軌頭的側(cè)面與垂直磨耗,當(dāng)磨耗加劇后,會影響鋼軌與車輪的輪軌接觸關(guān)系,從而影響列車的穩(wěn)定運行[2]。因此,激光二維傳感器的安裝方式應(yīng)盡可能將鋼軌內(nèi)側(cè)軌頭部分的輪廓檢測出來。安裝方式如圖3所示。傳感器位于軌頭斜上方45°處,激光平面與鋼軌縱向軸線垂直,平行于鋼軌斷面。傳感器與鋼軌的距離應(yīng)保證軌頭的外輪廓位于激光傳感器的量程平面內(nèi)。
2.3 以太網(wǎng)收發(fā)器電路設(shè)計
以太網(wǎng)收發(fā)器作為激光傳感器與微處理器的連接通道,負責(zé)將微處理器發(fā)送的檢測命令傳送給激光傳感器,并將激光傳感器采集到的輪廓數(shù)據(jù)傳送至微處理器。以太網(wǎng)收發(fā)器采用SCMC8710A,電路設(shè)計如圖4所示。
2.4 GPS定位單元硬件設(shè)計
GPS定位單元硬件設(shè)計如圖5 所示,主要由兩部分組成:① U-BLOX LEA-6T GPS定位模塊。該模塊具有精確的定位授時功能,內(nèi)置差分定位算法,可根據(jù)外部GPS基站的差分定位信息進行差分定位,輸出UTC時間,提供秒脈沖信號[7]。②STM32F103RBT6 微控制器。該模塊是一款32位微控制器,基于Cortex-M3內(nèi)核,時鐘頻率為72 MHz,擁有128 KB FLASH與20 KB SRAM,具有功耗低、體積小的特點[3,5],適用于本例中對U-BLOX進行初始化與相關(guān)控制的場合。STM32F103RBT6外接8 MHz的外部晶振,UART1_RX、UART1_TX與AM3359的UART2連接,用于傳輸?shù)乩矶ㄎ恍畔⒆止?jié)流。
U-BLOX的TXD1、RXD1分別與STM32F103RBT6的UART2_RX、UART2_TX相連。
2.5 4G通信單元硬件設(shè)計
4G通信模塊采用華為公司研發(fā)的ME909u-521車載4G模塊。該模塊是LTE工業(yè)級M2M無線模塊,支持下行100 Mbps,上行50 Mbps的傳輸速率,內(nèi)置TCP/IP協(xié)議棧,工作在LTE(FDD) B1/B2/B3/B5/B7/B8/B20頻段,支持Linux操作系統(tǒng)與USB接口。本系統(tǒng)中,4G模塊與AM3359通過USB接口進行數(shù)據(jù)交互。
2.6 存儲單元硬件設(shè)計
存儲單元采用大容量eMMC存儲器,負責(zé)存儲嵌入式操作系統(tǒng)與檢測信息。eMMC芯片采用8位并行接口進行數(shù)據(jù)交互,擁有7根數(shù)據(jù)引腳,一根CMD命令引腳、一根CLK時鐘引腳。AM3359硬件支持eMMC外設(shè),本系統(tǒng)將AM3359的MMC1_DAT0~7引腳與eMMC的8位數(shù)據(jù)引腳對應(yīng)連接,MMC1_CMD、MMC1_CLK分別與eMMC 的CMD與CLK連接。
圖4 以太網(wǎng)收發(fā)電路設(shè)計
3.1 Linux內(nèi)核源碼修改與移植
為了Linux操作系統(tǒng)能夠正確驅(qū)動4G模塊,需要在移植操作系統(tǒng)之前對源碼進行修改。本文中AM3359使用的操作系統(tǒng)為基于Linux內(nèi)核的ubuntu-14.04 LTS發(fā)行版,系統(tǒng)內(nèi)核版本為3.14。需要對內(nèi)核源碼進行修改的文件有:linux_src/drivers/usb/serial/option.c和linux_src/include/linux/usb.h。具體修改步驟如下:
① 在usb.h中添加宏定義。
#define USB_VENDOR_AND_INTERFACE_INFO(vend, cl, sc, pr) .match_flags = USB_DEVICE_ID_MATCH_INT_INFO | USB_DEVICE_ID_MATCH_VENDOR, .idVendor = (vend), .bInterfaceClass = (cl), .bInterfaceSubClass = (sc), .bInterfaceProtocol = (pr)
② 在option.c中結(jié)構(gòu)體常量static const struct usb_device_id option_ids[]的id列表中添加用于匹配設(shè)備數(shù)據(jù)的語句。
{VID,InterfaceClass, InterfaceSubClass, InterfaceProtocol}
修改完畢后,開始編譯內(nèi)核鏡像和u-boot。步驟如下[8]:
◆ 下載并安裝arm-linux交叉編譯工具鏈,設(shè)置環(huán)境變量CC為工具鏈所在路徑。
◆ 利用交叉編譯工具鏈編譯u-boot。
◆ 利用交叉編譯工具鏈編譯內(nèi)核源碼,平臺選擇ARM,指令如下:
make ARCH=arm CROSS_COMPILE=${CC} zImage dtbs;
make ARCH=arm CROSS_COMPILE=${CC} modules;
make ARCH=arm CROSS_COMPILE=${CC} modules_install INSTALL_MOD_PATH=$HOME/images/rootfs;
tar -czvf ../kernel_modules.tar.gz ./;
得到根文件系統(tǒng)壓縮包kernel_modules.tar.gz。
④ 利用fdisk工具對存儲空間進行分區(qū),分別用來保存u-boot與根文件系統(tǒng),并將編譯好的u-boot與根文件系統(tǒng)壓縮包分別解壓至第一和第二分區(qū)。至此,完成對Linux操作系統(tǒng)的修改與移植。
3.2 AM3359核心軟件架構(gòu)流程
AM3359作為整個嵌入式系統(tǒng)的核心,負責(zé)讀取激光二維傳感器的輪廓數(shù)據(jù),接收GPS定位單元的地理信息,并將二者以一定的格式存儲在本地空間。鋼軌輪廓檢測與定位過程結(jié)束后,AM3359還需將本地存儲的鋼軌輪廓與地理信息數(shù)據(jù)通過4G模塊上傳至云端服務(wù)器。其軟件工作流程如圖6所示。
主程序運行首先利用4G模塊,與云端服務(wù)器建立基于TCP協(xié)議的套接字鏈接,等待服務(wù)器指令進行鋼軌輪廓檢測。當(dāng)?shù)玫椒?wù)器的檢測指令后,AM3359通過以太網(wǎng)控制器讀出激光二維傳感器采集到的輪廓數(shù)據(jù),采集數(shù)據(jù)為十六進制文件,故將其保存成Outline.dat數(shù)據(jù)文件。文件保存完畢后,結(jié)束了輪廓采集部分。之后向云端尋求差分基站給出的差分信息,并將其發(fā)送給STM32F103RBT6,并經(jīng)后者發(fā)送至U-BLOX。U-BLOX得到差分信息后進行差分運算,將地理坐標(biāo)信息經(jīng)
圖5 GPS定位單元硬件設(shè)計
圖6 核心軟件架構(gòu)流程
STM32F103RBT6返送給AM3359 。AM3359接收到地理信息后,存儲至本地Coordinate.dat,之后將地理坐標(biāo)信息與鋼軌輪廓數(shù)據(jù)信息進行整合,得到整合之后的文件M_data.dat,并對文件添加CRC校驗。最后將M_data.dat經(jīng)4G模塊上傳至云端服務(wù)器,并等待服務(wù)器指令開始下一次檢測過程。
3.3 激光檢測數(shù)據(jù)采集軟件流程
激光二維傳感器的檢測軟件流程如圖7所示。
圖7 檢測軟件流程
激光二維傳感器與AM3359通過以太網(wǎng)收發(fā)器連接,在Linux操作系統(tǒng)中加載網(wǎng)卡eth0代表以太網(wǎng)收發(fā)器SCMC 8710A。因此,與激光二維傳感器的數(shù)據(jù)交互可以等價于基于網(wǎng)卡eth0的TCP/IP協(xié)議數(shù)據(jù)交互。激光二維傳感器出廠IP地址為192.168.123.226,因此需要將網(wǎng)卡eth0的IP地址與激光傳感器設(shè)置在同一網(wǎng)段內(nèi),本系統(tǒng)設(shè)置eth0 IP地址為192.168.123.225。
激光二維傳感器輸出的一包TCP數(shù)據(jù)代表一副鋼軌輪廓坐標(biāo)圖像。測試者在進行檢測之前,需要設(shè)定檢測數(shù)據(jù)量,以確保有足夠的數(shù)據(jù)進行鋼軌輪廓的后期數(shù)據(jù)處理。當(dāng)設(shè)定完畢后,系統(tǒng)作為客戶端,首先建立與激光傳感器的客戶端TCP連接。之后每從套接字中讀取一包數(shù)據(jù),就將其存入文件Outline.dat中。當(dāng)采集到的數(shù)據(jù)量達到預(yù)先設(shè)定的規(guī)定值后,關(guān)閉套接字,結(jié)束采集過程。
3.4 Linux環(huán)境下4G模塊聯(lián)網(wǎng)初始化
4G模塊聯(lián)網(wǎng)初始化配置流程如圖8所示。
將4G模塊與AM3359通過USB連接完畢后,在運行著的AM3359終端上輸入dmesg命令,觀察到:
GSMmodem converter now attached to ttyUSB0/1/2,則說明系統(tǒng)已經(jīng)成功加載USB串口驅(qū)動[4,6]。
運行撥號腳本,讀取設(shè)備字符文件ttyUSB2,顯示4G撥號成功返回信息,表示撥號成功。終端輸入ifconfig檢查網(wǎng)卡狀態(tài),此時可以檢測到4G網(wǎng)卡“eth2”,但沒有獲得IP地址,利用dhcient工具為4G網(wǎng)卡申請動態(tài)IP地址,當(dāng)網(wǎng)卡成功獲取到IP地址后,代表網(wǎng)卡已經(jīng)與上一級的網(wǎng)絡(luò)服務(wù)器建立了有效連接。終端輸入ping指令,利用ICMP協(xié)議查看是否與Internet服務(wù)器建立了有效的網(wǎng)絡(luò)連接,如果成功接收到Internet遠程服務(wù)器的應(yīng)答數(shù)據(jù)包,則代表AM3359已經(jīng)成功通過4G模塊接入互聯(lián)網(wǎng)。
3.5 STM32F103RBT6面向U-BLOX的軟件設(shè)計
STM32F103RBT6作為GPS定位模塊U-BLOX與核心處理器AM3359之間的橋梁紐帶,負責(zé)對U-BLOX模塊進行上電初始化與引腳配置,接收AM3359的差分數(shù)據(jù)信息,將其傳輸至U-BLOX模塊,之后等待U-BLOX完成差分計算后,接收從U-BLOX輸出的數(shù)據(jù),并從中提取坐標(biāo)與授時信息,提取出來后將二者發(fā)送至AM3359。STM32F103RBT6的軟件流程如圖9所示。
為了測試系統(tǒng)性能,本文中將鋼軌輪廓測量系統(tǒng)和一段60型鋼軌放置于機械樓天臺上。在天臺上將鋼軌與激光二維傳感器按本文中的方案安裝,并將系統(tǒng)外接GPS天線與4G天線,用于定位和通信。
4.1 云端服務(wù)器顯示精確定位
系統(tǒng)通過GPS天線搜索衛(wèi)星信號,并利用U-BLOX模塊與GPS基站的差分信息計算系統(tǒng)當(dāng)前位置的地理坐標(biāo)。最終系統(tǒng)將坐標(biāo)通過4G網(wǎng)絡(luò)上傳至云端服務(wù)器。服務(wù)器接收到并顯示地理坐標(biāo)數(shù)據(jù),同時調(diào)用Google Earth地圖控件繪制系統(tǒng)當(dāng)前的地圖位置。實驗得到地圖定位如圖10所示。
圖8 4G聯(lián)網(wǎng)初始化流程
圖9 定位軟件流程
圖10 Google地圖定位
由地圖顯示的系統(tǒng)地理位置可知,本系統(tǒng)的GPS定位單元有較高的地理定位精度。利用該系統(tǒng)進行多次定位,觀察定位數(shù)據(jù)的一致性。將系統(tǒng)進行20次定位操作,結(jié)果如表1所列。
表1 20次地理坐標(biāo)信息采集
由表1可知,定位系統(tǒng)有較好的重復(fù)性,重復(fù)經(jīng)度可以達到0.007′,緯度達到0.013′,滿足系統(tǒng)測量要求。
4.2 云端接收鋼軌輪廓
圖11 鋼軌軌頭輪廓
云端接收到鋼軌軌頭輪廓數(shù)據(jù),該數(shù)據(jù)是鋼軌斷面(X-Z軸)二維坐標(biāo)數(shù)據(jù),一次采集可以采集到X-Z平面內(nèi)350個數(shù)據(jù)點,覆蓋目標(biāo)區(qū)域。對坐標(biāo)進行提取,通過Matlab繪制散點圖,并進行曲線擬合,得到鋼軌軌頭輪廓如圖11所示。
可見,系統(tǒng)可以對鋼軌軌頭輪廓進行精確檢測。
[1] 孟佳,高曉蓉.鋼軌磨耗檢測技術(shù)的現(xiàn)狀與發(fā)展[J].鐵道技術(shù)監(jiān)督,2005(1):64-67.
[2] 丁大尉,紀淑波,王立志.光電式鋼軌磨損實時檢測系統(tǒng)[J].中國鐵道科學(xué),2006(1):64-67.
[3] 陳章,江劍.廣告屏受沖擊時的現(xiàn)場實時抓拍系統(tǒng)設(shè)計[J].單片機與嵌入式系統(tǒng)應(yīng)用,2016(1):64-67.
[4] 鄒龍,王德志,劉忠誠,等.Linux系統(tǒng)下4G終端模塊驅(qū)動的實現(xiàn)[J].電腦知識與技術(shù),2015(11):206-209.
[5] 張慶輝,馬延立.STM32F103VET6和ENC28J60的嵌入式以太網(wǎng)接口設(shè)計[J].單片機與嵌入式系統(tǒng)應(yīng)用,2012(9):23-25.
[6] 黃小敏,余翔,宋瑤.嵌入式Linux系統(tǒng)的3G/4G路由器設(shè)計[J].單片機與嵌入式系統(tǒng)應(yīng)用,2014(4):32-35.
[7] 王麗秋.基于u-blox高靈敏精確定位系統(tǒng)[J].電子設(shè)計,2010(26):167-169.
[8] 劉文,徐磊,盛文婷,等.基于ARM平臺的Linux內(nèi)核分析與移植研究[J].現(xiàn)代計算機,2011(4):72-74.
王忱平(碩士),研究方向為測試計量技術(shù)與儀器;周嚴(副教授),研究方向為測控技術(shù)與儀器、測控電子技術(shù)、嵌入式技術(shù)。
Rail Real-time Detection and Wireless Data Transmission Based on AM3359
Wang Chenping,Zhou Yan
(College of Mechanical Engineering,Nanjing University of Science and Technology,Nanjing 210094,China)
Aiming at the problems of the rail profile detection such as the amount of monitoring data is large and the post-calculation algorithm is complex, a rail contour detection with wireless data transmission system is designed.The system consists of a two-dimensional laser sensor,ethernet transceiver,microprocessor AM3359,U-BLOX positioning module and 4G communication module.The rail profile data is collected using the dimensional laser sensor,while U-BLOX receives the geographic coordinates data given by the GPS satellite.The AM3359 merges the profile data and the GPS positioning data,and finally the 4G module transfers the data to the cloud server through Internet for the follow-up data processing.The system has the features such as low-power consumption,high precision,unchecked data transmission distance.
rail detection;4G;AM3359;U-BLOX;STM32F103RBT6;SCMC8710A
TP23
A
?迪娜
2016-08-11)