CN112462728A - 改进的车辆ecu闪存编程 - Google Patents
改进的车辆ecu闪存编程 Download PDFInfo
- Publication number
- CN112462728A CN112462728A CN202010918076.8A CN202010918076A CN112462728A CN 112462728 A CN112462728 A CN 112462728A CN 202010918076 A CN202010918076 A CN 202010918076A CN 112462728 A CN112462728 A CN 112462728A
- Authority
- CN
- China
- Prior art keywords
- flash
- memory
- control unit
- electronic control
- vehicle
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/44—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/48—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供“改进的车辆ECU闪存编程”。提供了一种车辆中的电子控制单元。所述电子控制单元包括处理器和存储器。所述存储器存储指令,所述指令可由所述处理器执行以:接收软件更新,经由车辆通信网络广播闪存开始消息,闪存所述软件更新,以及广播包括闪存成功或闪存失败的闪存结果。
Description
技术领域
本公开总体上涉及车辆诊断系统。
背景技术
诊断故障代码等对于报告车辆故障是有用的。然而,错误故障代码可能会干扰车辆开发、车辆生产、车辆操作和车辆服务。对车辆中的电子控制单元进行闪存编程可能会导致一个或多个错误诊断故障代码等。
发明内容
车辆中的第一电子控制单元包括处理器和存储器。所述存储器存储指令,所述指令可由所述处理器执行以:接收软件更新,经由车辆通信网络广播闪存开始消息,闪存所述软件更新,以及广播包括闪存成功或闪存失败的闪存结果。所述第一电子控制单元可以还被编程为在所述存储器中存储在所述闪存期间生成的诊断故障代码。所述第一电子控制单元可以还被编程为在所述存储器中接收和存储闪存之前在存储器中存在的诊断故障代码。所述第一电子控制单元可以还被编程为在广播所述闪存开始消息之前将诊断故障代码备份在所述存储器的存储器分区部分中。所述第一电子控制单元可以还被编程为擦除在所述闪存期间生成的诊断故障代码。所述第一电子控制单元可以还被编程为在广播所述闪存成功之后确定所述存储器是否包括在所述闪存期间生成的诊断故障代码。所述第一电子控制单元可以还被编程为在广播所述闪存失败之后、在擦除在所述闪存期间生成的所述诊断故障代码之后或者在确定所述存储器不包括在所述闪存期间生成的所述诊断故障代码之后,从备份恢复所述诊断故障代码。
一种车辆中的系统包括第一电子控制单元和第二电子单元。所述第二电子控制单元经由车辆通信网络通信地耦接到所述第一电子控制单元。第一电子控制单元被编程为:接收软件更新,经由车辆通信网络广播闪存开始消息,闪存所述软件更新,以及广播包括闪存成功或闪存失败的闪存结果。所述第一电子控制单元还被编程为在所述存储器中存储在所述闪存期间生成的诊断故障代码。所述第一电子控制单元还被编程为在所述存储器中接收和存储闪存之前在存储器中存在的诊断故障代码。所述第一电子控制单元还被编程为在所述闪存开始广播之前将诊断故障代码备份在所述存储器的存储器分区部分中。所述第一电子控制单元还被编程为擦除在所述闪存期间生成的诊断故障代码。所述第一电子控制单元在广播所述闪存成功之后确定所述存储器是否包括在所述闪存期间生成的诊断故障代码。所述第一电子控制单元还被编程为在广播所述闪存失败之后、在擦除在所述闪存期间生成的所述诊断故障代码之后或者在确定所述存储器不包括在所述闪存期间生成的所述诊断故障代码之后,从备份恢复闪存之前在存储器中存在的所述诊断故障代码。
一种方法包括:通过车辆中的第一电子控制单元接收软件更新;经由车辆通信网络广播闪存开始消息;闪存所述软件更新;以及广播包括闪存成功或闪存失败的闪存结果。所述第一电子控制单元在存储器中存储在闪存期间生成的诊断故障代码。所述第一电子控制单元在存储器中接收和存储闪存之前在存储器中存在的诊断故障代码。所述第一电子控制单元在广播闪存开始之前将闪存之前在存储器中存在的诊断故障代码备份在存储器分区部分中。在广播所述闪存成功之后,所述第一电子控制单元擦除在所述闪存期间生成的诊断故障代码。所述第一电子控制单元在广播所述闪存失败之后、在擦除在所述闪存期间生成的所述诊断故障代码之后或者在确定所述存储器不包括在所述闪存期间生成的所述诊断故障代码之后,从备份恢复所述诊断故障代码。
附图说明
图1是示出了用于车辆ECU闪存编程的示例性系统的框图。
图2示出了车辆ECU闪存编程的示例性过程。
具体实施方式
车辆上的电子控制单元(ECU)最初可以例如在制造设施处用软件来编程,以控制ECU的操作,例如,用于处理来自其他车载电子控制单元的各种传感器输入和请求,用于向车辆部件提供控制信号等。例如在制造设施中初始编程之后,或一旦车辆离开制造设施,车辆中的ECU可以用软件更新进行闪存编程以提供增强的特征、漏洞修复等。根据本文的技术,可以减少由于对车辆电子控制单元(ECU)进行闪存编程而产生的错误故障代码。
如本文所使用的“闪存编程”具有覆写诸如ECU的计算设备的非易失性存储器上(即,通常原本不能改变)的核心软件的通常理解的含义。术语“更新”、“软件更新”、“更新的软件”等不仅指补丁的下载和安装以及对已经存在的软件的改进,还指完全新的软件应用的下载和安装以及对固件和配置设置的更新。在成功的闪存编程之后,电子控制单元可以用更新的软件恢复正常操作。闪存编程可以使用诊断或服务工具手动完成,或者通过已知的空中下载(OTA)闪存来完成。
示例性故障代码(也称为故障码)包括诊断故障代码(DTC)或OBD2故障代码等。通常,故障代码是电子控制单元可以经由车辆通信网络(诸如控制器局域网(CAN)通信总线)生成和接收的代码。诊断故障代码(DTC)通常是指定车辆故障状况的唯一数字代码,并且可以与故障状况、诊断状况、诊断状态等相关联。当电子控制单元检测到车辆部件中的故障时,它将激活对应的诊断故障代码。车辆在检测到不在允许界限内操作的部件或系统时将诊断故障代码存储在ECU存储器中。诊断故障代码有助于识别车辆故障状况,使得可以对其进行诊断和修复。
车辆ECU经由车辆通信网络(诸如下面进一步描述的控制器局域网(CAN)通信总线)互连,从而允许彼此通信。因此,电子控制单元可以经由车辆通信网络从互连的ECU接收诊断故障代码。闪存编程车辆中的“目标电子控制单元”的“目标软件”可以暂时中断其与互连的ECU之间的通信并致使互连的ECU生成诊断故障代码,因为例如,互连的ECU检测到由于所述闪存而导致的通信丢失。闪存编程还可以致使目标电子控制单元本身在闪存编程期间生成诊断故障代码,作为闪存编程的副作用。“目标电子控制单元”是被确定为需要软件更新的电子控制单元。“目标软件”是目标电子控制单元的非易失性存储器中的将通过闪存编程更新的软件、固件和配置设置。
在闪存编程期间生成的诊断故障代码是“错误故障代码”,因为它是由闪存编程生成的,而不是由对车辆故障状况的实际检测生成的,如下面进一步所述。也就是说,在闪存编程期间,与目标电子控制单元108a正常交互的控制单元108b可以生成故障代码,因为控制单元108b可以检测到从目标控制单元108a预期的数据的缺失,这由于闪存过程而无法提供缺失的数据。由于闪存编程,故障代码(诸如OBD2U代码)可能由于目标电子控制单元与通信地耦接到目标电子单元的电子控制单元之间的暂时通信丢失而被错误地设置。在正常操作期间,电子控制单元108以指定速率向彼此提供消息。在接收端,监测消息接收之间的间隔。当在指定时间段内未接收到特定消息时,将设置故障代码(例如,U代码)(即,由ECU 108生成并提供在车辆101的CAN总线等上)。闪存编程中断目标ECU 108a与一个或多个互连的电子控制单元108b之间的通信,从而导致设置(即,生成)故障代码;这种故障代码是错误故障代码,因为通信丢失仅是由于闪存编程,而不是实际的通信错误或故障。
例如,如果互连的电子控制单元108b从目标ECU 108a正常接收携带扭矩请求的消息,并且互连的ECU 108b在x毫秒(ms)(即,用于接收消息的指定间隔)内没有接收到消息,则互连的ECU 108b将设置故障代码(例如,U代码)以指示缺失的扭矩请求。在正常操作期间,在这种背景下的故障代码是期望的,因为它指示可能需要通过外部干预(是否由于CAN总线的问题、消息传输的错误等)来解决的有效故障状况(即,目标ECU 108a与互连的ECU108b之间的通信错误或故障)。故障代码可以存储在产生故障代码的ECU 108的内部存储器111中。
错误故障代码可能导致车辆操作的损害或改变,例如,控制单元108可以被编程为基于故障代码来限制或改变部件120的操作,和/或控制单元108之间的通信可以被改变或阻止。因此,错误故障代码可能不必要地和/或负面地影响车辆开发、生产、操作和/或服务。另外,错误故障代码可能会误导用户并使用户感到沮丧,特别是如果用户触发故障指示灯(MIL),诸如检查发动机灯。另外,当前需要通过使用电力循环或者在快速钥匙循环时重新确认的风险来从存储器中擦除错误故障代码。电力循环是耗时的。
图1示出了用于减少由于对车辆进行闪存编程而导致的错误故障代码的示例性系统100。车辆101包括计算机105,所述计算机包括处理器和存储器。车辆101还包括电子控制单元108a和108b(通常称为控制单元108),所述电子控制单元是各自包括处理器109和存储器111的计算设备。虽然为了便于说明仅示出了一个计算机105和两个电子控制单元108a和108b,但是应当理解,车辆101可以包括多个计算机105和/或两个以上的电子控制单元108a和108b。实际上,车辆101通常包括两个以上的车载电子控制单元108,每个用于监测和/或控制相应的部件120。电子控制单元108的存储器111可以存储一个或多个指令,所述一个或多个指令可由处理器执行并且与车辆101、部件、系统或其任何组合的操作有关。电子控制单元108的存储器111可以被划分成部分(例如,图1的电子控制单元108a的存储器111a-111c)以供常驻程序使用。例如,电子控制单元108的存储器111可以包括用作备份存储器的部分(例如,111a、111b或111c)。在下面讨论的示例中,电子控制单元108a是“目标”电子控制单元,并且电子控制单元108b是“互连”电子控制单元(如那些术语在下文定义)。应当理解,ECU 108a、108b被指定为如此以便于当前图示;通常,车辆101中的任何ECU 108在不同时间可以是目标ECU 108a或互连的ECU 108b。
计算机105可以包括或通信地耦接到车辆101中所包括的电子控制单元108(例如,经由诸如下文进一步描述的通信总线的车辆通信网络)。计算机105可被编程为从一个或多个传感器110和/或电子控制单元接收收集的数据115。收集的数据115通常可从车辆控制器局域网(CAN)总线等获得。通常,收集的数据115可以包括关于车辆101的操作的数据,例如,关于一个或多个车辆部件120的数据、以及关于车辆101的位置的数据、关于车辆周围的环境的数据、关于车辆外部的物体诸如另一车辆的数据等。车辆101位置通常以常规形式提供,例如,经由使用全球定位系统(GPS)的导航系统获得的地理坐标诸如纬度和经度坐标。数据115的其他示例可以包括车辆系统和部件的测量,例如车辆速度、车辆轨迹等。通常,收集的数据115可以包括可以由传感器110收集和/或根据此类数据计算的任何数据。数据存储区106可以是任何类型的,例如硬盘驱动器、固态驱动器、服务器或任何易失性或非易失性介质。数据存储区106可以存储从传感器110发送的收集的数据115。收集的数据115还可以包括与相应车辆部件120的故障或其他工况有关的诊断数据。ECU 108还可以从其他互连的ECU 108接收与故障或其他工况相关的诊断数据。诊断数据可包括故障代码诸如DTC,其可以存储到电子控制单元108的存储器111。
车辆101中的计算设备105、108通常被编程用于在车辆通信网络(例如,包括常规的车辆通信总线)上进行通信。经由网络(诸如控制器局域网(CAN)等、总线和/或其他有线或无线机制(例如,车辆101中的有线或无线局域网),设备105、108可以向彼此和/或车辆101中的其他各种设备传输或广播消息和/或从所述各种设备(例如,致动器、传感器110等)接收消息。替代地或另外地,在设备105、108包括多个设备的情况下,车辆网络可以用于在本公开中表示为计算机105或控制器108的设备之间的通信。另外,计算机105可被编程用于与网络125进行通信,如下所述,所述网络可以包括各种有线和/或无线联网技术,例如蜂窝、低功耗(BLE)、有线和/或无线分组网络等。“广播”等是指经由车辆通信网络进行通信。
如前所解释,电子控制单元108可以监测和/或控制车辆部件120,并且通常能够进行自诊断。ECU 108的非限制性示例包括发动机控制单元、车门控制单元、电动转向控制单元、动力传动系统控制模块,座椅控制单元、远程信息处理控制单元、速度控制单元、变速器控制单元、制动控制模块等。
车辆101中的各种电子控制单元108可以经由车辆网络或总线向计算机105和其他电子控制单元108提供数据115,例如与部件状态等有关的数据115。例如,车辆部件120可能具有故障。故障是车辆部件无法操作或在一个或多个预定义参数之外操作的状况(例如,预定义参数可以是物理量或量的范围,诸如温度、扭矩、每分钟转数、压力等)。电子控制单元108可以被编程为基于从例如各种车辆传感器110、致动器、其他电子控制单元108等接收的数据来确定车辆部件120是否处于故障状况。故障状况可以包括在电子控制单元108之间的通信故障,例如,具有不正确或缺失数据的消息或信号,或者根本没有接收到的消息或信号。ECU 108被编程为当检测到故障状况时将诊断状态记录(即,存储)在其存储器111中。每个诊断状态可以由故障代码(诸如DTC)识别。
传感器110可以包括多种设备,例如相机、运动检测器等,即传感器110用于提供数据115以评估部件的位置、评估道路的坡度等。传感器110可以还包括但不限于近程雷达、远程雷达、激光雷达和/或超声波换能器。
车辆101可以包括多个车辆部件120,如上文所提及。在此上下文中,每个车辆部件120包括一个或多个硬件部件,所述一个或多个硬件部件适于执行机械功能或操作,诸如使车辆101移动、使车辆101减慢或停止、使车辆101转向等。部件120的非限制性示例包括:推进部件(其包括例如内燃发动机和/或电动马达等)、变速器部件、转向部件(例如,其可以包括方向盘、转向齿条等中的一者或多者)、悬架部件、制动部件(如下所述)、驻车辅助部件、自适应巡航控制部件、自适应转向部件、可移动座椅、车辆车身等。传感器110和致动器也可以被认为是车辆部件120。
系统100还可以包括连接到服务器130和数据存储区135的广域网125。计算机105可以还被编程为经由网络125与诸如服务器130等一个或多个远程站点通信,这种远程站点可能包括数据存储区135。网络125表示车辆计算机105可通过其与远程服务器130通信的一种或多种机制。因此,网络125可以是各种有线或无线通信机制中的一种或多种,包括有线(例如,电缆和光纤)和/或无线(例如,蜂窝、无线、卫星、微波和射频)通信机制的任何期望的组合以及任何期望的网络拓扑结构(或当使用多种通信机制时的多种拓扑结构)。示例性通信网络包括提供数据通信服务的无线通信网络(例如,使用低功耗(BLE)、IEEE 802.11、车辆对车辆(V2V)(诸如专用短程通信(DSRC))等)、局域网(LAN)和/或包括因特网的广域网(WAN)。
现在参见图2,示出了用于车辆ECU闪存编程的示例性过程200。过程200在本文中被描述为由存储在存储器111中并且可由目标电子控制单元108a的处理器109执行的程序指令来执行。如先前所解释,电子控制单元的软件、固件和配置设置可以通过闪存编程来“更新”,但是闪存编程可能导致错误故障代码。如下面参考示例性过程200(图2)更详细地解释的,目标电子控制单元108a可以被编程为防止或至少减少从闪存编程生成的错误故障代码。
如前所解释,控制单元108的闪存编程可以使用诊断或服务工具手动完成,或者通过通过各种技术的空中下载(OTA)闪存来完成。例如,在由请求软件更新的车辆发起的示例性OTA闪存过程中,车辆101可以连接到远程服务器130以进行软件更新。可以实施各种证实过程以确保更新请求是可行的,并且一旦完成这些过程,远程服务器130就可以获取车辆数据。车辆数据的非限制性示例包括软件版本、各种部件安装等。这可以包括售后部件的标识符,以及确认仍然安装了各种OEM安装的部件。尽管远程服务器130可以保存车辆配置的记录,但是在继续进行软件更新之前验证该信息仍然可能是有用的。一旦已经接收到软件版本(并用存储的数据确认),就可以将版本与包含特定配置的车辆的最新软件的数据库进行比较。
当目标电子控制单元108a接收到软件更新或指示软件更新即将到来的消息时,过程200在框205中开始。目标电子控制单元108a可以经由诊断或服务工具和/或使用例如远程服务器130从空中下载闪存过程接收软件更新。
接下来,在决策框210中,目标电子控制单元108a例如根据其中设备(例如,控制单元108a)将接收闪存编程更新的常规闪存初始化过程来确定是否满足闪存初始化条件。要满足的示例性闪存编程条件通常包括验证和证实目标ECU 108a,验证目标ECU 108a需要软件更新(即,目标软件不是当前的),目标电子控制单元108a已经进入编程/重新编程状态等。当满足闪存初始化条件时,过程200继续到框215。否则,所述过程200结束。
接下来,在决策框215中,目标电子控制单元108a确定目标电子控制单元108a的存储器111中是否已经存在任何故障代码。存在的故障代码是在目标电子控制单元108a的闪存编程之前经由车辆101通信网络从一个或多个互连的ECU 108(诸如ECU 108b)广播的任何故障代码。如果确定目标电子控制单元108a的存储器111中已经存在诊断故障代码,则过程前进到框220。否则,过程前进到框225。
在可以在框215之后的框220中,目标电子控制单元108a将存在的诊断故障代码备份在例如存储器111的备份存储器111a、111b、111c(图1)中。目标电子控制单元108a被编程为将存在的诊断故障代码备份(存储)在例如备份存储器分区部分中或其他存储器设备中。
接下来,在框225中,目标电子控制单元108a经由车辆101通信网络广播闪存开始(即,闪存意图)消息,例如,以由一个或多个互连的电子控制单元108接收。在接收到闪存开始消息时,其他控制单元108可以执行编程以进入“车辆闪存模式”,这将在下面进一步讨论。车辆控制单元108可以被编程为在接收到指定车辆闪存模式已经开始的消息时,抑制生成由闪存编程导致的故障代码持续指定时间段和/或抑制生成由闪存编程导致的故障代码直到接收到车辆闪存模式完成或终止的消息。由不涉及目标电子控制单元108a的故障状况生成的故障代码不被抑制。例如,在目标电子单元108a与其他控制单元108b正常通信并且目标电子控制单元108a闪存的情况下,其他控制单元108b接收闪存开始消息,所述闪存开始消息通知它们不要设置与和目标电子控制单元108a的通信有关的故障代码(即,因为在目标ECU 108a正在闪存时针对ECU 108a的故障代码将是错误故障代码)。然而,其他ECU108b可以生成与ECU 108b而不是正在闪存的目标ECU 108a相关的故障代码,例如,在其他ECU 108b之间存在通信问题故障或错误的情况下。另外,不抑制由目标电子控制单元108a本身(如果有的话)由于闪存编程而生成故障代码。
接下来,在框230中,目标电子控制单元108a例如根据常规的闪存编程技术使目标软件在目标电子控制单元中闪存。
接下来,在决策框235中,目标电子控制单元108a通过确定目标软件是更新成功(即,闪存成功)还是更新失败(即,闪存失败)来确定闪存结果。例如,常规的闪存编程处理可以输出结果。如果成功,则过程200前进到框240。否则,过程前进到框260。
在框240中,目标电子控制单元108a经由车辆101通信网络广播闪存编程成功(即,闪存成功)。如果闪存编程成功,则将恢复目标ECU 108a与互连的ECU 108b之间的通信。
接下来,在决策框245中,目标电子控制单元108a确定在闪存编程期间是否生成了任何故障代码,即,控制单元108a可以确定在车辆闪存模式开始之后是否在其存储器111中存储了任何故障代码。如果目标电子控制单元108a的存储器111中存储了错误故障代码,则过程200前进到框250。否则,过程200前进到决策框275。如前所解释,广播车辆闪存模式的开始(框225)可以抑制其他电子控制单元108生成错误故障代码,因为控制单元108可以执行编程以暂停涉及目标电子控制单元108a的故障代码的生成。决策框245导致确定目标电子控制单元108a本身是否生成了任何错误故障代码。
在框250中,目标电子控制单元108a从其存储器111擦除错误故障代码。
在可以在决策框235之后的框260中,如果目标软件更新失败(闪存失败),则例如根据常规的闪存技术将目标软件恢复到先前状态。
接下来,在框265中,目标电子控制单元108a广播软件更新失败(即,闪存失败)的闪存结果。
在可以在框250或框265之后的决策框270中,目标电子控制单元108a确定在备份存储器(例如,存储器111a、111b、111c)中是否存储有任何存在的诊断故障代码。如果备份存储器中存储有一个或多个诊断故障代码,则过程前进到框275。否则,过程前进到框280。
在框275中,目标电子控制单元108a从备份存储器恢复一个或多个存在的诊断故障代码。该一个或多个存在的诊断故障代码可在广播闪存失败之后、在错误故障代码擦除之后或在存储器111不包括错误故障代码的确定之后从备份恢复。因此,保留存在的诊断故障代码。
接下来,在框280中,目标电子控制单元108a传输闪存结果(例如,目标软件成功更新(“闪存成功”)或目标软件更新失败(“闪存失败”))的通知。过程200在框280之后结束。
结论
如本文所使用的,修饰形容词的副词“基本上”意指形状、结构、测量结果、值、计算等可能偏离精确描述的几何形状、距离、测量结果、值、计算等,这是因为材料、加工、制造、数据收集器测量结果、计算、处理时间、通信时间等存在缺陷。
计算机105通常各自包括可由诸如上文提及的那些的一个或多个计算设备执行并用于执行上述过程的框或步骤的指令。计算机可执行指令可通过使用多种编程语言和/或技术创建的计算机程序来编译或解译,所述编程语言和/或技术单独地或组合地包括但不限于JavaTM、C、C++、Visual Basic、Java Script、Perl、HTML等。通常,处理器(例如,微处理器)例如从存储器、计算机可读介质等接收指令,并且执行这些指令,由此执行包括本文所述的过程中的一者或多者的一个或多个过程。此类指令和其他数据可使用多种计算机可读介质来存储和传输。计算机105中的文件通常是存储在计算机可读介质(诸如存储介质、随机存取存储器等)上的数据的集合。
计算机可读介质包括参与提供可由计算机读取的数据(例如,指令)的任何介质。此类介质可采用许多形式,包括但不限于非易失性介质、易失性介质等。非易失性介质包括例如光盘或磁盘和其他持久性存储器。易失性介质包括通常构成主存储器的动态随机存取存储器(DRAM)。计算机可读介质的常见形式包括例如软盘、软磁盘、硬盘、磁带、任何其他磁性介质、CD ROM、DVD、任何其他光学介质、穿孔卡、纸带、具有孔图案的任何其他物理介质、RAM、PROM、EPROM、FLASH EEPROM、任何其他存储器芯片或盒式磁带、或计算机可从中读取的任何其他介质。
关于本文所描述的介质、过程、系统、方法等,应理解,虽然此类过程等的步骤已被描述为按照某一有序的顺序发生,但是此类过程可在以本文描述的次序以外的次序执行所描述的步骤的情况下来实践。还应当理解,可同时执行某些步骤,可添加其他步骤,或者可省略本文所描述的某些步骤。例如,在过程200中,可以省略步骤中的一个或多个,或者可以以与所示不同的顺序执行步骤,除非另外指出。换句话说,本文对系统和/或过程的描述是为了示出某些实施例而提供,而决不应当将其理解为限制所公开的主题。
除非本文作出相反的明确指示,否则权利要求中使用的所有术语意图给出如本领域技术人员所理解的普通和通常的含义。特定地,除非权利要求叙述相反的明确限制,否则使用诸如“该”、“所述”等单数冠词应被解读为叙述所指示的要素中的一个或多个。术语“第一”和“第二”不应被解释为仅叙述两者。短语“基于”涵盖部分地或完全地基于。
因此,应当理解,包括以上描述和附图以及所附权利要求的本公开意图是说明性的而非限制性的。在阅读以上描述时,除了所提供的示例之外的许多实施例和应用对于本领域的技术人员将是明显的。不应参考以上描述来确定本发明的范围,而应参考随附于此的权利要求连同这些权利要求赋予的等效物的全部范围来确定本发明的范围。预期并期望本文所讨论的技术未来将有所发展,并且所公开的系统和方法将并入此类未来实施例中。总而言之,应理解,所公开的主题能够进行修改和变化。
根据本发明,提供了一种车辆中的第一电子控制单元,其具有处理器和存储器,所述存储器存储指令,所述指令可由所述处理器执行以:接收软件更新;经由车辆通信网络广播闪存开始消息;闪存所述软件更新;以及广播包括闪存成功或闪存失败的闪存结果。
根据实施例,本发明还被编程为在所述存储器中存储在所述闪存期间生成的诊断故障代码。
根据实施例,本发明还被编程为在所述存储器中接收和存储闪存之前在存储器中存在的诊断故障代码。
根据实施例,本发明还被编程为在广播所述闪存开始消息之前将诊断故障代码备份在所述存储器的存储器分区部分中。
根据实施例,本发明还被编程为擦除在所述闪存期间生成的诊断故障代码。
根据实施例,本发明还被编程为在广播所述闪存成功之后确定所述存储器是否包括在所述闪存期间生成的诊断故障代码。
根据实施例,本发明还被编程为在广播所述闪存失败之后、在擦除在所述闪存期间生成的所述诊断故障代码之后或者在确定所述存储器不包括在所述闪存期间生成的所述诊断故障代码之后,从备份恢复所述诊断故障代码。
根据本发明,提供了一种系统,该系统具有:车辆中的第一电子控制单元,其被编程为:接收软件更新;经由车辆通信网络广播闪存开始消息;闪存所述软件更新;以及广播包括闪存成功或闪存失败的闪存结果;以及经由车辆通信网络通信地耦接到第一电子控制单元的第二电子控制单元。
根据实施例,所述第一电子控制单元还被编程为在所述存储器中存储在所述闪存期间生成的诊断故障代码。
根据实施例,所述第一电子控制单元还被编程为在所述存储器中接收和存储闪存之前在存储器中存在的诊断故障代码。
根据实施例,所述第一电子控制单元还被编程为在所述闪存开始广播之前将诊断故障代码备份在所述存储器的存储器分区部分中。
根据实施例,所述第一电子控制单元还被编程为擦除在所述闪存期间生成的诊断故障代码。
根据实施例,所述第一电子控制单元在广播所述闪存成功之后确定所述存储器是否包括在所述闪存期间生成的诊断故障代码。
根据实施例,所述第一电子控制单元还被编程为:在广播所述闪存失败之后、在擦除在所述闪存期间生成的所述诊断故障代码之后或者在确定所述存储器不包括在所述闪存期间生成的所述诊断故障代码之后,从备份恢复闪存之前在存储器中存在的所述诊断故障代码。
根据本发明,提供了一种方法,其具有通过车辆中的第一电子控制单元:接收软件更新;经由车辆通信网络广播闪存开始消息;闪存所述软件更新;以及广播包括闪存成功或闪存失败的闪存结果。
根据实施例,本发明的特征还在于在存储器中存储在所述闪存期间生成的诊断故障代码。
根据实施例,本发明的特征还在于在所述存储器中接收和存储闪存之前在存储器中存在的诊断故障代码。
根据实施例,本发明的特征还在于在广播闪存开始之前在存储器分区部分中备份所述诊断故障代码。
根据实施例,本发明的特征还在于在广播所述闪存成功之后:擦除在所述闪存期间生成的诊断故障代码。
根据实施例,本发明的特征还在于在广播所述闪存失败之后、在擦除在所述闪存期间生成的所述诊断故障代码之后或者在确定所述存储器不包括在所述闪存期间生成的所述诊断故障代码之后,从备份恢复闪存之前在所述存储器中存在的所述诊断故障代码。
Claims (9)
1.一种方法,其包括通过车辆中的第一电子控制单元:
接收软件更新;
经由车辆通信网络广播闪存开始消息;
闪存所述软件更新;以及
广播包括闪存成功或闪存失败的闪存结果。
2.如权利要求1所述的方法,其还包括在存储器中存储闪存期间生成的诊断故障代码。
3.如权利要求1所述的方法,其还包括:
在所述存储器中接收和存储闪存之前在所述存储器中存在的诊断故障代码。
4.如权利要求3所述的方法,其还包括:
在广播闪存开始之前在存储器分区部分中备份所述诊断故障代码。
5.如权利要求2所述的方法,其还包括在广播所述闪存成功之后确定所述存储器是否包括在所述闪存期间生成的所述诊断故障代码。
6.如权利要求5所述的方法,其还包括
擦除在所述闪存期间生成的所述诊断故障代码。
7.如权利要求6所述的方法,其还包括:
在广播所述闪存失败之后、在擦除在所述闪存期间生成的所述诊断故障代码之后或者在确定所述存储器不包括在所述闪存期间生成的所述诊断故障代码之后,从备份恢复闪存之前在所述存储器中存在的所述诊断故障代码。
8.一种车辆中的第一电子控制单元,所述第一电子控制单元包括计算机,所述计算机被编程为执行如权利要求1-7中任一项所述的方法。
9.一种系统,其包括计算机,所述计算机被编程为执行如权利要求1-7中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/564,670 US20210072975A1 (en) | 2019-09-09 | 2019-09-09 | Vehicle ecu flash programming |
US16/564,670 | 2019-09-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112462728A true CN112462728A (zh) | 2021-03-09 |
Family
ID=74644837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010918076.8A Pending CN112462728A (zh) | 2019-09-09 | 2020-09-03 | 改进的车辆ecu闪存编程 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210072975A1 (zh) |
CN (1) | CN112462728A (zh) |
DE (1) | DE102020123091A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113504771A (zh) * | 2021-07-16 | 2021-10-15 | 东风小康汽车有限公司重庆分公司 | 一种控制器升级方法和系统 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114265382A (zh) * | 2021-11-12 | 2022-04-01 | 潍柴动力股份有限公司 | Ecu刷写故障处理方法、装置、电子设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7366589B2 (en) * | 2004-05-13 | 2008-04-29 | General Motors Corporation | Method and system for remote reflash |
US7492726B2 (en) * | 2005-12-20 | 2009-02-17 | Palo Alto Research Center Incorporated | Method and apparatus for optimizing convergecast operations in a wireless sensor network |
US9557981B2 (en) * | 2011-07-26 | 2017-01-31 | Ford Global Technologies, Llc | Method and apparatus for automatic module upgrade |
US10061574B2 (en) * | 2013-03-14 | 2018-08-28 | Ford Global Technologies, Llc | Method and apparatus for multiple vehicle software module reflash |
-
2019
- 2019-09-09 US US16/564,670 patent/US20210072975A1/en not_active Abandoned
-
2020
- 2020-09-03 CN CN202010918076.8A patent/CN112462728A/zh active Pending
- 2020-09-03 DE DE102020123091.5A patent/DE102020123091A1/de not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113504771A (zh) * | 2021-07-16 | 2021-10-15 | 东风小康汽车有限公司重庆分公司 | 一种控制器升级方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
DE102020123091A1 (de) | 2021-03-11 |
US20210072975A1 (en) | 2021-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7788005B2 (en) | Electronic control system and method for vehicle diagnosis | |
US20190197795A1 (en) | Providing autonomous vehicle maintenance | |
CN107113070B (zh) | 车载设备、车载设备诊断系统 | |
US11084462B2 (en) | Method for modifying safety and/or security-relevant control devices in a motor vehicle | |
EP3232416A1 (en) | Systems and methods for vehicle-to-vehicle communication | |
US10955250B2 (en) | Vehicle maintenance operation | |
US10726645B2 (en) | Vehicle diagnostic operation | |
US10023164B2 (en) | Validating automotive safety functions | |
CN107015550B (zh) | 诊断测试执行控制系统和方法 | |
US10629008B2 (en) | Vehicle diagnostic operation | |
US20120253586A1 (en) | Vehicle behavior data recording control system and recording apparatus | |
CN112462728A (zh) | 改进的车辆ecu闪存编程 | |
CN105270413A (zh) | 自动车辆操作的冗余度 | |
KR101914624B1 (ko) | 자율주행시스템의 사고 예방을 위한 프로세서 및 동작 방법 | |
WO2021010396A1 (ja) | 走行記憶システム、潜在事故責任決定装置、走行記憶方法、潜在事故責任決定方法、映像記録システム、自動運転システム、および映像記録方法 | |
JP6227104B1 (ja) | メモリ診断装置、車両制御装置、メモリ診断方法および車両制御方法 | |
JP2003222053A (ja) | 車両用電子制御装置 | |
EP3142078B1 (en) | Central unit, road toll system and methods for operating a road toll system and a central unit | |
CN115129335A (zh) | 电动汽车的远程升级方法、装置、T-Box及电动汽车 | |
WO2024042840A1 (ja) | 移動体管理装置、移動体制御装置、移動体管理システム、移動体管理方法、移動体制御方法、移動体管理プログラム、及び移動体制御プログラム | |
US11994855B2 (en) | Method for controlling a motor vehicle remotely | |
US20230145100A1 (en) | Vehicle and control method of vehicle | |
US10773668B1 (en) | Vehicle power network | |
US20210089025A1 (en) | Method for controlling a motor vehicle remotely | |
CN114528003A (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 |