一种用于冗余控制器的程序升级方法技术

技术编号:34106657 阅读:19 留言:0更新日期:2022-07-12 00:35
本发明专利技术公开了一种冗余控制器,包括控制器甲和控制器乙,其特征在于:所述控制器甲与控制器乙上均设置有连接端口,所述连接端口与控制器甲、控制器乙之间均通过CN总线连接,所述控制器甲与控制器乙通过CN总线或者SPI总线连接。本发明专利技术可以在对其中的一套控制器使用上位机进行APP程序升级时,正在程序升级的控制器能够同时对另外的一套控制器进行程序升级,简化升级流程,大大节省了升级耗费的时间,当一套控制器的单片机Flash发生故障而导致APP程序不能正常执行时,另外一套控制器将APP程序通过通讯协议传输至此损坏的控制器的RAM上,使得损坏的控制器能够正常的执行APP程序,使得冗余控制系统还能正常的工作。得冗余控制系统还能正常的工作。

【技术实现步骤摘要】
一种用于冗余控制器的程序升级方法


[0001]本专利技术涉及汽车工业
,具体为一种用于冗余控制器的程序升级方法。

技术介绍

[0002]随着汽车智能化、网联化和电气化,汽车电子元器件在整个零部件中所占有越来越高的比例,电子控制系统在各种复杂工况下失效的概率也大大增加,为了进一步电子控制系统的安全性、稳定性和冗余性,汽车零部件公司设计出了具有多套控制器的电子控制系统,控制器支持具有多种APP程序更新方式,列如,天津英创汇智汽车技术有限公司推出了一款L3冗余电动助力转向系统,使用传统的串口、JTAG或者DAP完成程序的更新,但是控制器在工业化量产和安装在整车上时,上述的接口,除串口外,基本不会预留出来。而使用串口更新APP程序时,首先必须把L3冗余EPS控制器的原先的线束拆下,然后使用特定的线束连接上控制器,相较于Boot loader说,费时费力; Boot loader主要用于完成APP程序的更新,包括上位机、BOOT程序和通讯协议,其中上位机用于对APP程序进行解析,并将解析好的程序按照所规定的通讯协议传输给控制器;按照ISO15765体系协议,将应用层分为四层,分别是物理层、数据链路层、网络层和应用层,每层都有不同的作用,其中网络层主要是完成数据的封包,应用层一般是基于UDS协议中的服务所制定的 APP程序更新流程;BOOT程序用于接收上位机传输的APP程序,并将APP程序存储到特定的FLASH或者RAM区域。
[0003]现有技术方案主要是针对一套控制器上的单片机使用Boot Loader进行 APP程序升级,而某些安全性要求很高的产品中设计有两套控制器,每套控制器拥有一个单片机,而且两套控制器里的程序是基本一致的,需要人工的重复Boot Loader程序升级流程,过程繁琐,极易耗费时间。

技术实现思路

[0004]本专利技术的目的在于提供一种用于冗余控制器的程序升级方法,以解决上述
技术介绍
中提出的问题。
[0005]为实现上述目的,本专利技术提供如下技术方案:一种冗余控制器,包括控制器甲和控制器乙,其特征在于:所述控制器甲与控制器乙上均设置有连接端口,所述连接端口与控制器甲、控制器乙之间均通过CN总线连接,所述控制器甲与控制器乙通过CN总线或者SPI总线连接。
[0006]优选的,在上位机通过Boot Loader对所述控制器甲进行APP程序升级的情况时,具体是在上位机向控制器甲发出程序更新请求后,判断控制器乙的状态是否满足预定条件;在满足预定条件的情况下,所述控制器甲和控制器乙按照特定的更新步骤进行程序更新。
[0007]优选的,所述特定的更新步骤包括:
[0008]步骤一:上位机向控制器甲发出Boot Loader程序更新请求指令,并完成相关的握手协议;
[0009]步骤二:控制器甲完成APP程序的擦除;
[0010]步骤三:控制器甲向控制器乙发出Boot Loader程序更新请求,此时,控制器甲相对于控制器乙就是上位机,使得控制器乙进入Boot Loader更新模式;
[0011]步骤四:控制器乙完成APP程序的擦除;
[0012]步骤五:上位机向控制器甲发送APP程序,同时控制器甲将上位机发送来的APP程序传递给控制器乙;于此同时,控制器甲和控制器乙调用FLASH 驱动更新位于APP段的应用程序;
[0013]步骤六:上位机校验控制器甲所更新的APP程序完整性,若程序不完整,则重新执行步骤二及其以后的步骤;
[0014]步骤七:控制器甲校验控制器乙程序的完整性,若程序不完整,则重新执行步骤四及其以后的步骤。
[0015]优选的,所述特定的更新步骤包括:
[0016]步骤一:上位机向控制器甲发出Boot Loader程序更新请求指令,并完成相关的握手协议;
[0017]步骤二:控制器甲完成APP程序的擦除;
[0018]步骤三:上位机向控制器甲发送APP程序,于此同时,控制器甲调用FLASH 驱动更新位于APP段的应用程序;
[0019]步骤四:上位机校验控制器甲所更新APP程序的完整性,若程序不完整,则重新执行步骤二及其以后的步骤;
[0020]步骤五:控制器甲向控制器乙发出Boot Loader程序更新请求,此时,控制器甲相对于控制器乙就是上位机,使得控制器乙进入Boot Loader更新模式;
[0021]步骤六:控制器乙完成APP程序的擦除;
[0022]步骤七:控制器甲将此次更新的APP程序传递给控制器乙;于此同时,控制器乙调用FLASH驱动更新位于APP段的应用程序;
[0023]步骤八:控制器甲校验控制器乙所更新APP程序的完整性,若程序不完整,则重新执行步骤六及其以后的步骤。
[0024]优选的,判断所述控制器乙的状态是否满足预定条件包括:所述控制器乙能够正常运行程序,且能够与控制器甲相互通讯。
[0025]与现有技术相比,本专利技术的有益效果是:
[0026]1、本专利技术可以在对其中的一套控制器使用上位机进行APP程序升级时,正在程序升级的控制器能够同时对另外的一套控制器进行程序升级,简化升级流程,大大节省了升级耗费的时间;
[0027]2、本专利技术当一套控制器的单片机Flash发生故障而导致APP程序不能正常执行时,另外一套控制器将APP程序通过通讯协议传输至此损坏的控制器的RAM上,使得损坏的控制器能够正常的执行APP程序,使得冗余控制系统还能正常的工作。
附图说明
[0028]图1为本专利技术实施例一程序升级方法的流程框图;
[0029]图2为本专利技术程序升级时冗余控制器与上位机连接示意图;
[0030]图3为本专利技术冗余控制器FLASH故障下的容错方案示意图;
[0031]图4为本专利技术冗余控制器FLASH故障下的容错流程框图;
[0032]图5为本专利技术实施例二程序升级方法的流程框图。
[0033]图中:1、控制器甲;2、控制器乙。
具体实施方式
[0034]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0035]实施例一
[0036]请参阅图1

4,本专利技术提供一种技术方案:一种冗余控制器,包括控制器甲1和控制器乙2,其特征在于:控制器甲1与控制器乙2上均设置有连接端口,连接端口与控制器甲1、控制器乙2之间均通过CN总线连接,控制器甲1与控制器乙2通过CN总线或者SPI总线连接;
[0037]一种冗余控制器程序升级方法,其特征在于:在上位机通过BootLoader对控制器甲1进行APP程序升级的情况时,具体是在上位机向控制器甲1发出程序更新请求后,判断控制器乙2的状态是否满足预定条件;在满足预定条件的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种冗余控制器,包括控制器甲(1)和控制器乙(2),其特征在于:所述控制器甲(1)与控制器乙(2)上均设置有连接端口,所述连接端口与控制器甲(1)、控制器乙(2)之间均通过CN总线连接,所述控制器甲(1)与控制器乙(2)通过CN总线或者SPI总线连接。2.一种冗余控制器程序升级方法,其特征在于:在上位机通过Boot Loader对所述控制器甲(1)进行APP程序升级的情况时,具体是在上位机向控制器甲(1)发出程序更新请求后,判断控制器乙(2)的状态是否满足预定条件;在满足预定条件的情况下,所述控制器甲(1)和控制器乙(2)按照特定的更新步骤进行程序更新。3.根据权利要求2所述的一种冗余控制器程序升级方法,其特征在于:所述特定的更新步骤包括:步骤一:上位机向控制器甲(1)发出Boot Loader程序更新请求指令,并完成相关的握手协议;步骤二:控制器甲(1)完成APP程序的擦除;步骤三:控制器甲(1)向控制器乙(2)发出Boot Loader程序更新请求,此时,控制器甲(1)相对于控制器乙(2)就是上位机,使得控制器乙(2)进入Boot Loader更新模式;步骤四:控制器乙(2)完成APP程序的擦除;步骤五:上位机向控制器甲(1)发送APP程序,同时控制器甲(1)将上位机发送来的APP程序传递给控制器乙(2);于此同时,控制器甲(1)和控制器乙(2)调用FLASH驱动更新位于APP段的应用程序;步骤六:上位机校验控制器甲(1)所更新的APP程序完整性,若...

【专利技术属性】
技术研发人员:宋文琦朱正
申请(专利权)人:北京英创汇智科技有限公司
类型:发明
国别省市:

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

1