CN102063083B - 一种多ecu分时下载方法 - Google Patents
一种多ecu分时下载方法 Download PDFInfo
- Publication number
- CN102063083B CN102063083B CN201010571090.1A CN201010571090A CN102063083B CN 102063083 B CN102063083 B CN 102063083B CN 201010571090 A CN201010571090 A CN 201010571090A CN 102063083 B CN102063083 B CN 102063083B
- Authority
- CN
- China
- Prior art keywords
- ecu
- group
- programming
- bus
- priority
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 230000009471 action Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 4
- 230000006854 communication Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 claims description 2
- 238000001914 filtration Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- XXQGYGJZNMSSFD-UHFFFAOYSA-N 2-[2-(dimethylcarbamoyl)phenoxy]acetic acid Chemical compound CN(C)C(=O)C1=CC=CC=C1OCC(O)=O XXQGYGJZNMSSFD-UHFFFAOYSA-N 0.000 description 1
- 102100022443 CXADR-like membrane protein Human genes 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000010223 real-time analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Small-Scale Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种多ECU分时下载方法,多个ECU与主控电脑共用一条总线,其特征在于,步骤如下:(1)对多个ECU分组,预设每个ECU的标识ID及优先级;(2)主控电脑启动主线程,通过总线依次访问每个ECU;(3)主控电脑启动接收线程,接收总线上每个ECU反馈消息,若反馈消息显示空闲,该ECU进入编程程序,若反馈消息显示繁忙,则该ECU退出编程;(4)主控电脑启动发送线程,发送编程命令,按照优先级对每个空闲ECU组的ECU进行编程。需要分组,实现多ECU同时在线编程;实现按优先级设置进行编程;分时下载,极大的节省了编程时间。
Description
技术领域
本发明涉及汽车内部总线通信领域,尤其涉及一种多ECU分时下载方法。
背景技术
在汽车发动机等电控***开发过程中,标定是必不可少的过程,为适应这一过程的通用性,汽车自动化及测量***标准协会(ASAM)提出了支持多种传输层的通用CAN标定协议(CCP)。在标定过程中,有大量的标定参数需要进行在线下载编程(Online Programming)。标定工具与ECU是一对多的形式,控制这一过程的是标定工具中的***引导(Bootloader)组件。该组件负责编程相关数据的管理、加载以及发送接收,保证数据传输的高效安全,以及命令正确的执行。在XCP协议中,规定了Bootloader上下位机所需遵循的规范。
Bootloader在接收到上位机(主控电脑)发送的命令后,经过解析,执行相关动作——通常是擦除或者对烧写闪存(FLASH),如果执行成功,则返回成功的命令代码,并通过总线发出,若失败,则返回故障代码,以供上位机进行分析。
Bootloader在进行在线编程时,会耗费较长的时间。这一过程在总线连接有较少ECU时尚不明显,但ECU数目一旦变大,由于上位机必须等待每一个ECU的对命令的响应,在此过程中,上位机处于闲置状态,因此浪费了大量时间,有时会明显影响标定工程师的操作。
发明内容
为解决上述问题,本发明提供一种时间利用率高、响应及时的多ECU分时下载方法。
本发明采用的技术方案是:一种多ECU分时下载方法,多个ECU与主控电脑共用一条总线,其特征在于,步骤如下:
(1)对多个ECU分组,预设每个ECU的标识ID及优先级;
(2)主控电脑启动主线程,通过总线依次访问每个ECU;
(3)主控电脑启动接收线程,接收总线上每个ECU反馈消息,若反馈消息显示空闲,该ECU进入编程程序,若反馈消息显示繁忙,则该ECU退出编程;
(4)主控电脑启动发送线程,发送编程命令,按照优先级对每个空闲ECU组的ECU进行编程。
本发明的第一优选方案为:所述的步骤(1)中,若多个ECU可共享一个编程文件,则分为一组。
本发明的第二优选方案为:每个ECU设置接收过滤模块,用于区分总线上主控电脑发送的信号和ECU发送的信号。
本发明的第三优选方案为:所述的步骤(1)中ECU分组,当ECU组中所有的ECU为空闲状态时,该组可进入步骤(4)。
本发明的技术思想在于:对于主控电脑来说,是一个一对多的过程;而对于ECU来说,这种过程与一对一时没有区别。在本发明中,***对所有ECU进行一次遍历,得到ECU当前状态,并得到最高优先级的可操作ECU,然后发送相关命令。在不用等待ECU返回的情况下,进入下一轮查找和动作。这种情况,使得整个***一直处在忙碌的状态,对总线利用率达到了最高。当同一个ECU组包含多个ECU时,由于共享一个编程文件,***只需要发送一次编程命令,即可被该组内所有ECU接收到,因此降低了总的编程命令数,提高了效率。
本发明的技术优势在于:按需要分组,实现多ECU同时在线编程;实现按优先级设置进行编程;分时下载,极大的节省了编程时间。
下面结合附图和具体实施方式对本发明做进一步说明。
附图说明
图1典型上下位机通信流程
图2本实施例中的主控电脑与MCU配合工作流程
图3ECU程序流程
具体实施方式
在本实施例中,扩展了XCP的一些规定和功能,设计了一种分时的用于在线编程的Bootloader组件,并以飞思卡尔HCS12系列作为ECU对象,CAN总线作为总线对这一过程进行了实现,并对总线以及上下位机处理过程的时间进行了实时性分析和实验验证。
主控电脑(PC机)与ECU之间的通信在遵循CCP协议的基础上,为了实现本发明中的一些新的功能,扩展了部分编程命令,其中主要使用到的命令包括:
SET_MTA:指定编程起始地址
PROGRAM_CLEAR:擦除Flash
PROGRAM/PROGRAM_MAX:Flash编程相关
PROGRAM_TERMINATE:扩展的XCP命令,命令ECU退
出在线编程
在实际开发过程中,有时会遇到多个ECU同时连接的情况,而某些ECU可能共享同一个编程文件,即同一个编程文件的额内容将下载至多个ECU中。
设有N个ECU,序号为{1,2...N},需要进行下载编程,按组(Group)分为G1:{1,2...N1},G2:{N1+1,N1+2...N2}...Gm:{Nm-1+1,Nm-1+2...Nm},每组的ECU情况相同,需要下载同样的标定数据,即Bootloader组件对同一组内的ECU需要发送同样的编程相关命令。
其中,满足Nm=N。
Bootloader组件中,定义一个ECU状态表(readyTableECU[]),用来表示单个ECU的当前状态;定义一个Group状态表(readyTableGroup[]),用来表示这个组的状态;定义一个Group优先级列表(priorityTable[]),用来表示用户对每组ECU指定的优先级。
在本实施例中,就绪状态表示ECU已经完成上一次编程相关动作,可以接受新的命令;挂起状态表示ECU处于编程之中,不能接收新的命令;停止状态表示该ECU由于某种原因(如发生了故障或者已经完成了所有编程)处于不需接收任何命令,Bootloader应将该ECU排除出工作组。
参考图1,指出了下载编程中一种典型的上下位机通信方法,当多ECU进行下载时,同一时间只有一个ECU处于与上位机的连接状态,其余则断开。
参考图2,指出了本实施例的实施流程图,说明如下:
分组。定义共享同一个编程文件的ECU为同一组,对于每组定义个优先级。对每个编程文件进行解析,并通过CCP协议包装,形成一个编程缓冲池。
编号。通过设置每个ECU进行编号,使该ECU只能接收到主控电脑的命令,过滤掉其他ECU发送的消息帧;对每组ECU设置优先级;置ECU初始状态为空闲状态。ECU与主控电脑(PC机)之间通过CAN总线连接。
接收线程接收CAN总线上的消息。首先读取该CAN帧的ID标识符,通过其判断该消息的ECU出处;然后按照CCP协议解析该命令,命令显示成功,则将该ECU的状态表对应位重新置为空闲状态;否则,按照故障处理,将ECU的状态表对应位置为结束状态,该ECU退出编程。
***主线程查找空闲的ECU组,该组内所有ECU都进入空闲时,该组才为空闲;并通过优先级列表查询出优先级最高的ECU,将编程缓冲池中的相关命令置于发送线程,然后进入下一轮查找过程。
参考图3,指出了ECU运行的程序流程图。在与总线连接的情况下,接收总线的信息并遵循CCP协议进行解析,执行相应的动作,将完成情况反馈给PC机
各位技术人员须知,虽然本发明按照上述实施例对本发明做了进一步描述,但是本发明的发明思想不仅仅限于本实施例,如若是基于本发明发明思想的变化,皆在本发明保护范围内。
Claims (1)
1.一种多ECU分时下载方法,多个ECU与主控电脑共用一条总线,其特征在于,步骤如下:
遇到多个ECU同时连接的情况,ECU共享同一个编程文件,即同一个编程文件的内容将下载至多个ECU中,若多个ECU可共享一个编程文件,则分为一组;
设有N个ECU,序号为{1,2...N},需要进行下载编程,按组Group分为G1:{1,2...N1},G2:{N1+1,N1+2...N2}...Gm:{Nm-1+1,Nm-1+2...Nm},每组的ECU情况相同,需要下载同样的标定数据,即Bootloader组件对同一组内的ECU需要发送同样的编程相关命令,其中,满足Nm=N;
在Bootloader组件中,定义一个ECU状态表readyTableECU[],用来表示单个ECU的当前状态;定义一个Group状态表readyTableGroup[],用来表示这个组的状态;定义一个Group优先级列表priorityTable[],用来表示用户对每组ECU指定的优先级;
就绪状态表示ECU已经完成上一次编程相关动作,可以接受新的命令;挂起状态表示ECU处于编程之中,不能接收新的命令;停止状态表示该ECU由于发生了故障或者已经完成了所有编程,不需接收任何命令,Bootloader组件应将该ECU排除出工作组;
上下位机通信步骤:当多ECU进行下载时,同一时间只有一个ECU处于与上位机的连接状态,其余则断开;
分组步骤:定义共享同一个编程文件的ECU为同一组,对于每组定义优先级;对每个编程文件进行解析,并通过CCP协议包装,形成一个编程缓冲池;编号步骤:每个ECU设置接收过滤模块,用于区分总线上主控电脑发送的信号和ECU发送的信号,通过设置每个ECU进行编号,使该ECU只能接收到主控电脑的命令,过滤掉其他ECU发送的消息帧;对每组ECU设置优先级;设置ECU初始状态为空闲状态;
接收线程接收CAN总线上的消息,首先读取该CAN帧的ID标识符,通过其判断该消息的ECU出处;然后按照CCP协议解析该命令,命令显示成功,则将该ECU的状态表对应位重新置为空闲状态;否则,按照故障处理,将ECU的状态表对应位置为结束状态,该ECU退出编程;
***主线程查找空闲的ECU组,该组内所有ECU都进入空闲时,该组才为空闲;并通过优先级列表查询出优先级最高的ECU,将编程缓冲池中的相关命令置于发送线程,然后进入下一轮查找过程;
ECU运行时,在与总线连接的情况下,接收总线的信息并遵循CCP协议进行解析,执行相应的动作,将完成情况反馈给PC机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010571090.1A CN102063083B (zh) | 2010-11-29 | 2010-11-29 | 一种多ecu分时下载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010571090.1A CN102063083B (zh) | 2010-11-29 | 2010-11-29 | 一种多ecu分时下载方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102063083A CN102063083A (zh) | 2011-05-18 |
CN102063083B true CN102063083B (zh) | 2014-10-08 |
Family
ID=43998393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010571090.1A Expired - Fee Related CN102063083B (zh) | 2010-11-29 | 2010-11-29 | 一种多ecu分时下载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102063083B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103795647A (zh) * | 2012-11-01 | 2014-05-14 | 鼎点视讯科技有限公司 | 数据采集方法、数据采集器和*** |
CN106302063A (zh) * | 2016-08-12 | 2017-01-04 | 深圳市沃特玛电池有限公司 | Can通信线电路***及其终端电阻接入控制方法 |
CN109460254B (zh) * | 2018-09-25 | 2021-03-19 | 杭州旗捷科技有限公司 | 一种指令处理方法、cpu交互***及采用该***的耗材芯片 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222525A (zh) * | 2008-01-24 | 2008-07-16 | 浙江大学 | 自适应通信主体物理拓扑结构的多ecu消息通信方法 |
CN101547149A (zh) * | 2009-04-20 | 2009-09-30 | 浙江大学 | 一种基于can网络的osek com消息动态调度方法 |
-
2010
- 2010-11-29 CN CN201010571090.1A patent/CN102063083B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222525A (zh) * | 2008-01-24 | 2008-07-16 | 浙江大学 | 自适应通信主体物理拓扑结构的多ecu消息通信方法 |
CN101547149A (zh) * | 2009-04-20 | 2009-09-30 | 浙江大学 | 一种基于can网络的osek com消息动态调度方法 |
Non-Patent Citations (2)
Title |
---|
"基于XCP协议的混合动力车多电控单元标定***";杨时威等;《上海交通大学学报》;20071031;第41卷(第10期);第1620页第2段 * |
杨时威等."基于XCP协议的混合动力车多电控单元标定***".《上海交通大学学报》.2007,第41卷(第10期),第1620页第2段. |
Also Published As
Publication number | Publication date |
---|---|
CN102063083A (zh) | 2011-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106941516B (zh) | 基于工业互联网操作***的异构现场设备控制管理*** | |
US9229440B2 (en) | Method for the configuration of a control device | |
US20100100198A1 (en) | System and method for functionalization in line with demand, for control and regulatory devices | |
US20110238188A1 (en) | Engineering tool | |
EP3428750B1 (en) | Slave device, method for controlling slave device, information processing program, and recording medium | |
CN113189970B (zh) | Can总线控制器的硬件在环自动测试方法、***及存储介质 | |
US20180357193A1 (en) | Computing device and operation method | |
US20130116801A1 (en) | System, method and recording medium for driving a programmable logic controller | |
CN102063083B (zh) | 一种多ecu分时下载方法 | |
CN103617061A (zh) | 基于arm的多节点在线更新软件的方法 | |
CN114089713A (zh) | 一种基于uds的通信方法、ecu及上位机 | |
US7840735B2 (en) | Can system | |
CN107066413B (zh) | 一种用于处理多个总线设备数据的方法及其总线*** | |
CN102902526A (zh) | 一种通过延时实现bmc及ip信息的自动化设置方法 | |
CN106775818B (zh) | 基于can总线的ecu升级方法及ecu升级设备 | |
CN115733871A (zh) | 通信交互方法、装置、设备及存储介质 | |
CN111740972B (zh) | 一种通信协议栈信息的更新方法、装置、设备及存储介质 | |
KR102354062B1 (ko) | 직접 메모리 액세스 제어 장치 및 그 작동 방법 | |
CN114442590A (zh) | 车辆诊断方法、设备、诊断通信装置、服务器及存储介质 | |
CN107453903B (zh) | 一种识别通讯从站的方法和***以及一种存储设备 | |
KR101354698B1 (ko) | 차량용 전자 제어 장치의 동작 방법 | |
CN111045734A (zh) | 一种基于ima平台的软硬件程序一键固化***及方法 | |
CN114338358B (zh) | 一种数据交互方法、设备、存储介质及plc | |
CN114384856B (zh) | 一种可编程控制器Modbus串口通讯的多请求处理方法 | |
US8619778B2 (en) | Method for automatic address allocation to a communication partner and a communication partner |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141008 Termination date: 20201129 |