基于FPGA与外部DDR三级乒乓缓存的故障录波系统及方法与流程

摘要: 本发明属于电力电子设备故障诊断,涉及一种基于fpga与外部ddr三级乒乓缓存的故障录波系统及方法。背景技术:1、振动台功率放大器在运行过程中通常包含功率模块、驱...
基于FPGA与外部DDR三级乒乓缓存的故障录波系统及方法与流程

本发明属于电力电子设备故障诊断,涉及一种基于fpga与外部ddr三级乒乓缓存的故障录波系统及方法。

背景技术:

1、振动台功率放大器在运行过程中通常包含功率模块、驱动板、采样电路、控制器、plc以及触摸屏等单元。为了保证设备安全运行,系统需要对输出电压、输出电流、母线电压、模块温度、pwm使能状态、驱动状态、保护状态字以及plc命令字等信息进行实时监测。

2、在现有振动台功率放大器系统中,故障发生后通常仅通过plc或触摸屏显示故障码,例如过流、过压、过温、驱动异常或通信异常等。由于plc扫描周期较长,且采集数据量有限,难以捕获故障发生前后的高速变化过程。当故障具有瞬态性或偶发性时,仅凭故障码难以判断故障发生前系统处于何种状态,也难以判断故障是由功率回路异常、采样异常、控制命令、驱动异常还是外部干扰引起。

3、fpga具有并行采样、高速判断和高速缓存控制能力,适合用于功率放大器的故障瞬态数据捕获。然而,仅依靠fpga片内ram保存录波数据时,缓存深度有限,难以兼顾多通道录波和较长时间故障前后数据追溯。若依赖上位机持续采集波形,则需要额外软件和通信资源,且当上位机未连接或通信中断时无法完成故障记录。

4、外部ddr存储器具有容量较大、带宽较高的特点,结合fpga内部mig控制接口可以实现较大数据量的录波存储。但是,故障录波不仅需要存储数据,还需要明确区分故障触发前数据和故障触发后数据。如果仍采用单一区域循环覆盖方式,在故障触发后继续写入可能覆盖故障前关键数据;如果直接停止录波,又无法记录故障后的保护动作和系统响应过程。

5、因此,有必要提供一种基于fpga、mig控制接口和外部ddr的故障录波方案,将故障前数据和故障后数据分区保存,并通过plc或hmi配置录波采样率,使现场人员能够根据故障复杂程度选择录波精度,从而提高故障追溯能力和维护效率。

技术实现思路

1、针对现有技术中振动台功率放大器故障发生后仅能显示故障码、难以追溯故障前后波形以及片内缓存深度有限的问题,本发明提供了一种基于fpga与外部ddr三级乒乓缓存的故障录波系统及方法,通过mig控制接口访问外部ddr,将ddr录波空间划分为三级缓存区,其中第一级缓存区和第二级缓存区用于乒乓交替保存故障前数据,第三级缓存区用于保存故障后数据,从而在故障触发后同时保留故障前运行状态和故障后保护响应过程。

2、为实现上述目的,本发明提供了一种基于fpga与外部ddr三级乒乓缓存的故障录波系统,包括:采样数据获取模块,用于获取被测设备运行过程中的关键数据,生成录波数据点;

3、外部ddr存储模块,将其录波存储空间划分为第一级缓存区、第二级缓存区和第三级缓存区,每一级缓存区用于存储预设数量为n个的录波数据点;

4、存储器控制接口模块,连接fpga内部录波逻辑与所述外部ddr存储模块,用于完成ddr初始化、校准、读写操作和地址映射;

5、三级缓存地址管理模块,用于管理所述第一级缓存区、第二级缓存区和第三级缓存区的地址映射与切换;

6、故障触发锁存模块,用于在检测到故障触发信号时,锁存当前正在写入的缓存区编号和当前写指针;

7、所述三级缓存地址管理模块分别与所述存储器控制接口模块和所述故障触发锁存模块连接,用于根据系统运行状态向所述存储器控制接口模块提供写地址,并向所述故障触发锁存模块输出当前缓存区编号和当前写指针;

8、后触发录波控制模块,用于在故障触发后切换ddr写地址至所述第三级缓存区,并从第三级缓存区起始地址开始写入故障触发后的录波数据点;

9、录波冻结模块,用于在所述第三级缓存区写满n个录波数据点后停止录波写入,冻结三级缓存区中的录波数据并生成录波完成标志;

10、系统正常运行时,所述fpga通过所述存储器控制接口模块将录波数据点在所述第一级缓存区和第二级缓存区之间乒乓交替写入;当检测到故障触发信号时,所述fpga停止第一级缓存区和第二级缓存区的覆盖写入并切换至第三级缓存区记录故障后的录波数据点。

11、作为本发明的进一步改进,还包括采样率配置模块,所述采样率配置模块用于接收外部配置的录波采样率参数,并根据所述录波采样率参数生成录波抽取节拍;所述录波采样率参数仅影响录波数据点写入所述外部ddr存储模块的频率,不影响fpga内部保护采样频率和控制算法运行频率。

12、作为本发明的进一步改进,所述第一级缓存区、第二级缓存区和第三级缓存区分别映射至所述外部ddr存储模块中互不重叠的连续ddr地址空间;所述第一级缓存区写满n个录波数据点后自动切换至第二级缓存区继续写入,第二级缓存区写满n个录波数据点后自动切换回第一级缓存区并覆盖旧数据。

13、作为本发明的进一步改进,所述故障触发锁存模块锁存的信息还包括故障码、故障通道、故障发生时刻、plc命令字、pwm状态、保护状态字和模块状态字中的一种或多种。

14、作为本发明的进一步改进,还包括ddr分页读取模块,所述ddr分页读取模块用于根据外部读取请求的页号从所述外部ddr存储模块中分页读取对应的录波数据,并映射至通信寄存器区;所述录波完成标志生成后,外部设备通过页号请求方式读取录波头信息、故障前录波数据点和故障后录波数据点。

15、作为本发明的进一步改进,所述录波数据点包括帧序号、输出电压采样值、输出电流采样值、母线电压采样值、模块温度采样值、pwm使能状态、fpga保护状态字、plc命令字和故障状态字中的多种。

16、本发明还提供了一种基于fpga与外部ddr三级乒乓缓存的故障录波方法,包括以下步骤:

17、将外部ddr存储模块中的录波存储空间划分为第一级缓存区、第二级缓存区和第三级缓存区,每一级缓存区用于存储预设数量为n个的录波数据点;

18、系统正常运行时,获取被测设备运行过程中的关键数据生成录波数据点,将录波数据点在所述第一级缓存区和第二级缓存区之间乒乓交替写入,持续保存故障触发前的实时采样数据;

19、当检测到故障触发信号时,锁存当前正在写入的缓存区编号和当前写指针,并停止所述第一级缓存区和第二级缓存区的覆盖写入;

20、切换ddr写地址至所述第三级缓存区,从第三级缓存区起始地址开始写入故障触发后的录波数据点;

21、当所述第三级缓存区写满n个录波数据点后,冻结全部三级缓存区中的录波数据并生成录波完成标志;

22、根据锁存的所述缓存区编号和当前写指针,从所述第一级缓存区和/或第二级缓存区中确定故障前n个录波数据点,从所述第三级缓存区中获取故障后n个录波数据点,拼接生成完整的故障前后波形数据。

23、作为本发明的进一步改进,所述确定故障前n个录波数据点的具体方法为:

24、设每一级缓存区容量为n个录波数据点,所述当前写指针write_addr表示当前缓存区中下一个待写入位置的地址,取值范围为0至n-1,缓存区编号cach_num=0代表第一级缓存区,cach_num=1代表第二级缓存区;

25、当故障触发时,若write_addr=0,则故障点位于当前缓存区起始位置,故障前n个录波数据点全部取自上一级缓存区;

26、若write_addr>0,则从上一级缓存区的第write_addr个位置开始读取至该缓存区末地址,再从当前缓存区的起始位置读取至第write_addr-1个位置,拼接为完整的故障前n个录波数据点。

27、作为本发明的进一步改进,还包括采样率配置步骤:接收外部配置的录波采样率参数,根据所述录波采样率参数对高速采样数据进行抽取,生成录波数据点;通过调整录波采样率参数,改变单级缓存区n个录波数据点对应的时间长度,以适配不同故障分析场景。

28、作为本发明的进一步改进,根据上述任一项所述的基于fpga与外部ddr三级乒乓缓存的故障录波方法,在振动台功率放大器故障录波中应用,获取被测设备运行过程中的所述关键数据,包括:获取振动台功率放大器的输出电压、输出电流、母线电压、模块温度、pwm使能状态、驱动反馈状态、保护状态字、故障状态字、plc命令字和模块通信状态中的一种或多种。

29、与现有技术相比,本发明的有益效果为:

30、本发明通过将外部ddr存储模块的录波空间划分为第一级、第二级和第三级三个独立缓存区,其中第一级和第二级缓存区在正常运行时乒乓交替写入以持续保存故障前数据,第三级缓存区专用于故障触发后的数据记录;同时,通过故障触发锁存模块在故障发生时锁存当前缓存区编号和写指针,并通过录波冻结模块在第三级缓存区写满后冻结全部三级缓存区并生成录波完成标志。由此,本发明克服了单一环形缓存方案“若继续写入则覆盖故障前数据、若立即冻结则无法记录故障后响应”的技术矛盾,确保故障前n点和故障后n点数据均被完整保留,为故障起因追溯和保护响应分析提供了完整的数据基础。

31、本发明通过在正常运行时执行第一级与第二级缓存区之间的乒乓写入、在故障触发时锁存缓存区编号和写指针并停止覆盖、切换至第三级缓存区记录故障后数据、以及根据锁存的缓存区编号和写指针拼接生成完整波形,形成了一套完整的故障录波与数据重构方法流程。无论故障触发时正在写入第一级还是第二级缓存区,也无论写指针处于缓存区的任意位置,该方法均能精确界定故障前n点数据的起始和结束边界,实现采样点级的波形拼接精度,避免了传统方案中跨边界读取时容易出现的重复、漏读或前后混叠问题。

32、本发明通过采样率配置模块接收外部配置的录波采样率参数,并根据该参数生成录波抽取节拍,且该参数仅影响录波数据点写入外部ddr存储模块的频率,不影响fpga内部保护采样频率和控制算法运行频率。由此,现场人员可根据故障复杂程度灵活选择录波采样率,对于持续时间较长或仅需观察趋势变化的故障,可选择较低采样率以增加单级缓存区对应的时间长度;对于变化较快或需要观察瞬态细节的故障,可选择较高采样率以提高波形分辨率。该特征使系统能够兼容从“长时间趋势分析”到“瞬态细节捕获”的多种故障诊断需求,显著提升了系统的场景适应性和现场维护效率。

33、本发明限定了第一级与第二级缓存区之间“写满n点后自动切换并覆盖旧数据”的乒乓切换机制,确保故障前始终保存最近2×n个录波数据点的完整历史窗口;并且进一步限定了基于缓存区编号cach_num和写指针write_addr的确定性拼接算法,通过明确的边界判定条件(write_addr=0时的全部取自上一级缓存区,write_addr>0时的“上一级write_addr至末地址+当前级0至write_addr-1”拼接规则),实现了故障前n点数据的无重叠、无遗漏、顺序连续的精确重构;还限定了故障触发时锁存的信息还包括故障码、故障通道、故障发生时刻、plc命令字、pwm状态、保护状态字和模块状态字中的一种或多种,为故障分析提供了丰富的辅助信息。上述特征的协同作用,使本发明在波形拼接精度、故障点定位准确性和故障诊断信息完整性方面均显著优于现有方案。