本发明涉及工控,尤其涉及一种基于波形触发的串口设备高可用方法及装置。
背景技术:
1、串口通信是一种设备间非常常用的串行通讯方式,因为它简单便捷,大部分电子设备都支持该通讯方式,电子工程师在调试设备时也经常使用该通讯方式输出调试信息。
2、工业现场,有很多基于串口的工控设备,用于传输工业控制数据,由于工业设备对高可用的需求较高,所以,需要一种可靠的高可用方案,用于现场设备出现故障的时候,不影响工业现场的数据传输。
3、传统的串口设备,例如交换机,防火墙等,都有故障旁路功能,即:在设备故障的时候,通过直接导通的方式保证现场通信的可用,但是触发旁路的方式往往是程序崩溃后,需要保证操作系统在可用的前提下才能进行,如果操作系统不可用,往往会导致无法切入旁路模式而失效。
4、基于此,本发明提出一种基于波形触发的串口设备高可用方法及装置。
技术实现思路
1、本发明提供了一种基于波形触发的串口设备高可用方法,包括:
2、实时监测串口设备,通过fpga电路读取并记录串口设备的电平变化;
3、根据串口设备的电平变化,计算数据处理周期阈值;
4、通过fpga电路向串口设备发送一个周期波形的数据包,根据下层串口设备的数据处理状况调整数据处理周期阈值,并等待接收下层串口设备的反馈波形;
5、根据设备处理能力,估计一个周期波形的数据包处理时间最大值;
6、根据数据包处理时间最大值和数据处理周期阈值,检测是否发生设备故障,如果发生设备故障,则切换到旁路模式工作。
7、如上所述的一种基于波形触发的串口设备高可用方法,其中,在fpga电路中增加一个低通滤波器,滤掉高频的电平信号。
8、如上所述的一种基于波形触发的串口设备高可用方法,其中,通过fpga电路读取并记录串口设备的电平变化,具体包括:获取串口设备tx引脚和rx引脚的电平变化,并记录rx引脚的电平变化时间t1和tx引脚的电平变化时间t2。
9、如上所述的一种基于波形触发的串口设备高可用方法,其中,根据下层串口设备的数据处理状况调整数据处理周期阈值,具体包括:如果串口设备为防火墙设备,防火墙设备对报文进行了阻断,则需告知fpga电路,重置时间t1,重新计算数据处理周期阈值,确保这种情况下,不误判为异常;如果防火墙设备处理需要暂时缓存数据包的时候,则需要告知fpga电路,重置时间t1,重新计算数据处理周期阈值,确保这种情况下,不误判为异常。
10、如上所述的一种基于波形触发的串口设备高可用方法,其中,计算数据处理周期阈值t=t2-t1。
11、如上所述的一种基于波形触发的串口设备高可用方法,其中,根据设备处理能力估计数据包的处理时间最大值,具体包括如下子步骤:
12、确定设备的硬件规格和性能指标;
13、发送一个周期波形的测试数据包,分析数据包处理的流程和算法,记录测试结果;
14、使用预先设定的数据分析模型,通过对测试结果的分析,确定设备在稳定状态下能够处理的最大数据包流量强度和速率,确定数据包处理时间最大值dt。
15、如上所述的一种基于波形触发的串口设备高可用方法,其中,发生设备故障的情形,具体包括:如果串口设备没有丢包,且数据处理周期阈值t大于数据包处理时间最大值dt,则串口设备存在异常;如果fpga电路连续一个数据包处理时间最大值dt周期的时间内都没有接收到设备软件发送的波形,则认为下层串口设备异常,切换到旁路模式工作。
16、本发明还提供一种基于波形触发的串口设备高可用系统,包括:上层计算机和下层串口设备,上层计算机和下层串口设备之间通过串口线连接,上层计算机通过fpga电路与下层串口设备进行数据交互;所述上层计算机执行上述任一项所述的一种基于波形触发的串口设备高可用方法。
17、本发明还提供一种计算机存储介质,包括:至少一个存储器和至少一个处理器;
18、存储器用于存储一个或多个程序指令;
19、处理器,用于运行一个或多个程序指令,用以执行上述任一项所述的一种基于波形触发的串口设备高可用方法。
20、本发明实现的有益效果如下:本发明可以不依赖操作系统的存活,能够以最大普适性确保旁路模式的开启,在操作系统崩溃的极端情况下,仍然可以保证设备顺利进入旁路模式。
1.一种基于波形触发的串口设备高可用方法,其特征在于,包括:
2.如权利要求1所述的一种基于波形触发的串口设备高可用方法,其特征在于,在fpga电路中增加一个低通滤波器,滤掉高频的电平信号。
3.如权利要求1所述的一种基于波形触发的串口设备高可用方法,其特征在于,通过fpga电路读取并记录串口设备的电平变化,具体包括:获取串口设备tx引脚和rx引脚的电平变化,并记录rx引脚的电平变化时间t1和tx引脚的电平变化时间t2。
4.如权利要求3所述的一种基于波形触发的串口设备高可用方法,其特征在于,根据下层串口设备的数据处理状况调整数据处理周期阈值,具体包括:如果串口设备为防火墙设备,防火墙设备对报文进行了阻断,则需告知fpga电路,重置时间t1,重新计算数据处理周期阈值,确保这种情况下,不误判为异常;如果防火墙设备处理需要暂时缓存数据包的时候,则需要告知fpga电路,重置时间t1,重新计算数据处理周期阈值,确保这种情况下,不误判为异常。
5.如权利要求4所述的一种基于波形触发的串口设备高可用方法,其特征在于,计算数据处理周期阈值t=t2-t1。
6.如权利要求5所述的一种基于波形触发的串口设备高可用方法,其特征在于,根据设备处理能力估计数据包的处理时间最大值,具体包括如下子步骤:
7.如权利要求6所述的一种基于波形触发的串口设备高可用方法,其特征在于,发生设备故障的情形,具体包括:如果串口设备没有丢包,且数据处理周期阈值t大于数据包处理时间最大值dt,则串口设备存在异常;如果fpga电路连续一个数据包处理时间最大值dt周期的时间内都没有接收到设备软件发送的波形,则认为下层串口设备异常,切换到旁路模式工作。
8.一种基于波形触发的串口设备高可用系统,其特征在于,包括:上层计算机和下层串口设备,上层计算机和下层串口设备之间通过串口线连接,上层计算机通过fpga电路与下层串口设备进行数据交互;所述上层计算机执行如权利要求1-7任一项所述的一种基于波形触发的串口设备高可用方法。
9.一种计算机存储介质,包括:至少一个存储器和至少一个处理器;
