基于LoRa的无线传输采集节点设计

2023-01-16 10:07蔡小伟薛荣烽黄桂萍张榕洲
通信电源技术 2022年18期
关键词:通信协议字节无线

郑 炜,蔡小伟,薛荣烽,黄桂萍,张榕洲

(龙岩学院 物理与机电工程学院,福建 龙岩 364012)

0 引 言

远距离无线电(Long Range Radio,LoRa)技术作为近年来的新兴无线通信技术,具有成本低、低功耗以及长距离传输等特点,适用于无线网络数据传输[1-3]。谢晖等人提出基于LoRa技术的通用型环境监测节点低功耗设计,使得LoRa节点设备在恶劣环境下的抗干扰问题有了更加具体可行的解决方案[4]。秦嘉骏设计了一种基于LoRa的低功耗智能无线感知节点,降低了感知节点的功耗,同时提升了无线通信质量[5]。董文斌提出基于LoRa的线性拓扑结构无线传感器网络(Wireless Sensor Network,WSN)监测系统,主要由多个采集节点和1个网关组成[6]。高魏轩提出基于ModBus协议的工业控制系统信息安全主动防御系统,加强ModBus在工业中遇到问题的解决能力[7]。卿建华提出基于消息队列遥测传输(Message Queuing Telemetry Transport,MQTT)协议的生产数据采集系统,提供了以MQTT协议传输工业生产数据的参考方案[8]。本文提出一种基于LoRa的自定义通信协议采集节点,采集节点的结构如图1所示。利用软件协议完成网络节点之间的信息通信,实现采集节点之间的控制请求、控制应答、上报请求以及上报应答[9,10]。

图1 采集节点结构

1 无线传输通信协议

LoRa采集节点使用的通信协议有2种,第1种是ModBus-RTU协议,用来读取工业现场中的各种Modbus传感器;第2种是LoRa自定义通信协议,自定义编写软件协议来构建节点之间的通信规则,实现节点之间的数据交互与信息安全检测。

LoRa自定义通信协议中每条消息由引导符、地址、长度、命令、数据体以及校验码组成,消息组成如表1所示。

表1 消息组成

引导符由4个字节组成,并分为请求引导符与应答引导符。其中,请求引导符为0x5A、0xA5、0x7E、0xE7,应答引导符为0x5A、0xA5、0x3C、0xC3。消息的长度字段由引导符后的所有数据字节之和组成,如0x05表示有5个字节。命令字段由控制输出(字符“C”)或上报数据(字符“R”)组成。数据体字段为传感器数据值,可以由1个字节或多个字节组成。校验码字段占用2个字节,采用循环冗余校验(Cyclic Redundancy Check,CRC),低位在前,高位在后。

以上报数据指令为例,采集节点定时向接收节点上报数据,上报消息体格式如表2所示。

表2 上报消息体格式

长度字段0x14代表除去引导符字段外,还有14 Byte的数据。命令字段为字符“R”(0x52),其后填充数据信息,如空气温度、空气湿度等。无论是否搭载传感器,其对应数据都将上报。如果未搭载传感器,则相应字段的数据填充为0。接收节点接收到信息后返回应答信息。

2 无线传输采集节点整体设计

根据采集节点结构,所设计的采集节点主要包括电源、模拟量输入、继电器输出、ModBus-RTU通信以及LoRa模组。采用STM32G030F6P6作为主控芯片,由SSP485芯片来实现RS485通信接口,由亿佰特的E220-900T22S模块实现LoRa的无线数据传输,并通过自定义通信协议来完成采集节点之间的通信。

2.1 电源设计

设计电源输入为直流24 V,该输入电源经过压敏电阻的防雷保护与共模电感滤除共模信号后通过MP9942降压芯片降至5 V,持续为LoRa模块、继电器输出模块供电。此设计具有全方位保护功能,包括过流保护和过温关断保护。输入电源原理如图2所示。在芯片EN引脚处设有1个100 kΩ的分流电阻,防止EN引脚电流太大烧毁芯片。

图2 输入电源原理

2.2 模拟量输入

工业上用的模拟量输入为4~20 mA电流输入,由于单片机无法检测电流,因此需要设计硬件电路将电流转化为电压后再进行测量。转换电路如图3所示。

图3 转换电路

2.3 RS485通信接口电路

采用SSP485芯片设计RS485通信接口电路,可实现500 kb/s的无差错数据传输,同时具有+15 kV的静电放电防护功能。此外,其接收器自带负载输入阻抗匹配功能,总线上最多可以挂载256个收发器。该设计在SSP485芯片的信号输出部分加入共模电感,进一步滤除了共模噪声,使得通信能良好运行。加入双向瞬态抑制二级管(Transient Voltage Suppressor,TVS)接地,可以在特殊情况下泄放掉大电压,防止浪涌,保护单片机与SSP485芯片。RS485接口电路原理如图4所示。

图4 RS485接口电路原理

2.4 LoRa模块设计

该设计无线传输部分硬件上采用E220-900T22S LoRa模块,可以实现较长距离的传输,具有较好的抗干扰性。该模块支持自动中继组网与内置LoRa协议,模块与单片机之间的通信采用串口通信,用2个IO脚连接M1、M0来控制模块的发送和接收。通过IO脚读取AUX的高低电平,检测消息的接收和发送是否结束。根据上述各电路制作的采集节点实物如图5所示。

图5 无线传输采集节点实物

3 系统软件设计

LoRa采集节点软件基本工作流程如图6所示。

图6 采集节点软件工作流程

系统上电时最先进行时钟的初始化配置串口,完成后进行串口、继电器、模拟量模数转换器(Analog to Digital Converter,ADC)的初始化。基础硬件初始化完成后,配置ModBus协议栈,初始化主站读取传感器从机设备、LoRa,配置LoRa速率和地址、ModBus地址等。等待初始化完成后,主控器对节点上的传感器数据进行读取,读取完成后便将数据上报至接收节点,随后判断上报的定时时间是否达到。若达到定时时间则重新采集上报,否则进入待机状态。

4 结 论

利用STM32G030F6P6单片机作为控制器设计无线传输采集节点,硬件上设计了电源电路、电压电流转换电路、RS485接口电路及LoRa模块接口,软件上提出了一种自定义通信协议来完成网络节点之间的信息通信,实现采集节点之间的控制请求、控制应答、上报请求以及上报应答等功能。基于各部分的设计制作采集节点样机,经测试其基本达到了预期需求,可以搭载接收节点实现一对多无线数据采集功能,能够在一些农业大棚、工业现场等场景采集数据并上报。

猜你喜欢
通信协议字节无线
No.8 字节跳动将推出独立出口电商APP
《无线互联科技》征稿词(2021)
基于Wireshark的列控中心以太网通信协议解析器的研究与实现
No.10 “字节跳动手机”要来了?
无线追踪3
基于ARM的无线WiFi插排的设计
一种PP型无线供电系统的分析
轻量级分组密码Midori64的积分攻击
车载网络通信协议标准化问题研究
电动汽车充电接口及通信协议新国标发布