汽车控制器的安全监控方法及系统
技术领域
本发明涉及汽车的安全技术领域,更具体地说,涉及一种汽车控制器的安全监控方法及系统。
背景技术
目前,随着全球汽车产业的发展,汽车电子行业的市场需求越来越大。对于汽车来说,控制器是汽车中最为关键的零部件之一,直接控制汽车的运行,决定了汽车的安全,对整车的功能起到了决定性的作用。
汽车在运行过程中,汽车的控制都由控制器进行控制,当控制器出现异常,发生运行错误时,比如,控制器中软件跑飞,整车将发生不可预知的事故。
在当前的控制器技术中,通常采用看门狗复位来保护控制器,但是看门狗复位只能在控制器运行过程中对软件跑飞的情况进行复位,使控制器重新开始工作,但不能对控制器的运行的初始过程进行有效的检测。
发明内容
有鉴于此,本发明提供一种汽车控制器的安全监控方法及系统,以实现对汽车控制器进行实时监控,提高控制器的安全可靠性和稳定性。
为解决上述技术问题,本发明采用的技术方案为:一种汽车控制器的安全监控方法,包括:
检测控制器中的只读存储器;
判断所述只读存储器是否发生损坏,若否则检测控制器中的随机存储器,反之则禁止所述控制器运行;
检测控制器中的随机存储器;
判断所述随机存储器是否发生损坏,若否则运行所述控制器,反之则禁止所述控制器运行。
优选地,所述检测控制器中的只读存储器包括:
通过循环冗余校验对所述只读存储器进行检测,并获取循环冗余校验后得到的校验码。
优选地,所述判断所述只读存储器是否发生损坏包括:
判断所述校验码与预设理论值是否相等,若相等则得出所述只读存储器未损坏,反之则:
通过循环冗余校验重新检测所述只读存储器,并获取新的校验码;
判断所述新的校验码与所述预设理论值是否相等,若相等则得出所述只读存储器未损坏,反之则:
判断重新检测所述只读存储器的次数是否超过预设值,若否则继续通过循环冗余校验重新检测所述只读存储器,反之则得出所述只读存储器损坏。
优选地,所述检测控制器中的随机存储器包括:
在所述随机存储器中写入数据并获取读出数据。
优选地,所述判断所述随机存储器是否发生损坏包括:
判断所述写入数据与所述读出数据是否相等,若相等则得出所述随机存储器未损坏,反之则:
在所述随机存储器中重新写入新的数据并获取新的读出数据;
判断所述新的写入数据与所述新的读出数据是否相等,若相等则得出所述随机存储器未损坏,反之则:
判断重新写入数据的次数是否超过预设值,若否则继续写入数据,反之则得出所述随机存储器损坏。
优选地,所述运行所述控制器后还包括:
通过循环冗余校验对所述只读存储器中存放安全相关函数的区域进行检测,并获取循环冗余校验后得到的校验码;
判断所述校验码与预设理论值是否相等,若相等则继续运行所述控制器,反之则激活紧急通道。
优选地,所述运行所述控制器后还包括:
将所述控制器中安全相关函数使用的数值和补数分别存储于所述安全相关函数使用的区域中,并检测所述使用数值和补数;
判断检测到的所述使用数值和补数是否互补,若互补则继续运行所述控制器,反之则激活紧急通道。
优选地,所述运行所述控制器后还包括:
所述控制器中的监控处理器将预设问题发送至所述控制器中的处理器;
所述处理器将接收到的所述预设问题的初始值分配至安全相关函数的程序流;
所述安全相关函数的程序流根据所述初始值运行,并输出结果值;
所述处理器将所述结果值发送至所述监控处理器;
所述监控处理器判断接收到的所述结果值与预设理论值是否相等,若相等所述安全相关函数的程序流运行正确,继续运行所述控制器,反之则激活紧急通道。
优选地,所述运行所述控制器后还包括:
将安全相关函数镜像,得出所述安全相关函数的镜像函数;
所述控制器中的监控处理器将预设问题发送至所述控制器中的处理器;
所述处理器查询预设问题表,得出所述预设问题的输入数据;
所述镜像函数根据所述输入数据运行,并输出输出数据;
所述处理器将所述输出数据发送至所述监控处理器;
所述监控处理器判断接收到的所述输出数据与预设数据是否相等,若相等所述安全相关函数的指令集运行正确,继续运行所述控制器,反之则激活紧急通道。
一种汽车控制器的安全监控系统,包括:只读存储器检测系统和随机存储器检测系统;其中:
所述只读存储器检测系统检测并判断控制器中的只读存储器是否发生损坏;
若所述只读存储器发生损坏,所述只读存储器检测系统控制所述控制器禁止运行;
反之若所述只读存储器未发生损坏,所述随机存储器检测系统检测并判断控制器中的随机存储器是否发生损坏;
若所述随机存储器发生损坏,所述随机存储器检测系统控制所述控制器禁止运行;
反之若所述随机存储器未发生损坏,所述随机存储器检测系统控制所述控制器运行。
优选地,所述只读存储器检测系统包括:第一检测单元、第一判断单元和第一控制单元;其中:
所述第一检测单元通过循环冗余校验对所述只读存储器进行检测,并获取循环冗余校验后得到的校验码;
所述第一判断单元判断所述校验码与预设理论值是否相等,若相等所述第一控制单元触发所述随机存储器检测系统运行,反之所述第一控制单元触发所述控制器禁止运行。
优选地,所述随机存储器检测系统包括:第二检测单元、第二判断单元和第二控制单元;其中:
所述第二检测单元在所述随机存储器中写入数据并获取读出数据;
所述第二判断单元判断所述写入数据与所述读出数据是否相等,若相等则所述第二控制单元触发所述控制器运行,反之则所述第二检测单元在所述随机存储器中重新写入新的数据并获取新的读出数据;
所述第二判断单元判断所述新的写入数据与所述新的读出数据是否相等,若相等则所述第二控制单元触发所述控制器运行,反之则:
所述第二判断单元判断重新写入数据的次数是否超过预设值,若否则所述第二检测单元继续写入数据,反之则所述第二控制单元触发所述控制器禁止运行。
优选地,所述系统还包括:对只读存储器中存放安全相关函数的区域进行监控的第一监控系统。
优选地,所述第一监控系统包括:第三检测单元、第三判断单元和第三控制单元;其中:
所述第三检测单元通过循环冗余校验对所述只读存储器中存放安全相关函数的区域进行检测,并获取循环冗余校验后得到的校验码;
所述第三判断单元判断所述校验码与预设理论值是否相等,若相等则所述第三控制单元触发所述控制器继续运行,反之则所述控制单元激活紧急通道。
优选地,所述系统还包括:对随机存储器中安全相关函数使用的区域进行监控的第二监控系统。
优选地,所述第二监控系统包括:存储单元、第四检测单元、第四判断单元和第四控制单元;其中:
所述存储单元将所述控制器中安全相关函数使用的数值和补数分别存储于所述安全相关函数使用的区域中;
所述第四检测单元检测所述使用数值和补数;
所述第四判断单元判断所述第四检测单元检测到的所述使用数值和补数是否互补,若互补则所述第四控制单元控制所述控制器继续运行,反之则所述第四控制单元激活紧急通道。
优选地,所述系统还包括:对程序流进行监控的第三监控系统。
优选地,所述第三监控系统包括:第一监控处理器和第一处理器;其中:
所述第一监控处理器发送预设问题至所述第一处理器;
所述第一处理器分配所述预设问题的初始值至安全相关函数的程序流;
所述第一处理器接收安全相关函数的程序流根据所述初始值运行输出的结果值,并将所述结果值发送至所述第一监控处理器;
所述第一监控处理器判断接收到的所述结果值与预设理论值是否相等,若相等控制所述控制器继续运行,反之则激活紧急通道。
优选地,所述系统还包括:对指令集进行监控的第四监控系统。
优选地,所述第四监控系统包括:第二监控处理器和第二处理器;其中:
所述第二监控处理器将安全相关函数镜像,得出所述安全相关函数的镜像函数,并将预设问题发送至所述第二处理器;
所述第二处理器查询预设问题表,得出所述预设问题的输入数据,所述镜像函数根据所述输入数据运行,并输出输出数据;
所述第二处理器将所述输出数据发送至所述第二监控处理器;
所述第二监控处理器判断接收到的所述输出数据与预设数据是否相等,若相等控制所述控制器继续运行,反之则激活紧急通道。
从上述的技术方案可以看出,本发明公开的一种汽车控制器的安全监控方法,通过检测控制器中的只读存储器,判断只读存储器是否发生损坏,当判断只读存储器发生损坏时,禁止控制器运行,当判断只读存储器未发生损坏时,继续对控制器中的随机存储器进行检测,判断随机存储器是否发生损坏,当判断随机存储器发生损坏时,禁止控制器运行,当判断只读存储器未发生损坏时运行控制器。该方法实现了在控制器运行的初始阶段对控制器的检测,提高了控制器在运行过程中的安全可靠性和稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种汽车控制器的安全监控方法流程图;
图2为本发明实另一施例公开的一种汽车控制器的安全监控方法流程图;
图3为本发明实施例公开的一种汽车控制器的安全监控系统结构示意图;
图4为本发明另一实施例公开的一种汽车控制器的安全监控系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种汽车控制器的安全监控方法及系统,以实现对汽车控制器进行实时监控,提高控制器的安全可靠性和稳定性。
如图1所示,一种汽车控制器的安全监控方法,包括:
S101、检测控制器中的只读存储器;
S102、判断只读存储器是否发生损坏,若否则进入步骤S103,反之则进入步骤S106:
S103、检测控制器中的随机存储器;
S104、判断随机存储器是否发生损坏,若否则进入步骤S105,反之则进入步骤S106:
S105、运行控制器;
S106、禁止控制器运行。
在上述实施例中,在控制器上电初始化时,对控制器中所有的只读存储器(ROM)空间采用循环冗余校验CRC32进行检测,CRC32校验后得到一个校验码,将获取的校验码与理论值相比较,如果两个值不相等,则再次进行CRC32校验获取新的校验码,比较新的校验码和理论值,如果连续三次比较校验码和理论值均不相等,则判定ROM区的软件代码发生了损坏,控制器上电失败;
如果获取的校验码与理论值相等,则继续对随机存储器(RAM)空间进行检测。首先对控制器中的RAM空间全部写入0,然后再对其进行读出操作,判断读出的数据是否全为0;再对控制器中的RAM空间全部写入1,写完后对其进行读出操作,判断读出的数据是否全为1;
如果两次写入和读出的数据均相等,则RAM空间检测通过,控制器上电成功,运行控制器;如果任何一次写入和读出的数据不相等,则RAM空间检测未通过,再次以同样的方法对其进行检测,如果连续三次检测不通过,则判定RAM区域发生损坏,控制器上电失败,禁止控制器运行。
在上述实施例中,通过检测控制器中的只读存储器,判断只读存储器是否发生损坏,当判断只读存储器发生损坏时,禁止控制器运行,当判断只读存储器未发生损坏时,继续对控制器中的随机存储器进行检测,判断随机存储器是否发生损坏,当判断随机存储器发生损坏时,禁止控制器运行,当判断只读存储器未发生损坏时运行控制器。该方法实现了在控制器运行的初始阶段对控制器的检测,提高了控制器在运行过程中的安全可靠性和稳定性。
为了保证控制器在通过初始阶段的检测后在运行过程中的安全,本发明的另一实施例还公开了一种汽车控制器的安全监控方法,如图2所示,包括:
S201、对控制器进行初试阶段的检测;
具体检测过程与上一实施例相同,在此不再赘述。
S202、对只读存储器中存放安全相关函数的区域进行监控;
具体的,在控制器的运行过程中,对只读存储器(ROM)中存放安全相关函数的区域采用循环冗余校验CRC16进行检测,CRC16校验后得到一个校验码,将获取的校验码与理论值相比较,如果两个值相等表明ROM中存放安全相关函数的区域正常,控制器可以继续运行;如果两个值不相等,判定ROM中存放安全相关函数的区域发生故障,此时触发控制器在100ms内激活紧急通道。
S203、对随机存储器中安全相关函数使用的区域进行监控;
具体的,在控制器的运行过程中,将控制器中安全相关函数所使用的数值和补数分别存储在随机存储器(RAM)空间中,检查两个值是否互补,如果互补表明RAM中安全相关函数使用的区域正常,控制器可以继续运行;如果两个值不互补,判定RAM中安全相关函数使用的区域发生故障,此时触发控制器在100ms内激活紧急通道。
S204、对程序流进行监控;
具体的,通过监控处理器给处理器发送问题,处理器检测控制器中安全相关函数是否按照顺序执行、是否有函数被漏执行、是否有函数被重复执行、每个函数是否被执行完成,检测完后将答案发给监控处理器;监控处理器将收到的答案值与预先设定的理论答案值进行比较,如果两个值相等,则程序流运行正确,如果两个值不相等,则程序流发生错误,此时触发控制器在100ms内激活紧急通道。
S205、对指令集进行监控;
具体的,将控制器中安全相关的函数做一个镜像,即将原安全相关的函数做一个备份,备份函数即为原函数的镜像函数,指令集监控在镜像函数中完成。通过监控处理器发送给处理器的问题,处理器监控控制器中安全相关函数的指令集的运行情况,检测完后将答案发给监控处理器。监控处理器将通过收到的答案与预先设定的理论答案值进行比较,判断指令集运行是否正确,如果两个值相等,则指令集运行正确,如果两个值不相等,则指令集运行错误,此时触发控制器在100ms内激活紧急通道。
在控制器的运行过程中,还可以进行问答通信监控,对处理器与监控处理器之间的问答通信进行监控,以保证安全监控的通信过程安全可靠。问答通信监控的实现方法是对问答通信数据中的错误计数值进行检测,主处理器发送正确答案和错误答案给监控处理器,通过监控处理器反馈的错误计数值是否进行相应的增加和减少来判断问答通信是否出错,如果问答通信发生错误,控制器将激活紧急通道,提高控制器的安全性。
如图3所示,本发明实施例公开了一种汽车控制器的安全监控系统,包括:只读存储器检测系统11和随机存储器检测系统12;其中:
只读存储器检测系统11检测并判断控制器中的只读存储器是否发生损坏;
若只读存储器发生损坏,只读存储器检测系统11控制控制器禁止运行;
反之若只读存储器未发生损坏,随机存储器检测系统12检测并判断控制器中的随机存储器是否发生损坏;
若随机存储器发生损坏,随机存储器检测系统12控制所述控制器禁止运行;
反之若随机存储器未发生损坏,随机存储器检测系统12控制所述控制器运行。
具体的,只读存储器检测系统11包括:第一检测单元、第一判断单元和第一控制单元;其中:
第一检测单元通过循环冗余校验对只读存储器进行检测,并获取循环冗余校验后得到的校验码;
第一判断单元判断校验码与预设理论值是否相等,若相等第一控制单元触发随机存储器检测系统12运行,反之第一控制单元触发控制器禁止运行。
具体的,随机存储器检测系统12包括:第二检测单元、第二判断单元和第二控制单元;其中:
第二检测单元在随机存储器中写入数据并获取读出数据;
第二判断单元判断写入数据与所述读出数据是否相等,若相等则第二控制单元触发控制器运行,反之则第二检测单元在随机存储器中重新写入新的数据并获取新的读出数据;
第二判断单元判断新的写入数据与新的读出数据是否相等,若相等则第二控制单元触发控制器运行,反之则:
第二判断单元判断重新写入数据的次数是否超过预设值,若否则所第二检测单元继续写入数据,反之则第二控制单元触发所述控制器禁止运行。
如图4所示,本发明的另一实施例公开了一种汽车控制器的安全监控系统,包括:只读存储器检测系统21、随机存储器检测系统22、对只读存储器中存放安全相关函数的区域进行监控的第一监控系统23、对随机存储器中安全相关函数使用的区域进行监控的第二监控系统24、对程序流进行监控的第三监控系统25和对指令集进行监控的第四监控系统26;其中:
只读存储器检测系统21包括:第一检测单元、第一判断单元和第一控制单元;
第一检测单元通过循环冗余校验对只读存储器进行检测,并获取循环冗余校验后得到的校验码;
第一判断单元判断校验码与预设理论值是否相等,若相等第一控制单元触发随机存储器检测系统22运行,反之第一控制单元触发控制器禁止运行。
随机存储器检测系统22包括:第二检测单元、第二判断单元和第二控制单元;
第二检测单元在随机存储器中写入数据并获取读出数据;
第二判断单元判断写入数据与所述读出数据是否相等,若相等则第二控制单元触发控制器运行,反之则第二检测单元在随机存储器中重新写入新的数据并获取新的读出数据;
第二判断单元判断新的写入数据与新的读出数据是否相等,若相等则第二控制单元触发控制器运行,反之则:
第二判断单元判断重新写入数据的次数是否超过预设值,若否则所第二检测单元继续写入数据,反之则第二控制单元触发所述控制器禁止运行。
第一监控系统23包括:第三检测单元、第三判断单元和第三控制单元;
第三检测单元通过循环冗余校验对只读存储器中存放安全相关函数的区域进行检测,并获取循环冗余校验后得到的校验码;
第三判断单元判断校验码与预设理论值是否相等,若相等则第三控制单元触发控制器继续运行,反之则控制单元激活紧急通道。
第二监控系统24包括:存储单元、第四检测单元、第四判断单元和第四控制单元;
存储单元将控制器中安全相关函数使用的数值和补数分别存储于安全相关函数使用的区域中;
第四检测单元检测使用数值和补数;
第四判断单元判断第四检测单元检测到的使用数值和补数是否互补,若互补则第四控制单元控制控制器继续运行,反之则第四控制单元激活紧急通道;
所述第三监控系统25包括:第一监控处理器和第一处理器;
第一监控处理器发送预设问题至第一处理器;
第一处理器分配预设问题的初始值至安全相关函数的程序流;
第一处理器接收安全相关函数的程序流根据初始值运行输出的结果值,并将结果值发送至第一监控处理器;
第一监控处理器判断接收到的结果值与预设理论值是否相等,若相等控制控制器继续运行,反之则激活紧急通道;
第四监控系统26包括:第二监控处理器和第二处理器;
第二监控处理器将安全相关函数镜像,得出安全相关函数的镜像函数,并将预设问题发送至所述第二处理器;
第二处理器查询预设问题表,得出预设问题的输入数据,镜像函数根据输入数据运行,并输出输出数据;
第二处理器将输出数据发送至第二监控处理器;
第二监控处理器判断接收到的输出数据与预设数据是否相等,若相等控制控制器继续运行,反之则激活紧急通道。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。