基于双DSP的热冗余CAN总线高容错性控制终端及容错控制方法转让专利

申请号 : CN201310060128.2

文献号 : CN103149907B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘晓胜海天翔张鹏宇朱宏林庞继伟徐殿国

申请人 : 哈尔滨工业大学

摘要 :

基于双DSP的热冗余CAN总线高容错性控制终端及容错控制方法,属于自动化控制领域,本发明为解决现有分布式控制系统内的控制终端大多采用冷备份,易造成控制失效、数据丢失和传输超时等问题;以及现有的容错机制不够完善的问题。本发明包括数模I/O板和双冗余DSP控制板,双冗余DSP控制板包括主DSP、从DSP、第一CAN收发模块、第二CAN收发模块、第三CAN收发模块和第四CAN收发模块,数模I/O板包括电源模块、ADC模块、第一RS232通信模块、第二RS232通信模块、CPLD、PWM模块和PWM滤波自检模块,主DSP和从DSP构成冗余,采用自检和互检两种方式解决控制器故障。

权利要求 :

1.基于双DSP的热冗余CAN总线高容错性控制终端的容错控制方法,所述双DSP的热冗余CAN总线高容错性控制终端包括数模I/O板和双冗余DSP控制板,双冗余DSP控制板包括主DSP(1)、从DSP(2)、第一CAN收发模块(3)、第二CAN收发模块(4)、第三CAN收发模块(5)、第四CAN收发模块(6)、开关量输入输出模块(14)、PWM调光驱动模块(15)、模拟量输入模块(16)和模拟量输入自检模块(17),数模I/O板包括电源模块(7)、ADC模块(8)、第一RS232通信模块(9)、第二RS232通信模块(10)、CPLD(11)、PWM模块(12)和PWM滤波自检模块(13),主DSP(1)和从DSP(2)之间通过SPI串行总线进行通信,

电源模块(7)的主电源电路和从电源电路为冗余备份结构,电源模块(7)为主DSP(1)和从DSP(2)供电;

ADC模块(8)与主DSP(1)之间通过第一过程总线连接,第一过程总线上还挂接第一CAN收发模块(3)、第三CAN收发模块(5)、第一RS232通信模块(9)、CPLD(11)和PWM模块(12);

开关量输入输出模块(14)的输入输出端与CPLD(11)的输入输出端相连;PWM调光驱动模块(15)的输入端与PWM模块(12)的输出端相连;模拟量输入模块(16)的输出端与ADC模块(8)的外部模拟量输入端相连,模拟量输入自检模块(17)的模拟量自检信号输出端与ADC模块(8)的模拟量自检信号输入端相连;

ADC模块(8)与从DSP(2)之间通过第二过程总线连接,第二过程总线上还挂接第二CAN收发模块(4)、第四CAN收发模块(6)、第二RS232通信模块(10)、CPLD(11)和PWM模块(12),PWM模块(12)的自检信号输出端与PWM滤波自检模块(13)的自检信号输入端相连,PWM滤波自检模块(13)的自检信号输出端与ADC模块(8)的PWM滤波自检信号模拟量输入端相连;

其特征在于,该方法包括以下步骤:

步骤A1、对主、从DSP进行任务同步及时钟校对;

步骤A2、启动初始化自检,并判断系统是否存在故障,

如果系统存在故障,执行步骤A6;如果系统不存在故障,执行步骤A3;

步骤A3、判断SPI互检信息是否相同,

如果相同,执行步骤A4;如果不同,执行步骤A5;

步骤A4、启动周期性自检,并判断系统是否存在故障,

如果系统存在故障,执行步骤A6;如果系统不存在故障,返回执行步骤A4;

步骤A5、按控制器切换机制输出数据,完成容错控制;

步骤A6、寻找并解决故障,完成容错控制。

2.根据权利要求1所述基于双DSP的热冗余CAN总线高容错性控制终端的容错控制方法,其特征在于,步骤A3中的SPI互检信息为:控制终端在正常运行模式下,主DSP(1)和从DSP(2)之间将通过高速的SPI总线核对彼此在运行中的关键控制信息,所述关键控制信息包括模量的采样值、CAN总线上收发的远程控制指令或采样数据、主DSP(1)和从DSP(2)运算的重要结果和预输出的数模量。

3.根据权利要求1所述基于双DSP的热冗余CAN总线高容错性控制终端的容错控制方法,其特征在于,步骤A5所述的控制器切换机制为:若各自独立同步运行的主DSP(1)和从DSP(2)之间的关键信息相同,则选择主DSP(1)对外部进行输出;

若主DSP(1)和从DSP(2)之间的关键信息不同,则主DSP(1)和从DSP(2)在规定的时间内进行重新采样计算、申请副本数据并核对彼此信息;

重新采样后,若主DSP(1)和从DSP(2)的关键信息仍不相同,则采用控制器故障自检方式,检测出故障源并应用切换机制,数据流通过无故障的控制通道进行输出,实现控制终端的容错控制。

说明书 :

基于双DSP的热冗余CAN总线高容错性控制终端及容错控

制方法

技术领域

[0001] 本发明涉及基于双DSP的热冗余CAN总线高容错性控制终端及容错控制方法,属于自动化控制领域。

背景技术

[0002] 在工业自动化领域里的大型化工、石化、冶金、电力等企业中,分布式控制系统内的控制终端对于系统的安全运行十分重要。在系统处于运行状态时,如果控制终端由于某些元部件故障而引发整体或局部的失效,或者因外部扰动而导致采样、运算和输出的不正确,将会造成非常严重的后果,尤其是对于航天、航空、能源和医疗卫生等安全关键领域(SCS)。所以,系统的控制终端须具备完善的冗余机制和较强的容错能力,从而在系统发生故障时立即发现与诊断故障,并可通过逻辑切换使系统在降级运行下仍然能够完成基本功能。然而,现有的控制终端却普遍存在下面2个问题:
[0003] 1、现有的冗余策略多采用冷备份的方案,即系统正常运行时,互为冗余的两组控制器内仅有一组(主控制器)处于工作状态。当系统出现故障时,再切换到备用一组(从控制器)。在这种方式下,故障检测及控制器间的切换往往不及时,必然导致系统自愈时间较长,易造成控制失效、数据丢失和传输超时等问题。
[0004] 2、现有的容错机制不够完善。在多数情况下,只能处理系统外电路的单一故障或组合故障,而无法解决因关键部件(CPU和电源模块)故障而引发的系统级失效。另外,检测手段不够全面,不能及时地发现、诊断和排除错误及故障,系统可信性较差,易导致更大事故的发生。

发明内容

[0005] 本发明目的是为了解决现有分布式控制系统内的控制终端大多采用冷备份,易造成控制失效、数据丢失和传输超时等问题;以及现有的容错机制不够完善的问题,提供了一种基于双DSP的热冗余CAN总线高容错性控制终端及容错控制方法。
[0006] 本发明所述基于双DSP的热冗余CAN总线高容错性控制终端,它包括数模I/O板和双冗余DSP控制板,
[0007] 双冗余DSP控制板包括主DSP、从DSP、第一CAN收发模块、第二CAN收发模块、第三CAN收发模块和第四CAN收发模块,
[0008] 数模I/O板包括电源模块、ADC模块、第一RS232通信模块、第二RS232通信模块、CPLD、PWM模块和PWM滤波自检模块,
[0009] 主DSP和从DSP之间通过SPI串行总线进行通信,
[0010] 电源模块的主电源电路和从电源电路为冗余备份结构,电源模块为主DSP和从DSP供电;
[0011] ADC模块与主DSP之间通过第一过程总线连接,第一过程总线上还挂接第一CAN收发模块、第三CAN收发模块、第一RS232通信模块、CPLD和PWM模块;
[0012] ADC模块与从DSP之间通过第二过程总线连接,第二过程总线上还挂接第二CAN收发模块、第四CAN收发模块、第二RS232通信模块、CPLD和PWM模块,PWM模块的自检信号输出端与PWM滤波自检模块的自检信号输入端相连,PWM滤波自检模块的自检信号输出端与ADC模块的PWM滤波自检信号模拟量输入端相连。
[0013] 还可以进一步包括开关量输入输出模块,开关量输入输出模块的输入输出端与CPLD的输入输出端相连。
[0014] 还可以进一步包括PWM调光驱动模块,PWM调光驱动模块的输入端与PWM模块的输出端相连。
[0015] 还可以进一步包括模拟量输入模块和模拟量输入自检模块,模拟量输入模块的输出端与ADC模块的外部模拟量输入端相连,模拟量输入自检模块的模拟量自检信号输出端与ADC模块的模拟量自检信号输入端相连。
[0016] 基于上述基于双DSP的热冗余CAN总线高容错性控制终端的容错控制方法包括以下步骤:
[0017] 步骤A1、对主、从DSP进行任务同步及时钟校对;
[0018] 步骤A2、启动初始化自检,并判断系统是否存在故障,
[0019] 如果系统存在故障,执行步骤A6;如果系统不存在故障,执行步骤A3;
[0020] 步骤A3、判断SPI互检信息是否相同,
[0021] 如果相同,执行步骤A4;如果不同,执行步骤A5;
[0022] 步骤A4、启动周期性自检,并判断系统是否存在故障,
[0023] 如果系统存在故障,执行步骤A6;如果系统不存在故障,返回执行步骤A4;
[0024] 步骤A5、按控制器切换机制输出数据,完成容错控制;
[0025] 步骤A6、寻找并解决故障,完成容错控制。
[0026] 本发明的优点:
[0027] (1)基于双DSP的热冗余CAN总线高容错性控制终端采用了双模热冗余的控制策略,通过控制器的系统级三层自检与互检,能够及时检测到控制终端故障,并在故障条件下,显著减小系统的控制中断与延时,全面提高系统的可靠性。
[0028] (2)基于双DSP的热冗余CAN高容错性控制终端采用了具有高精度、高速度和高可靠等特点的DSP作为系统的核心控制器,并且配备有丰富的外部接口,可与外界多种设备负载进行数据交换,能够广泛普适于工业控制系统中。
[0029] (3)基于双DSP的热冗余CAN高容错性控制终端采用双模热冗余CAN作为其通信链路,拥有强大的纠错能力及通用性,可满足工业控制系统的通信需求。
[0030] (4)基于双DSP的热冗余CAN高容错性控制终端采用双层的物理结构,体积小、结构简单、易于拆卸维修,可实现产品化。
[0031] 与其他现有产品对比:目前市面上没有类似的具有高容错性的产品。

附图说明

[0032] 图1是本发明所述基于双DSP的热冗余CAN总线高容错性控制终端的结构示意图;
[0033] 图2是基于双DSP的热冗余CAN总线高容错性控制终端的容错控制方法的流程图;
[0034] 图3是控制器切换机制的原理图;
[0035] 图4是具体实施方式六的结构示意图。

具体实施方式

[0036] 具体实施方式一:下面结合图1说明本实施方式,本实施方式所述基于双DSP的热冗余CAN总线高容错性控制终端,它包括数模I/O板和双冗余DSP控制板,[0037] 双冗余DSP控制板包括主DSP1、从DSP2、第一CAN收发模块3、第二CAN收发模块4、第三CAN收发模块5和第四CAN收发模块6,
[0038] 数模I/O板包括电源模块7、ADC模块8、第一RS232通信模块9、第二RS232通信模块10、CPLD11、PWM模块12和PWM滤波自检模块13,
[0039] 主DSP1和从DSP2之间通过SPI串行总线进行通信,
[0040] 电源模块7的主电源电路和从电源电路为冗余备份结构,电源模块7为主DSP1和从DSP2供电;
[0041] ADC模块8与主DSP1之间通过第一过程总线连接,第一过程总线上还挂接第一CAN收发模块3、第三CAN收发模块5、第一RS232通信模块9、CPLD11和PWM模块12;
[0042] ADC模块8与从DSP2之间通过第二过程总线连接,第二过程总线上还挂接第二CAN收发模块4、第四CAN收发模块6、第二RS232通信模块10、CPLD11和PWM模块12,PWM模块12的自检信号输出端与PWM滤波自检模块13的自检信号输入端相连,PWM滤波自检模块13的自检信号输出端与ADC模块8的PWM滤波自检信号模拟量输入端相连。
[0043] 本实施方式所述基于双DSP的热冗余CAN高容错性控制终端可以实现控制器的系统级热冗余。在正常工作时,两组控制器(主DSP1、从DSP2)及外电路均同时采样和收发数据,同步运算处理,相互间对比校验而取得一致后,再对外部设备进行控制输出。当主DSP1(或从DSP2)出现故障时,首先通过双DSP间的互监控发现故障,然后启动控制器自检测来定位故障,最后合理地进行控制输出通道或传输链路间的切换。由于系统采用双DSP同时运行的热冗余结构,从而使系统不存在任何的自愈时间,通信及控制不致中断。
[0044] 本实施方式所述基于双DSP的热冗余CAN总线高容错性控制终端采用双模冗余CAN总线作为通信链路,传输性能较好、低成本并兼具有良好的灵活性。两路CAN总线互为备份,通过传输过程中的数据整形、调度控制和冗余管理算法,极大地提高了系统远程控制的可靠性。
[0045] 本实施方式所述基于双DSP的热冗余CAN高容错性控制终端拥有高速的处理器和丰富的外部接口。DSP作为系统的数字信号处理器,拥有高速度、高精度的运算能力及丰富的外设资源。DSP+CAN结构能够有效提高系统的整体性能与容错能力,并可与外界多种设备进行数据交换,其具有简便、可拆装的物理结构,可真正应用于工业控制系统当中。
[0046] 基于双DSP的热冗余CAN高容错性控制终端采用了双层的物理结构。将两个互为冗余的DSP控制板叠置于数模I/O板上,以焊针相互连接。两块DSP控制板在空间上是上下关系。这样精巧、简便的设计,极大地缩小了终端系统的体积,并可在DSP板出现故障时将其取下,换上无故障的DSP板,从而完成易拆卸组装与更换维护。
[0047] 双冗余DSP控制板:用于运算控制与CAN总线收发,由两个DSP及其最小系统、4路CAN收发器组成。主DSP1和从DSP2之间通过SPI串行总线连接,实现相互间的信息交换、状态监视和数据备份。
[0048] 数模I/O板:用于数字信号的预处理,模拟信号的调理、PWM调光驱动、各类通信接口与功能自检等,包括6大功能模块,详细说明如下:
[0049] (1)电源模块7
[0050] 电源模块7采用冗余备份的策略,即系统正常工作时,两路电源分别独立地为两个DSP控制板供电,其中主电源还承担着为数模I/O板上各模块供电的任务。当主电源出现故障而不能正常供电时,通过电源切换电路立刻切换到从电源上来,以保证供电的不间断性。从电源故障同理。
[0051] (2)模拟信号调理模块
[0052] 模拟信号调理模块即ADC模块8,能够完成对多路模拟信号的实时采集与处理。采集后的模拟量同时传送给两个DSP,在DSP内部A/D模块内进行模/数量的转换。
[0053] (3)开关量输入输出模块14
[0054] 由于工业控制系统中控制器需要控制的I/O口数量较多,而DSP对应的I/O管脚在数量上不能满足要求,故采用一个CPLD来扩展控制器的I/O引脚。在离散开关量输入时,由CPLD采样去抖、以中断的形式同时传送给两个DSP模块。而在离散开关量输出时,CPLD用于双冗余通道间的比较、输出与切换控制。
[0055] (4)串口模块
[0056] 串口模块包括第一RS232通信模块9和第二RS232通信模块10,用于控制终端与用户计算机或触摸液晶屏等外部上位机设备的通信,实现将控制终端内模拟信号、数字信号、故障警报及设备状态信息等实时地传输到用户计算机或外部设备,并接收用户的各种操作指令。
[0057] (5)PWM模块12
[0058] PWM模块12可用于对电子仪表中步进电机的控制、并对工业照明设备进行调光等。在本发明中,两个DSP均输出PWM波,通过相应门电路及模拟开关的使能,进行主从选通控制,保证每一时刻仅有一路正确的PWM波输出。
[0059] (6)自检电路
[0060] 控制终端内各功能模块都有其附属的自检电路,其功能是配合控制器完成其对于控制器及外电路功能的检验,包括模拟信号采集处理、PWM输出、离散开关量输入输出等自检。
[0061] 具体实施方式二:本实施方式对实施方式一作进一步说明,它还包括开关量输入输出模块14,开关量输入输出模块14的输入输出端与CPLD11的输入输出端相连。
[0062] 具体实施方式三:本实施方式对实施方式一或二作进一步说明,它还包括PWM调光驱动模块15,PWM调光驱动模块15的输入端与PWM模块12的输出端相连。
[0063] 具体实施方式四:本实施方式对实施方式一、二或三作进一步说明,它还包括模拟量输入模块16和模拟量输入自检模块17,模拟量输入模块16的输出端与ADC模块8的外部模拟量输入端相连,模拟量输入自检模块17的模拟量自检信号输出端与ADC模块8的模拟量自检信号输入端相连。
[0064] 具体实施方式五:下面结合图1至图3说明本实施方式,实现本实施方式四所述基于双DSP的热冗余CAN总线高容错性控制终端的容错控制方法包括以下步骤:
[0065] 步骤A1、对主、从DSP进行任务同步及时钟校对;
[0066] 步骤A2、启动初始化自检,并判断系统是否存在故障,
[0067] 如果系统存在故障,执行步骤A6;如果系统不存在故障,执行步骤A3;
[0068] 步骤A3、判断SPI互检信息是否相同,
[0069] 如果相同,执行步骤A4;如果不同,执行步骤A5;
[0070] 步骤A4、启动周期性自检,并判断系统是否存在故障,
[0071] 如果系统存在故障,执行步骤A6;如果系统不存在故障,返回执行步骤A4;
[0072] 步骤A5、按控制器切换机制输出数据,完成容错控制;
[0073] 步骤A6、寻找并解决故障,完成容错控制。
[0074] 步骤A3中的SPI互检信息为:控制终端在正常运行模式下,主DSP1和从DSP2之间将通过高速的SPI总线核对彼此在运行中的关键控制信息,所述关键控制信息包括模量的采样值、CAN总线上收发的远程控制指令或采样数据、主DSP1和从DSP2运算的重要结果和预输出的数模量。
[0075] 步骤A5所述的控制器切换机制为:
[0076] 若各自独立同步运行的主DSP1和从DSP2之间的关键信息相同,则选择主DSP1对外部进行输出;
[0077] 若主DSP1和从DSP2之间的关键信息不同,则主DSP1和从DSP2在规定的时间内进行重新采样计算、申请副本数据并核对彼此信息;所述规定时间由用户自定义,可以为1s、2s或其它时间。
[0078] 重新采样后,若主DSP1和从DSP2的关键信息仍不相同,则采用控制器故障自检方式,检测出故障源并应用切换机制,数据流通过无故障的控制通道进行输出,实现控制终端的容错控制。
[0079] 客观上,工业控制系统中任何部件故障均可能造成其控制的失效,严重时甚至会酿成重大事故。而控制器又是系统最关键的部件,理论上不允许其中一个或多个模块的故障而失效。本发明应用一定的控制故障诊断与容错控制技术,针对控制器可能出现的故障,采用自检和互检两种检测诊断方式,基于先进的双模系统级热冗余结构,在出现故障时能够对控制器进行切换,从而全面提高控制终端的可靠性。
[0080] (1)控制器自检
[0081] 主、从控制器采用3层自检机制,包括运行初始化自检、周期性自检及事件触发性自检。
[0082] 初始化自检:系统开始运行后,首先对主、从DSP进行任务同步及时钟校对,确保系统中所有组件同时投入运行。任务同步后,主、从DSP进行初步的自检(如离散量或模拟量的采样),判断刚投入运行的系统是否存在故障。若存在,则提示用户在系统掉电停止运行的状态下排除故障,待故障解决后再投入工作。在初始化自检无误,则控制终端进入正常运行模式。
[0083] 周期性自检:主、从DSP仍会在系统正常运行的过程中分别进行周期性自检,即每隔一段时间进行信号采样,若检测到故障,则同初始化自检,提示掉电排除故障。
[0084] 事件触发性自检:
[0085] 当系统互检过程中发现故障时,控制器将启动自检以诊断故障源,这种自检是由随机事件触发的,所以称作事件触发性自检。例如,主、从DSP通过SPI核对运算输出量,若多次互检的结果仍不一致,则由主、从DSP分别启动自检,找出故障源。主、从DSP的3层自检机制流程如图2所示。
[0086] (2)控制器互检与切换
[0087] 控制终端在正常运行模式下,内部的主、从DSP间将通过高速的SPI总线核对彼此在运行中的关键控制信息。所谓关键控制信息是指数模量的采样值、CAN总线上收发的远程控制指令或采样数据、CPU运算中的重要结果和预输出的数模量等。若各自独立同步运行的主、从DSP之间的关键信息相同,则选择主DSP1对外部进行输出。若彼此的关键信息不同,则主、从DSP在规定的时间内进行重新采样计算、申请副本数据并核对彼此信息。在规定的时间内若彼此的信息仍不相同,则采用上文提到的控制器故障自检方式,检测出故障源并应用切换机制,数据流通过无故障的控制通道进行输出。下面通过控制器互检与切换机制,实现控制终端的容错控制,如图3所示。
[0088] 如图3所示,主、从控制器同时接收外部的数/模量输入。二者经过独立的运算处理,均输出相应的控制量,分别记为输出通道A与输出通道B,并送至比较器进行比较。当二者输出的控制量不同,比较器向主从控制器发出反馈信号,提示主、从DSP开启故障自检并通过SPI总线实时核对彼此信息,若二者信息相同,则控制量由主控制器输出通道(默认通道)输出。若多次核对信息仍不相同,则通过故障自检判断是哪一个控制器出现故障,并提示控制器输出相应的选通信号。选通电路接收来自控制器的选通信号,通过相应门电路及模拟开关使能,将输出通道切换至无故障控制器通道,输出相应的控制量,从而实现控制器的互检、切换功能。
[0089] 具体实施方式六:下面结合图4给出一个具体实施例。本发明所述基于双DSP的热冗余CAN总线高容错性控制终端应用于小型商用支线飞机的航空电子系统中,可以有效地保证驾驶舱系统的正常运行,避免事故的发生。如图4所示。数模I/O板和双冗余DSP控制板组成一个控制终端,作为航空电子系统主控制终端,与其它控制终端用双冗余CAN总线连接。主控制终端嵌入于座舱控制系统内,与上位机、显示/操作面板进行连接,辅助驾驶员有效地掌握飞行控制信息与监管各类机载电子设备。从控制终端分布式嵌入于航电子系统中,实现对本地电子设备的监管,驱动各类电气负载,完成数字/模拟信号的采集与输出。主控制终端与从控制终端间通过双模热冗余的CAN总线(ARINC825总线)互联,实现数据的共享与控制命令的传输。本发明提出的基于双DSP的热冗余CAN高容错性控制终端。