WO2010017775A1 - Controller area network (can) bus based control method for refreshing codes of vehicle’s electronic controller - Google Patents

Controller area network (can) bus based control method for refreshing codes of vehicle’s electronic controller Download PDF

Info

Publication number
WO2010017775A1
WO2010017775A1 PCT/CN2009/073233 CN2009073233W WO2010017775A1 WO 2010017775 A1 WO2010017775 A1 WO 2010017775A1 CN 2009073233 W CN2009073233 W CN 2009073233W WO 2010017775 A1 WO2010017775 A1 WO 2010017775A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
refresh
memory
diagnostic
bus
Prior art date
Application number
PCT/CN2009/073233
Other languages
French (fr)
Chinese (zh)
Inventor
彭庆丰
左从兵
Original Assignee
奇瑞汽车股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 奇瑞汽车股份有限公司 filed Critical 奇瑞汽车股份有限公司
Publication of WO2010017775A1 publication Critical patent/WO2010017775A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Definitions

  • the invention relates to a method for updating an electronic controller of an automobile, in particular to a method for controlling bus programming of a CAN (Local Area Network Controller) of an automotive electronic controller.
  • CAN Local Area Network Controller
  • the present invention provides a control method for code refresh of an automotive electronic controller based on a CAN bus, which can use a CAN bus-based diagnostic device for automotive electronics.
  • the controller Flash is refreshed. During the refresh process, it can detect whether the correct application exists in the controller Flash. If there is no correct application, it will be refreshed.
  • the method includes the following steps:
  • Step A From the normal application running state of the automotive electronic system to the refresh mode
  • Step B Verify the memory of the automotive electronic controller chip and determine whether the correct application is stored in the memory
  • Step C If there is no correct application in the memory, download the application from the diagnostic device, transfer it over the CAN bus, and refresh the application in Flash.
  • the step A specifically includes: entering a refresh mode by the interrupt vector table by a reset interrupt.
  • the step A specifically includes: the system receives a request from the authorized diagnostic device to enter the refresh mode diagnostic service request and enters a refresh mode.
  • the step B specifically includes: after entering the refresh module, first performing a self-test of the RAM memory. If the RAM self-test fails, the program waits for a watchdog reset. After the watchdog resets, the program performs a RAM self-test again.
  • the step B specifically includes: writing a specific data as a Magic Word check code at a specific address in the memory every time refreshing.
  • the step B specifically includes: the program inserts the magic in the specific address before entering the application
  • Word check code readout is compared with the check code stored in the program. If they match, the memory has the correct application. If it is inconsistent, the memory has not been flushed into the application, or the application has been brushed in before. Damaged, you need to brush into the application.
  • the CAN diagnostic protocol layer is responsible for receiving the CAN diagnostic service request message sent by the diagnostic device, and submitting the diagnostic service request to the CAN diagnostic service layer for processing, and then feeding back the response message of the diagnostic service layer to the diagnostic device; the CAN diagnostic service layer performs a specific diagnosis.
  • Service requests including diagnostic mode conversion services, security verification services, memory erasure services, and memory programming services, complete downloading applications from diagnostic devices and programming memory;
  • the memory storing the application is a Flash type memory.
  • FIG. 1 is a diagram showing an interrupt processing mechanism of the detecting method of the present invention
  • FIG. 2 is a structural diagram of a refresh module of the detecting method of the present invention.
  • FIG. 3 is a schematic diagram of the KWP2000 diagnostic service. detailed description
  • the invention designs an application control flow of a CAN bus programming in a flash area of an automotive electronic controller.
  • a refresh module in the controller application, which includes basic CAN communication and CAN diagnostic functions.
  • the entire controller application is divided into an Application Module and a Bootbloader Module.
  • Application module for performing real-time operations As a system and policy control algorithm, the refresh module is used to initiate boot and application programming.
  • the application interrupt can be divided into a reset interrupt and a general interrupt. If it is a general interrupt, the program enters the interrupt service subroutine of the application via the interrupt vector jump table, and then returns to the application's stack address to continue running the application; Is the reset interrupt, the program enters the refresh module from the interrupt vector table, first performs the RAM self-test and the Magic Word check code check. If it passes, the program jumps out of the refresh module, enters the application portal, executes the application; otherwise, it stays at Refresh the module and wait for the next program instruction.
  • the interrupt handling mechanism is shown in Figure 1.
  • Another way to enter the refresh mode is initiated by the diagnostic device's diagnostic service request: In the application, if the controller receives a request from the authorized diagnostic device to enter the refresh mode diagnostic service request, then the application also enters from the application. Refresh mode.
  • the structure diagram of the refresh module is shown in Figure 2.
  • the RAM self-test is first performed. If the RAM self-test fails, the program waits for the watchdog reset. After the watchdog reset, the program performs the RAM again. Check, if the RAM self-test fails repeatedly, it is an infinite loop; if the RAM self-test passes, the program performs Magic Word check code verification. If the Magic Word check code passes, it indicates that Flash has the correct application. The program enters the application and runs the application; if the Magic Word checksum fails, it means that there is no correct application in Flash and the program enters refresh mode.
  • the Magic Word check code is a specific data written in a specific address of the flash (such as the application's first and last addresses) every time the refresh is refreshed.
  • the Magic Word check code check in the refresh module reads the data in these specific addresses. Compared with a specific data, if it is consistent, the description indicates that Flash has the correct application. If it is inconsistent, the description is either not flashed into the application in Flash, or the previously brushed application is damaged. The application, so you need to enter the refresh mode.
  • the refresh mode is first initialized, and then enters the dispatch center.
  • the dispatch center is the clock-controlled loop running main function in the refresh mode;
  • the CAN diagnostic protocol layer is responsible for receiving the CAN diagnostic service request message sent by the diagnostic device, and The diagnostic service request is forwarded to the CAN diagnostic service layer for processing, and the response message of the diagnostic service layer is fed back to the diagnostic device;
  • the CAN diagnostic service layer performs specific diagnostic services, including diagnostic mode conversion service, password verification service, memory erasing service, and memory.
  • the programming service, etc. completes downloading the application from the diagnostic device and programming the Flash;
  • the application interface function provides a memory erase and memory programming interface function for the diagnostic request service.
  • the control method of the invention controls how to enter the refresh mode in the Bootloader Module and the Application Module respectively, and can conveniently perform CAN bus programming on the controller Flash by using the CAN bus diagnostic device; the Magic Word check code is designed in the Bootloader Module. As the basis for judging whether the correct application exists in the controller Flash.
  • the CAN diagnostic service layer mainly includes specific diagnostic services, as shown in Figure 3, which is a schematic diagram of the KWP2000 diagnostic service.
  • the diagnostic mode conversion service is used to convert the diagnostic mode to switch between the default diagnostic mode and the refresh diagnostic mode;
  • the controller reset service is used for controller reset after the application refresh is completed; End the current diagnostic mode service for returning to the default diagnostic mode;
  • the secure authentication service is used to enter the refresh mode required for secure password verification;
  • the remote call service is used to call the memory erase interface function and the memory burn interface function; request download service
  • the delivery data service is used to download specific application module file data.

Abstract

A controller area network (CAN) bus based control method for refreshing the codes of a vehicle’s electronic controller is provided, the method comprises the steps of: step A: entering into a refresh mode from the normal application running state of the electronic device’s system; step B: verifying the memory of the vehicle’s electronic system, and determining whether the memory stores the correct application or not; step C: downloading the application codes from a diagnostic device, transferring it on the basis of CAN bus and refreshing the application, if the memory does not store the correct application.

Description

基于 CAN总线的汽车电子控制器代码刷新的控制方法 技术领域  Control method for code refresh of automotive electronic controller based on CAN bus
本发明涉及汽车电子控制器刷新方法, 尤其是一种汽车电子控制器 CAN (局域网 控制器) 总线烧写的控制方法。 背景技术  The invention relates to a method for updating an electronic controller of an automobile, in particular to a method for controlling bus programming of a CAN (Local Area Network Controller) of an automotive electronic controller. Background technique
随着汽车电子技术的发展, 电子控制器越来越多地应用于现代汽车技术上。 在电 子控制器软件, 即应用程序, 开发过程中, 以及汽车产品的使用期间中, 由于控制软 件的升级, 软件开发人员和汽车主机厂需要对控制器软件进行刷新。 控制器软件一般 存储在芯片中可反复电擦除的 Flash 区, 采用现有的软件刷新方法, 工程人员需要打 开控制器, 借助于 BDM ( background debug module) 端口进行 Flash烧写, 实际操作 很不方便。为了便于汽车产品的开发及维护,本发明设计了一种基于 CAN总线的诊断 设备对汽车电子控制器 Flash进行刷新的方法。 发明内容  With the development of automotive electronics technology, electronic controllers are increasingly used in modern automotive technology. During the electronic controller software, ie, the application, the development process, and the use of the automotive product, software developers and automotive OEMs need to refresh the controller software due to the upgrade of the control software. The controller software is generally stored in the flash area of the chip that can be repeatedly erased electrically. With the existing software refresh method, the engineer needs to open the controller and use the BDM (background debug module) port to perform flash programming. The actual operation is not very good. Convenience. In order to facilitate the development and maintenance of automotive products, the present invention designs a method for refreshing an automotive electronic controller Flash based on a CAN bus-based diagnostic device. Summary of the invention
本发明要解决的技术问题在于, 为了方便地对汽车电子控制器进行刷新, 本发明 提供一种基于 CAN总线的汽车电子控制器代码刷新的控制方法, 能够使用基于 CAN 总线的诊断设备对汽车电子控制器 Flash 进行刷新, 在刷新过程中能够检测控制器 Flash中是否存在正确的应用程序, 如果没有正确的应用程序, 则进行刷新。  The technical problem to be solved by the present invention is that, in order to conveniently refresh the automotive electronic controller, the present invention provides a control method for code refresh of an automotive electronic controller based on a CAN bus, which can use a CAN bus-based diagnostic device for automotive electronics. The controller Flash is refreshed. During the refresh process, it can detect whether the correct application exists in the controller Flash. If there is no correct application, it will be refreshed.
所述方法包括以下步骤:  The method includes the following steps:
步骤 A: 从汽车电子系统正常的应用程序运行状态进入到刷新模式;  Step A: From the normal application running state of the automotive electronic system to the refresh mode;
步骤 B: 对汽车电子控制器芯片的存储器进行检验, 并判断存储器中是否保存有 正确的应用程序;  Step B: Verify the memory of the automotive electronic controller chip and determine whether the correct application is stored in the memory;
步骤 C: 如果存储器中没有正确的应用程序,从诊断设备下载应用程序,通过 CAN 总线传输, 并刷新 Flash中的应用程序。  Step C: If there is no correct application in the memory, download the application from the diagnostic device, transfer it over the CAN bus, and refresh the application in Flash.
优选地, 所述步骤 A具体包括, 通过复位中断, 由中断向量表进入刷新模式。 优选地, 所述步骤 A具体包括, 系统接收到授权诊断设备发出的要求进入刷新模 式诊断服务请求而进入刷新模式。  Preferably, the step A specifically includes: entering a refresh mode by the interrupt vector table by a reset interrupt. Preferably, the step A specifically includes: the system receives a request from the authorized diagnostic device to enter the refresh mode diagnostic service request and enters a refresh mode.
优选地, 所述步骤 B具体包括, 进入刷新模块后, 首先要进行 RAM存储器自检, 如果 RAM自检失败, 则程序等待看门狗复位, 看门狗复位后, 程序再次进行 RAM自 检。 Preferably, the step B specifically includes: after entering the refresh module, first performing a self-test of the RAM memory. If the RAM self-test fails, the program waits for a watchdog reset. After the watchdog resets, the program performs a RAM self-test again.
优选地, 所述步骤 B具体包括, 每次刷新时在存储器内特定地址写入某个特定数 据作为 Magic Word校验码。  Preferably, the step B specifically includes: writing a specific data as a Magic Word check code at a specific address in the memory every time refreshing.
优选地,所述步骤 B具体包括,程序在进入应用程序前把这些特定地址中的 Magic Preferably, the step B specifically includes: the program inserts the magic in the specific address before entering the application
Word校验码读出和程序中保存的校验码相比较, 如果一致, 说明存储器已有正确的应 用程序, 如果不一致, 则存储器中还没有被刷入应用程序, 或者以前刷入应用程序已 经损坏, 这时需要刷入应用程序。 Word check code readout is compared with the check code stored in the program. If they match, the memory has the correct application. If it is inconsistent, the memory has not been flushed into the application, or the application has been brushed in before. Damaged, you need to brush into the application.
CAN诊断协议层负责接收诊断设备发出的 CAN诊断服务请求消息, 并将诊断服 务请求交给 CAN诊断服务层处理,再将诊断服务层的响应消息反馈到诊断设备; CAN 诊断服务层执行具体的诊断服务请求, 包括诊断模式转换服务、 安全验证服务、 存储 器擦除服务和存储器烧写服务等, 完成从诊断设备下载应用程序并烧写存储器;  The CAN diagnostic protocol layer is responsible for receiving the CAN diagnostic service request message sent by the diagnostic device, and submitting the diagnostic service request to the CAN diagnostic service layer for processing, and then feeding back the response message of the diagnostic service layer to the diagnostic device; the CAN diagnostic service layer performs a specific diagnosis. Service requests, including diagnostic mode conversion services, security verification services, memory erasure services, and memory programming services, complete downloading applications from diagnostic devices and programming memory;
优选地, 存储应用程序的存储器为 Flash型存储器。  Preferably, the memory storing the application is a Flash type memory.
本发明的有益效果是:  The beneficial effects of the invention are:
现在, 越来越多的汽车采用 CAN通讯诊断, 这样使用基于 CAN总线的 OBD- II 接口进行 Flash烧写, 方便了汽车主机厂在产品阶段对汽车电子控制器的应用程序升 级。 而且, 整车 CAN网络上任何一点都可以作为 OBD- II的 CAN节点, 这对于布置 在汽车前舱这样空间相对狭小的环境中的控制器的刷新带来了很大的方便。 附图说明  Nowadays, more and more cars use CAN communication diagnosis, so that the CAN bus-based OBD-II interface is used for flash programming, which facilitates the upgrade of the automotive electronic controller application in the product stage of the automobile OEM. Moreover, any point on the vehicle CAN network can be used as the CAN node of the OBD-II, which brings great convenience to the refreshing of the controller in a relatively small space such as the front compartment of the car. DRAWINGS
图 1是本发明所述检测方法的中断处理机制图;  1 is a diagram showing an interrupt processing mechanism of the detecting method of the present invention;
图 2是本发明所述检测方法的刷新模块的结构图;  2 is a structural diagram of a refresh module of the detecting method of the present invention;
图 3是 KWP2000诊断服务示意图。 具体实施方式  Figure 3 is a schematic diagram of the KWP2000 diagnostic service. detailed description
下面结合附图对本发明作进一步说明。  The invention will now be further described with reference to the accompanying drawings.
本发明设计了一种汽车电子控制器 Flash 区的 CAN总线烧写的应用程序控制流 程。 为实现本发明中的烧写功能, 需要在控制器应用程序中开发刷新模块, 该模块包 括基本的 CAN 通讯和 CAN 诊断功能。 为此整个控制器应用程序划分为应用模块 ( Application Module) 和刷新模块 (Bootbloader Module)。 应用模块用于执行实时操 作系统和策略上的控制算法, 刷新模块用于启动引导和应用程序烧写。 The invention designs an application control flow of a CAN bus programming in a flash area of an automotive electronic controller. In order to implement the programming function in the present invention, it is necessary to develop a refresh module in the controller application, which includes basic CAN communication and CAN diagnostic functions. To this end, the entire controller application is divided into an Application Module and a Bootbloader Module. Application module for performing real-time operations As a system and policy control algorithm, the refresh module is used to initiate boot and application programming.
有两种方式进入刷新模式, 一种是通过复位中断进入刷新模式, 另一种是由诊断 设备的诊断服务请求进入刷新模式。  There are two ways to enter the refresh mode, one is to enter the refresh mode by reset interrupt, and the other is to enter the refresh mode by the diagnostic service request of the diagnostic device.
应用程序中断可分为复位中断和一般中断, 如果是一般中断, 则程序经中断向量 跳转表, 进入应用程序的中断服务子程序, 然后返回到应用程序的堆栈地址, 继续运 行应用程序; 如果是复位中断, 程序由中断向量表进入刷新模块, 首先进行 RAM 自 检和 Magic Word校验码校验, 如果通过, 则程序跳出刷新模块, 进入应用程序入口, 执行应用程序; 反之, 则停留在刷新模块, 等待下一步的程序指令。 中断处理机制如 图 1所示。  The application interrupt can be divided into a reset interrupt and a general interrupt. If it is a general interrupt, the program enters the interrupt service subroutine of the application via the interrupt vector jump table, and then returns to the application's stack address to continue running the application; Is the reset interrupt, the program enters the refresh module from the interrupt vector table, first performs the RAM self-test and the Magic Word check code check. If it passes, the program jumps out of the refresh module, enters the application portal, executes the application; otherwise, it stays at Refresh the module and wait for the next program instruction. The interrupt handling mechanism is shown in Figure 1.
刷新模式的另一种进入方式是由诊断设备的诊断服务请求发起的: 在应用程序 中, 如果控制器接收到授权诊断设备发出的要求进入刷新模式诊断服务请求, 那么应 用程序也从应用程序进入刷新模式。  Another way to enter the refresh mode is initiated by the diagnostic device's diagnostic service request: In the application, if the controller receives a request from the authorized diagnostic device to enter the refresh mode diagnostic service request, then the application also enters from the application. Refresh mode.
刷新模块的结构图如图 2所示, 复位中断进入刷新模块后, 首先要进行 RAM 自 检,如果 RAM自检失败,则程序等待看门狗复位,看门狗复位后,程序再次进行 RAM 自检, 如果 RAM 自检反复失败, 就是个死循环; 如果 RAM 自检通过, 则程序进行 Magic Word校验码校验, 如果 Magic Word校验码校验通过, 说明 Flash已有正确的应 用程序, 程序进入应用程序, 运行应用程序; 如果 Magic Word校验码校验失败, 说明 Flash中没有正确的应用程序, 程序进入刷新模式。  The structure diagram of the refresh module is shown in Figure 2. After the reset interrupt enters the refresh module, the RAM self-test is first performed. If the RAM self-test fails, the program waits for the watchdog reset. After the watchdog reset, the program performs the RAM again. Check, if the RAM self-test fails repeatedly, it is an infinite loop; if the RAM self-test passes, the program performs Magic Word check code verification. If the Magic Word check code passes, it indicates that Flash has the correct application. The program enters the application and runs the application; if the Magic Word checksum fails, it means that there is no correct application in Flash and the program enters refresh mode.
Magic Word校验码是每次刷新时写在 Flash特定地址 (例如应用程序首尾地址) 中的某个特定数据,刷新模块中的 Magic Word校验码校验就是把这些特定地址中的数 据读出和某个特定数据相比较, 如果一致, 说明说明 Flash 已有正确的应用程序, 如 果不一致, 说明要么 Flash 中还没有被刷入应用程序, 要么以前刷入应用程序已经损 坏, 这时需要刷入应用程序, 所以需要进入刷新模式。  The Magic Word check code is a specific data written in a specific address of the flash (such as the application's first and last addresses) every time the refresh is refreshed. The Magic Word check code check in the refresh module reads the data in these specific addresses. Compared with a specific data, if it is consistent, the description indicates that Flash has the correct application. If it is inconsistent, the description is either not flashed into the application in Flash, or the previously brushed application is damaged. The application, so you need to enter the refresh mode.
进入刷新模式后, 首先要进行刷新模式初始化, 然后进入调度中心, 调度中心是 刷新模式下受时钟控制的循环运行主函数; CAN诊断协议层负责接收诊断设备发出的 CAN诊断服务请求消息, 并将诊断服务请求交给 CAN诊断服务层处理, 再将诊断服 务层的响应消息反馈到诊断设备; CAN诊断服务层执行具体的诊断服务, 包括诊断模 式转换服务、 密码验证服务、 存储器擦除服务和存储器烧写服务等, 完成从诊断设备 下载应用程序并烧写 Flash;应用程序接口函数为诊断请求服务提供存储器擦除和存储 器烧写接口函数。 本发明的控制方法, 即在 Bootloader Module和 Application Module中分别控制如 何进入刷新模式, 利用 CAN总线诊断设备可以方便地对控制器 Flash进行 CAN总线 烧写;在 Bootloader Module中设计了 Magic Word校验码作为控制器 Flash中是否存在 正确的应用程序的判断依据。 After entering the refresh mode, the refresh mode is first initialized, and then enters the dispatch center. The dispatch center is the clock-controlled loop running main function in the refresh mode; the CAN diagnostic protocol layer is responsible for receiving the CAN diagnostic service request message sent by the diagnostic device, and The diagnostic service request is forwarded to the CAN diagnostic service layer for processing, and the response message of the diagnostic service layer is fed back to the diagnostic device; the CAN diagnostic service layer performs specific diagnostic services, including diagnostic mode conversion service, password verification service, memory erasing service, and memory. The programming service, etc., completes downloading the application from the diagnostic device and programming the Flash; the application interface function provides a memory erase and memory programming interface function for the diagnostic request service. The control method of the invention controls how to enter the refresh mode in the Bootloader Module and the Application Module respectively, and can conveniently perform CAN bus programming on the controller Flash by using the CAN bus diagnostic device; the Magic Word check code is designed in the Bootloader Module. As the basis for judging whether the correct application exists in the controller Flash.
CAN诊断服务层主要包括具体的诊断服务, 如图 3所示, 是 KWP2000诊断服务 示意图。 (KWP2000即关键字协议 2000版)诊断模式转换服务用来转换诊断模式, 以 实现在默认诊断模式和刷新诊断模式之间的切换; 控制器复位服务用于应用程序刷新 结束后的控制器复位; 结束当前诊断模式服务用于返回到默认诊断模式; 安全验证服 务用于进入刷新模式时所需要的安全密码验证; 远程调用服务用于调用存储器擦除接 口函数和存储器烧写接口函数; 请求下载服务和传递数据服务用来下载具体的应用模 块文件数据。  The CAN diagnostic service layer mainly includes specific diagnostic services, as shown in Figure 3, which is a schematic diagram of the KWP2000 diagnostic service. (KWP2000, Keyword Protocol version 2000) The diagnostic mode conversion service is used to convert the diagnostic mode to switch between the default diagnostic mode and the refresh diagnostic mode; the controller reset service is used for controller reset after the application refresh is completed; End the current diagnostic mode service for returning to the default diagnostic mode; the secure authentication service is used to enter the refresh mode required for secure password verification; the remote call service is used to call the memory erase interface function and the memory burn interface function; request download service And the delivery data service is used to download specific application module file data.
以上所述仅为本发明的较佳实施例, 并非用以限定本发明的权利要求书, 而本发 明的技术思想可广泛地被用于其它类似的系统上, 因此凡是在未脱离本发明所公开的 精神下所完成的等效改变或修改, 均应包含在权利要求书的范围内。  The above description is only a preferred embodiment of the present invention, and is not intended to limit the claims of the present invention, and the technical idea of the present invention can be widely applied to other similar systems, and thus, without departing from the present invention. Equivalent changes or modifications made in the spirit of the disclosure are intended to be included within the scope of the appended claims.

Claims

权利要求书 Claim
1、 一种基于 CAN总线的汽车电子控制器代码刷新的控制方法, 其特征在于, 所 述方法包括以下步骤:  A control method for code refresh of an automotive electronic controller based on a CAN bus, characterized in that the method comprises the following steps:
步骤 A: 从汽车电子系统正常的应用程序运行状态进入到刷新模式;  Step A: From the normal application running state of the automotive electronic system to the refresh mode;
步骤 B: 对汽车电子控制器芯片的存储器进行检验, 并判断存储器中是否保存有 正确的应用程序;  Step B: Verify the memory of the automotive electronic controller chip and determine whether the correct application is stored in the memory;
步骤 C: 如果存储器中没有正确的应用程序,从诊断设备下载应用程序,通过 CAN 总线传输, 并刷新应用程序。  Step C: If there is no correct application in memory, download the application from the diagnostic device, transfer it over the CAN bus, and refresh the application.
2、根据权利要求 1所述的基于 CAN总线的汽车电子控制器代码刷新的控制方法, 其特征在于, 通过复位中断, 由中断向量表进入刷新模式。  2. The CAN bus-based control method for code refresh of an automotive electronic controller according to claim 1, wherein the refresh vector is entered into the refresh mode by a reset interrupt.
3、根据权利要求 1所述的基于 CAN总线的汽车电子控制器代码刷新的控制方法, 其特征在于, 系统接收到授权诊断设备发出的要求进入刷新模式诊断服务请求而进入 刷新模式。  3. The CAN bus-based control method for code refresh of an automotive electronic controller according to claim 1, wherein the system receives a request from the authorized diagnostic device to enter a refresh mode diagnostic service request and enters a refresh mode.
4、根据权利要求 1所述的基于 CAN总线的汽车电子控制器代码刷新的控制方法, 其特征在于, 进入刷新模块后, 首先要进行 RAM存储器自检, 如果 RAM自检失败, 则程序等待看门狗复位, 看门狗复位后, 程序再次进行 RAM自检。  4. The CAN bus-based control method for code refresh of an automotive electronic controller according to claim 1, wherein after entering the refresh module, the RAM memory self-test is first performed, and if the RAM self-test fails, the program waits to see. The dog is reset, after the watchdog is reset, the program performs the RAM self-test again.
5、根据权利要求 1所述的基于 CAN总线的汽车电子控制器代码刷新的控制方法, 其特征在于, 每次刷新时在存储器内特定地址写入特定数据作为 Magic Word校验码。  The CAN bus-based control method for code refresh of an automotive electronic controller according to claim 1, wherein each time a refresh is performed, specific data is written as a Magic Word check code at a specific address in the memory.
6、根据权利要求 5所述的基于 CAN总线的汽车电子控制器代码刷新的控制方法, 其特征在于,程序在进入应用程序前把这些特定地址中的 Magic Word校验码读出和程 序中保存的校验码相比较, 如果一致, 说明存储器已有正确的应用程序, 如果不一致, 则存储器中还没有被刷入应用程序, 或者以前刷入应用程序已经损坏, 这时需要刷入 应用程序。  6. The CAN bus-based control method for code refresh of an automotive electronic controller according to claim 5, wherein the program saves the Magic Word check code in the specific addresses and saves the program before entering the application. If the checksums are the same, if they are consistent, the memory has the correct application. If they are inconsistent, the memory has not been flushed into the application, or the previously brushed application has been damaged. In this case, the application needs to be swiped.
7、根据权利要求 1所述的基于 CAN总线的汽车电子控制器代码刷新的控制方法, 其特征在于 CAN诊断协议层负责接收诊断设备发出的 CAN诊断服务请求消息, 并将 诊断服务请求交给 CAN 诊断服务层处理, 再将诊断服务层的响应消息反馈到诊断设 备; CAN诊断服务层执行具体的诊断服务请求, 包括诊断模式转换服务、 安全验证服 务、 存储器擦除服务和存储器烧写服务等, 完成从诊断设备下载应用程序并烧写存储 器;  7. The control method for code refresh of an automotive electronic controller based on CAN bus according to claim 1, wherein the CAN diagnostic protocol layer is responsible for receiving a CAN diagnostic service request message sent by the diagnostic device, and handing the diagnostic service request to the CAN. The diagnostic service layer processes the feedback message of the diagnostic service layer to the diagnostic device; the CAN diagnostic service layer performs specific diagnostic service requests, including diagnostic mode conversion service, security verification service, memory erasing service, and memory programming service. Finish downloading the application from the diagnostic device and programming the memory;
8、根据权利要求 1所述的基于 CAN总线的汽车电子控制器代码刷新的控制方法, 其特征在于, 存储应用程序的存储器为 Flash型存储器。 8. The CAN bus based control method for code refresh of an automotive electronic controller according to claim 1, It is characterized in that the memory storing the application is a flash type memory.
PCT/CN2009/073233 2008-08-13 2009-08-13 Controller area network (can) bus based control method for refreshing codes of vehicle’s electronic controller WO2010017775A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200810021772.8 2008-08-13
CNA2008100217728A CN101369153A (en) 2008-08-13 2008-08-13 Control method for CAN line writing of vehicle electronic controller software

Publications (1)

Publication Number Publication Date
WO2010017775A1 true WO2010017775A1 (en) 2010-02-18

Family

ID=40413003

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2009/073233 WO2010017775A1 (en) 2008-08-13 2009-08-13 Controller area network (can) bus based control method for refreshing codes of vehicle’s electronic controller

Country Status (2)

Country Link
CN (1) CN101369153A (en)
WO (1) WO2010017775A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105426201A (en) * 2015-10-30 2016-03-23 奇瑞汽车股份有限公司 Control method for refreshing monitoring chip
CN110825412A (en) * 2019-11-01 2020-02-21 上海电气集团股份有限公司 Controller program flashing system and method based on LabVIEW
CN110865822A (en) * 2019-11-11 2020-03-06 摩登汽车有限公司 Starting framework and method of Bootloader flash program for whole vehicle controller
CN111367559A (en) * 2020-02-28 2020-07-03 威力扬汽车光电(滁州)有限公司 Method for refreshing patch of electronic control module on line
CN112052025A (en) * 2020-08-31 2020-12-08 中汽研扬州汽车工程研究院有限公司 System design method for self-updating and incremental updating of application program based on bootloader
CN112506535A (en) * 2020-05-22 2021-03-16 上海擎度汽车科技有限公司 Method for updating Bootloader software by automobile ECU controller
CN112764787A (en) * 2019-10-21 2021-05-07 重庆长安汽车股份有限公司 Design method for safely upgrading Bootloader based on UDS
CN112925547A (en) * 2021-03-22 2021-06-08 珞石(北京)科技有限公司 Method for updating DSP program through EtherCAT bus
CN114326679A (en) * 2021-12-30 2022-04-12 重庆长安新能源汽车科技有限公司 Method and system based on one-version integrated software flash controller

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101369153A (en) * 2008-08-13 2009-02-18 奇瑞汽车股份有限公司 Control method for CAN line writing of vehicle electronic controller software
US9132715B2 (en) 2010-03-12 2015-09-15 GM Global Technology Operations LLC Vehicle connectivity systems, methods and applications
WO2011126004A1 (en) * 2010-04-07 2011-10-13 株式会社ケーヒン Vehicle control device and program rewrite method
CN102053569A (en) * 2010-12-13 2011-05-11 普华基础软件股份有限公司 Self refresh method and self-refresh device used for automotive electronic controller
CN102253849A (en) * 2011-06-08 2011-11-23 重庆金美通信有限责任公司 Intelligent boot loader based on controller area network (CAN) bus
DE102011079402A1 (en) * 2011-07-19 2013-01-24 Bayerische Motoren Werke Aktiengesellschaft Control device for a motor vehicle, programming device and programming system
CN102495744B (en) * 2011-11-29 2014-11-19 湖南南车时代电动汽车股份有限公司 Control software upgrading method of electronic control devices of electric automobile based on controller area network (CAN) bus
CN102707979A (en) * 2012-05-22 2012-10-03 奇瑞汽车股份有限公司 Special refreshing tool and refreshing method for automobile controller software
CN103713527B (en) * 2012-09-29 2017-03-22 博世汽车部件(苏州)有限公司 Refreshing method, writing apparatus and writing system for automobile electronic controller
CN102929275B (en) * 2012-11-09 2016-06-15 重庆长安汽车股份有限公司 The safety monitoring method and system of automobile controller
CN103264668B (en) * 2013-05-29 2016-08-17 扬州泰博汽车电子智能科技有限公司 Car body controller and use programming system and the method for burn-recording of this car body controller
CN104572141B (en) * 2013-10-10 2019-03-12 上海信耀电子有限公司 The online updating method of the bootstrap of automobile electric control unit ECU
CN104793968A (en) * 2014-05-23 2015-07-22 成都易控汽车电子技术有限公司 Vehicle electronic control unit program programming device and implementation method thereof
CN104331305B (en) * 2014-10-15 2018-02-09 联合汽车电子有限公司 The refresh configuration method of application program in product
KR101603547B1 (en) * 2014-11-06 2016-03-15 현대자동차주식회사 Calibration Memory Controlling Method and Apparatus for Vehicle Controller
CN106444730B (en) * 2016-12-19 2022-06-21 普华基础软件股份有限公司 Diagnosis method of electronic control unit for preventing software from being dead
CN109189432A (en) * 2018-09-18 2019-01-11 深圳市元征科技股份有限公司 A kind of automobile ECU data write with a brush dipped in Chinese ink method and relevant device
CN109673009B (en) * 2018-11-13 2022-06-21 浙江合众新能源汽车有限公司 Method and device for upgrading VCU software in air
CN110134422A (en) * 2019-04-19 2019-08-16 东风汽车集团有限公司 System and method based on OBD and CAN bus downloading flash drive upgrade controller software
CN113220318A (en) * 2020-01-21 2021-08-06 广州汽车集团股份有限公司 Program updating method and device for motor controller and readable storage medium
CN111475174A (en) * 2020-03-31 2020-07-31 东风汽车集团有限公司 Device and method for online writing and configuration of vehicle-mounted gateway
CN117149478A (en) * 2023-06-14 2023-12-01 杭州迪为科技有限公司 Reset management method and device of automobile electronic controller and automobile electronic controller

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1352742A (en) * 1999-05-11 2002-06-05 罗伯特·博施有限公司 Diagnostic test device for motor vehicles with programmable control devices
US20050097541A1 (en) * 2003-11-04 2005-05-05 Holland Steven W. Low cost, open approach for vehicle software installation/updating and on-board diagnostics
CN1996247A (en) * 2006-12-21 2007-07-11 奇瑞汽车有限公司 Method for burning FLASH for hybrid power vehicle controller
CN101369153A (en) * 2008-08-13 2009-02-18 奇瑞汽车股份有限公司 Control method for CAN line writing of vehicle electronic controller software

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1352742A (en) * 1999-05-11 2002-06-05 罗伯特·博施有限公司 Diagnostic test device for motor vehicles with programmable control devices
US20050097541A1 (en) * 2003-11-04 2005-05-05 Holland Steven W. Low cost, open approach for vehicle software installation/updating and on-board diagnostics
CN1996247A (en) * 2006-12-21 2007-07-11 奇瑞汽车有限公司 Method for burning FLASH for hybrid power vehicle controller
CN101369153A (en) * 2008-08-13 2009-02-18 奇瑞汽车股份有限公司 Control method for CAN line writing of vehicle electronic controller software

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105426201B (en) * 2015-10-30 2019-03-12 奇瑞汽车股份有限公司 A kind of control method refreshing monitoring chip
CN105426201A (en) * 2015-10-30 2016-03-23 奇瑞汽车股份有限公司 Control method for refreshing monitoring chip
CN112764787A (en) * 2019-10-21 2021-05-07 重庆长安汽车股份有限公司 Design method for safely upgrading Bootloader based on UDS
CN110825412B (en) * 2019-11-01 2023-06-02 上海电气集团股份有限公司 LabVIEW-based controller program refreshing system and method
CN110825412A (en) * 2019-11-01 2020-02-21 上海电气集团股份有限公司 Controller program flashing system and method based on LabVIEW
CN110865822A (en) * 2019-11-11 2020-03-06 摩登汽车有限公司 Starting framework and method of Bootloader flash program for whole vehicle controller
CN110865822B (en) * 2019-11-11 2023-09-29 摩登汽车有限公司 Boot architecture and method for Bootloader brush writing program for whole vehicle controller
CN111367559A (en) * 2020-02-28 2020-07-03 威力扬汽车光电(滁州)有限公司 Method for refreshing patch of electronic control module on line
CN111367559B (en) * 2020-02-28 2023-07-04 威力扬汽车光电(滁州)有限公司 Refreshing method for online refreshing patch of electric control module
CN112506535A (en) * 2020-05-22 2021-03-16 上海擎度汽车科技有限公司 Method for updating Bootloader software by automobile ECU controller
CN112506535B (en) * 2020-05-22 2023-06-27 上海擎度汽车科技有限公司 Method for updating and upgrading Bootloader software of automobile ECU controller
CN112052025A (en) * 2020-08-31 2020-12-08 中汽研扬州汽车工程研究院有限公司 System design method for self-updating and incremental updating of application program based on bootloader
CN112925547A (en) * 2021-03-22 2021-06-08 珞石(北京)科技有限公司 Method for updating DSP program through EtherCAT bus
CN114326679A (en) * 2021-12-30 2022-04-12 重庆长安新能源汽车科技有限公司 Method and system based on one-version integrated software flash controller
CN114326679B (en) * 2021-12-30 2023-07-18 深蓝汽车科技有限公司 Method and system for refreshing controller based on one-edition integrated software

Also Published As

Publication number Publication date
CN101369153A (en) 2009-02-18

Similar Documents

Publication Publication Date Title
WO2010017775A1 (en) Controller area network (can) bus based control method for refreshing codes of vehicle’s electronic controller
US20180341476A1 (en) Software updating device, software updating system, and software updating method
US8539472B2 (en) Method and system of updating shared memory
JP4577075B2 (en) Automotive control unit
CN111061499A (en) ECU updating method and system based on file system
CN109086058A (en) Onboard program upgrade-system
CN110825403A (en) Method and system for flashing ECU (electronic control Unit) of automobile
WO2018176692A1 (en) System firmware updating method, device and battery management system
CN107567629A (en) Dynamic firmware module loader in credible performing environment container
WO2019123747A1 (en) Electronic control device for automobile and control method thereof
US20060218340A1 (en) Data validity determining method for flash EEPROM and electronic control system
CN113377384A (en) Program burning method and device, vehicle-mounted terminal and medium
JP2018160207A (en) On-vehicle controller and program update software
CN109885331A (en) Method for upgrading software, control method, system, storage medium and electronic equipment
WO2022160816A1 (en) Data processing method and related device
Ji et al. Implementation and research of bootloader for automobile ECU remote incremental update
US20090210613A1 (en) Method for Programming a Controller in a Motor Vehicle
US20220391192A1 (en) Ota master, center, system, method, non-transitory storage medium, and vehicle
US20220244946A1 (en) Ota master, update control method, non-transitory storage medium, and vehicle
JP2015210669A (en) Program rewrite method
CN114675864A (en) Control method, control device and system for reprogramming and upgrading of dual-partition ECU
CN115454462A (en) OTA manager, system, method, non-transitory storage medium, and vehicle
US20210065478A1 (en) Electronic control unit and non-transitory computer readable medium storing session establishment program
CN114281374A (en) Remote flash method and system for vehicle electronic control unit and storage medium
CN113434163B (en) Online calibration method, system, device and medium suitable for electronic control unit

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09806378

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09806378

Country of ref document: EP

Kind code of ref document: A1