一种具有冗余安全的异构双核电机伺服控制器及其冗余安全控制方法与流程

文档序号:18462008发布日期:2019-08-17 02:07阅读:460来源:国知局
一种具有冗余安全的异构双核电机伺服控制器及其冗余安全控制方法与流程

本发明涉及技术领域,具体涉及一种具有冗余安全的异构双核电机伺服控制器及其冗余安全控制方法。



背景技术:

电机伺服控制器被大规模的使用于电力电子、工业自动化、新能源汽车和机器人等产业中。

现有的电机伺服控制器虽然使用多个芯片,但各自执行不同的子功能,而且存在依赖关系。如图1所示,使用多芯片执行不同的细分功能的电机伺服控制器,一旦其中一个芯片中的程序运行错误,则整个伺服控制器的功能也将出现错误。

伺服驱动器使用两个相同架构的处理器,接收相同的输入,相同功能分别在双核内并行执行,并对比运算结果,能够实现部分冗余安全功能。如图2所示,对于使用两个相同架构的冗余安全伺服控制器,因为芯片架构类型相同,编程语言相近,对于同一研发团队,在软件开发过程中容易出现相同的错误,导致双核系统以同样的错误失效。更重要的是,常规双模冗余系统的两路计算结果不同时,难以迅速可靠的判断哪个处理器的运算结果是正确的。

因此这种架构在一个处理器出现错误的情况下无法稳定可靠的运行至当前任务结束。



技术实现要素:

本发明针对现有技术的不足,提供一种具有冗余安全的异构双核电机伺服控制器及其冗余安全控制方法,可以克服现有伺服控制器软件缺乏冗余安全功能、难以保证伺服系统安全运行的缺陷。

本发明是通过如下技术方案实现的:

一种具有冗余安全的异构双核电机伺服控制器,包括输入接口、输出接口和报警接口,还包括dsp模块、可编程逻辑芯片模块和投票器,dsp模块的输入端、可编程逻辑芯片模块的输入端分别与输入接口连接,dsp模块的输出端、可编程逻辑芯片模块的输出端均通过投票器分别与报警接口和输出接口连接,投票器通过可将dsp模块的输出信号反馈至可编程逻辑芯片模块的接线与可编程逻辑芯片模块连接,可编程逻辑芯片模块通过ack引脚组与dsp模块连接。

本方案提出具有冗余安全的异构双核电机伺服控制器,使用dsp模块(数字信号处理器)和可编程逻辑芯片模块的异构双核作为运算控制芯片,将伺服控制程序在完全不同类型的芯片同时实现,dsp模块作为默认激活芯片,执行伺服控制、通信和常规安全监测功能,可编程逻辑芯片模块执行与dsp相同的控制逻辑和系统功能,同时监测dsp模块的计算结果,比较dsp模块的计算结果和运行状态。一个独立运行的投票器根据dsp模块和可编程逻辑芯片模块的输出,在两者中选择最终的输出信号。

进一步的,所述的dsp模块的伺服控制软件使用c/c++编程语言实现,所述的可编程逻辑芯片模块使用硬件描述语言构建伺服控制的数字逻辑。

dsp模块的伺服控制软件使用c/c++编程语言实现,而可编程逻辑芯片模块使用硬件描述语言(hdl)构建伺服控制的数字逻辑。为保证系统鲁棒性,分别使用软件测试和集成芯片测试的方法,分别验证两种芯片的功能实现。

作为优选,所述的可编程逻辑芯片模块为fpga模块或cpld模块。

可编程逻辑芯片模块的产品主要有现场可编程逻辑门阵列(fpga)和复杂可编程逻辑器件(cpld),本发明使用fpga模块作为冗余模块,使用复杂可编程逻辑器件(cpld)的双模冗余方案也是可以的。

一种应用具有冗余安全的异构双核电机伺服控制器的冗余安全控制方法:

dsp模块和可编程逻辑芯片模块同步接收输入接口的输入信号,可编程逻辑芯片模块执行与dsp模块相同的控制逻辑和系统功能,同时监测dsp模块的计算结果,并比较dsp模块的计算结果和运行状态;

包括默认模式和后备模式,投票器根据不同的模式,在dsp模块和可编程逻辑芯片模块中选择其中一个模块的输出信号作为伺服控制器输出的控制信号;

在默认模式下:

dsp模块作为默认激活模块,投票器将dsp模块的计算结果作为伺服控制器输出的控制信号,同时投票器将该计算结果发送至可编程逻辑芯片模块内校验,可编程逻辑芯片模块与dsp模块通过ack引脚组传输校验信号,并根据两个模块计算结果的差值绝对值与设定阈值的比较情况,将信号分别编码为“校验通过”和“校验错误”;

当上述差值绝对值小于设定阈值时,校验信号为“校验通过”,伺服控制器保持默认模式运行;

当上述差值绝对值大于设定阈值时,校验信号为“校验错误”,可编程逻辑芯片模块在下一次计算采样前热重启一次:

若下一次的差值绝对值小于设定阈值,校验信号为“校验通过”,伺服控制器以默认模式运行;

若下一次的差值绝对值仍大于等于设定阈值,系统进入后备模式:

在后备模式下:

可编程逻辑芯片模块接管控制功能,并通过投票器发出警报信号,在警报信号解除前,通知投票器使用可编程逻辑芯片模块的输出信号作为伺服控制器输出的控制信号。

进一步的,所述的校验信号为“校验通过”时,用于dsp模块接收编辑逻辑芯片模块信号的ack引脚组稳定至“00”;所述的校验信号为“校验错误”时,用于dsp模块接收编辑逻辑芯片模块信号的ack引脚组稳定至“11”。

更进一步的,所述的校验信号还包括“无效信号”,用于dsp模块接收编辑逻辑芯片模块信号的ack引脚组无法稳定时或稳定至“01”或“10”,校验信号为“无效信号”,此时dsp模块通知投票器,认定可编程逻辑芯片模块出现错误,并向警报接口发出警报信号,在警报信号解除前忽略可编程逻辑芯片模块的对比校验。

进一步的,所述的设定阈值可在5%-20%之间自由调整。

本发明的有益效果:

使用dsp模块(数字信号处理器)和现场可编程逻辑门阵列fpga模块运行相同的伺服驱动功能,系统对比计算结果,经投票器输出最终信号,dsp模块(数字信号处理器)的计算结果为默认状态下伺服系统输出,现场可编程逻辑门阵列fpga对dsp的计算结果进行校验,认定dsp出错时接管伺服控制器的输出。

相比单核的电机伺服控制器,本发明使用双核并行采集和计算控制信号,增加了冗余度和容错性能,提高了伺服系统的安全性。

fpga模块可在百纳秒内完成热复位,远小于伺服控制系统的采样周期。当双核的计算结果出现偏差时,fpga模块可以迅速重启,因系统的初始态经过多次验证测试,出错概率远小于其他状态,为双核冗余结构提供判断的标准。

相比于常规双核冗余系统,异构双核使用完全不同的功能实现方式,完全消除了因同类软件错误导致的系统错误;因验证和测试方法不同,也极大程度的避免了两种芯片因相同类型的错误而失效。

附图说明

图1为现有技术中电机伺服控制器采用单个处理芯片的结构示意图;

图2为现有技术中电机伺服控制器采用两个处理芯片的结构示意图;

图3为本发明的结构示意图。

具体实施方式

为能清楚说明本方案的技术特点,下面通过具体实施方式,对本方案进行阐述。

一种具有冗余安全的异构双核电机伺服控制器,包括输入接口、输出接口和报警接口,还包括dsp模块、可编程逻辑芯片模块和投票器,所述的dsp模块的伺服控制软件使用c/c++编程语言实现,所述的可编程逻辑芯片模块使用硬件描述语言构建伺服控制的数字逻辑。所述的可编程逻辑芯片模块为fpga模块或cpld模块。作为本发明的一种实施方式,可编程逻辑芯片模块采用fpga模块,使用复杂可编程逻辑器件(cpld)的双模冗余方案也应看作是本发明的范围。

本发明描述的dsp模块(数字信号处理器)和现场可编程逻辑门阵列(fpga)的冗余方法既包括两个独立封装的芯片,也包含数字信号处理器和现场可编程逻辑门阵列封装在同一芯片内的情况。

dsp模块的输入端、fpga模块的输入端分别与输入接口连接,dsp模块的输出端、fpga模块的输出端均通过投票器分别与报警接口和输出接口连接,投票器通过可将dsp模块的输出信号反馈至fpga模块的接线与fpga模块连接,fpga模块通过ack引脚组与dsp模块连接。

一种应用具有冗余安全的异构双核电机伺服控制器的冗余安全控制方法,

dsp模块和fpga模块同步接收输入接口的输入信号,如图3中的信号1,fpga模块执行与dsp模块相同的控制逻辑和系统功能,同时监测dsp模块的计算结果,并比较dsp模块的计算结果和运行状态;

包括默认模式和后备模式,投票器根据不同的模式,在dsp模块和fpga模块中选择其中一个模块的输出信号作为伺服控制器输出的控制信号;

在默认模式下:

dsp模块作为默认激活模块,投票器将dsp模块的计算结果作为伺服控制器输出的控制信号(信号5),同时投票器将该计算结果发送至fpga模块内校验(信号2),fpga模块与dsp模块通过ack引脚组传输校验信号(信号3),并根据两个模块计算结果的差值绝对值与设定阈值的比较情况,将信号分别编码为“校验通过”和“校验错误”。

所述的设定阈值可在5%-20%之间自由调整。

当上述差值绝对值小于设定阈值时,校验信号为“校验通过”,伺服控制器保持默认模式运行;

当上述差值绝对值大于设定阈值时,校验信号为“校验错误”,fpga模块在下一次计算采样前热重启一次:

若下一次的差值绝对值小于设定阈值,校验信号为“校验通过”,伺服控制器以默认模式运行;

若下一次的差值绝对值仍大于等于设定阈值,系统进入后备模式:

在后备模式下:

fpga模块接管控制功能,并通过投票器发出警报信号(信号6),在警报信号解除前,通知投票器使用fpga模块的输出信号(信号4,5)作为伺服控制器输出的控制信号。

所述的校验信号为“校验通过”时,用于dsp模块接收fpga模块信号的ack引脚组稳定至“00”;所述的校验信号为“校验错误”时,用于dsp模块接收fpga模块信号的ack引脚组6稳定至“11”。

所述的校验信号还包括“无效信号”,用于dsp模块接收fpga模块信号的ack引脚组无法稳定时或稳定至“01”或“10”,校验信号为“无效信号”,此时dsp模块通知投票器,认定fpga模块出现错误,并向警报接口发出警报信号,在警报信号解除前忽略fpga模块的对比校验。

当然,上述说明也并不仅限于上述举例,本发明未经描述的技术特征可以通过或采用现有技术实现,在此不再赘述;以上实施例及附图仅用于说明本发明的技术方案并非是对本发明的限制,参照优选的实施方式对本发明进行了详细说明,本领域的普通技术人员应当理解,本技术领域的普通技术人员在本发明的实质范围内所做出的变化、改型、添加或替换都不脱离本发明的宗旨,也应属于本发明的权利要求保护范围。

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