基于FPGA模拟量输入装置通道的自诊断系统和方法与流程

文档序号:12747421阅读:334来源:国知局
基于FPGA模拟量输入装置通道的自诊断系统和方法与流程

本发明涉及FPGA的技术领域,尤其涉及一种基于FPGA模拟量输入通道的自诊断系统和方法。



背景技术:

FPGA(Field-Programmable Gate Array)现场可编程逻辑门阵列,一种硬件可编程集成电路。

模拟量输入装置是核电站分布式控制系统中必不可少的部分,它主要负责对来自现场的外部传感器信号进行采集。模拟量输入装置除了对传感器的信号进行采集时要求高精度外,由于其工作环境的特殊性,容易受到外界干扰等因素,对模拟量输入装置可靠性的提高已经迫在眉睫,高可靠性设计已经成为核电站模拟量输入装置中至关重要的部分。

目前实现模拟量输入装置自诊断方法已经有研究,南京航空航天大学的陈欣和杨春松提出的《一种飞行控制计算机模拟量单元的自检测方法》已经表述了其实现自检测的原理及过程。其设计原理是通过一个使能信号选通采集模拟量信号和自检测信号。其中,外部模拟量信号连接到一组的16路输入,该组16路采集外部模拟量信号;另一组16路输入连接到模拟量单元的模拟量输出通道,该组16路采集自检测信号;模拟量单元中包括16选1多路开关,所述多路开关组合的16路输出接到模拟量单元输入通道的16选1多路开关上。通过多路开关的切换,实现采集外部模拟量和自检测功能的切换。

但是上述方法采用轮询的方式,自诊断速度慢;由于轮询方式本身存在的缺陷,导致自诊断过程严格意义上不具备实时性;数据处理与工业现场未实现隔离。



技术实现要素:

为了解决轮询的自诊断方式速度慢,时间成本高;需要等待全通道检测完成后才进行正常采集工作,此时对除最后一个自诊断通道外,其余自诊断通道都不具备实时性;由于工业现场环境恶劣可能会对处理器造成影响等问题。本发明提供了一种基于FPGA模拟量输入装置通道的自诊断系统和方法,通过并行自诊断方法提升自诊断速度,保证进行自诊断操作时具备实时性,隔离了现场与数据处理部分,保证电气隔离,提升安全性。

为了实现上述目的,本发明提供的技术方案包括:

一种基于FPGA模拟量输入装置通道的自诊断系统,与模拟量输入装置相连,包括FPGA处理单元、采集AD通道、自诊断DA通道和隔离单元;FPGA处理单元分别与采集AD通道、自诊断DA通道相连,采集AD通道包括依次相连的模拟开关、A/D转换器和隔离单元;自诊断DA通道包括D/A转换器和隔离单元;

所述FPGA处理单元包括输入输出比较缓存区,对各通道采集的数据进行同时比较;还用于控制模拟开关及发送标准码值给自诊断DA通道;

所述采集AD通道接收模拟量输入装置采集到现场传感器信号或者自诊断信号,并转换为数字量信号并传递给FPGA处理单元进行处理;

所述自诊断DA通道用于接收自诊断数据,并进行数模转换,提供标准参考电流;

所述模拟开关用于完成自诊断信号和外部传感器信号的切换;

所述隔离单元用于保护FPGA处理单元不会因现场高压影响其正常工作,现场设备故障时仍能保证FPGA处理单元正常工作。

进一步,所述DA通道包括驱动调理电路,用于驱动多路DA通道输出电流。

一种基于FPGA模拟量输入装置通道的自诊断系统的自诊断方法,包括以下步骤:

步骤一:在每个通讯周期内,模拟量输入装置会接到要求发送数据请求,在请求内FPGA处理单元内部缓存区存储一包通道数据及通道状态通过网络回复请求;

步骤二:模拟量输入装置利用通讯周期间隙,判断自身能否进行自诊断操作;

步骤三:当进行自诊断操作时,首先通过FPGA处理单元控制各通道的模拟开关同时切至采集诊断模拟量信号状态,并发送标准码值到D/A转换器,采集AD通道经过A/D转换器采集数据后,将采集数据分别与发送标准码值进行对比,判断自诊断DA通路是否工作正常。

进一步,所述步骤三中,FPGA处理单元判断自诊断DA通路是否工作正常,若误差超范围,则置通道故障标志,在下一包采集外部信号时将此故障标志位与通道数据一起上传网络,以示此通道采集数据无效,环回自诊断不通过。

进一步,所述步骤三中,FPGA处理单元判断自诊断DA通路是否工作正常,若误差在允许范围内,则发送的标准码值自动加1,继续判断是否进行环回自诊断操作,以此往复,直至发送标准码值加至全码值后,从0开始重新诊断。

本发明的有益效果如下:

(1)快速,并行实现16路模拟量采集通道自诊断,减少时间成本。

(2)可靠性高,全通道全码值同时并行检测,进行自诊断操作时输入装置所有通道不采集现场外部信号。

(3)电气安全性高,数据处理功能与输入装置通道部分实现电气隔离。

附图说明

图1为本发明系统结构示意图

图2为本发明自诊断方法流程图。

具体实施方式

以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,这些具体的说明只是让本领域普通技术人员更加容易、清晰理解本发明,而非对本发明的限定性解释;并且只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。

下面通过附图和具体实施例,对本发明的技术方案进行详细描述:

FPGA是并行处理器件,本发明虽然内部进行并行处理,但是外部的多选一模拟开关导致了整个检测过程仍是串行进行的,本设计方法配合FPGA并行处理机制,将外部检测电路设计为并行处理,节约自检时间的同时提高了通道可靠性。

多路模拟量输入通道利用网络不进行数据请求时间间隙并行实现自诊断硬件设计;自诊断逻辑在FPGA处理单元内部设置输入输出比较缓存区,对多通道采集数据进行同时比较;各通道与FPGA处理单元之间采用隔离方式保护处理电路不受现场影响。

本发明的一种基于FPGA的模拟量输入装置通道快速自诊断方法利用模拟量输入装置采集电压和通过网络上报采集值的时间间隙对模拟量采集通道进行并行自诊断操作。该自诊断方法包括FPGA与AD隔离通信接口电路,模拟量采集通道,环回自诊断通道以及采用FPGA作为主处理器的最小系统等。此方法在保证模拟量通道采集值正确的前提下,大大削短了自诊断时间,保证了数据采集的准确性、实时性及有效性。

如图1所示,基于FPGA模拟量输入装置通道的自诊断系统,与模拟量输入装置相连,包括FPGA处理单元、两路采集AD通道(图中只包含2个通道,其余通道处理方式一致)、自诊断DA通道和磁耦隔离单元;FPGA处理单元分别与采集AD通道、自诊断DA通道相连。

每路采集AD通道包括依次相连的二选一模拟开关、A/D转换器和隔离单元;自诊断DA通道包括D/A转换器和磁耦隔离单元。

FPGA处理单元包括输入输出比较缓存区,对各通道采集的数据进行同时比较;还直接与二选一模拟开关相连,控制模拟开关并发送标准码值给自诊断DA通道;

两路采集AD通道分别与调理电路1、2相连,接收模拟量输入装置采集到现场传感器信号或者自诊断信号,并转换为数字量信号并传递给FPGA处理单元进行处理;

自诊断DA通道用于接收自诊断数据,并进行数模转换,提供标准参考电流;

模拟开关用于完成自诊断信号和外部传感器信号的切换;

隔离单元用于保护FPGA处理单元不会因现场高压影响其正常工作,现场设备故障时仍能保证FPGA处理单元正常工作。

AD采集过程:模拟量输入装置采集到现场传感器信号或者自诊断信号,将其送至A/D转换器转换为数字量信号传递给FPGA处理单元进行处理。

自诊断过程:FPGA处理单元将SW_CTRL信号(此信号为高电平时执行通道采集,该信号为低电平时执行自诊断操作)拉低,此时二选一模拟开关完成自诊断信号和外部传感器信号切换的功能,同时FPGA处理单元将标准码值依次发送至D/A转换器,由于D/A转换器驱动能力有限,在D/A后端增加驱动调理电路,将每一路自诊断DA通道输出接到两路二选一模拟开关的输入上。FPGA处理单元设置缓冲区观察发送码值与接收码值误差是否满足要求。

数据处理(即FPGA处理单元)与通道部分隔离采用磁耦隔离器(即隔离单元)提供保障。

一种基于FPGA模拟量输入装置通道的自诊断系统的自诊断方法,包括以下步骤:

步骤一:在每个通讯周期内,模拟量输入装置会接到要求发送数据请求,在请求内FPGA处理单元内部缓存区存储一包通道数据及通道状态通过网络回复请求。主处理单元装置(主要完成对各个输入或者输出装置进行配置、数据调度及处理等工作)通过通讯总线在每个通讯周期(主处理单元装置一般会每隔一段时间向输入或者输出装置进行索取数据或者发出指令等操作,这段时间称为通讯周期,一般可以进行设置如:20ms~100ms可配)会向模拟量输入装置发送数据请求,在请求内FPGA处理单元内部缓存区存储一包通道数据及通道状态通过网络回复给主处理单元装置;该一包通道数据及通道状态信息,是模拟量输入装置采集到现场传感器信号或者自诊断信号,将其送至A/D转换器转换为数字量信号传递给FPGA处理单元进行处理的。

步骤二:模拟量输入装置利用通讯周期的间隙,判断自身能否进行自诊断操作;

步骤三:当进行自诊断操作时,首先通过FPGA处理单元控制各通道的模拟开关同时切至采集诊断模拟量信号状态,并发送标准码值到D/A转换器,采集AD通道经过A/D转换器采集数据后,将采集数据分别与发送标准码值进行对比,判断自诊断DA通路是否工作正常。

如图2所示,主处理单元装置通过上层网络每个通讯周期会向模拟量输入装置发送数据请求,在通讯请求内FPGA内部缓存区存有一包通道数据及通道状态通过网络回复给主处理单元装置。模拟量输入装置利用通讯周期的间隙,判断自身能否进行自诊断操作。当进行自诊断操作时,首先通过FPGA编程控制二选一模拟开关同时切至采集诊断模拟量信号,并发送标准码值0至8个到D/A转换器,通道采集电路经过A/D采集后,将采集数据分别与发送标准码值进行对比,判断自诊断A/D通路是否工作正常,若误差超范围,则置通道故障标志,在下一包采集外部信号时将此故障标志位与通道数据一起上传网络,以示此通道采集数据无效,环回自诊断不通过,若误差在允许范围内,则发送的标准码值自动加1,继续判断是否进行环回自诊断操作,以此往复,直至发送标准码值加至全码值后,从0开始重新诊断。

在整个诊断过程中由于不需要进行轮询判断,同时开关不需要反复拨动,并行诊断时间相比与轮询的诊断处理方式至少提高(1/通道数)倍。

主处理单元装置通过上层网络每个通讯周期会向模拟量输入装置发送数据请求,在通讯请求内FPGA内部缓存区存有一包通道数据及通道状态通过网络回复给主处理单元装置。模拟量输入装置利用网络通讯周期的间隙,判断自身能否进行自诊断操作。当进行自诊断操作时切换模拟开关选通自诊断信号。按照当前实际设计,其中模拟量采集通道为16路,选用16位AD(全码值范围0-65535),选用12位D/A,网络通讯周期为20ms,即每隔20ms网络会向模拟量输入装置发送一次数据请求,二选一模拟开关稳定时间为200us,设置AD采样率为1KSPS,DA建立时间12us(由FPGA输出至调理电路与模拟开关接口约为1ms),采用全通道全码值(16通道0-65535)每周期可诊断8个码值,共需要8192个周期,全部诊断完成需要8192*20ms=163.84s,若采用以往的轮询的方式自诊断16通道全码值则至少需要163.84*16=2621.44s。同时可根据实际需要调整AD采样率及通信周期来缩短自诊断时间。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1