面向LoRa自组网的交通监控系统设计
2024-09-21白锌齐瑞璇高贝贝
摘 要:为将LoRa无线通信技术应用在交通监控系统中,以提高交通监控系的灵活性和智能化,设计一种面向中心节点的自组网系统。该组网协议主要包括网络管理和数据上报2部分。网络管理实现节点入网、节点被动退网主动退网。为保证通信的时效性,数据上报环节设置多个通信信道。同时根据入网顺序,配置每个节点的数据上报窗口,保证数据的有序传输。对于硬件系统,采用STM32F103系列单片机作为主控,并利用SX1278芯片设计其对应的LoRa通信电路。最后通过实验对该系统进行测试,测试数据表明该系统可以灵活地对车辆检测节点进行自适应组网,而且通信时延满足通信模型要求,系统稳定性较高。
关键词:车辆监控系统;自组网;LoRa;SX1278;STM32
中图分类号:TN914.4 文献标志码:A 文章编号:2095-2945(2024)27-0026-07
Abstract: In order to apply LoRa wireless communication technology to traffic monitoring system and improve traffic monitoring system flexibility and intelligence, a central node-oriented ad hoc network system is designed. Its networking protocol mainly includes two parts: network management and data reporting. Network management realizes node entry, node passive withdrawal and active withdrawal. In order to ensure the timeliness of communication, a number of communication channels are set up in the data reporting link. At the same time, according to the order of entering the network, the data reporting window of each node is configured to ensure the orderly transmission of data. For the hardware system, the STM32F103 series single-chip microcomputer is used as the main control, and the corresponding LoRa communication circuit is designed by using SX1278 chip. Finally, the system is tested by experiments, and the test data show that the system can flexibly network the vehicle detection nodes, and the communication delay meets the requirements of the communication model, and the system has high stability.
Keywords: traffic monitoring system; ad hoc network; LoRa; SX1278; STM32
交通监控系统的终端设备主要包括信号机和车辆检测装置。其可通过检测路口车辆数据,引导车辆行驶,以提高道路通行效率和交通安全性[1-2]。而常见的交通监控系统为固定式系统,在某些情况下可能存在一些稳定性问题,例如,系统通常过度依赖于电力系统供应,如果出现电力故障或断电情况,就可能无法正常工作,从而影响交通流量的控制和管理;硬件组件可能会出现故障,如电路板损坏、传感器故障等[3]。这些故障可能导致设备无法准确地感知交通状况或无法正确地控制信号灯,从而影响交通的顺畅性和安全性。当出现以上情况,期间常引入移动式交通监控设备以应对这些突发情况。这些设备应用灵活,可以弥补固定式系统的不足。但是传统的移动式交通监控系统常是离线式的,缺乏智能化功能。鉴于LoRa通信低功耗、抗干扰能力强、传输距离远的特点[4-6],将其和移动式系统结合,从而带来以下优势:①移动式系统通过LoRa通信技术可在未布设线缆的情况下,将采集到的交通数据实时传输到中心控制系统或路边计算单元。这使得交通数据的处理更加高效,交通管理人员可以及时了解交通状况,作出相应的调整和决策[7]。②通过LoRa通信技术可以与中心控制系统或其他设备进行远程连接,实现整体交通调度和管理。交通管理人员可以通过远程控制移动式信号机的工作模式、信号灯的时序等参数,以实现交通流量的优化和协调[8]。
加入LoRa通信技术,移动式交通监控系统可以实现数据的实时处理和远程连接,提高交通管理的智能化水平和适应性[9-10]。这使其成为一个更加灵活、智能、可靠的交通管理工具。鉴于此,本文设计了一种LoRa自组网系统,并将其应用到移动式交通监控系统中, 使其能够适配城市中各种复杂的路口环境。
1 LoRa通信模型
在城市的交通监控系统中,信号机对各类车辆检测器采集的实时交通流信息有着高度的依赖性。每个交口道路至少配备一个或多个交通流检测点,这些检测点的信息需要实时传输至信号机。而且城市路口的种类多样,如T型路口、十字路口、环形路口等,不同种类的路口其交通流模式、车辆数量、信号灯控制逻辑等方面都存在着显著差异,这使得数据传输系统的设计和实施多样化。为此数据传输系统需要具备高度的灵活性和自适应性,能够根据不同路口特性和实时交通情况,进行有效的网络组网和参数配置。以十字路口为例,由于每个进口道需设置多种检测点,同时还需考虑信号机与移动式特殊浮动车辆通信的需求。数据通信网形成了一个1对N的星型拓扑网络,如图1所示。
在交通信号控制环节,交通流信息包括:车辆状态、车辆停留时间、交通流量、占有时间及占有率等数据。其中,占有时间和占有率在自适应交通信号控制中是关键参数,它们的精确性取决于每一辆车在检测点停留的时间。一般来说,车辆检测器主要负责传输车辆状态,而信号机负责计算车辆停留时间。考虑到城市道路的实际情况,车辆状态时间的计算误差必须在100 ms以内[11]。这就意味着,车辆检测器在识别到车辆状态变化后,必须在100 ms内将信息传输出去。显然,这对通信网络的实时性提出了很高的要求。
所设计的LoRa无线车辆监控系统主要包括集中器(中心节点)、车辆检测器(固定检测节点)、浮动车辆通信模块(移动检测节点)。其中,集中器通过LoRa无线接收其余节点的检测数据并通过有线与信号机通信;车辆检测器分布在各路口固定位置,为了减少链路上的通信时延,选取其中距离集中器最近的检测器作为路由检测节点,其余同路口节点通过有线与路由节点互连,这些节点称为边缘检测节点,路由节点要求上电后能够自动并网,掉电后自动退网,浮动车辆通信模块作为移动通信节点进入路口后能够自动并网上传数据,超出集中器管控区间后可自动退网;中心节点与检测节点形成一对多的星型网络拓扑结构,如图2所示。
为了在信号无碰撞的情况下降低通信时延,因此不采用一主多从的轮询制架构。而是通过时隙划分,每个检测节点在分配的时隙窗口内主动上报数据。根据文献[12]可知,LoRa 传输总持续时间toa由2部分组成,分别是前导码持续时间tpreamble和负载持续时间tpayload,对应的计算公式为公式(1)、公式(2)和公式(3)。
式中:ceil为向上取整运算;max为取最大值运算;SF为扩频因子;BW为带宽,kHz;Npreamble为前导码数;Npayload为载荷量,byte;NCRC为循环冗余校验码位数;CR为编码速率。H=0时,表示使用报文头,H=1时;表示不使用报文头;DE=0时,表示启用低数据速率优化,DE=1时,表示不启用低数据速率优化。
以扩频因子SF为7、带宽BW为500 kHz、前导码数Npreamble为7、循环冗余校验码位数NCRC为16、编码速率CR为 4,计算得出节点传输一次车检数据 (14字节) 所耗费的时间约为15.17 ms,考虑到实际环境可能存在偏差,对时隙留有一定余量,将报文时隙长度设置为20 ms,为了保证在100 ms内完成信息传送,此时一个信道最多只能包括5个时隙,其中第一个时隙中心节点用于发送同步报文,故每个信道一个周期只支持4个检测节点的数据上报,为此集中器需支持多条信道。这里集中器共设计了5条信道分别是信道0至信道4。其中信道0用于自适应组网,信道4用于与控制器或路边计算单元通信,信道1至信道3用于检测节点上报数据。上报数据的信道时隙分配如图3所示。
为了提高各检测节点的入网速度,这里单独设置信道0为组网信道。各检测节点通电后均切换到信道0,等待中心节点的入网探测报文。节点检测到后,需应答入网请求报文。为解决多节点同时应答产生冲突的问题,引入载波监听技术。即节点应答前先监听判断信道是否空闲,若空闲则发送,否则退避随机时间后,重复执行载波监听策略。对应监听时间和退避时间本文通过产生随机时间进行配置,且以20 ms作为基本时间单元,一个周期的最大时长为200 ms。中心节点收到入网请求报文后,发送入网配置报文。相应节点收到后,根据报文数据跳转到指定信道,完成入网。入网时序如图4所示。
入网成功后,检测节点会根据入网配置报文切换到指定频段,本文以切换到频段1为例。为保证所有入网节点时间同步,中心节点需先发送同步报文同步各节点上报时隙。随后在100 ms内完成所有入网节点的数据采集,故检测节点切换频段成功后,所有该频段的节点均等待监听集中器发送的同步报文。由于同步报文中含有该频段所有节点的ID,并按照需要的发送顺序进行排列。故检测节点监听到同步报文后,会根据报文中本节点所在顺序设置发送窗口,具体上报时隙如图5所示。
数据传输过程中,可能会出现节点故障或者掉电等情况,此时在上报数据时,会出现上报超时,具体通信时隙如图6所示。集中器当监听到某节点传输超时后,会对该节点的故障计数进行加1处理,当计数值超过设定的最大阈值时,将该节点的信息从网络中删除,此时再发送同步报文时,不再含有该节点的ID。若下一刻节点恢复正常,当监听到同步报文中不含有自身节点ID时,节点自动将频段切换到频段0,等待探测报文重新入网。当循环多次,节点不断退网,该节点将切换到总线脱离状态,不在执行入网逻辑。
部分节点在特殊情况下,如检测到设备故障,可发送退网报文以完成退网。发送时机为所分配的上报时隙。当集中器收到退网报文后,会更新网络配置,将该节点从网络中删除,故下次发送同步报文时,将不再包含该节点ID。下个上报周期中,此节点收到同步报文后,检测到不含自身节点ID,则完成退网。通信时隙如图7所示。
对于信道4,其用于和路边计算单元通信。为了能够适配各种控制系统,集中器集成了标准的Modbus-RTU从机协议,可通过3功能码获得检测数据,通过16功能码对信号机进行控制。
2 数据帧结构
2.1 数据上报报文帧结构
同步报文的帧结构见表1。该报文负责同步各检测节点发送时隙起始时间,其功能码为0x5。报文中事务管理标识占据2个字节,每次发送同步帧时该字段加1。检测节点数量段为当前频段入网节点数量。检测节点ID字段为上报数据的节点ID,其排列顺序按照节点发送顺序排列。CRC校验字段为CRC-16算法计算获得的校验码。由于每个数据传输的频段最多支持4个节点(N=4),故同步报文的最大字节数为14。
固定节点数据报文帧结构见表2。固定检测节点上报数据时使用该报文,其功能码为0x6。事务管理标识和收到的同步报文一致。固定检测节点ID为自身节点ID,占据2个字节。节点类型1个字节,其可标定所在路口位置,后6个字节为检测的数据,每个字节的含义可根据不同需求进行定义。最后为2个字节的CRC校验码。
移动节点数据报文帧结构见表3。移动检测节点上报数据时使用该报文,其功能码为0x7。事务管理标识和收到的同步报文一致。移动检测节点ID为车辆唯一标识,占据2个字节。由于传输的数据类型多样,故增加数据类型字段,其占用1个字节。后6个字节为对应的数据。最后为2个字节的CRC校验码。
2.2 网络管理报文帧结构
网络管理报文包括入网探测报文、入网请求报文、入网配置报文和退网请求报文。其中入网检测报文帧格构见表4,功能码为0x1。其内部还包括中心节点ID和CRC校验码,各占2个字节。中心节点在频段0,每间隔固定时间t发送1次入网探测报文。
进入中心节点覆盖范围的路由检测节点和移动检测节点收到入网探测报文后,发送入网请求报文。其帧结构见表5,其功能码为0x2。该帧结构中心节点ID字段和收到探测报文的中心节点ID一致。检测节点ID为自身ID,共2个字节。最后2个字节为CRC校验码。
中心节点收到入网请求报文后,首先校验报文中心节点ID和自身ID是否一致。无误后发送入网配置报文,其帧结构见表6,功能码为0x3。中心节点ID字段和CRC校验码字段各占2个字节。目标网络频段字段占1个字节,其为入网后网络频段ID,范围为1~3。
为了充分利用时隙资源,检测节点检测到异常时,需发送退网请求报文,其帧结构见表7,功能码为0x4,其余内容和入网请求报文一致。
3 硬件电路
集中器和检测节点的控制单元均可采用STM32F103系列单片机。集中器需要接收检测节点的数据,处理后再将数据借助RS485电路传输给信号机主板。其中LoRa电路采用SX1278芯片,该芯片支持多个频段(如433、868和915 MHz等常用频段),提供了长距离传输和低功率的能力,同时还集成了LoRa调制解调器、前向纠错编码和扩频技术,可以实现高效可靠通信。SX1278芯片与单片机采用SPI通信,部分LoRa模组还增加了独立的单片机以驱动LoRa,然后通过串口接收主控器控制指令。集中器电路结构如图8所示。
检测节点借助RS485电路实现车辆检测数据的采集和边缘检测节点的数据传输。LoRa电路和集中器中的LoRa电路相同。检测节点的电路结构图如图9所示。对于具体的电路实现、最小系统和调试辅助电路不再说明。而是对电源电路、RS485电路、LoRa通信电路进行介绍。
图10为具有宽电压输入的电源稳压电路,输入电压范围可支持10 V至30 V,输出电压包括5 V和3.3 V。为提高电源稳定性,电源电路需具备过流保护、过压保护、防反接和抗共模干扰等功能。为此增加了自恢复保险、压敏电阻、防反接二极管和共模电感等器件。5 V稳压芯片使用的是 TD1509-5;3.3 V稳压芯片使用的是LM1117-3.3 V。
图11为RS485电路,该电路采用 MAX3483芯片,该芯片供电电压为3.3 V,可以更好地兼容STM32F103系列单片机的引脚电平。由于RS485为半双工通信,故设置485_DIR引脚用于控制通信方向。
图12为SX1278芯片的LoRa无线通信电路。其中SX1278供电电压为3.3 V,外部晶振频率为32 MHz,其接收电路接至RFI_LF引脚,发射电路由PA_BOOST引脚引出,输出功率可以达到20 dBm。通信的方向切换由射频开关PE4259实现,其控制端经过1K电阻与RXTX引脚相接。SPI通信的引脚包括SCK、MISO、MOSI和NSS,除此之外还有一些辅助功能IO引脚需要与单片机相接。这些引脚可通过软件配置实现不同功能,比如DIO0可设置成数据接收后或发送完成后的中断引脚。为降低主控芯片的计算负荷,每路LoRa还可增加独立的单片机,并集成LoRa控制驱动程序,通过AT指令接收主控器的控制命令。
4 有效性分析
用于实验验证的测试板如图13所示。为了验证所设计组网协议的有效性,测试板包括2路LoRa即可,分别实现边缘检测节点探测和数据传输。拨码开关可实现对2路LoRa通信频段的配置。对于检测节点也采用该测试板,采用一路LoRa通信即可。除此之外还集成了一路RS485电路,集成了标准的Modbus-RTU协议,用于调试与信号机主板、检测装置、边缘检测节点或者上位机显示系统的通信。实验分别从传输时延和网络管控2个方面对协议的有效性进行分析。
4.1 传输时延
以500 m为测试距离,测试发送数据量为5、8、11和14 byte时,一个请求应答周期所产生的时间(请求和应答数据量相同)。由表8可知,4种数据量的实际持续时间大于理论持续时间,但是差异不大,且14 byte时实际持续时间为33.82 ms,其值小于40 ms。对于所设计的报文中,字节数量最大值为14,故通信信道时隙分配满足系统要求。
4.2 网络管理
为了直观验证所设计组网协议的网络管理能力,利用威纶通触摸屏(TK8071IP)对组网数据和过程进行了监测,图14为检测画面。监测数据包括检测节点ID、检测节点类型、最大故障计数和所在频段。故障计数阈值为手动配置。通过该系统完成了检测节点入网过程、掉电退网、主动退网和运行稳定性的功能性测试。验证过程中发现检测节点入网后,间断性出现通信故障(包括传输超时和检验错误),但是通过对入网后24 h的故障计数值进行观测,发现其最大值为2,未出现故障退网情况(超出故障计数阈值)。故该系统具有较高的稳定性。
5 结论
对于需要动态部署车辆监控系统的情况,设计了一种面向LoRa通信的自适应组网协议。首先阐述了LoRa无线车辆监控系统的通信模型,然后从时隙分配、通信时序、报文帧结构和硬件系统设计4个方面对所设计的协议进行了详细阐述。最后通过实验,从传输时延和网络管控2个方面对协议的有效性进行分析。结果表明面向LoRa自组网的交通监控系统可以灵活地对车辆检测节点进行自适应组网,且系统稳定性较高,具有一定的应用价值。
参考文献:
[1] 荣少华,佘红艳,王松浩,等.基于C-V2X的交通信号采集系统设计及测试研究[J].交通与运输,2022,38(2):73-77.
[2] SHURONG L, CHONG W, XUEDONG Y, et al. A deep adaptive traffic signal controller with long-term planning horizon and spatial-temporal state definition under dynamic traffic fluctuations[J].IEEE Access,2020(8):2169-3536.
[3] 孙均友,许正芳.道路交叉口交通信号机运行故障机理分析及其检测技术[J].电子世界,2020(15):175-176.
[4] PHOEBE E, MINAR E, MOHAMED A, et al. Interleaved chirp spreading lora as a parallel network to enhance lora capacity[J].IEEE Internet of Things Journal,2021,8(5):3864-3874.
[5] DANIELE C, MICHELE G, STEFANO M, et al. Impact of LoRa imperfect orthogonality: analysis of link-level performance[J]. IEEE Communications Letters,2018,22(4):796-799.
[6] 朱信臣,沈伟,赵志浩.基于LoRa的数据中继传输通信方法[J].电子与封装,2023,23(6):84-87.
[7] 朱伶俐,石岩.基于LoRa+5G边缘网关的高速公路智能立柱路侧预警系统设计与实现[J].通化师范学院学报,2023,44(12):7-12.
[8] 严正.现代城市智能交通信号的控制系统研究[J].科技创新与应用,2018(28):61-62.
[9] 李蒙恩.自主式交通环境下的交叉口信号协调控制研究[D].西安:长安大学,2023.
[10] 张立立,王力.新一代人工智能交通信号控制器架构研究[J].重庆交通大学学报(自然科学版),2019,38(11):6-13.
[11] 李钧威,孙旭飞.基于LoRa技术的车辆检测系统组网设计[J].电子测试,2022(1):67-70.
[12] 李超,涂国庆.高密度LoRa网络优化方法研究[J].计算机工程与科学,2023,45(3):426-433.