CN112000083A - Ecu数据刷写方法、刷写装置、刷写设备及存储介质 - Google Patents
Ecu数据刷写方法、刷写装置、刷写设备及存储介质 Download PDFInfo
- Publication number
- CN112000083A CN112000083A CN202010902803.1A CN202010902803A CN112000083A CN 112000083 A CN112000083 A CN 112000083A CN 202010902803 A CN202010902803 A CN 202010902803A CN 112000083 A CN112000083 A CN 112000083A
- Authority
- CN
- China
- Prior art keywords
- brushing
- ecu
- data
- flash
- flashing
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0208—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
- G05B23/0213—Modular or universal configuration of the monitoring system, e.g. monitoring system having modules that may be combined to build monitoring program; monitoring system that can be applied to legacy systems; adaptable monitoring system; using different communication protocols
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23194—Check validity data by writing in sector control data and check data
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Retry When Errors Occur (AREA)
Abstract
本申请提供了一种电子控制单元ECU数据刷写方法,所述方法包括接收刷写请求指令;根据所述刷写请求指令获取ECU的刷写状态信息;分析所述刷写状态信息,若所述刷写状态信息中存在刷写中断记录,则根据所述刷写中断记录继续刷写。本申请提供的电子控制单元ECU数据刷写方法,通过原始地址和刷写的字节个数可计算出续刷的刷写地址和刷写字节个数,用户可根据刷写刷写状态信息中的刷写中断记录,选择断点续刷,刷写程序根据刷写记录自动定位上次失败地址,接着进行刷写,从而节省大量的刷写时间。
Description
技术领域
本申请属于电子信息技术领域,更具体地说,是涉及一种电子控制单元ECU数据刷写方法。
背景技术
随着汽车电子技术的不断发展,电子控制单元(ECU)在现代汽车中得到了广泛的应用。电子控制单元在提高汽车动力性、经济性、舒适性和安全性的同时,也使得车辆中的电子电气系统越来越复杂,这也促使汽车诊断技术有了更大的发展。
当汽车下线时、ECU的软件有变化或ECU软件存在缺陷要升级的情况下,厂家或用户就需要对ECU软件或数据进行刷写。现在一般刷写失败后,需要重新启动程序再次从头进行刷写,直到刷写成功为止;但是现在ECU越来越复杂,刷写文件也是越来越大,导致系统单次刷写的时间需要很长时间,因此每当发生刷写错误时,重新刷写所需时间就会增大,严重影响刷写的效率。
申请内容
本申请提供电子控制单元ECU数据刷写方法,通过原始地址和刷写的字节个数可计算出续刷的刷写地址和刷写字节个数,用户可根据刷写刷写状态信息中的刷写中断记录,选择断点续刷,刷写程序根据刷写记录自动定位上次失败地址,接着进行刷写,从而节省大量的刷写时间。
一方面,本申请提供一种电子控制单元ECU数据刷写方法,该方法包括如下步骤:
接收刷写请求指令;
根据所述刷写请求指令获取ECU的刷写状态信息;
分析所述刷写状态信息,若所述刷写状态信息中存在刷写中断记录,则根据所述刷写中断记录继续刷写。
进一步地,若所述刷写状态信息中不存在所述刷写中断记录,则根据所述刷写请求指令和所述刷写状态信息获取刷写数据进行刷写。
进一步地,根据所述刷写请求指令获取所述ECU的所述刷写状态信息之后,包括:
将所述刷写数据根据通讯协议拆分为多个数据帧;
根据所述ECU的所述刷写状态信息向所述ECU输出对应的数据帧。
进一步地,根据所述刷写状态信息继续刷写,具体包括:
根据所述刷写状态信息中记录的所述ECU接收失败前一帧输入所述ECU的数据得出续刷的起始数据帧,从所述续刷的起始数据帧处开始续刷。
进一步地,根据所述刷写状态信息中记录的所述ECU接收失败前一帧输入所述ECU的数据帧得出续刷的起始数据帧,从所述续刷的起始数据帧处开始续刷,包括:
根据所述刷写状态信息中记录的n个数据帧,以及原始地址,得出续刷的起始地址,并根据总刷写数据帧的个数N,以及所述刷写状态信息中记录的所述n个数据帧得出要续刷的的N-n个数据帧;其中,所述N为正整数,根据所述续刷的起始地址,将所述要续刷的第N-n数据帧向所述ECU输出。
进一步地,根据所述续刷的起始地址,将所述要续刷的N-n个数据帧向所述ECU输出的步骤,包括:根据所述续刷的起始地址,以及所述续刷的第N-n数据的字节数,将所述续刷的第N-n数据的各字节依次填充至刷写指令中,并将所述刷写指令向所述ECU刷出。
进一步地,所述续刷的起始地址的计算方法为所述原始地址加上已刷写的n个数据帧所包含的总字节数;
所述续刷的字节个数的计算方法为所述总刷写数据帧的个数N的总字节数减去已刷写的n个数据帧所包含的总字节数。
采用本申请中的电子控制单元ECU数据刷写方法,支持在刷写过程中实时的记录刷写进度、原始地址以及刷写的字节个数;通过原始地址和刷写的字节个数可计算出续刷的刷写地址和刷写字节个数,用户可根据刷写刷写状态信息的刷写中断记录,选择断点续刷,刷写程序根据刷写记录自动定位上次失败地址,接着进行刷写,从而节省大量的刷写时间。
第二方面,本申请还提供一种ECU刷写装置,所述装置包括,
拆分模块,用于将刷写数据根据CAN通讯协议拆分为多个单数据帧;
输出模块,用于按顺序向所述ECU输出第n数据帧;
记录模块,用于在没有接收到异常指令的情况下,记录所述第n数据帧;
所述输出模块进一步用于继续按顺序向所述ECU输出所述第n+1数据帧,并在接收到异常指令的情况下,刷写中断。
具体地,拆分模块将刷写数据进行拆分,其根据CAN通讯协议,将刷写数据拆分为n个数据帧;
输出模块将拆分模块的拆分的n个数据帧,依次向ECU输出;ECU在接收到数据时,会给输出模块反馈已收到的信息;
在输出模块向ECU输出时,输出模块未接收到ECU反馈或收到异常指令时,记录模块记录已成功传输的数据帧;即第n数据帧传输成功时,继续传输第n+1数据帧;当输出模块将第n+1数据帧向ECU传输时,ECU反馈异常指令时,记录模块记录n个数据帧;
在需要续刷时,输出模块从第n+1数据帧开始依次向ECU输出需要继续刷入的数据帧;
并且,输出模块在接收异常指令时,需要对刷写数据进行处理,根据记录模块所记录的已刷写数据和原始地址去计算续刷的起始地址和续刷的N-n个数据帧。
其中,另一实施例中,在输出模块向ECU输出时,输出模块未接收到ECU反馈或收到异常指令时,记录模块记录已成功传输的数据帧;即第n数据帧传输成功时,继续传输第n+1数据帧;当输出模块将第n+1数据帧向ECU传输时,ECU反馈异常指令时,记录模块记录第n个数据帧。
第三方面,本申请还提供一种ECU刷写设备,所述ECU刷写设备包括:
存储器,用于存储刷写程序,并存储刷写中断的相关信息;
处理器,用于执行所述ECU刷写程序时实现上述的ECU刷写方法。
第四方面,本申请还提供存储介质,所述存储介质中存储有ECU刷写程序,所述ECU刷写程序被处理器执行时实现上述的ECU刷写方法。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的电子控制单元ECU数据刷写方法的流程示意图;
图2为本申请实施例提供的电子控制单元ECU数据刷写方法的刷写状态信息记录信息的其中一种方式的流程示意图;
图3为本申请实施例提供的电子控制单元ECU数据刷写方法的具体步棸流程示意图;
图4为本申请实施例提供的刷写装置结构示意图;
图5为本申请提供的电子控制单元ECU数据刷写方法的在实际应用中的流程示意图:
图6为本申请实施例提供的刷写设备结构示意图。
具体实施方式
为了使本申请所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
下面结合说明书附图对本申请进行详细说明。
首先对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
CAN通讯协议,控制器局域网总线(CAN,Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。CAN协议用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。该协议的健壮性使其用途延伸到其他自动化和工业应用。CAN协议的特性包括完整性的串行数据通讯、提供实时支持、传输速率高达1Mb/s、同时具有11位的寻址以及检错能力。
请参阅图1,本申请提供一种电子控制单元ECU数据刷写方法,该方法包括如下步骤:
S101.接收刷写请求指令;
S102.根据所述刷写请求指令获取ECU的刷写状态信息;
S103.分析所述刷写状态信息,若所述刷写状态信息中存在刷写中断记录,则根据所述刷写中断记录继续刷写。
进一步地,若所述刷写状态信息中不存在所述刷写中断记录,则根据所述刷写请求指令和所述刷写状态信息获取刷写数据进行刷写。
上述刷写状态信息记录向ECU输出成功的数据帧;
在所述刷写状态信息中记录有刷写中断时,在再次刷写时,通过计算得出续刷的起始数据帧,以达到从断点续刷的目的;
当所述刷写状态信息中未记录刷写中断信息,则刷写未中断。
其中,上述刷写状态信息,记录刷写中断时的数据帧,包括以下方式:
第一种,记录所有成功传输至所述ECU的各数据帧;在刷写中断时,记录至刷写中断前一帧数据,在续刷时,从该中断处再次刷入,以续刷的方式完整刷入。
请参阅图2,第二种,仅记录向ECU输出失败的前单个数据帧;
该记录方式包括如下步棸:
S201.向所述ECU输出第一数据帧,传输成功,所述刷写状态信息记录第一数据帧;
S202.继续向所述ECU输出第二数据帧,传输成功,所述刷写状态信息记录将该记录位置的所述第一数据帧更新为成功输入的所述第二数据帧;
S203.再继续向所述ECU输出第三数据帧,传输失败,刷写中断。
采用本申请中的电子控制单元ECU数据刷写方法,支持在刷写过程中实时的记录刷写进度、原始地址以及刷写的字节个数;通过原始地址和刷写的字节个数可计算出续刷的刷写地址和刷写字节个数,用户可根据刷写状态信息中的刷写中断记录,选择断点续刷,刷写程序根据刷写记录自动定位上次失败地址,接着进行刷写,从而节省大量的刷写时间。
进一步地,根据所述刷写请求指令获取所述ECU的所述刷写状态信息之后,包括:
将所述刷写数据根据通讯协议拆分为多个数据帧;
根据所述ECU的所述刷写状态信息向所述ECU输出对应的数据帧。
进一步地,根据所述刷写状态信息继续刷写,具体包括:
根据所述刷写状态信息中记录的所述ECU接收失败前一帧输入所述ECU的数据得出续刷的起始数据帧,从所述续刷的起始数据帧处开始续刷。
进一步地,根据所述刷写状态信息中记录的所述ECU接收失败前一帧输入所述ECU的数据帧得出续刷的起始数据帧,从所述续刷的起始数据帧处开始续刷,包括:
根据所述刷写状态信息中记录的n个数据帧,以及原始地址,得出续刷的起始地址,并根据总刷写数据帧的个数N,以及所述刷写状态信息中记录的所述n个数据帧得出要续刷的的N-n个数据帧;其中,所述N为正整数,根据所述续刷的起始地址,将所述要续刷的第N-n数据帧向所述ECU输出。
请参阅图3,所述将刷写的数据帧向ECU输出,刷写状态信息记录向所述ECU输出的数据帧,包括如下步棸:
S301.将刷写数据根据CAN通讯协议拆分为多个数据帧;
S302.按顺序向ECU输出第n数据帧;其中,所述n为正整数;
S303.在没有接收到异常指令的情况下,在刷写状态信息中记录n个数据帧;
S304.继续按顺序向所述ECU输出所述第n+1数据帧;
S305.在接收到异常指令的情况下,刷写中断。
在上述实施例中,
上述刷写数据位于刷写设备内,也可以是数据通过存储载体与刷写设备通讯连接。
上述刷写状态信息位于刷写设备内,上述刷写状态信息用于记录向所述ECU输出的各个数据帧和原始地址。
上述异常指令是指刷写设备向ECU输出第n数据帧,ECU向刷写设备反馈收到第n数据帧未成功的指令;ECU长时间未反馈接收成功的信号,也属于异常指令。
上述ECU接收到输入的各个数据帧时,会反馈给刷写设备一个收到的信号,并且刷写状态信息根据该信号记录当前输入的所述第n数据帧;若在预设时间内未反馈,或直接反馈异常,则表示接收异常,刷写中断。
上述原始地址为刷入第n数据帧的原始地址。
进一步地,根据所述续刷的起始地址,将所述要续刷的第N-n数据帧向所述ECU输出。
进一步地,根据所述续刷的起始地址,将所述要续刷的N-n个数据帧向所述ECU输出的步骤,包括:根据所述续刷的起始地址,以及所述续刷的第N-n数据的字节数,将所述续刷的第N-n数据的各字节依次填充至所述刷写命令中,并将所述刷写命令向所述ECU刷出。
上述实施例中,
将计算出续刷的第N-n数据的所包含字节数依次填充至所述刷写命令中,刷写命令通过刷写设备与所述ECU的通讯连接并将续刷的第N-n数据的所包含字节传输至所述ECU中。
进一步地,所述续刷的起始地址的计算方法为所述原始地址加上已刷写的n个数据帧所包含的总字节数;
所述续刷的字节个数的计算方法为所述总刷写数据帧的个数N的总字节数减去已刷写的n个数据帧所包含的总字节数。
进一步地,各所述数据帧均包含a个字节;其中,所述a为正整数。
所述已刷写的n个数据帧所包含的总字节数的计算方法为a乘以n;
所述总刷写数据帧的个数N的总字节数的计算方法为a乘以N。
例如:每一数据帧包含的字节为100个,即a=100;那么已刷写的n个数据帧所包含的字节为100n;若刷写到n=5个数据帧时,其所包含的字节个数为a*n=100*5=500个;总刷写数据帧的个数N的总字节数,即为100N。
进一步地,所述按顺序向所述ECU输出的第n数据帧的字节的步骤包括:按顺序将第n数据帧中的字节填充到刷写命令中,并将所述刷写命令向所述ECU输出。
上述实施例中,所述刷写命令为刷写设备向所述ECU发送时所需的指令,将需要刷入的第n数据帧的字节填充至刷写命令中,刷写命令通过刷写设备与所述ECU的通讯连接将刷写的字节传输至所述ECU中。
请参阅图4,第二方面,本申请还提供一种ECU刷写装置400,所述装置包括,
401.拆分模块,将刷写数据根据CAN通讯协议拆分为多个数据帧;
402.输出模块,用于按顺序向ECU输出第n数据帧的字节;
403.记录模块,用于在没有接收到异常指令的情况下,记录所述第n数据帧;所述输出模块进一步用于继续按顺序向所述ECU输出所述第n+1数据帧,并在接收到异常指令的情况下,刷写中断。
具体地,拆分模块将刷写数据进行拆分,其根据CAN通讯协议,将刷写数据拆分为n个数据帧;
输出模块将拆分模块的拆分的n个数据帧,依次向ECU输出;ECU在接收到数据时,会给输出模块反馈已收到的信息;
在输出模块向ECU输出时,输出模块未接收到ECU反馈或收到异常指令时,记录模块记录已成功传输的数据帧;即第n数据帧传输成功时,继续传输第n+1数据帧;当输出模块将第n+1数据帧向ECU传输时,ECU反馈异常指令时,记录模块记录n个数据帧;
在需要续刷时,输出模块从第n+1数据帧开始依次向ECU输出需要继续刷入的数据帧;
并且,输出模块在接收异常指令时,需要对刷写数据进行处理,根据记录模块所记录的已刷写数据和原始地址去计算续刷的起始地址和续刷的N-n个数据帧。
其中,另一实施例中,在输出模块向ECU输出时,输出模块未接收到ECU反馈或收到异常指令时,记录模块记录已成功传输的数据帧;即第n数据帧传输成功时,继续传输第n+1数据帧;当输出模块将第n+1数据帧向ECU传输时,ECU反馈异常指令时,记录模块记录第n个数据帧。
请参阅图5,本申请所述实施例在具体的实际应用中请参考以下流程:
S501.刷写设备通过OBD接口与目的ECU建立通讯连接;
先根据ECU的诊断信息将刷写建立与ECU的通讯链接,比如设置协议类型为CAN类型,通讯管脚为4,14号脚,通讯波特率为500K,系统的过滤ID为发送ID是0xfc00,接收ID是0xfd00。
S502.刷写设备向目的ECU发送0x1003命令,使得ECU从其默认的模式切换至扩展模式;
因默认的模式只能进行一些基本的诊断功能,比如读码,读数据流值,并不支持对目的ECU进行其他刷写的操作。
S503.刷写设备再向目的ECU发0x8582命令,关闭目的ECU故障码的记录功能;
因在刷写过程中目的ECU是不能正常通讯的,导致ECU就可能会记录一些故障码;关闭故障码记录就表示在刷写过程中产生的故障码不用保存。
S504.刷写设备再向目的ECU发0x288301命令,关闭ECU间的相互访问;
因为一般情况下各ECU间也会有一些相互访问来获取一些数据,在ECU进行刷写的过程中,是需要禁止这些相互访问。
S505.刷写设备再向目的ECU发0x1002命令,目的ECU切换为编程模式;
然后再发送命令将ECU切换为编程模式,因为在编程模式下才能对ECU进行刷写。
S506.ECU安全效验;刷写设备向目的ECU发送安全效验命令,目的ECU会向刷写设备回复一个SEED数据,通过特定的算法将SEED数据计算成CODE码,当CODE码计算正确,将CODE码填充至安全效验命令中,发送给目的ECU;当目的ECU判断该CODE码计算正确后,才允许执行刷写操作。
例如,刷写设备先发送0x2703命令,目的ECU回复0x470311223344命令,通过特定的算法将0x11223344计算得出CODE为0x55447788命令;
再将0x55447788命令填充到安全效验命令中生成0x270455447788命令;
再将0x270455447788指令发送给ECU;
ECU判定0x270455447788指令计算正确后,返回正确指令0x4704给OBD接口,则表示ECU的安全检验通过。
S507.刷写设备将要刷写数据从刷写文件中读取出来,按照CAN通讯协议拆分为多个单数据帧;例如,CAN协议每帧可以填充1024个字节,最多不能超过4094,按顺序发送给ECU。
S508.每帧数据传输命令都有一个序号,序号从1开始,每帧数据传输成功后,ECU会回复一个正响应,然后在刷写进度文件中记录此帧正常传输的序号和字节个数;下面以CAN为示例,其中0x3E表示本次发送有效数据的长度,0x34表示刷写功能,0x01表示刷写的数据块的序号,其他填充就是本帧要传输给ECU的字节数据。
Req:08 FC 00 10 3E 34 01 00 BB 07 07
079:08 FD 00 30 00 0C 00 40 00 00 00
Req:08 FC 00 21 89 07 00 B1 02 24 A1
Req:08 FC 00 22 A4 20 2C A1 FF 00 2E
Req:08 FC 00 23 E8 2C 28 E9 2C 02 00
Req:08 FC 00 24 00 2A A2 79 22 E8 28
Req:08 FC 00 25 1E 45 02 00 28 A4 00
Req:08 FC 00 24 2A 88 00 1E DF 44 51
Req:08 FC 00 27 FE 1E 1D 78 23 1D D7
Req:08 FC 00 28 E8 51 F8 1F 1C 08 02
080:08 FD 00 07 74 09 01 29 10 20 30 CD
S509.ECU接收到数据后,会回复上面080的回复命令表示已经收到数据。
S510.如果有数据传输命令ECU没有正常回复,则表示刷写过程中断失败,比如回复0x7f3421表示异常。
S511.刷写中断时,可提示用户进行断点续刷,用户如果选择断点续刷则接着开始从断点进行刷写。
S512.断点续刷首先根据刷写进度文件中记录的已经正常刷写的序号和每帧传输数据字节个数来计算出已经正常刷写的数据,比如一帧数据为1024字节,正常刷写了10帧,则表示已经刷写了10240个字节。
S513.然后计算出断点续刷要刷写的EC始地址和要刷写字节个数,续刷的起始地址为原始地址+已正常刷写字节个数,而要续刷写字节个数为总刷写字节个数-已刷写字节个数。
S514.然后发送命令给ECU,将计算出来的要续刷写的ECU起始地址和刷写字节个数发送给ECU。
S515.待所有数据传输命令都发送完毕而且ECU响应正常表示刷写结束。
S516.然后发送命令0x1101对ECU进行重启。
S517.重启完成后,发送0x1003命令切换到扩展模式,发送命令0x8581来打开故障码记录,再发送命令0x288001来打开ECU间的通讯。
S518.然后再发送命令0x1001将ECU切换到默认模式,在默认模式下发送清除故障码命令0x14ffff来清除之前的故障码。
S519.清除故障码完成后刷写过程结束。
对应于上文所提供的车辆诊断方法,本申请实施例还提供了一种ECU刷写设备,请参阅图6,本申请实施例中的ECU刷写设备600包括:存储器601,一个或多个处理器602(图6中仅示出一个)及存储在存储器601上并可在处理器上运行的计算机程序。其中:存储器401用于存储软件程序以及单元,处理器602通过运行存储在存储器601的软件程序以及单元,从而执行各种功能应用以及车辆诊断,以获取上述预设事件对应的资源。具体地,处理器602通过运行存储在存储器601的上述计算机程序时实现以下步骤:
将刷写数据根据通讯协议拆分为多个数据帧;
按顺序向ECU输出第n数据帧;其中,所述n为正整数;
在没有接收到异常指令的情况下,在刷写状态信息中记录n个数据帧;
继续按顺序向所述ECU输出所述第n+1数据帧;
在接收到异常指令的情况下,刷写中断。
进一步地,根据所述刷写状态信息中记录的n个数据帧,以及原始地址,得出续刷的起始地址,并根据总刷写数据帧的个数N,以及所述刷写状态信息中记录的所述n个数据帧得出要续刷的的N-n个数据帧;其中,所述N为正整数。
进一步地,根据所述续刷的起始地址,将所述要续刷的第N-n数据帧向所述ECU输出。
进一步地,根据所述续刷的起始地址,将所述要续刷的N-n个数据帧向所述ECU输出的步骤,包括:根据所述续刷的起始地址,以及所述续刷的第N-n数据的字节数,将所述续刷的第N-n数据的各字节依次填充至所述刷写命令中,并将所述刷写命令向所述ECU刷出。
进一步地,所述续刷的起始地址的计算方法为所述原始地址加上已刷写的n个数据帧所包含的总字节数;
所述续刷的字节个数的计算方法为所述总刷写数据帧的个数N的总字节数减去已刷写的n个数据帧所包含的总字节数。
进一步地,各所述数据帧均包含a个字节;其中,所述a为正整数。
所述已刷写的n个数据帧所包含的总字节数的计算方法为a*n;
所述总刷写数据帧的个数N的总字节数的计算方法为a*N;
进一步地,所述按顺序向所述ECU输出的第n数据帧的字节的步骤包括:按顺序将第n数据帧中的字节填充到刷写命令中,并将所述刷写命令向所述ECU输出。
应当理解,在本申请实施例中,所称处理器602可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
请参阅图6,存储器601可以包括只读存储器和随机存取存储器,并向处理器602提供指令和数据。存储器601的一部分或全部还可以包括非易失性随机存取存储器。例如,存储器601还可以存储设备类别的信息。
由上可见,通过本申请方案,不再要求用户(维修人员)对ECU刷写设备及待诊断车辆有深入了解,只需要让ECU刷写设备获知待诊断车辆的故障元器件及该故障元器件的故障特征,即可给出相应的诊断功能页面,用户通过在该诊断功能页面中选择所需要的诊断功能,就能完成对待诊断车辆的诊断。上述过程大大简化了对车辆进行诊断的处理流程,一定程度上提升了ECU刷写设备的可操作性及诊断效率。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者外部设备软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关联的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读存储介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机可读存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括是电载波信号和电信信号。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种电子控制单元ECU刷写方法,应用于ECU刷写设备,所述方法包括:
接收刷写请求指令;
根据所述刷写请求指令获取ECU的刷写状态信息;
分析所述刷写状态信息,若所述刷写状态信息中存在刷写中断记录,则根据所述刷写中断记录继续刷写。
2.如权利要求1所述的电子控制单元ECU数据刷写方法,其特征在于,
若所述刷写状态信息中不存在所述刷写中断记录,则根据所述刷写请求指令和所述刷写状态信息获取刷写数据进行刷写。
3.如权利要求1所述的电子控制单元ECU数据刷写方法,其特征在于:
根据所述刷写请求指令获取所述ECU的所述刷写状态信息之后,包括:
将所述刷写数据根据通讯协议拆分为多个数据帧;
根据所述ECU的所述刷写状态信息向所述ECU输出对应的数据帧。
4.如权利要求3所述的ECU刷写方法,其特征在于,
根据所述刷写状态信息继续刷写,具体包括:
根据所述刷写状态信息中记录的所述ECU接收失败前一帧输入所述ECU的数据得出续刷的起始数据帧,从所述续刷的起始数据帧处开始续刷。
5.如权利要求4所述的电子控制单元ECU数据刷写方法,其特征在于:
根据所述刷写状态信息中记录的所述ECU接收失败前一帧输入所述ECU的数据帧得出续刷的起始数据帧,从所述续刷的起始数据帧处开始续刷,包括:
根据所述刷写状态信息中记录的n个数据帧,以及原始地址,得出续刷的起始地址,并根据总刷写数据帧的个数N,以及所述刷写状态信息中记录的所述n个数据帧得出要续刷的的N-n个数据帧;其中,所述N为正整数,根据所述续刷的起始地址,将所述要续刷的第N-n数据帧向所述ECU输出。
6.如权利要求5所述的电子控制单元ECU数据刷写方法,其特征在于:
根据所述续刷的起始地址,将所述要续刷的N-n个数据帧向所述ECU输出的步骤,包括:根据所述续刷的起始地址,以及所述续刷的第N-n数据的字节数,将所述续刷的第N-n数据的各字节依次填充至刷写指令中,并将所述刷写指令向所述ECU刷出。
7.如权利要求5所述的电子控制单元ECU数据刷写方法,其特征在于:
所述续刷的起始地址的计算方法为所述原始地址加上已刷写的n个数据帧所包含的总字节数;
所述续刷的字节个数的计算方法为所述总刷写数据帧的个数N的总字节数减去已刷写的n个数据帧所包含的总字节数。
8.一种ECU刷写装置,其特征在于:所述装置包括,
拆分模块,用于将刷写数据根据CAN通讯协议拆分为多个单数据帧;
输出模块,用于按顺序向所述ECU输出第n数据帧;
记录模块,用于在没有接收到异常指令的情况下,记录所述第n数据帧;
所述输出模块进一步用于继续按顺序向所述ECU输出所述第n+1数据帧,并在接收到异常指令的情况下,刷写中断。
9.一种ECU刷写设备,其特征在于:所述ECU刷写设备包括:
存储器,用于存储刷写程序,并存储刷写中断的相关信息;
处理器,用于执行所述ECU刷写程序时实现如权利要求1至7任一项所述的ECU刷写方法。
10.存储介质,其特征在于:所述存储介质中存储有ECU刷写程序,所述ECU刷写程序被处理器执行时实现如权利要求1至7任一项所述的ECU刷写方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010902803.1A CN112000083A (zh) | 2020-09-01 | 2020-09-01 | Ecu数据刷写方法、刷写装置、刷写设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010902803.1A CN112000083A (zh) | 2020-09-01 | 2020-09-01 | Ecu数据刷写方法、刷写装置、刷写设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112000083A true CN112000083A (zh) | 2020-11-27 |
Family
ID=73465552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010902803.1A Pending CN112000083A (zh) | 2020-09-01 | 2020-09-01 | Ecu数据刷写方法、刷写装置、刷写设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112000083A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112596677A (zh) * | 2020-12-24 | 2021-04-02 | 潍柴动力股份有限公司 | 电子控制单元的数据存储方法、装置及存储介质 |
CN114265382A (zh) * | 2021-11-12 | 2022-04-01 | 潍柴动力股份有限公司 | Ecu刷写故障处理方法、装置、电子设备及存储介质 |
CN114397869A (zh) * | 2021-12-15 | 2022-04-26 | 潍柴动力股份有限公司 | 发动机ecu刷写方法、刷写诊断方法及设备 |
CN114594752A (zh) * | 2022-03-04 | 2022-06-07 | 潍柴雷沃重工股份有限公司 | 一种拖拉机控制单元软件刷写方法及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060259207A1 (en) * | 2005-04-20 | 2006-11-16 | Denso Corporation | Electronic control system for automobile |
CN102945190A (zh) * | 2012-11-05 | 2013-02-27 | 无敌科技(西安)有限公司 | 利用卡片对嵌入式设备Code更新过程中被中断后仍可继续更新的方法 |
CN109189432A (zh) * | 2018-09-18 | 2019-01-11 | 深圳市元征科技股份有限公司 | 一种汽车ecu数据刷写方法及相关设备 |
CN109522033A (zh) * | 2018-09-21 | 2019-03-26 | 浙江大学 | 一种基于器件运行自编程和双中断向量表的ecu程序与数据升级方法 |
CN109804355A (zh) * | 2016-10-14 | 2019-05-24 | 日立汽车系统株式会社 | 软件更新装置、软件更新方法、软件更新系统 |
CN109828935A (zh) * | 2019-01-17 | 2019-05-31 | 重庆菲斯塔新能源汽车科技有限公司 | 一种基于can fd总线的并行刷写方法 |
-
2020
- 2020-09-01 CN CN202010902803.1A patent/CN112000083A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060259207A1 (en) * | 2005-04-20 | 2006-11-16 | Denso Corporation | Electronic control system for automobile |
CN102945190A (zh) * | 2012-11-05 | 2013-02-27 | 无敌科技(西安)有限公司 | 利用卡片对嵌入式设备Code更新过程中被中断后仍可继续更新的方法 |
CN109804355A (zh) * | 2016-10-14 | 2019-05-24 | 日立汽车系统株式会社 | 软件更新装置、软件更新方法、软件更新系统 |
CN109189432A (zh) * | 2018-09-18 | 2019-01-11 | 深圳市元征科技股份有限公司 | 一种汽车ecu数据刷写方法及相关设备 |
CN109522033A (zh) * | 2018-09-21 | 2019-03-26 | 浙江大学 | 一种基于器件运行自编程和双中断向量表的ecu程序与数据升级方法 |
CN109828935A (zh) * | 2019-01-17 | 2019-05-31 | 重庆菲斯塔新能源汽车科技有限公司 | 一种基于can fd总线的并行刷写方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112596677A (zh) * | 2020-12-24 | 2021-04-02 | 潍柴动力股份有限公司 | 电子控制单元的数据存储方法、装置及存储介质 |
CN114265382A (zh) * | 2021-11-12 | 2022-04-01 | 潍柴动力股份有限公司 | Ecu刷写故障处理方法、装置、电子设备及存储介质 |
CN114397869A (zh) * | 2021-12-15 | 2022-04-26 | 潍柴动力股份有限公司 | 发动机ecu刷写方法、刷写诊断方法及设备 |
CN114594752A (zh) * | 2022-03-04 | 2022-06-07 | 潍柴雷沃重工股份有限公司 | 一种拖拉机控制单元软件刷写方法及存储介质 |
CN114594752B (zh) * | 2022-03-04 | 2024-05-14 | 潍柴雷沃智慧农业科技股份有限公司 | 一种拖拉机控制单元软件刷写方法及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112000083A (zh) | Ecu数据刷写方法、刷写装置、刷写设备及存储介质 | |
US8516174B2 (en) | Data transmission method between master and slave devices | |
JP2010258990A (ja) | 制御システム及び制御プログラム更新方法 | |
CN110580235B (zh) | 一种sas扩展器通信方法及装置 | |
CN111722864A (zh) | 一种ecu数据刷写方法及相关装置 | |
JP2008254484A (ja) | 車載用通信システム | |
CN113656056A (zh) | 充电座和充电座升级的方法、装置、设备、存储介质 | |
US20200272532A1 (en) | Communication apparatus, communication method, program, and communication system | |
JP2013250690A (ja) | データ処理装置、マイクロコントローラ、およびデータ処理装置の自己診断方法 | |
JP2003172199A (ja) | 車両用電子制御装置のプログラム書き換えシステム | |
CN110659043B (zh) | 固件升级方法、装置、设备和存储介质 | |
CN115865866B (zh) | 地址分配方法及装置 | |
CN115903758A (zh) | 远程诊断系统、方法、电子设备及存储介质 | |
CN114967634A (zh) | 处理器诊断装置、处理器诊断方法和电子设备 | |
JP2018170591A (ja) | 通信装置、通信方法及び制御プログラム | |
CN111308919B (zh) | 轮速信号传送方法、装置、终端和计算机可读存储介质 | |
JP2005145262A (ja) | 車載用lanシステム | |
KR20060023862A (ko) | 캔 네트워크 관리 시스템 및 이의 테스트 및 디버깅 방법 | |
DE102021119998B3 (de) | Serielle datenkommunikation mit in-frame-antwort | |
US20230215226A1 (en) | Method for vehicle diagnostics, diagnostic connector, and diagnostic device | |
JP2701591B2 (ja) | 自動車電話装置の自己診断方法 | |
CN114756258B (zh) | 一种基于odx的ecu软件刷新方法与系统 | |
US11694759B2 (en) | Method for the secured storing of a data element of a predefined data type to be stored by a computer program in an external memory | |
CN112799370B (zh) | 一种控制装置、车载系统软件还原方法及其系统 | |
CN116048555A (zh) | 电控单元标识信息写入方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201127 |
|
RJ01 | Rejection of invention patent application after publication |