基于3G和北斗的远程数据传输系统设计

2019-04-08 01:05薛建科董增寿
太原科技大学学报 2019年2期
关键词:塔机串口北斗

薛建科,董增寿,杨 勇

(太原科技大学电子信息工程学院,太原030024)

关键字:塔机,3G,北斗,数据传输终端

塔机高强度、长时间的工作在恶劣的环境下,再加上维护保养体系的相对落后,导致塔机故障时有发生[1]。塔机出现故障往往会造成重大的人员伤亡,故障会严重影响工程的施工进度、效益以及工作人员的安全[2]。

目前市场上塔机监控类产品不够完善,功能比较单一,有的只是实现了对塔机车辆的定位,或者只能将测量得到的数据保存在本地并不能及时的传回监控中心[3]。行业内采用的车载终端集中在用GPS定位和定时的数据回传,功能较单一,缺乏实时性,软件的功能简单,可移植性差,难以满足企业对远程塔机车辆的监控需求。车辆在两个网络之间工作时,很难保持有效的的连接性[4]。如何实时准确的获取塔机工作状态数据则变得更加重要。基于以上问题,本文提出并设计了一款以ARM处理器为基础、Linux为内核的数据传输终端[5]。该系统采用友善支臂的Smart210为主控制器,在此基础上加入3G和北斗模块组成数据传输系统,并结合开放的乐联网服务平台实现了对塔机的实时检测[6]。

1 系统的总体设计

本系统以乐联网为基础,通过ARM较强的处理能力将传感器实时采集回来的有关塔机工作状况的角度信息、高度信息以及温度信息等在网络较好的情况下通过3G无线网络传输给乐联网服务器,当塔机工作在网络覆盖不到的区域时系统自动切换为北斗模式进行数据传输。传输到服务器的塔机数据通过web服务器显示。同时,塔机的工作数据也可以通过PC机远程登录乐联网网站,观察塔机工作时的各种实时数据。整个系统的结构框图如下图1所示。

图1 系统总体框架图
Fig.1 Overall system framework map

2 系统硬件设计

2.1 Smart210核心板

经过多组对比,最终该数据传输系统的核心板选取为友善支臂的Smart210.首先,Smart210的主频高达1GHz,其内部集成的PowerVR SGX540高性能图形引擎可满足传输数据的需求。该板有4路UATR外设接口、1路USB和1路MiniPCIe接口,该系统需要1路USB接口与3G进行通信,1路UATR与北斗进行通信,因此Smart210板的外设接口可以满足本系统的需求。除此之外,Smart210核心板拥有74×55mm的外形,也适合用在工作在野外的塔机上[7-8]。

2.2 3G通信模块

华为EM770W支持内置TCP/IP协议栈,提供通用的Mini PCI Express接口[9]。接口信号包括电源、2路UART接口,1路高速USB2.0接口等,支持标准的AT指令集和华为扩展AT指令集[10]。3G无线网络不同环境下有不同数据传输速率,室内 2Mbps、室外 384 kbps的传输速度可以满足要求[11]。3G模块通过Mini PCI接口与开发板连接,EM770 W与ARM板相连采用USB接口[12],连接示意图如下图2所示:

图2 3G模块与核心板连接原理图
Fig.2 3G module and the core board connection schematic

在图2中,左边为Smart210核心板的USB外设接口,其中VBUS管脚为电源线,给模块提供5 V电源。右边为华为EM770W模块,它的USB1_D_为数据接受端,USB1_D+为数据发送端。

2.3 北斗数传模块

北斗主要有北斗一代射频收发芯片BN622、5 W功放芯片BN161P,以及基带芯片和LNA电路组成。模块分别外接SIM卡和无源天线来实现短报文的通信功能和定位功能[13]。该模块采用3.3 V电源供电。通过串口与核心板连接。按照其接口数据传输协议可将所需信息发送给监控中心[14]。其中RDSS短报文原理和RNSS定位原题图分别如图3和图4所示:

北斗模块整个工作流程为:当基带处理芯片通过串口接收到定位申请或者通信申请等数据时,将串口数据调制为BPSK基带信号发射给射频芯片,射频芯片上变频基带信号,使信号上变频变为中心频率为1 615.68 MHZ的射频信号,同时基带芯片使能功放芯片,使功放芯片将射频芯片功率放大,再通过天线发射给北斗导航卫星,完成北斗电文信号的发射过程。当系统接受到北斗导航卫星发射电文信号时,通过低噪声放大器,将较弱的电波信息经过滤波、然后放大到一定增益的射频信号。然后通过射频芯片将中心频率为2 491.75 MHZ的北斗一代报文信息解调为12.24 MHZ的基带模拟信号。然后通过模数转换电路转换为北斗一代数字信号,其中一位是符号位,另一位是幅度位。基带芯片解析数字信号完成接收电报文的过程[15]。

图3 RDSS原理图
Fig.3 RDSS schematic

图4 RNSS原理框图
Fig.4 RNSS schematic block diagram

3 系统软件设计

整个系统软件部分主要包括数据接收、数据上传、数据显示等。Linux操作系统作为终端的软件开发平台,可移植性好。本次设计本着扩展性强的原则,考虑到在实际应用中会有不同的要求,比如传感器的个数和种类问题,因此对各个部分编写了配置文件,当需要对整个系统进行修改时,只需要在配置文件中相应位置进行修改即可,提高了工作效率,同时也拓展了系统的应用范围。

系统采集的数据主要有两部分,一部分为塔机温度、高度、角度和风速等工作信息,另一部分为塔机的位置信息。塔机的工作信息从相应传感器处获得,系统处于工作状态时,终端按照通信协议经RS-485串口轮流向各个传感器发送读取数据指令。传感器接收到读取命令后按照协议上传采集的信息,将信息传送到核心板的串口上[16]。塔机的位置信息从北斗模块处获得,北斗接收机上电工作时根据相应协议将北斗导航所计算出的位置信息通过串口传送给Smart210核心板[17]。

主程序启动后,会先加载串口配置文件,将配置文件读到内存中去,初始化时将波特率、ip地址、文件路径等信息进行设置。接着进程中开启两个线程,一个线程用于读取串口数据,若串口上有数据,则将数据存储在ARM板的Sqlite数据库中,同时用Write函数将数据写入相应文件,便于以后查看,另一线程用于读取数据库中数据,只要数据库中的数据不为空,就将里面的数据通过3G网络或者北斗将数据发送出去,同时删掉该数据。

3.1数据接收部分软件设计

传感器采集回来的数据需要根据服务中心与采集终端之间制定的数据协议填充至协议格式中,经通信网络传至服务器[18]。本文单片机串口和ARM终端之间的通信协议约定如表1所示:

表1 通信数据结构
Tab.1 Communication data format

定义数据头长度传感器数量数据结构类型传感器标识传感器数据字节长度221222

3.2 数据传输模块软件设计

上传至服务器的数据有两种方式,一种是经过3G无线通信网络,另一种是通过北斗进行传输。

3.2.1 3G网络传输软件设计

乐联网支持两种数据上传的方式,一种是主动上传数据即客户端在联网情况下将数据主动传送至服务器;另一种是被动传输数据。客户端接收到发送数据请求命令后,被动的向服务器发送数据[19]。本文3G传输采用主动上传数据的方法进行。服务器后台设置准备工作如下:

首先我们需要登录乐联网的官方网站(www.lewei50.com),完成个人用户注册,登录网站后在个人信息里可找到系统自动分配的32位用户密匙即Userkey,为了编程方便本文的用户密匙为26ef4f7cc7,属于短的Userkey.

其次,在“我的网关”里添加一个新的网关,网关标识可以自己设定(本文设为02)。如果硬件设备需要服务器来控制,则勾选“是否可控”。否则不勾选,本文考虑到以后系统的功能扩展性,选择可控。API地址处填写:http://tcp.lewei50.com:9965/?

method=send&gatewayNo=02.公网IP:tcp.lewei50.

com.以上工作完成后添加相应的测量设备,并做相应标识即可。数据主动上传步骤如下:

首先,连接tcp.lewei50.com或者IP:42.121.128.

216端口号:9960.再次,发送登录注册信息{"method

":"update","gateWayNo":"02","userkey":"26ef4f7cc7"}&^!。最后,发送具体数据:{"method": "upload",

"data":[{"Name":"T1","Value":"33"},{"Name":"T2","Value":"96.2"}]}&^!。发送完毕后登录乐联网网页平台可以查看已经上传的数据。整个上传过程如下图5所示:

图5 乐联网工作过程示意图
Fig.5 The work of the network diagram

3.2.2 北斗短报文传输软件设计

北斗导航系统是我国具有自主知识产权的卫星导航系统,它的应用可以减少我们对国外GPS系统的依赖。要实现北斗的定位和短报文通信功能需要严格遵守其数据传输约定和数据通信协议。

BN622芯片集成了接收通道和发射通道。内部集成2位ADC可同时输出中频模拟信号和量化信号[20]。芯片内集成了接收发射频率综合器及相应的压控振荡器,并可向基带提供采样时钟。芯片需要提供标准的控制接口,采用SPI接口。其信号传输格式如表2所示:

表2 信号传输格式
Tab.2 Signal transmission format

读写指示位(1bit)地址位(7bit)数据位(16bit)R/W-A6...A0D15D14...D1D0

其中,读写指示位R/,高电平表示读操作,低电平表示写操作。

BN622写模式下的SPI时序图如下图6所示:

写操作:CS由高变低,主设备通过SDAI对芯片写入。先写入读写指示位和寄存器地址位,五位地址位([A4:A0])用于内部寄存器寻址。随后是16位数据D15:D0.写操作完成后,CS变为变为高电平。

BN622读模式下的SPI时序图如下图7所示:

图6 写模式
Fig.6 Write mode

图7 读模式
Fig.7 Read mode

读操作:CS由高变低,主设备通过SDAI对芯片写入。先写入读写指示位和寄存器地址位,五位地址位([A4:A0])用于内部寄存器寻址。主设备可在随后的16个周期读取数据。读操作完成后,CS变为高电平。

北斗Smart210核心板的接口数据传输参数设定如下:

串口非同步传送,参数定义如下:

传输速率:115 200 bit/s(默认);

1 bit开始位;

8 bit数据位;

1 bit停止位;

无校验。

北斗在整个系统中不间断的提供位置信息,同时在3G网络较差的情况下切换到北斗模式下,用来传输塔机的工作信息。北斗上电后首先要进行IC检测,Smart210核心板向北斗发送一条IC检测指令,北斗将当前用户机IC卡上包含的主要信息内容进行反馈;核心板收到反馈信息表示IC检测完成,接着Smart210向北斗发送一条功率检测指令,北斗接收到功率检测指令后会将其6个波束的功率信号反馈给核心板,理论情况下只要有一个波束的功率可以达到1就可以进行信心和定位。当满足上述条件后,arm核心板就可以对北斗模块进行发送定位和短报文通信的指令,在满足其数据传输协议的前提下,北斗会将自身计算出来的定位信息传送到核心板的串口上,或者将需要发送的数据发送给指定IC的北斗模块[21-22]。北斗的整个大致工作流程以及涉及到的信息传输格式分别如图8、9所示。

4 系统测试

本系统主要是两种传输方式进行数据传输,系统的实物图如图10所示。

图8 北斗定位通信流程图
Fig.8 Beidou position and communication flow chart

$CDSC长度用户地址07H校验和

$ICJC长度用户地址帧号(0)校验和

$ICXX帧号(0)通播ID用户特征服务频度通信等级加密标志保留

$GLJC长度用户地址0校验和

$GLZK长度用户地址功率1功率2功率3功率4功率5功率6校验和

$TXSQ长度用户地址信息类别目的地址电文长度是否应答电文内容校验和

$TXXX长度用户地址信息类别发方地址发方时间电文长度电文内容最长校验和

图9 北斗信息传输格式

Fig..9Systemphysicalformat

大多文献中设计的数据采集终端为GPS和GSM/3G网络组合的方式来实现数据的回传,如文献23、24.该系统在此基础上引入北斗定位和短报文功能,更进一步的完善了塔机远程监控系统。使其更具有使用价值。

先在实验室分别测试两种方式可行之后再应用于显示场景中,首先3G传输进行了内网测试,将虚拟机里面搭建好的数据库相当于服务器,其传输结果如图11、12所示。

图10 系统实物图
Fig.10 System physical map

图11 smart210写入数据库图
Fig.11 Smart210 write to the database

从图11可以看到,在用内网测试过程中,程序启动后可以依次看到smart210连接服务器成功、写arm板自身信息到服务器成功、写传感器到服务器成功,随后就定时的将所需要传输的数据传输到数据库中。返回到虚拟机里打开Mysql数据库,可以看到已经将所传数据写入到了数据库中。由此,我们可以确定3G传输已经实现。

在实验室内测试北斗的工作情况,将北斗上电后,分别进行北斗定位和通信测试,该系统的测试结果如图13所示。

将本系统应用于一台工作的塔机上,分别将安放于塔机上的温度、高度、角度和风速传感器采集到的信息通过采集模块采集回来并发送给arm板,smart210板再通过3G模块和北斗模块将数据传送至乐联网服务平台,通过登录该平台可以看到采集回的塔机信息,并可在数据异常的情况下进行报警,通知相关人员及时采取相应措施。

5 结束语

数据传输系统是实现对塔机进行实时监测的重要组成部分,同时也是后台中心人员与塔机进行交互的重要桥梁。本文根据实际需求设计了该远程数据传输系统,通过3G模块的设计可以满足在网络较好情况下对塔机进行监控的需求,北斗模块可以弥补在网络较差的环境下3G网络无法传输数据的不足。该系统扩展性较好,可以让后台及时的获取处于工作状态的塔机的主要工作参数,并且可以通过动态数据曲线图直观的了解塔机的工作状况,具有很好的实际意义。本系统下一步工作是通过引入算法来优化3G网络和北斗网络的切换,使网络的选择更具有可信性,并在此基础上实现远程控制塔机的功能,进一步满足塔机的实际需求。

图12 数据存入数据库图
Fig.12 Data is stored in the database

图13 北斗工作图
Fig.13 Beidou work chart

猜你喜欢
塔机串口北斗
北斗时钟盘
中天X系列塔机获多项国家专利
基于NPORT的地面综合气象观测系统通信测试方法及故障处理
基于多源信息融合的塔机主动防碰撞技术探讨
江麓集团高质量完成新型平头塔机研制
基于EM9000工控板高性能双串口通信模型设计与实现
“北斗”离我们有多远
塔机防碰撞控制算法研究
船舶电子设备串口数据的软件共享方法
首个北斗全球“厘米级”定位系统开建