汽车电子控制器及其启动控制方法

摘要:

本发明公开了一种汽车电子控制器,包括一个启动时调用的引导程序模块,该模块位于其软件程序模块存储的起始地址,用于判断汽车电子控制器的软件是否需要更新,并在需要时引导更新。本发明还公开了一种上述汽车电子控制器的启动控制方法,用于在启动中检测更新程序,引导完成更新。因为本发明将引导程序模块集成进汽车电子控制器中,采用Flash交换或者Ram交换技术,遵循诊断协议,从而达到通过诊断仪将程序更新的目的,将汽车电子控制器的更新变的简单可行。

申请号: CN200710094396.0 专利名称: 汽车电子控制器及其启动控制方法 申请(专利权)人: [联创汽车电子有限公司] 发明人: [罗来军, 吕春林, 黄东亚] 其他信息:

汽车电子控制器及其启动控制方法

技术领域

本发明涉及一种汽车车身电子装置,具体涉及一种汽车电子控制器。 本发明还涉及一种汽车电子控制器的启动控制方法

背景技术

随着汽车电子技术的发展,越来越多的电子控制器被应用到汽车上, 如电动后视镜控制模块、电动座椅控制器、电动门窗控制器、空调控制器、 灯光控制器、中控锁模块,防盗器等等。

电子控制器在汽车中的应用越来越多,各电子设备间的数据通信变得 越来越多,同时这些分离模块的大量使用,在提高车辆舒适性的同时也带 来了成本增加、故障率上升、设计需求的变动,从而也造成以前的设计失 效等。

目前汽车电子控制器一旦发生程序故障,或者由于设计变更造成的软 件更改的处理办法是:将控制器从整车上拆除,在工作室中采用专用工具 进行程序更新。由于每个控制器的安装位置不同,拆除需要一定的工作量; 微处理器的不同,烧写工具也不同;汽车销售分布范围大的特点也将使得 这项更新程序的任务变得非常艰难。

发明内容

本发明所要解决的技术问题是提供一种汽车电子控制器,它可以通 过诊断仪就能进行程序升级,将汽车电子控制器的更新变的简单可行。为 此,本发明还要提供一种汽车电子控制器的启动控制方法。

为了解决以上技术问题,本发明提供了一种汽车电子控制器,包括 一个启动时调用的引导程序模块,该模块位于其软件程序模块存储的起始 地址,用于判断汽车电子控制器的软件是否需要更新,在需要时引导更新。

本发明还提供了一种上述汽车电子控制器的启动控制方法,包括如下 步骤:(1)汽车电子控制器通电后,其引导程序模块检测是否连有诊断仪, 如果是则检测诊断仪中的更新软件的版本号,如果否则引导至汽车电子控 制器的启动应用程序中;(2)引导程序模块检测现有软件的版本号与更新 软件的版本号是否相同,若不同则向诊断仪发送需要更新的信令,若相同 则引导至汽车电子控制器的启动应用程序中;(3)诊断仪收到需要更新的 信令后向汽车电子控制器发送更新软件;(4)引导程序模块检测更新软件 的数据,将其中与现有软件不同的数据段复制,并移至内存中覆盖原有的 数据段;(5)自动断电,更新完成。

因为本发明将引导程序模块集成进汽车电子控制器中,采用Flash交 换或者Ram交换技术,遵循诊断协议,从而达到通过诊断仪将程序更新 的目的,将汽车电子控制器的更新变的简单可行。

附图说明

下面结合附图和具体实施方式对本发明作进一步详细说明。

图1是本发明的系统结构图。

具体实施方式

如图1所示,本发明的汽车电子控制器包括一个启动时调用的引导程 序模块,该模块位于其软件程序模块存储的起始地址,用于判断汽车电子 控制器的软件是否需要更新,并在需要时引导更新。由于系统加电或复位 后,所有的CPU通常都从某个由CPU制造商预先安排的地址上取指令, 因此将引导程序分配到这个起始地址开始的一段空间中,可以对汽车电子 控制器的启动进行控制。

汽车电子控制器通电后,其引导程序模块自动检测是否连有诊断仪。 如果是则检测诊断仪中的更新软件的版本号,如果否则引导至汽车电子控 制器的正常启动的程序中。然后引导程序模块对比现有软件的版本号与更 新软件的版本号是否相同,若不同则向诊断仪发送需要更新的信令;若相 同则引导至汽车电子控制器的正常启动的程序中。接着诊断仪收到需要更 新的信令后向汽车电子控制器发送更新软件。引导程序模块收到更新软件 后,进一步检测更新软件的数据,将其中与现有软件不同的数据段复制, 并移至内存中覆盖原有的数据段。完成数据段复制后,汽车电子控制器自 动断电,更新完成。

本发明的汽车电子控制器与诊断仪的通讯通过ODBII端口实现,且遵 循KWP2000协议,诊断仪很容易通过ODBII口与汽车电子控制器进行相连 取得物理层连接,并进行通信数据的传输,使程序更新不再需要专门的软 件烧录工具。

另外可以在本发明的汽车电子控制器的引导程序中设置一个更新完 成标志位,其初始值为1或0。在启动控制程序过程中,当更新步骤开始 执行时,将更新完成标志位的值设置为初始值的取反值;当更新步骤完成 时,将该更新完成标志位的值重置为初始值。这样在汽车电子控制器重新 启动时,通过检测更新完成标志位的值,可以首先判断如果进行了更新, 该更新程序是否正常。因为如果该标志位不是初始值,即表明更新程序出 现了异常,则自动将原有的程序段复位。只有更新完成标志位的值与初始 值相同才进一步进行后面的程序。这样使得程序的运行更加安全可靠。

具体实施方式

如图1所示,本发明的汽车电子控制器包括一个启动时调用的引导程 序模块,该模块位于其软件程序模块存储的起始地址,用于判断汽车电子 控制器的软件是否需要更新,并在需要时引导更新。由于系统加电或复位 后,所有的CPU通常都从某个由CPU制造商预先安排的地址上取指令, 因此将引导程序分配到这个起始地址开始的一段空间中,可以对汽车电子 控制器的启动进行控制。

汽车电子控制器通电后,其引导程序模块自动检测是否连有诊断仪。 如果是则检测诊断仪中的更新软件的版本号,如果否则引导至汽车电子控 制器的正常启动的程序中。然后引导程序模块对比现有软件的版本号与更 新软件的版本号是否相同,若不同则向诊断仪发送需要更新的信令;若相 同则引导至汽车电子控制器的正常启动的程序中。接着诊断仪收到需要更 新的信令后向汽车电子控制器发送更新软件。引导程序模块收到更新软件 后,进一步检测更新软件的数据,将其中与现有软件不同的数据段复制, 并移至内存中覆盖原有的数据段。完成数据段复制后,汽车电子控制器自 动断电,更新完成。

本发明的汽车电子控制器与诊断仪的通讯通过ODBII端口实现,且遵 循KWP2000协议,诊断仪很容易通过ODBII口与汽车电子控制器进行相连 取得物理层连接,并进行通信数据的传输,使程序更新不再需要专门的软 件烧录工具。

另外可以在本发明的汽车电子控制器的引导程序中设置一个更新完 成标志位,其初始值为1或0。在启动控制程序过程中,当更新步骤开始 执行时,将更新完成标志位的值设置为初始值的取反值;当更新步骤完成 时,将该更新完成标志位的值重置为初始值。这样在汽车电子控制器重新 启动时,通过检测更新完成标志位的值,可以首先判断如果进行了更新, 该更新程序是否正常。因为如果该标志位不是初始值,即表明更新程序出 现了异常,则自动将原有的程序段复位。只有更新完成标志位的值与初始 值相同才进一步进行后面的程序。这样使得程序的运行更加安全可靠。

个性化你的检索平台
使用键盘键 进行切换