一种利用CIC61508的喂狗机制实现多任务监控的方法技术

技术编号:16398839 阅读:28 留言:0更新日期:2017-10-17 19:24
本发明专利技术公开了一种利用CIC61508的喂狗机制实现多任务监控的方法,多任务包括喂狗任务、关键任务Ⅰ、关键任务Ⅱ、关键任务Ⅲ,喂狗任务通过通讯命令从安全芯片CIC61508获得请求码,关键任务Ⅰ通过一定的算法f1(si,so,x)与关键任务Ⅰ的状态信息对请求码进行处理,处理结果为y1;关键任务Ⅱ通过特定的算法f2(si,so,x)与关键任务Ⅱ的状态信息对y1进行处理,处理结果为y2;关键任务Ⅲ通过特定的算法f3(si,so,x)与关键任务Ⅲ的状态信息对y2进行处理,处理结果为y3,处理结果y3为应答码,喂狗任务接收应答码并发送给安全芯片CIC61508。本发明专利技术的有益效果:可以方便的发现系统的以下问题:(1)任何一个关键任务在指定周期内没有被执行。(2)任何一个关键任务的输入输出条件(状态)不正确。

A multi task monitoring method based on CIC61508 feeding dog mechanism

The invention discloses a method for CIC61508 dog feeding mechanism to realize multi task monitoring using multi task, including dog tasks, key tasks I, II, III mission critical mission critical, feed the dog through the communication task request code from the security chip CIC61508 command, the key task of using a certain algorithm (Si, so, F1 x), processing the request code for the state information and the key tasks of the processing results of Y1; the key task II through a specific algorithm of F2 (Si, so, x) on Y1 state information and the key task of processing, the result is Y2; the key task III through a specific algorithm F3 (si so, x, Y2) of state information and key task III, the results for Y3, Y3 for the processing results of response codes, feed the dog and sent to the receiving task response code security chip CIC61508. The beneficial effect of the invention is that it is convenient to discover the following problems of the system: (1) any key task is not executed in the specified period. (2) the input / output condition (status) of any critical task is incorrect.

【技术实现步骤摘要】
一种利用CIC61508的喂狗机制实现多任务监控的方法
本专利技术涉及安全芯片处理机制
,尤其涉及一种利用CIC61508的喂狗机制实现多任务监控的方法。
技术介绍
在需要实现功能安全的汽车控制系统中,普遍采用专用的安全芯片来实现系统监控,主控芯片MCU需要周期性的与专用安全芯片进行通讯握手,以告知安全芯片主控芯片MCU的运行状态。但是随着控制系统越来越复杂,一个MCU在操作系统的支持下往往会有多个关键任务。如何判断MCU内的所有关键任务都在正常工作,成为一个难点。目前常用的方式有下面两种形式:(1)单独使用一个任务来与安全芯片通讯:参见图1,这种模式下,喂狗任务是孤立的运行,只要操作系统正常调度,喂狗任务就与安全芯片进行定时握手。第(1)种模式的缺点显而易见,只要操作系统正常,喂狗任务就会不断的与安全芯片通讯,即使此时有关键任务发生了异常,并不能通过安全芯片复位MCU。(2)单独使用一个任务来与安全芯片通讯,但是关键任务需要向喂狗任务报告关键任务的执行:参见图2,在这种模式下,关键任务每执行一次,就向喂狗任务报告一次,喂狗任务需要统计每个关键任务的执行频率是否正常,如果正常,就继续与安全芯片定时握手,如果不正常,取消握手或者是直接复位MCU。第(2)种模式喂狗任务定时统计每个关键任务的执行频率,在一定程度上避免了任务出错并终止后,喂狗任务继续与安全芯片握手的问题。但是关键任务只是简单的报告自己有没有被正常执行(或者被正常调度),如果关键任务的状态机本身设计上有缺陷,进入了未预期的状态,并不能终止喂狗任务的通讯握手。基于此,现研究一种利用CIC61508的喂狗机制实现多任务监控的方法,很好的解决了这个问题。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供了一种利用CIC61508的喂狗机制实现多任务监控的方法。本专利技术是通过以下技术方案实现的:一种利用CIC61508的喂狗机制实现多任务监控的方法,多任务包括喂狗任务、关键任务Ⅰ、关键任务Ⅱ、关键任务Ⅲ,所述喂狗任务通过通讯命令从安全芯片CIC61508获得请求码,所述关键任务Ⅰ通过一定的算法f1(si,so,x)与关键任务Ⅰ的状态信息对请求码进行处理,处理结果为y1;所述关键任务Ⅱ通过特定的算法f2(si,so,x)与关键任务Ⅱ的状态信息对y1进行处理,处理结果为y2;所述关键任务Ⅲ通过特定的算法f3(si,so,x)与关键任务Ⅲ的状态信息对y2进行处理,处理结果为y3,所述处理结果y3为应答码,所述喂狗任务接收应答码并发送给安全芯片CIC61508。作为本专利技术的优选方式之一,该方法包括以下步骤:(1)喂狗任务通过通讯命令从安全芯片CIC61508获得请求码,并将得到的请求码写入指定内存中去;(2)关键任务I发现请求码x1有更新,结合本任务的状态输入si1、输出so1,通过一定的算法f1(si,so,x),得到结果y1;(3)关键任务II发现结果x2即上一级任务的运算结果y1有更新,结合本任务的状态即输入si2、输出so2,通过一定的算法f2(si,so,x),得到结果y2;(4)关键任务III发现结果x3即上一级任务的运算结果y2有更新,结合本任务的状态即输入si3、输出so3,通过一定的算法f3(si,so,x),得到结果y3;(5)喂狗任务等待一定时间后,将应答码y3发送到安全芯片,完成一次通讯握手。作为本专利技术的优选方式之一,所述一定的算法y=f(si,so,x)为根据任务的实际情况而定。作为本专利技术的优选方式之一,当所述关键任务用于行车继电器的控制时,y=f(si,so,x):si表示车辆状态,4表示充电,so表示电机主继电器。作为本专利技术的优选方式之一,当所述关键任务用于PID计算时,y=f(si,so,x):si表示PID的采集值,so表示PID的设定值,err表示正常工作下误差的最大范围。作为本专利技术的优选方式之一,所述请求码为1个字节。作为本专利技术的优选方式之一,所述应答码为4个字节。本专利技术相比现有技术的优点在于:因为应答码需要各个关键任务,结合自己的输入输出状态,用一定的算法,通过接力的方式在给定时间内计算出来。这其中任何一环出错,都会造成应答码出错,最终MCU被复位。采用该方案,可以方便的发现系统的以下问题:(1)任何一个关键任务在指定周期内没有被执行(2)任何一个关键任务的输入输出条件(状态)不正确。附图说明图1是相比较于本专利技术的现有模式1处理流程图;图2是相比较于本专利技术的现有模式2处理流程图;图3是本专利技术的处理流程图。具体实施方式下面对本专利技术的实施例作详细说明,本实施例在以本专利技术技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本专利技术的保护范围不限于下述的实施例。相对于其他看门狗,安全芯片CIC61508的喂狗机制比较特别,MCU如果需要进行通讯握手,需要从CIC61508获取一个请求码(一个字节)。请求码的值与安全芯片的状态有关,与MCU无关。MCU获得这个请求码后,根据表格找到对应的应答码(四个字节),将应答码发送到安全芯片后,便完成了一次通讯握手。每次成功握手后,安全芯片下一次的请求码会发生改变。一般来说,请求码对应的应答码用表格的形式在MCU的FLASH中保存,并且通过配置工具同步到安全芯片CIC61508的FLASH中。只要两个表格一致,通讯握手便可正常进行。本专利技术不在MCU的FLASH中保存这个表格,而是必须通过一系列的算法来动态的计算请求码对应的应答码。完整的流程如图3所示:实施例一:当所述关键任务用于行车继电器的控制时,y=f(si,so,x):si表示车辆状态,4表示充电,so表示电机主继电器;一种利用CIC61508的喂狗机制实现多任务监控的方法,多任务包括喂狗任务、关键任务Ⅰ、关键任务Ⅱ、关键任务Ⅲ,所述喂狗任务通过通讯命令从安全芯片CIC61508获得请求码,所述关键任务Ⅰ通过一定的算法f1(si,so,x)与关键任务Ⅰ的状态信息对请求码进行处理,处理结果为y1;所述关键任务Ⅱ通过特定的算法f2(si,so,x)与关键任务Ⅱ的状态信息对y1进行处理,处理结果为y2;所述关键任务Ⅲ通过特定的算法f3(si,so,x)与关键任务Ⅲ的状态信息对y2进行处理,处理结果为y3,所述处理结果y3为应答码,所述喂狗任务接收应答码并发送给安全芯片CIC61508,本专利技术的MCU不直接保存请求码对应的应答码。应答码需要各个关键任务,结合自己的输入输出状态,用一定的算法,通过接力的方式在给定时间内计算出来;该方法包括以下步骤:(1)喂狗任务通过通讯命令从安全芯片CIC61508获得请求码,并将得到的请求码写入指定内存中去;(2)关键任务I发现请求码x1有更新,结合本任务的状态输入si1、输出so1,通过一定的算法f1(si,so,x),得到结果y1;(3)关键任务II发现结果x2即上一级任务的运算结果y1有更新,结合本任务的状态即输入si2、输出so2,通过一定的算法f2(si,so,x),得到结果y2;(4)关键任务III发现结果x3即上一级任务的运算结果y2有更新,结合本任务的状态即输入si3、输出so3,通过一定的算法f3(si,so,x),得到结果y3;(5)喂狗任务等待一定时间后,将应答本文档来自技高网
...
一种利用CIC61508的喂狗机制实现多任务监控的方法

【技术保护点】
一种利用CIC61508的喂狗机制实现多任务监控的方法,多任务包括喂狗任务、关键任务Ⅰ、关键任务Ⅱ、关键任务Ⅲ,其特征在于,所述喂狗任务通过通讯命令从安全芯片CIC61508获得请求码,所述关键任务Ⅰ通过一定的算法f1(si,so,x)与关键任务Ⅰ的状态信息对请求码进行处理,处理结果为y1;所述关键任务Ⅱ通过特定的算法f2(si,so,x)与关键任务Ⅱ的状态信息对y1进行处理,处理结果为y2;所述关键任务Ⅲ通过特定的算法f3(si,so,x)与关键任务Ⅲ的状态信息对y2进行处理,处理结果为y3,所述处理结果y3为应答码,所述喂狗任务接收应答码并发送给安全芯片CIC61508。

【技术特征摘要】
1.一种利用CIC61508的喂狗机制实现多任务监控的方法,多任务包括喂狗任务、关键任务Ⅰ、关键任务Ⅱ、关键任务Ⅲ,其特征在于,所述喂狗任务通过通讯命令从安全芯片CIC61508获得请求码,所述关键任务Ⅰ通过一定的算法f1(si,so,x)与关键任务Ⅰ的状态信息对请求码进行处理,处理结果为y1;所述关键任务Ⅱ通过特定的算法f2(si,so,x)与关键任务Ⅱ的状态信息对y1进行处理,处理结果为y2;所述关键任务Ⅲ通过特定的算法f3(si,so,x)与关键任务Ⅲ的状态信息对y2进行处理,处理结果为y3,所述处理结果y3为应答码,所述喂狗任务接收应答码并发送给安全芯片CIC61508。2.根据权利要求1所述的利用CIC61508的喂狗机制实现多任务监控的方法,其特征在于,该方法包括以下步骤:(1)喂狗任务通过通讯命令从安全芯片CIC61508获得请求码,并将得到的请求码写入指定内存中去;(2)关键任务I发现请求码x1有更新,结合本任务的状态输入si1、输出so1,通过一定的算法f1(si,so,x),得到结果y1;(3)关键任务II发现结果x2即上一级任务的运算结果y1有更新,结合本任务的状态即输入si2、输出so2,通过一定的算法f2(si,so,x...

【专利技术属性】
技术研发人员:何玮
申请(专利权)人:北京欧鹏巴赫新能源科技股份有限公司
类型:发明
国别省市:北京,11

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

1