一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

N倍冗余控制系统的架构和方法与流程

2021-10-09 00:30:00 来源:中国专利 TAG:控制系统 冗余 架构 方法 电力

n倍冗余控制系统的架构和方法
技术领域
1.本发明涉及电力控制系统技术,尤其涉及了n倍冗余控制系统的架构和方法。


背景技术:

2.目前技术的控制系统,安全级别不能很好地达到国际标准iso26262中描述的asil

d规格或航空工业标准do

254中的dal

a规格,尤其在电力控制系统中。
3.例如专利名称:专利申请号:cn201210294539.3;专利申请日:2012

08

17,专利申请记载了,抗辐照的三模冗余电路结构,将电路的组合逻辑电路和时序逻辑电路都复制为三份,在三个时序逻辑电路之后添加表决器,让电路的每段路径都变成三份。另外在每段路径中都添加表决器,希望通过冗余路径和表决器所组成的结构,将单粒子故障消除在每级路径中。本发明的优点是:利用冗余的模块去屏蔽已发生故障对整个电路的影响。
4.例如专利名称:冗余阵列的控制装置,专利申请号:us10513826,专利申请日:2003

08

30,专利申请公开了一种具有多个控制装置的控制装置的阵列,其通过第一数据总线在运输工具中互连,控制装置具有关于提供的控制功能的冗余配置,并且在每种情况下都将数据总线隔离开关分配给具有冗余配置的控制设备,数据总线隔离根据评估信号连接或断开数据总线的开关。为了优化冗余阵列,这些数据总线隔离开关中的每一个连接到至少一个另外的冗余控制装置的信号线,另外的冗余控制装置将评估信号发送到分配给第一冗余控制装置的数据总线隔离开关。
5.现有技术的设计中不能进行自我诊断,当mcu出现故障时,不能很好地做到同步切换;在mcu出现故障时不能自动进行切换。且现有技术设计的冗余控制系统安全级别低。


技术实现要素:

6.本发明针对现有技术中不能进行自我诊断,当mcu出现故障时,不能很好地做到同步切换;在mcu出现故障时不能自动进行切换;且冗余控制系统安全级别低的缺点,提供了一种n倍冗余控制系统的架构和方法。
7.为了解决上述技术问题,本发明通过下述技术方案得以解决:
8.n倍冗余控制系统的架构,包括动力控制模块,动力控制模块包括电源管理模块、mcu处理模块和电气隔离模块;电源管理模块提供电源至mcu处理模块,mcu处理模块通过can总线与电气隔离模块连接;其特征在于,动力控制模块至少为3组,任意2组mcu处理模块相互之间通过同步总线连接。动力控制模块至少为三组,能够提高控制系统的安全性能,其每小时发生危险故障概率至小于10
‑9。
9.作为优选,mcu处理模块包括安全检查模块,安全检查模块发送安全状态信号至电气隔离模块。通过安全检查模块实时的检测检查mcu处理模块的状态。
10.作为优选,安全检查模块包括第一诊断模块、第二诊断模块和故障处理模块;第一诊断模块发送成功信号至第二诊断模块,失败信号至故障处理模块;第二诊断模块发送成功信号至第二诊断模块,失败信号至故障处理模。
11.作为优选,第二诊断模块包括mcu处理模块状态比较模块、系统时钟诊断模块、内存ecc校验模块、系统指令及数据总线诊断模块、mcu外设数据校验模块。
12.作为优选,mcu处理模块为双锁步处理模块。mcu处理模块为双锁步处理模块;mcu处理模块具有自我诊断功能,在n个mcu处理模块中只有一个mcu处理模块处于active状态并输出控制命令和参数至下级控制器,其他mcu处理模块处于passive状态作为activemcu的备选,在当前active处理模块出现故障后,通过竞争和状态切换而成为替代active处理模块。
13.作为优选,还包括故障确认模块,故障确认模块与can总线连接;故障确认模块包括故障可操作性电机控制器、故障可操作性主控制器和故障可操作性传感器;故障可操作性传感器将传感器信号传送至软件投票比较器,故障可操作性主控制器依据软件投票比较器对信号进行比较输出信号至故障可操作性电机控制器;故障可操作性电机控制器包括电机控制器、fpga投票比较器和电机驱动器;电机控制器设有电机控制器a,电机控制器b和电机控制器c;a、b和c电机比较器将电机饶子电压传送至fpga投票比较器,fpga投票比较器确认输出的电机饶子电压,并输出pwm信号至电机驱动器。
14.n倍冗余控制系统的方法,由n倍冗余控制系统的架构构成,其方法为,
15.初始化,系统上电,上电后执行mcu诊断;
16.mcu诊断,检查mcu在线诊断状态,状态好则执行监视can总线,否则进行故障后系统恢复;
17.监视can总线,通过监视can总线判断是否有active状态的mcu正常工作,有的话则继续监视can总线,否则进入广播申请报文;
18.广播申请报文,在can总线上进行广播申请报文,并监视是否从其他的mcu接收申请报文,是的话则进入passive状态,进行mcu诊断,否则进入mcu状态确定;
19.mcu状态确定,通过can总线周期性发送计算结果,并确定mcu状态为active状态,并进入active状态mcu诊断;
20.active状态mcu诊断,检查mcu在线诊断状态,状态好则继续执行active状态mcu在线诊断状态,否则进行故障后系统恢复。
21.作为优选,故障后系统恢复过程包括,
22.软件系统重置,进入故障后系统恢复状态,则将该mcu从can总线上隔离,进行mcu状态判断;
23.mcu状态判断,状态良好则通过同步数据总线接收来自active状态mcu处的系统最新状态变量数值,并进入状态变量数值的判断;否则进行故障恢复重试次数判断;
24.故障恢复重试次数判断,故障恢复重试次数超标则重新进行软件系统重置,否则进入系统失效状态;
25.状态变量数值的判断,在指定时间窗口内接受到系统最新状态变量数值,则用接收到的系统状态变量数值来初始化mcu的系统变量,否则,用默认值初始化mcu的系统变量;
26.进入passive状态。
27.作为优选,同步总线实现数据同步的过程包括,
28.双向通信测量passive状态mcu和active状态mcu的时钟漂移;
29.在passive mcu端测量时钟漂移,mcu可以调整压控震荡器的输入电压,改变输入
时钟频率fosc;同步本地时钟设置定时器。
30.作为优选,时钟漂移量为o,
31.o=tp

ta=(t1’‑
t1‑
t2’
t2)/2
32.其中,t1和t2为active状态mcu的时间戳,t1’
和t2’
为passive状态mcu的时间戳。
33.本发明由于采用了以上技术方案,具有显著的技术效果:通过动力控制模块至少为三组,能够提高控制系统的安全性能,其每小时发生危险故障概率至小于10
‑9。设计的控制系统可用于交通车辆,工业自动化,航空器,或其它需要高度可靠性与安全性的控制器中。本发明设计的系统中mcu采用时钟锁步技术,具有自我诊断功能;仅一个mcu工作在master模式;输出系统结果。一旦master mcu发生故障,通过特定切换逻辑新的mcu成为master模式。
34.本发明的设计基于微处理器(mcu)复杂的系统,而且每个mcu具有自我诊断功能。在本发明的三倍冗余实施方案中,多数表决器具有使用mcu自我诊断输出结果,不会采用故障mcu的输出,从而在故障发生时更具有安全性。采用异步时序并具有自我时钟同步功能,在任务层面进行表决。
附图说明
35.图1是本发明的系统架构图。
36.图2是本发明的控制电路图。
37.图3是本发明系统重置流程图。
38.图4是本发明can总线收发流程图。
39.图5是本发明can总线接收流程图。
40.图6是本发明can总线发送流程图。
41.图7是本发明控制系统工作流程图。
42.图8是本发明安全检查模块工作流程图。
43.图9是本发明系统恢复流程图。
44.图10是本发明本地时钟设置定时器流程图。
45.图11是本发明的实施例5的架构图。
46.图12是本发明的实施例5的系统图。
具体实施方式
47.下面结合附图与实施例对本发明作进一步详细描述。
48.实施例1
49.n倍冗余控制系统的架构,包括动力控制模块,动力控制模块包括电源管理模块、mcu处理模块和电气隔离模块;电源管理模块提供电源至mcu处理模块,mcu处理模块通过can总线与电气隔离模块连接;其特征在于,动力控制模块至少为3组,任意2组mcu处理模块相互之间通过同步总线连接。动力控制模块至少为三组,能够提高控制系统的安全性能,其每小时发生危险故障概率至小于10
‑9。
50.mcu处理模块包括安全检查模块,安全检查模块发送安全状态信号至电气隔离模块。通过安全检查模块实时的检测检查mcu处理模块的状态。
51.mcu处理模块为双锁步处理模块;mcu处理模块具有自我诊断功能,在n个mcu处理模块中只有一个mcu处理模块处于active状态并输出控制命令和参数至下级控制器,其他mcu处理模块处于passive状态作为activemcu的备选,在当前active处理模块出现故障后,通过竞争和状态切换而成为替代active处理模块
52.安全检查模块包括第一诊断模块、第二诊断模块和故障处理模块;第一诊断模块发送成功信号至第二诊断模块,失败信号至故障处理模块;第二诊断模块发送成功信号至第二诊断模块,失败信号至故障处理模。
53.第二诊断模块包括mcu处理模块状态比较模块、系统时钟诊断模块、内存ecc校验模块、系统指令及数据总线诊断模块、mcu外设数据校验模块。
54.实施例2
55.基于实施例1的n倍冗余控制系统的架构构成,实现n倍冗余控制系统的方法,包括,
56.初始化,系统上电,上电后执行mcu诊断;
57.mcu诊断,检查mcu在线诊断状态,状态好则执行监视can总线,否则进行故障后系统恢复;
58.监视can总线,通过监视can总线判断是否有active状态的mcu正常工作,有的话则继续监视can总线,否则进入广播申请报文;
59.广播申请报文,在can总线上进行广播申请报文,并监视是否从其他的mcu接收申请报文,是的话则进入passive状态,进行mcu诊断,否则进入mcu状态确定;
60.mcu状态确定,通过can总线周期性发送计算结果,并确定mcu状态为active状态,并进入active状态mcu诊断;
61.active状态mcu诊断,检查mcu在线诊断状态,状态好则继续执行active状态mcu在线诊断状态,否则进行故障后系统恢复。
62.故障后系统恢复过程包括,
63.软件系统重置,进入故障后系统恢复状态,则将该mcu从can总线上隔离,进行mcu状态判断;
64.mcu状态判断,状态良好则通过同步数据总线接收来自active状态mcu处的系统最新状态变量数值,并进入状态变量数值的判断;否则进行故障恢复重试次数判断;
65.故障恢复重试次数判断,故障恢复重试次数超标则重新进行软件系统重置,否则进入系统失效状态;
66.状态变量数值的判断,在指定时间窗口内接受到系统最新状态变量数值,则用接收到的系统状态变量数值来初始化mcu的系统变量,否则,用默认值初始化mcu的系统变量;
67.进入passive状态。
68.同步总线实现数据同步的过程包括,
69.双向通信测量passive状态mcu和active状态mcu的时钟漂移;
70.在passive mcu端测量时钟漂移,mcu可以调整压控震荡器的输入电压,改变输入时钟频率fosc;同步本地时钟设置定时器。
71.时钟漂移量为o,
72.o=tp

ta=(t1’‑
t1‑
t2’
t2)/2
73.其中,t1和t2为active状态mcu的时间戳,t1’
和t2’
为passive状态mcu的时间戳。
74.实施例3
75.在上述实施例基础上,n倍冗余控制系统的电源管理模块,其输入端为基于二极管的多路电源输入;电源管理模块的nmr为软件重置申请,nreset为硬件重置申请,均与mcu的nmr和nreset连接;mcu模块中的nactivecan连接can总线请求,nerror为mcu系统故障事件;enable引脚为有效高电平,在nerror无效而且nactivecan请求有效条件下,电气隔离器联通mcu和can总线。
76.系统重置电路的过程包括,是否接收到加电系统重置申请,是的话则进行设置mcu电源管理模块引脚nreset为有效低电平,即active nresetpin(low voltage),否则判断是够mcu系统故障,如引脚nerror低电平,是的话则进行设置mcu电源管理模块引脚nreset为有效低电平,否则判断软件重置申请,即nmr为低电平;是的话则进行设置mcu电源管理模块引脚nreset为有效低电平;否则设置mcu电源管理模块引脚nreset为无效高电平,然后重新进行加电系统重置申请判断。
77.安全检查模块检查的过程包括,加电系统重置启动程序,系统重置启动后mcu诊断,然后进行第一次诊断判断,诊断成功则进入正常模式,连接数据总线,执行应用程序,进行mcu在线诊断,对于mcu在线诊断包括双锁步处理器状态比较、系统时钟诊断、内存ecc校验、系统指令及数据总线诊断、mcu外设数据校验等;进行第二次诊断判断,诊断成功则重复进行mcu在线诊断;否则进入故障处理模式,设置引脚nerror为有效电平,断开mcu的数据总线;然后重新进行加电系统重置启动程序。
78.can总线进行发送和接收的过程,首先发送队列发送信息报文,每个信息报文包括字段msg id、rollingcount,发送队列是否为空,不是空的话则从发送队列队首摘取出一个信息并发送至所有连接的can总线上;can总线另一端接收器接收,初始化变量,expectedcount=0;接收到任何新报文从任何can总线,如果接收到则从can总线中读取接收的报文,进一步读取的报文是否是重复报文;即expectedcount!=rollingcount;如果不是重复的报文,则将读取的报文存入接收缓冲内存,并设置expectedcount=rollingcount 1。连接数据总线,执行重置启动后mcu诊断;
79.重置启动后mcu诊断成功;从can总线接收并复制当前active mcu状态变量数值为该mcu的状态变量数值,或设置mcu状态变量为默认值;启动定时器1用来检查有无active mcu有效输出;启动定时器3用来触发新周期;清除恢复重试次数;执行应用和在线mcu诊断程序;
80.重置启动后mcu诊断失败,增加非易失性存储器中的重试次数;断开数据总线和执行重置启动程序;
81.检查到active mcu有效输出,即active mcu工作正常,启动定时器1用来检查有无active mcu有效输出;启动定时器3用来触发新周期;清除恢复重试次数;执行应用和在线mcu诊断程序;
82.在线诊断失败,增加非易失性存储器中的重试次数;断开数据总线和执行重置启动程序;
83.定时器1超时,没有观察到active mcu的有效输出或接收到申请报文;在数据总线上广播申请成为active mcu的报文,启动定时器2来检查是否其它竞争申请者;
84.从其他mcu接收到申请报文,并且该申请mcu具有更高优先级别,即该mcu id小于本mcu id,停止定时器2;
85.定时器2超时或者没有接收到更高优先级别申请报文,停止定时器2;启动定时器3用来触发新周期;如果应用和诊断程序没有执行则执行应用和诊断程序;等待应用程序结束,在计算完成后后输出结果至数据总线和系统状态至同步总线;
86.在线诊断失败;增加非易失性存储器中的重试次数;断开数据总线和执行重置启动程序;
87.mcu重置启动结束连接数据总线,执行重置启动后mcu诊断;
88.在线诊断失败,增加非易失性存储器中的重试次数;断开数据总线和执行重置启动程序;
89.接收到申请报文,在数据总线上广播申请成为active mcu的报文,启动定时器2来检查是否其它竞争申请者;
90.定时器3超时新的周期开始;保持active状态并执行应用程序;启动定时器3用来触发新周期;如果应用和诊断程序没有执行则执行应用和在线mcu诊断程序;等待应用程序结束,在计算完成后后输出结果至数据总线和系统状态至同步总线;
91.定时器3超时新的周期开始;保持passive状态并执行应用程序;启动定时器1用来检查有无active mcu有效输出;启动定时器3用来触发新周期;清除恢复重试次数;执行应用和在线mcu诊断程序;
92.故障恢复重试次数超标,设置mcu为省电待机模式,断开数据总线;
93.本mcu在active状态,但观察到存在其他active mcu正在输出而且观察到的mcu具有更高的优先级别,切换到passive状态。
94.实施例4
95.在上述实施例基础上,减少在故障发生后系统切换mcu过程中可能出现的时序抖动。主要是以active mcu的时钟为基准,调整passive mcu的时钟。从而每个mcu可以根据本地时钟安排或调整应用程序执行的时序,达到程序同步执行的目的。
96.报文s1和s2可为零长度报文,报文s3则含有分别发送s1和s2时active mcu时戳t1和t2.passive mcu和active mcu时钟的漂移量则为o=tp

ta=(t1’‑
t1‑
t2’
t2)/2,其中t1’
和t2’
分别是接收到s1和s2时passive mcu时戳;
97.通过在passive mcu端测量时钟漂移,mcu可以调整压控震荡器(vco)的输入电压,改变输入时钟频率fosc,从而达到时钟同步的目的。如passive mcu时钟快则调慢时钟频率fosc,反之passive mcu时钟慢则调快时钟频率fosc;
98.读取当前时钟时戳t;计算超时时戳s=(t duration)其中duration为定时器超时时长;读取当前时钟时戳t;比较前时钟时戳和计算超时时戳的大小,t<s则产生超时中断信号,否则继续读取当前时钟时戳t。
99.实施例5
100.在上述实施例基础上,本实施还包括故障确认模块,故障确认模块与can总线连接;故障确认模块包括故障可操作性电机控制器、故障可操作性主控制器和故障可操作性传感器;故障可操作性传感器将传感器信号传送至软件投票比较器,故障可操作性主控制器依据软件投票比较器对信号进行比较输出信号至故障可操作性电机控制器;故障可操作
性电机控制器包括电机控制器、fpga投票比较器和电机驱动器;电机控制器设有电机控制器a,电机控制器b和电机控制器c;a、b和c电机比较器将电机饶子电压传送至fpga投票比较器,fpga投票比较器确认输出的电机饶子电压,并输出pwm信号至电机驱动器。在数据流水线中每个处理器或控制器含有3倍模式投票比较器,它比较三路输入信号的数值,若有不同,它将输出多数数值(至少两路相同的数值)从而具有纠正一路信号错误的能力。保证不会将故障传递至下一阶段。在三个主控制器中,每个控制器运行不同软件版本但实现了同一功能,从而减少软件故障发生概率。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜