一种多CPU控制器和移动机器人制造技术

技术编号:19592328 阅读:23 留言:0更新日期:2018-11-28 04:32
本发明专利技术公开了一种多CPU控制器及移动机器人,包括非实时控制CPU,用于每隔第一预设时间向实时控制CPU发送数据包;实时控制CPU,用于在未接收过数据包时,判断当前时刻与起始时刻之间的差值是否大于预设值,若是,则判定非实时控制CPU为异常CPU,生成第一复位指令;还用于在接收过数据包时,判断当前时刻与上一次接收到数据包的时刻之间的差值是否大于预设值,若是,则判定非实时控制CPU为异常CPU,生成第一复位指令;与异常CPU连接的电源模块,用于在接收到第一复位指令后,控制异常CPU先关断再重启。本发明专利技术成本低,解决了由于程序陷入死循环带来的非实时控制CPU功能紊乱的问题,提高了多CPU控制器的可靠性。

【技术实现步骤摘要】
一种多CPU控制器和移动机器人
本专利技术涉及控制器领域,特别是涉及一种多CPU控制器和移动机器人。
技术介绍
随着控制技术的发展、以及现场需求的多样化,基于多个CPU设计的控制器应用的领域更加广泛,多CPU控制器的优势在于,可以将不同性质、不同要求的任务部署在不同的CPU上,从而实现功能解耦,降低开发复杂度。一般的,可以将多CPU控制器中运行非实时操作系统的一类CPU称为非实时控制CPU,运行实时操作系统的一类CPU称为实时控制CPU。目前,在工业控制中,实时控制CPU在完成某些任务时需要非实时控制CPU的辅助,但是若某个非实时控制CPU在运行时,其运行程序存在偶发性bug或受到外部干扰,运行程序可能会发生陷入死循环等现象,如果不及处理,就会造成该非实时控制CPU功能紊乱,导致实时控制CPU的任务也无法完成,降低了多CPU控制器的可靠性。因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。
技术实现思路
本专利技术的目的是提供一种多CPU控制器及移动机器人,成本较低,解决了由于程序陷入死循环所带来的非实时控制CPU功能紊乱的问题,提高了多CPU控制器的可靠性。为解决上述技术问题,本专利技术提供了一种多CPU控制器,包括:非实时控制CPU,用于每隔第一预设时间向实时控制CPU发送数据包;所述实时控制CPU,用于在未接收过所述非实时控制CPU发送的数据包时,判断当前时刻与起始时刻之间的差值是否大于预设值,若是,则判定所述非实时控制CPU为异常CPU,并生成第一复位指令;还用于在接收过所述非实时控制CPU发送的数据包时,判断当前时刻与上一次接收到所述非实时控制CPU发送的数据包的时刻之间的差值是否大于所述预设值,若是,则判定所述非实时控制CPU为所述异常CPU,并生成所述第一复位指令;与所述异常CPU连接的电源模块,用于在接收到所述第一复位指令后,控制所述异常CPU先关断再重启。优选的,所述非实时控制CPU包括监控线程;所述监控线程,用于监控所述非实时控制CPU中的其他线程,当所述其他线程均处于正常状态时,每隔所述第一预设时间向所述实时控制CPU发送所述数据包,当所述其他线程中存在任意一个线程处于异常状态时,停止向所述实时控制CPU发送所述数据包。优选的,所述每个所述非实时控制CPU具体用于:每隔第一预设时间通过以太网或串口或CAN总线向实时控制CPU发送所述数据包。优选的,所述非实时控制CPU为部署Linux系统或Windows系统或安卓系统的CPU。优选的,所述电源模块为与所述异常CPU一一对应连接的电源模块。优选的,所述电源模块为包括多个开关端口的电源模块,所述异常CPU与所述电源模块的任意一个开关端口连接;则所述电源模块,用于在接收到所述第一复位指令后,通过与所述异常CPU连接的开关端口控制所述异常CPU先关断再重启。优选的,该多CPU控制器还包括:与所述实时控制CPU连接的看门狗模块,用于监测所述实时控制CPU是否每隔第二预设周期清除看门狗标志位,若否,向所述实时控制CPU的复位管脚发送复位信号,以控制所述实时控制CPU重启。优选的,该多CPU控制器还包括:与所述实时控制CPU连接的电源模块,用于在接收到第二复位指令后,控制所述实时控制CPU先关断后重启;分别与所述实时控制CPU及所述电源模块的使能端连接的看门狗模块,用于监测所述实时控制CPU是否每隔第二预设周期清除所述看门狗标志位,若否,生成所述第二复位指令。优选的,所述看门狗电路模块包括型号为SP706的看门狗芯片。为解决上述技术问题,本专利技术还提供了一种移动机器人,包括如上述任意一项所述的多CPU控制器。本专利技术提供了一种多CPU控制器,包括非实时控制CPU,用于每隔第一预设时间向实时控制CPU发送数据包;实时控制CPU,用于在未接收过非实时控制CPU发送的数据包时,判断当前时刻与起始时刻之间的差值是否大于预设值,若是,则判定非实时控制CPU为异常CPU,并生成第一复位指令;还用于在接收过非实时控制CPU发送的数据包时,判断当前时刻与上一次接收到非实时控制CPU发送的数据包的时刻之间的差值是否大于预设值,若是,则判定非实时控制CPU为异常CPU,并生成第一复位指令;与异常CPU连接的电源模块,用于在接收到第一复位指令后,控制异常CPU先关断再重启。可见,在实际应用中,本专利技术所提供的多CPU控制器可以通过其内部的实时控制CPU监测该多CPU控制器中是否存在异常的非实时控制CPU并通过电源模块复位其中异常的非实时控制CPU,本专利技术所提供的多CPU控制器不需要增加额外的监控装置,成本较低,且将异常CPU复位可以从根本上解决由于程序陷入死循环所带来的非实时控制CPU功能紊乱的问题,从而提高了多CPU控制器的可靠性。本专利技术还提供了一种移动机器人,具有和上述多CPU控制器相同的有益效果。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术所提供的一种多CPU控制器的结构示意图;图2为本专利技术所提供的另一种多CPU控制器的结构示意图;图3为本专利技术所提供的另一种多CPU控制器的结构示意图;图4为本专利技术所提供的另一种多CPU控制器的结构示意图;图5为本专利技术所提供的另一种多CPU控制器的结构示意图。具体实施方式本专利技术的核心是提供一种多CPU控制器及移动机器人,成本较低,解决了由于程序陷入死循环所带来的非实时控制CPU功能紊乱的问题,提高了多CPU控制器的可靠性。为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参照图1,图1为本专利技术所提供的一种多CPU控制器的结构示意图,包括:非实时控制CPU1,用于每隔第一预设时间向实时控制CPU2发送数据包;作为一种优选的实施例,每个非实时控制CPU1具体用于:每隔第一预设时间通过以太网或串口或CAN总线向实时控制CPU2发送数据包。作为一种优选的实施例,非实时控制CPU1为部署Linux系统或Windows系统或安卓系统的CPU。具体的,在多CPU控制器中包括多个非实时控制CPU1和多个实时控制CPU2,其中,非实时控制CPU1内一般部署Linux系统或Windows系统或安卓系统或WinCE系统,实时控制CPU2一般不部署操作系统或部署实时操作系统。在多个实时控制CPU2中任意选择一个实时控制CPU2来监控各个非实时控制CPU1的运行状态。每个非实时控制CPU1每隔第一预设时间向用于监控的实时控制CPU2发送数据包,对于不同的非实时控制CPU1来说,第一预设时间也可能不同,例如非实时控制CPU1a每隔10s向用于监控的实时控制CPU2发送数据包,非实时控制CPU1b每隔20s向用于监控的实时控制CPU2发送数据包。再以非实时控制CPU1a为例,本文档来自技高网...

【技术保护点】
1.一种多CPU控制器,其特征在于,包括:非实时控制CPU,用于每隔第一预设时间向实时控制CPU发送数据包;所述实时控制CPU,用于在未接收过所述非实时控制CPU发送的数据包时,判断当前时刻与起始时刻之间的差值是否大于预设值,若是,则判定所述非实时控制CPU为异常CPU,并生成第一复位指令;还用于在接收过所述非实时控制CPU发送的数据包时,判断当前时刻与上一次接收到所述非实时控制CPU发送的数据包的时刻之间的差值是否大于所述预设值,若是,则判定所述非实时控制CPU为所述异常CPU,并生成所述第一复位指令;与所述异常CPU连接的电源模块,用于在接收到所述第一复位指令后,控制所述异常CPU先关断再重启。

【技术特征摘要】
1.一种多CPU控制器,其特征在于,包括:非实时控制CPU,用于每隔第一预设时间向实时控制CPU发送数据包;所述实时控制CPU,用于在未接收过所述非实时控制CPU发送的数据包时,判断当前时刻与起始时刻之间的差值是否大于预设值,若是,则判定所述非实时控制CPU为异常CPU,并生成第一复位指令;还用于在接收过所述非实时控制CPU发送的数据包时,判断当前时刻与上一次接收到所述非实时控制CPU发送的数据包的时刻之间的差值是否大于所述预设值,若是,则判定所述非实时控制CPU为所述异常CPU,并生成所述第一复位指令;与所述异常CPU连接的电源模块,用于在接收到所述第一复位指令后,控制所述异常CPU先关断再重启。2.根据权利要求1所述的多CPU控制器,其特征在于,所述非实时控制CPU包括监控线程;所述监控线程,用于监控所述非实时控制CPU中的其他线程,当所述其他线程均处于正常状态时,每隔所述第一预设时间向所述实时控制CPU发送所述数据包,当所述其他线程中存在任意一个线程处于异常状态时,停止向所述实时控制CPU发送所述数据包。3.根据权利要求1所述的多CPU控制器,其特征在于,所述每个所述非实时控制CPU具体用于:每隔第一预设时间通过以太网或串口或CAN总线向实时控制CPU发送所述数据包。4.根据权利要求1所述的多CPU控制器,其特征在于,所述非实时控制CPU为部署Linux系统或Window...

【专利技术属性】
技术研发人员:张国亮管林波刘力上
申请(专利权)人:浙江国自机器人技术有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1