一种指令诊断方法

文档序号:6550599阅读:145来源:国知局
一种指令诊断方法
【专利摘要】本发明公开了一种指令诊断方法,方法包括:S101,监控芯片向主芯片发送指令诊断请求;S102,主芯片接收请求指令诊断,对主芯片的多个执行指令操作结果值与相对应的多个主芯片的第一预设结果值进行比较;S103,当多个执行指令操作结果值等于相对应的多个第一预设结果值时,则判断指令操作为正常;或当任意一个执行指令操作结果值大于或小于相对应的第一预设结果时,则主芯片进行复位。该指令诊断方法实现了对运行错误的指令进行监控和诊断并且使用的成本很低,同时开发程序也比较简单。
【专利说明】一种指令诊断方法

【技术领域】
[0001] 本发明涉及指令诊断,具体地,涉及一种指令诊断方法。

【背景技术】
[0002] 指令是指存储在CPU内部,对CPU运算进行指导和优化的硬程序。比如加法指令、 减法指令、乘法指令、除法指令等。这些指令是CPU内部固化的程序,程序员是不能对指令 程序本身进行修改或调试的。但在CPU的使用过程中,由于CPU硬件的损坏或电磁环境的 干扰,这些指令运行时有可能出现错误,对于嵌入式开发领域,如果这些CPU被用于与人身 安全相关的领域,如汽车、飞机等电子控制系统,为了满足对嵌入式系统CPU高可靠性的要 求,必须对这些可能的指令运行错误进行监控和诊断。
[0003] 在现有技术中,对CPU运算进行指导和优化的方法是采用冗余系统,即用两块相 同的CPU或双核的CPU,每一块CPU或双核CPU上的每一个运算核心,运行相同的程序,并比 对运行结果,只有两个CPU或双核CPU的两个运算核心运行结果相同才能执行动作。这种 冗余方案固然能解决指令运行错误诊断的问题,但两个CPU或双核CPU运行同一个程序,导 致了 CPU使用效率低,并且使用的成本很高,开发程序也比较复杂的问题。


【发明内容】

[0004] 本发明的目的是提供一种指令诊断方法,该指令诊断方法实现了对运行错误的指 令进行监控和诊断并且使用的成本很低,同时开发程序也比较简单。
[0005] 为了实现上述目的,本发明提供一种指令诊断方法,所述方法包括:S101,监控芯 片向主芯片发送指令诊断请求;S102,所述主芯片接收请求指令诊断,将所述主芯片的多个 执行指令操作结果值与相对应的多个所述主芯片的第一预设结果值进行比较;S103,当多 个所述执行指令操作结果值等于相对应的多个所述第一预设结果值时,则判断指令操作为 正常;或当任意一个所述执行指令操作结果值大于或小于相对应的所述第一预设结果时, 则所述主芯片进行复位。
[0006] 优选地,步骤S103的方法还包括:当所述主芯片执行指令操作结果值等于所述主 芯片的预设结果值时;S201,将所有所述执行指令操作结果值相加得到的和发送给所述监 控芯片;S202,所述监控芯片将所述和与第二预设结果进行比较;S203,当所述和等于所述 第二预设结果时,则判断指令操作为正常;或当所述和大于或小于所述第二预设结果时,则 将指令诊断不通过信息发送给所述主芯片,所述主芯片进行复位。
[0007] 优选地,在S101中,所述监控芯片以时间间隔为一个周期向所述主芯片发送请求 指令诊断。
[0008] 进一步优选地,所述时间间隔为10-40mS。
[0009] 更进一步优选地,所述时间间隔为20ms。
[0010] 优选地,在S101中,所述监控芯片通过串行外设接口向所述主芯片发送请求指令 诊断。
[0011] 进一步优选地,在S201中,所有所述执行指令操作结果值相加得到的和通过串行 外设接口发送给所述监控芯片。
[0012] 优选地,在S102中,对多个所述执行指令进行诊断包括:对加法指令、减法指令以 及乘法指令进行诊断。
[0013] 通过上述实施方式,本发明的指令诊断方法中的监控芯片只需要完成相对简单的 工作即可,可以选择低价位的单片机来实现,主芯片则完成系统的控制功能和指令诊断子 程序,充分利用主芯片的高性能处理能力。比如一种常用的搭配组合:主芯片采用32位高 性能单片机芯片,来完成嵌入式系统的功能控制及指令诊断子程序,监控芯片则采用价格 低廉的8位单片机芯片,来实现指令诊断功能的激活和诊断结果的对比。通过这样的方式, 主芯片和监控芯片的使用效率高,并且使用的成本很低,开发程序也比较简单实用。
[0014] 本发明的其他特征和优点将在随后的【具体实施方式】部分予以详细说明。

【专利附图】

【附图说明】
[0015] 附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具 体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
[0016] 图1是本发明的【具体实施方式】中的一种指令诊断方法的流程图;以及
[0017] 图2是本发明的优选实施方式中的一种指令诊断方法的流程图。

【具体实施方式】
[0018] 以下结合附图对本发明的【具体实施方式】进行详细说明。应当理解的是,此处所描 述的【具体实施方式】仅用于说明和解释本发明,并不用于限制本发明。
[0019] 图1是本发明的优选实施方式中的一种指令诊断方法的流程图。以及图2是本发 明的优选实施方式中的一种指令诊断方法的流程图。如图1所示,本发明提供一种指令诊 断方法,所述方法包括:S101,监控芯片向主芯片发送指令诊断请求,通过上述方式实现信 号控制进行诊断;S102,所述主芯片接收请求指令诊断,将所述主芯片的多个执行指令操作 结果值与相对应的多个所述主芯片的第一预设结果值进行比较,通过上述方式实现执行指 令操作结果值与正确值的判断;S103,当多个所述执行指令操作结果值等于相对应的多个 所述第一预设结果值时,则判断指令操作为正常;或当任意一个所述执行指令操作结果值 大于或小于相对应的所述第一预设结果时,则所述主芯片进行复位,通过上述实施方式实 现对指令操作是否正常的判断,正常则不进行操作,不正常则所述主芯片进行复位。
[0020] 通过上述实施方式,本发明的指令诊断方法中的监控芯片只需要完成相对简单的 工作即可,可以选择低价位的单片机来实现,主芯片则完成系统的控制功能和指令诊断子 程序,充分利用主芯片的高性能处理能力。比如一种常用的搭配组合:主芯片采用32位高 性能单片机芯片,来完成嵌入式系统的功能控制及指令诊断子程序,监控芯片则采用价格 低廉的8位单片机芯片,来实现指令诊断功能的激活和诊断结果的对比。通过这样的方式, 主芯片和监控芯片的使用效率高,并且使用的成本很低,开发程序也比较简单实用。
[0021] 在一种实施方式中,步骤S103的方法还包括:当所述主芯片执行指令操作结果值 等于所述主芯片的预设结果值时;S201,将所有所述执行指令操作结果值相加得到的和发 送给所述监控芯片,通过监控芯片再对所述指令操作是否正常进行判断,通过对整体的判 断,防止指令操作的结果值发生漏检;S202,所述监控芯片将所述和与第二预设结果进行比 较;S203,当所述和等于所述第二预设结果时,则判断指令操作为正常;或当所述和大于或 小于所述第二预设结果时,则将指令诊断不通过信息发送给所述主芯片,所述主芯片进行 复位,通过上述实施方式实现对指令操作是否正常的判断,正常则不进行操作,不正常则所 述主芯片进行复位,通过上述方式使得主芯片和监控芯片的使用效率变高。
[0022] 在一种实施方式中,在S101中,所述监控芯片以时间间隔为一个周期向所述主芯 片发送请求指令诊断,通过多个周期对主芯片进行实时的监控。在优选实施方式中,所述时 间间隔为10-40ms,可以更好的对主芯片进行实时的监控。进一步优选地,所述时间间隔为 20ms,这样的效果更好。
[0023] 在一种实施方式中,在S101中,所述监控芯片通过串行外设接口向所述主芯片发 送请求指令诊断,通过上述方式实现监控芯片对所述主芯片的监控管理。
[0024] 在另一种实施方式中,在S201中,所有所述执行指令操作结果值相加得到的和通 过串行外设接口发送给所述监控芯片,通过上述方式实现监控芯片对所述主芯片的监控管 理。
[0025] 在一种实施方式中,在S102中,对多个所述执行指令进行诊断包括:对加法指令、 减法指令以及乘法指令进行诊断,通过上述方式,该方法可以对多种指令进行诊断。
[0026] 如图2所示,在本发明所提供的一种【具体实施方式】中,本发明应用于汽车上的刹 车防抱死嵌入式控制系统,采用了英飞凌的TC1724芯片作为主芯片,为了实现对主芯片的 指令诊断,选择飞思卡尔的低端8位单片机MC9S08QG8作为监控芯片。主芯片和监控芯片 之间通过SPI (串行外设接口)进行通讯。
[0027] 在主芯片上实现3个指令诊断子程序Rl、R2和R3 :
[0028] R1对加法指令进行诊断,预设操作数为1和2,预期结果为3 ;
[0029] R2对减法指令进行诊断,预设操作数为45和12,预期结果为33 ;
[0030] R3对乘法指令进行诊断,预设操作数为4和5,预期结果为20 ;
[0031] 主芯片收到指令诊断不通过信息时,进行复位操作。
[0032] 监控芯片以20ms为周期,每20ms通过SPI接口向主芯片发出指令诊断请求。
[0033] 主芯片收到监控芯片发来的指令诊断请求后,依次执行指令诊断子程序Rl、R2和 R3,并将3个指令诊断子程序的结果相加,把相加的结果反馈给监控芯片。
[0034] 监控芯片收到主芯片发来的相加结果,与预设值56比较,如果相加结果为56,则 指令工作正常。如果相加结果不等于56,则说明指令诊断发现了错误,监控芯片向主芯片发 出指令诊断不通过的信息。
[0035] 主芯片收到指令诊断不通过的信息后,进行复位操作。
[0036] 以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实 施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简 单变型,这些简单变型均属于本发明的保护范围。
[0037] 另外需要说明的是,在上述【具体实施方式】中所描述的各个具体技术特征,在不矛 盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本发明对各种可 能的组合方式不再另行说明。
[0038] 此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本 发明的思想,其同样应当视为本发明所公开的内容。
【权利要求】
1. 一种指令诊断方法,其特征在于,所述方法包括: S101,监控芯片向主芯片发送指令诊断请求; 5102, 所述主芯片接收请求指令诊断,将所述主芯片的多个执行指令操作结果值与相 对应的多个所述主芯片的第一预设结果值进行比较; 5103, 当多个所述执行指令操作结果值等于相对应的多个所述第一预设结果值时,则 判断指令操作为正常;或 当任意一个所述执行指令操作结果值大于或小于相对应的所述第一预设结果时,则所 述主芯片进行复位。
2. 根据权利要求1所述的指令诊断方法,其特征在于,步骤S103的方法还包括:当所 述主芯片执行指令操作结果值等于所述主芯片的预设结果值时; S201,将所有所述执行指令操作结果值相加得到的和发送给所述监控芯片; 5202, 所述监控芯片将所述和与第二预设结果进行比较; 5203, 当所述和等于所述第二预设结果时,则判断指令操作为正常;或 当所述和大于或小于所述第二预设结果时,则将指令诊断不通过信息发送给所述主芯 片,所述主芯片进行复位。
3. 根据权利要求1所述的指令诊断方法,其特征在于,在S101中,所述监控芯片以时间 间隔为一个周期向所述主芯片发送请求指令诊断。
4. 根据权利要求3所述的指令诊断方法,其特征在于,所述时间间隔为10-40ms。
5. 根据权利要求4所述的指令诊断方法,其特征在于,所述时间间隔为20ms。
6. 根据权利要求1所述的指令诊断方法,其特征在于,在S101中,所述监控芯片通过串 行外设接口向所述主芯片发送请求指令诊断。
7. 根据权利要求2所述的指令诊断方法,其特征在于,在S201中,所有所述执行指令操 作结果值相加得到的和通过串行外设接口发送给所述监控芯片。
8. 根据权利要求1所述的指令诊断方法,其特征在于,在S102中,对多个所述执行指令 进行诊断包括:对加法指令、减法指令以及乘法指令进行诊断。
【文档编号】G06F11/36GK104063317SQ201410284152
【公开日】2014年9月24日 申请日期:2014年6月23日 优先权日:2014年6月23日
【发明者】谢小娟, 丁绪星, 冯友宏 申请人:安徽师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1