本发明属于rs485有线通信,具体涉及基于rs485通信在自动测量中数据冲突通讯方法。
背景技术:
1、上位机跟终端设备都是通过人工手动查询和设置的方式,由于延时时间够长,所以不会出现rs485数据冲突。
2、但是一旦上位机改成rru或其他上层设备通过不同的线程定时周期性的自动查询下行终端设备参数时,rs485总线上的数据就会因为某一设备的某一次超时回包,而导致总线上的数据包全部被打乱,一致后续通信都异常。
技术实现思路
1、本发明解决的技术问题旨在解决rru轮询包查询ppa板上的mcu数据时候,pa板上的mcu每次都能在规定的固定的时间内回包,rs485回包时间不定,数据传输不稳定。为rs485数据总线不会被延迟的数据包打乱,pa板上的mcu端做了如下解决方案:
2、pa板上的mcu端在中断处理函数中回包,中断接收函数退出后才响应功能动作;发送端(rru)串口下发数据包中优先设置参数命令,在发送设置参数命令前关闭轮询查询包线程。
3、基于rs485通信在自动测量中数据冲突通讯方法,具体包括:
4、步骤一:
5、pa板上的mcu通过主循环函数定时采集到数据包的初始数据并将该数据保存在全局变量中,定时更新采集到的初始数据并保存到全局变量中,判定是否有串口中断接收;
6、步骤二:
7、当pa板上的mcu串口中断接收到rru发过来的数据包,通过协议解析,判定数据包是否为轮询包;
8、若是轮询包,完整且正确,pa板上的mcu通过解析不同的查询id,分包组包,调用ram全局变量所采集的数据,然后在中断中回复数据包;进入步骤一;
9、若不是轮询包,是参数设置包,先在中断函数中立即响应回复数据包,
10、通过定义一个全局变量flag置位,并且将设置参数更改到ram全局变量中,
11、中断后,返回步骤一,在主循环任务中通过对全局变量flag的判断,读取设置flag标志位是否为1,
12、是,则用于对硬件的设置动作发出控制指令,完成动作后再清零flag标志,进入步骤3这样才能确保pa板上的mcu的回包数据的实时性;
13、步骤三:退出硬件设置程序进入主循环。
14、优选地,所述初始数据包括反向功率、驻波、温度、插损、电流、电压和告警信息。
15、优选地,在步骤二中,当rru出现查询线程和设置线程通信跟pa板上的mcu通信时,出现的rs485总线上数据冲突,流程上rru端配置参数设置包优先,
16、步骤s21:pa串口中断,rru接收到bbu下发的配置命令包时,
17、若是,rru配置线程提前取得互斥锁,此时关闭定时周期轮询pa板上的mcu下发任务,并且等到pa配置包答复包之后才释放互斥锁,此时又重新允许rru下发定时轮询查询pa参数包。
18、优选地,通信数据包协议中增加数据包的序列号;rru下发的数据包包含指定的序列号信息,且pa板上的mcu在回包时所述数据包指定该序列号,确保pa板上的mcu回包的唯一性,否则启动重发机制。
19、本发明还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述方法的步骤。
20、本发明的有益效果是:
21、在自动测量终端数据时,rru需要周期轮询读取pa的状态参数,保证了rs485回包的实时性和反应效率,
22、因某一设备的超时回包然而下一轮的查询包又自动下发而导致rs485总线数据被打乱;当rru在轮询pa板上的mcu状态参数的时候,rru的其他线程又突然同时下发设置pa板上的mcu的设置参数命令(数控衰减,定标值,告警解除,功放开关等等设置命令)。在通信基站中,任何数据采集中心设备跟终端设备的自动控制领域通过rs485通信的技术手段保证通信过程中的通信的及时性。
1.基于rs485通信在自动测量中数据冲突通讯方法,其特征在于,具体包括:
2.根据权利要求1所述的基于rs485通信在自动测量中数据冲突通讯方法,其特征在于:所述初始数据包括反向功率、驻波、温度、插损、电流、电压和告警信息。
3.根据权利要求1所述的基于rs485通信在自动测量中数据冲突通讯方法,其特征在于:
4.根据权利要求1或3所述的基于rs485通信在自动测量中数据冲突通讯方法,其特征在于:通信数据包协议中增加数据包的序列号;rru下发的数据包包含指定的序列号信息,且pa板上的mcu在回包时所述数据包指定该序列号,确保pa板上的mcu回包的唯一性,否则启动重发机制。
5.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~4任一所述方法的步骤。