APP下载

AM3359的钢轨实时检测与数据融合无线传输

2017-04-19王忱平周严

单片机与嵌入式系统应用 2017年2期
关键词:以太网轮廓钢轨

王忱平,周严

(南京理工大学 机械工程学院,南京 210094)

AM3359的钢轨实时检测与数据融合无线传输

王忱平,周严

(南京理工大学 机械工程学院,南京 210094)

针对钢轨轮廓检测时,数据量大且后期分析计算算法较为复杂这一特点,设计了一套钢轨轮廓检测与数据无线传输系统。该系统主要由激光二维传感器、以太网收发器、AM3359核心微处理器、U-BLOX定位模块与4G通信模块组成。利用激光二维传感器采集钢轨轮廓数据,同时U-BLOX接收GPS卫星给出的地理坐标信息。AM3359对钢轨轮廓数据与地理信息数据进行数据融合,并最终利用4G模块通过Internet上传至云端服务器进行后续数据处理。该系统具有功耗低、检测精度高、数据传输距离不受制约等特点。

钢轨检测;4G; AM3359;U-BLOX;STM32F103RBT6; SCMC8710A

引 言

随着互联网技术的快速发展,传统的工业现场检测方式已经无法满足当今环境的需要。由于钢轨线路长,造成检测数据量巨大[1-2]。采用4G通信技术与钢轨轮廓检测系统结合的方案可以很好地解决检测数据量庞大的问题,并且可以利用云端丰富的计算机资源对检测数据做出快速高质量处理,同时引入GPS定位单元,可以为检测装置提供高精度的定位信息。

1 系统总体架构和可行性分析

针对钢轨检测的数据量大及后续处理计算量大这一特点,钢轨轮廓检测终端应负责得到精确的钢轨轮廓数据与地理定位信息,而由于后续流程需要对轮廓信息进行处理与比对,需进行大量数学运算,对计算机资源要求较高,所以应将轮廓信息处理放至计算机资源更为强大的云端服务器进行。本文设计了一套应用于野外的钢轨轮廓检测与数据传输系统。系统总体架构图如图1 所示。

图1 系统总体架构图

该系统中利用激光二维传感器进行钢轨轮廓采集、U-BLOX模块进行差分定位,在核心处理器AM3359平台上对钢轨轮廓数据与定位信息进行数据包打包处理,并将数据暂存在本地存储空间中。检测过程结束后,系统最终通过4G模块将钢轨轮廓数据与定位信息上传至云端服务器。在云端服务器上对钢轨轮廓数据进行存储并进一步处理,同时通过Google Earth绘制检测终端当前地理位置。

2 系统总体硬件设计

系统硬件设计主要包含以下部分:激光二维检测单元、核心微处理器单元、GPS定位单元、存储单元与4G通信单元。

2.1 总体硬件架构图

系统总体硬件架构如图2所示。系统中,激光二维传感器检测到钢轨轮廓,经过以太网线将检测得到的轮廓数据通过RJ45发送到以太网收发器SCMC8710A。以太网收发器与核心处理器AM3359通过RMII(简化媒体独立接口)连接,AM3359接收钢轨轮廓数据并将其通过并行接口写入本地存储空间eMMC中。STM32F103RBT6的UART0、UART1分别与U-BLOX和AM3359连接。U-BLOX接收到GPS定位数据后通过串口将数据传至STM32,后者对地理信息数据重新拆分打包,经UART1传送至AM3359写入eMMC中存储。当钢轨轮廓信息监测与地理信息获取完毕后,AM3359将eMMC中存储的轮廓数据与地理信息通过USB发送至4G模块,最终上传至云端。

图2 硬件总体架构图

2.2 激光二维传感器的安装

激光二维传感器负责精确采集钢轨断面轮廓。本文采用的激光二维传感器为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供电,数据输出接口为M12(4-pin)母接头以太网接口,可以方便系统的硬件连接与后续编程。

图3 激光二维传感器的安装

由经验可知,钢轨的磨耗主要体现在钢轨的轮轨接触侧轨头部分,由于钢轨轨头部分长期与车轮接触,会产生轨头的侧面与垂直磨耗,当磨耗加剧后,会影响钢轨与车轮的轮轨接触关系,从而影响列车的稳定运行[2]。因此,激光二维传感器的安装方式应尽可能将钢轨内侧轨头部分的轮廓检测出来。安装方式如图3所示。传感器位于轨头斜上方45°处,激光平面与钢轨纵向轴线垂直,平行于钢轨断面。传感器与钢轨的距离应保证轨头的外轮廓位于激光传感器的量程平面内。

2.3 以太网收发器电路设计

以太网收发器作为激光传感器与微处理器的连接通道,负责将微处理器发送的检测命令传送给激光传感器,并将激光传感器采集到的轮廓数据传送至微处理器。以太网收发器采用SCMC8710A,电路设计如图4所示。

2.4 GPS定位单元硬件设计

GPS定位单元硬件设计如图5 所示,主要由两部分组成:① U-BLOX LEA-6T GPS定位模块。该模块具有精确的定位授时功能,内置差分定位算法,可根据外部GPS基站的差分定位信息进行差分定位,输出UTC时间,提供秒脉冲信号[7]。②STM32F103RBT6 微控制器。该模块是一款32位微控制器,基于Cortex-M3内核,时钟频率为72 MHz,拥有128 KB FLASH与20 KB SRAM,具有功耗低、体积小的特点[3,5],适用于本例中对U-BLOX进行初始化与相关控制的场合。STM32F103RBT6外接8 MHz的外部晶振,UART1_RX、UART1_TX与AM3359的UART2连接,用于传输地理定位信息字节流。

U-BLOX的TXD1、RXD1分别与STM32F103RBT6的UART2_RX、UART2_TX相连。

2.5 4G通信单元硬件设计

4G通信模块采用华为公司研发的ME909u-521车载4G模块。该模块是LTE工业级M2M无线模块,支持下行100 Mbps,上行50 Mbps的传输速率,内置TCP/IP协议栈,工作在LTE(FDD) B1/B2/B3/B5/B7/B8/B20频段,支持Linux操作系统与USB接口。本系统中,4G模块与AM3359通过USB接口进行数据交互。

2.6 存储单元硬件设计

存储单元采用大容量eMMC存储器,负责存储嵌入式操作系统与检测信息。eMMC芯片采用8位并行接口进行数据交互,拥有7根数据引脚,一根CMD命令引脚、一根CLK时钟引脚。AM3359硬件支持eMMC外设,本系统将AM3359的MMC1_DAT0~7引脚与eMMC的8位数据引脚对应连接,MMC1_CMD、MMC1_CLK分别与eMMC 的CMD与CLK连接。

图4 以太网收发电路设计

3 系统总体软件设计

3.1 Linux内核源码修改与移植

为了Linux操作系统能够正确驱动4G模块,需要在移植操作系统之前对源码进行修改。本文中AM3359使用的操作系统为基于Linux内核的ubuntu-14.04 LTS发行版,系统内核版本为3.14。需要对内核源码进行修改的文件有: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中结构体常量static const struct usb_device_id option_ids[]的id列表中添加用于匹配设备数据的语句。

{VID,InterfaceClass, InterfaceSubClass, InterfaceProtocol}

修改完毕后,开始编译内核镜像和u-boot。步骤如下[8]:

◆ 下载并安装arm-linux交叉编译工具链,设置环境变量CC为工具链所在路径。

◆ 利用交叉编译工具链编译u-boot。

◆ 利用交叉编译工具链编译内核源码,平台选择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 ./;

得到根文件系统压缩包kernel_modules.tar.gz。

④ 利用fdisk工具对存储空间进行分区,分别用来保存u-boot与根文件系统,并将编译好的u-boot与根文件系统压缩包分别解压至第一和第二分区。至此,完成对Linux操作系统的修改与移植。

3.2 AM3359核心软件架构流程

AM3359作为整个嵌入式系统的核心,负责读取激光二维传感器的轮廓数据,接收GPS定位单元的地理信息,并将二者以一定的格式存储在本地空间。钢轨轮廓检测与定位过程结束后,AM3359还需将本地存储的钢轨轮廓与地理信息数据通过4G模块上传至云端服务器。其软件工作流程如图6所示。

主程序运行首先利用4G模块,与云端服务器建立基于TCP协议的套接字链接,等待服务器指令进行钢轨轮廓检测。当得到服务器的检测指令后,AM3359通过以太网控制器读出激光二维传感器采集到的轮廓数据,采集数据为十六进制文件,故将其保存成Outline.dat数据文件。文件保存完毕后,结束了轮廓采集部分。之后向云端寻求差分基站给出的差分信息,并将其发送给STM32F103RBT6,并经后者发送至U-BLOX。U-BLOX得到差分信息后进行差分运算,将地理坐标信息经

图5 GPS定位单元硬件设计

图6 核心软件架构流程

STM32F103RBT6返送给AM3359 。AM3359接收到地理信息后,存储至本地Coordinate.dat,之后将地理坐标信息与钢轨轮廓数据信息进行整合,得到整合之后的文件M_data.dat,并对文件添加CRC校验。最后将M_data.dat经4G模块上传至云端服务器,并等待服务器指令开始下一次检测过程。

3.3 激光检测数据采集软件流程

激光二维传感器的检测软件流程如图7所示。

图7 检测软件流程

激光二维传感器与AM3359通过以太网收发器连接,在Linux操作系统中加载网卡eth0代表以太网收发器SCMC 8710A。因此,与激光二维传感器的数据交互可以等价于基于网卡eth0的TCP/IP协议数据交互。激光二维传感器出厂IP地址为192.168.123.226,因此需要将网卡eth0的IP地址与激光传感器设置在同一网段内,本系统设置eth0 IP地址为192.168.123.225。

激光二维传感器输出的一包TCP数据代表一副钢轨轮廓坐标图像。测试者在进行检测之前,需要设定检测数据量,以确保有足够的数据进行钢轨轮廓的后期数据处理。当设定完毕后,系统作为客户端,首先建立与激光传感器的客户端TCP连接。之后每从套接字中读取一包数据,就将其存入文件Outline.dat中。当采集到的数据量达到预先设定的规定值后,关闭套接字,结束采集过程。

3.4 Linux环境下4G模块联网初始化

4G模块联网初始化配置流程如图8所示。

将4G模块与AM3359通过USB连接完毕后,在运行着的AM3359终端上输入dmesg命令,观察到:

GSMmodem converter now attached to ttyUSB0/1/2,则说明系统已经成功加载USB串口驱动[4,6]。

运行拨号脚本,读取设备字符文件ttyUSB2,显示4G拨号成功返回信息,表示拨号成功。终端输入ifconfig检查网卡状态,此时可以检测到4G网卡“eth2”,但没有获得IP地址,利用dhcient工具为4G网卡申请动态IP地址,当网卡成功获取到IP地址后,代表网卡已经与上一级的网络服务器建立了有效连接。终端输入ping指令,利用ICMP协议查看是否与Internet服务器建立了有效的网络连接,如果成功接收到Internet远程服务器的应答数据包,则代表AM3359已经成功通过4G模块接入互联网。

3.5 STM32F103RBT6面向U-BLOX的软件设计

STM32F103RBT6作为GPS定位模块U-BLOX与核心处理器AM3359之间的桥梁纽带,负责对U-BLOX模块进行上电初始化与引脚配置,接收AM3359的差分数据信息,将其传输至U-BLOX模块,之后等待U-BLOX完成差分计算后,接收从U-BLOX输出的数据,并从中提取坐标与授时信息,提取出来后将二者发送至AM3359。STM32F103RBT6的软件流程如图9所示。

4 系统测试

为了测试系统性能,本文中将钢轨轮廓测量系统和一段60型钢轨放置于机械楼天台上。在天台上将钢轨与激光二维传感器按本文中的方案安装,并将系统外接GPS天线与4G天线,用于定位和通信。

4.1 云端服务器显示精确定位

系统通过GPS天线搜索卫星信号,并利用U-BLOX模块与GPS基站的差分信息计算系统当前位置的地理坐标。最终系统将坐标通过4G网络上传至云端服务器。服务器接收到并显示地理坐标数据,同时调用Google Earth地图控件绘制系统当前的地图位置。实验得到地图定位如图10所示。

图8 4G联网初始化流程

图9 定位软件流程

图10 Google地图定位

由地图显示的系统地理位置可知,本系统的GPS定位单元有较高的地理定位精度。利用该系统进行多次定位,观察定位数据的一致性。将系统进行20次定位操作,结果如表1所列。

表1 20次地理坐标信息采集

由表1可知,定位系统有较好的重复性,重复经度可以达到0.007′,纬度达到0.013′,满足系统测量要求。

4.2 云端接收钢轨轮廓

图11 钢轨轨头轮廓

云端接收到钢轨轨头轮廓数据,该数据是钢轨断面(X-Z轴)二维坐标数据,一次采集可以采集到X-Z平面内350个数据点,覆盖目标区域。对坐标进行提取,通过Matlab绘制散点图,并进行曲线拟合,得到钢轨轨头轮廓如图11所示。

可见,系统可以对钢轨轨头轮廓进行精确检测。

结 语

[1] 孟佳,高晓蓉.钢轨磨耗检测技术的现状与发展[J].铁道技术监督,2005(1):64-67.

[2] 丁大尉,纪淑波,王立志.光电式钢轨磨损实时检测系统[J].中国铁道科学,2006(1):64-67.

[3] 陈章,江剑.广告屏受冲击时的现场实时抓拍系统设计[J].单片机与嵌入式系统应用,2016(1):64-67.

[4] 邹龙,王德志,刘忠诚,等.Linux系统下4G终端模块驱动的实现[J].电脑知识与技术,2015(11):206-209.

[5] 张庆辉,马延立.STM32F103VET6和ENC28J60的嵌入式以太网接口设计[J].单片机与嵌入式系统应用,2012(9):23-25.

[6] 黄小敏,余翔,宋瑶.嵌入式Linux系统的3G/4G路由器设计[J].单片机与嵌入式系统应用,2014(4):32-35.

[7] 王丽秋.基于u-blox高灵敏精确定位系统[J].电子设计,2010(26):167-169.

[8] 刘文,徐磊,盛文婷,等.基于ARM平台的Linux内核分析与移植研究[J].现代计算机,2011(4):72-74.

王忱平(硕士),研究方向为测试计量技术与仪器;周严(副教授),研究方向为测控技术与仪器、测控电子技术、嵌入式技术。

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)

猜你喜欢

以太网轮廓钢轨
OPENCV轮廓识别研究与实践
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
基于实时轮廓误差估算的数控系统轮廓控制
钢轨焊后双中频感应加热工艺研究
高速公路主动发光轮廓标应用方案设计探讨
谈实时以太网EtherCAT技术在变电站自动化中的应用
一种90W高功率以太网供电系统的设计
高速铁路钢轨疲劳过程的超声非线性系数表征
国内外高速铁路钢轨性能对比研究
浅谈EPON与工业以太网在贵遵高速公路中的应用