技术领域
[0001] 本
发明涉及车辆技术领域,特别涉及一种对芯片进行刷写的方法以及系统。
背景技术
[0002]
汽车电子技术的飞速发展使得越来越多的车载ECU开始代替传统机械件,应用于车辆控制系统中,其对汽车整体安全性的影响日益增大;而随着车载ECU的核心部件-主控芯片的软
硬件设计在集成度、复杂度上的不断提高,车载ECU的失效
风险也在逐步增大,其主要表现就是近些年越来越多的大规模车辆召回事件。因此,如何更好的平衡车载ECU功能性与可靠性这两者之间的矛盾,已经成为汽车电子功能安全领域的焦点问题之一。
[0003] 针对车载ECU日益复杂的功能应用与日趋下降的可靠性之间的矛盾,现在比较常用的解决方法分为两种:
[0004] 一种方法是利用一个或多个在软硬件功能架构方面相对简单的从属芯片,分担或备份主控芯片的部分功能,以分散或规避单一主控芯片失效给整车性能和安全方面所带来的风险,通常将这些从属芯片与CAN网络连接,其程序与数据的刷写方式类似于主控芯片。但是从属芯片的这种刷写方法会影响CAN网络的通信
质量,因目前主流的车载ECU都是通过CAN网络进行程序或数据刷写,而CAN网络的负载率往往与通信质量有很大关联,而且从属芯片与CAN网络连接,使其成为CAN网络的一个
节点,并通过CAN网络对主控芯片和从属芯片进行程序或数据刷写,而更多的节点无疑会增大CAN网络的负载,因此会降低网络的通信质量。
[0005] 另一种方法是利用一个或多个功能架构简单但可靠性更高的从属芯片,实时监督主控芯片的工作状态,并在主控芯片工作异常时执行符合安全需求的处理策略,以消除或降低主控芯片异常状态对整车性能和安全方面的影响,通常采用
焊接单独的调试
接口进行从属芯片程序与数据的刷写。但是,从属芯片的这种刷写方法会影响车载ECU的机械结构和
密封性。因采用调试接口进行从属芯片程序和数据的刷写,调试接口的存在会对机械结构的设计产生不利影响,进而影响到产品的密封性,同时,这种方法也不便于产品的量产化操作。
发明内容
[0006] 本发明提供一种对芯片进行刷写的方法以及系统,能够安全、便利且高效地对从属芯片进行刷写。
[0007] 所述技术方案如下:
[0008] 本发明
实施例提供了一种对芯片进行刷写的方法,其包括:
控制器向主控芯片发送包括刷写
请求消息的刷写数据;所述主控芯片接收所述控制器发送的刷写数据,根据所述刷写请求消息获得刷写模式;若所述刷写模式为从属芯片刷写模式,则所述主控芯片发送控制命令给待刷写从属芯片以控制待刷写从属芯片进入刷写状态;所述主控芯片将刷写数据刷写到待刷写从属芯片。
[0009] 本发明实施例还提供了一种对芯片进行刷写的系统,包括:控制器、与所述控制器相连的主控芯片,与所述主控芯片相连的多个从属芯片;其中,所述控制器,用于向所述主控芯片发送包括刷写请求消息的刷写数据;所述主控芯片,用于接收所述控制器发送的刷写数据,根据所述刷写请求消息获得刷写模式;若所述刷写模式为从属芯片刷写模式,则所述主控芯片发送控制命令给待刷写从属芯片以控制待刷写从属芯片进入刷写状态;所述主控芯片将刷写数据刷写到待刷写从属芯片。
[0010] 本发明实施例提供的技术方案带来的有益效果是:
[0011] 通过控制器向主控芯片发送包括刷写请求消息的刷写数据;主控芯片接收控制器发送的刷写数据,根据刷写请求消息获得刷写模式;若刷写模式为从属芯片刷写模式,则主控芯片发送控制命令给待刷写从属芯片以控制待刷写从属芯片进入刷写状态;主控芯片将刷写数据刷写到待刷写从属芯片。因本发明通过主控芯片作为中间
桥梁作用以实现控制器控制对从属芯片的刷写,从而使得本发明实施例能够安全、便利且高效地对从属芯片进行刷写,并且其还避免了增加CAN网络负载的风险,避免了影响车载ECU机械结构设计的风险,简化了车载芯片刷写流程,提高了刷写效率,并且能够给车载
电子控制单元的硬件方案设计提供更大
自由度和更少的限制。
[0012] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照
说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合
附图,详细说明如下。
附图说明
[0013] 图1是本发明第一实施例提供的对芯片进行刷写的方法的步骤
流程图;
[0014] 图2是本发明第二实施例提供的对芯片进行刷写的系统的主要架构
框图。
具体实施方式
[0015] 为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的对芯片进行刷写的方法以及系统其具体实施方式、结构、特征及功效,详细说明如后。
[0016] 有关本发明的前述及其他技术内容、特点及功效,在以下配合参考图式的较佳实施例详细说明中将可清楚的呈现。通过具体实施方式的说明,当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图式仅是提供参考与说明之用,并非用来对本发明加以限制。
[0017] 第一实施例
[0018] 图1是本发明第一实施例提供的对芯片进行刷写的方法的步骤流程图。所述方法适应于对芯片进行刷写的系统,并且本发明实施例的对芯片进行刷写的方法能够安全、便利且高效地对从属芯片进行刷写,请参考图1,本实施例的对芯片进行刷写的方法,可以包括以下步骤100-109。
[0019] 步骤100,控制器向主控芯片发送包括刷写请求消息的刷写数据。
[0020] 其中,控制器可以为上位机等控制设备,主控芯片为车载电子控制单元(ECU)的核心部件。刷写数据除了包括刷写请求消息之外,还可以包括一些待刷写芯片所需要实现相应功能的数据,例如实现分担主控芯片功能或实现监控主控芯片功能的数据。刷写请求消息至少可以包括待刷写芯片的标识、刷写
模式识别码。其中,控制器可以预先将主控芯片、从属芯片进行编号,此编号为其标识,若标识为00,则表示待刷写的芯片为主控芯片,若标识为01,则表示待刷写的芯片为第一从属芯片,依次类推。刷写模式识别码表示采用何种刷写模式,例如,若刷写模式识别码为0,则表示刷写模式为主控芯片自身刷写模式,即待刷写的芯片为主控芯片,若刷写模式识别码为非0数值,则表示刷写模式为从属芯片刷写模式,即待刷写的芯片为从属芯片。
[0021] 步骤101,主控芯片接收控制器发送的刷写数据,根据刷写请求消息获得刷写模式。
[0022] 其中,主控芯片与控制器之间可以通过CAN总线相连,因此主控芯片可以通过CAN总线接收到控制器发送的刷写请求消息,将刷写请求消息进行解析后获取刷写请求消息中的刷写模式识别码,优选地,可以将刷写模式识别码存入主控芯片的
存储器,例如EEPROM中,主控芯片复位并调用其引导程序(Bootloader)。上述引导程序可以预先存储于主控芯片的存储器中。此后,主控芯片的引导程序(Bootloader)被调用而运行,引导程序读取存储器,例如EEPROM中存储的刷写模式识别码而判断刷写模式,其中,刷写模式包括主控芯片自身刷写模式、从属芯片刷写模式等,例如若识别码为0,则为主控芯片自身刷写模式,若识别码为非0数值,则为从属芯片刷写模式。
[0023] 由此,从上可以看出,优选地,步骤101中的根据刷写请求消息获得刷写模式,还可以包括:
[0024] 主控芯片将刷写请求消息进行解析后获取刷写请求消息中的刷写模式识别码,主控芯片复位并根据刷写模式识别码而判断出刷写模式。优选地,主控芯片复位后,可以调用其引导程序,引导程序根据刷写模式识别码而判断出刷写模式。
[0025] 步骤103,若主控芯片判断为刷写模式为从属芯片刷写模式,则主控芯片发送控制命令给待刷写从属芯片以控制待刷写从属芯片进入刷写状态。
[0026] 其中,主控芯片与多个从属芯片之间可以通过SPI(serial peripheral interface,串行外围接口)总线相连,因此主控芯片可以通过发送SPI格式的片选
信号以
选定待刷写从属芯片,同时通过SPI总线发送控制命令给待刷写从属芯片,以控制待刷写从属芯片进入刷写状态,并等待待刷写从属芯片返回的响应消息。待刷写从属芯片接收到控制命令后,自复位并跳转入从属芯片的引导程序(Bootloader)中,以进入刷写状态。
[0027] 主控芯片与从属芯片之间采用SPI串行技术进行通信,避免了现有方法中降低CAN网络通信质量和影响产品结构设计的问题,使得本发明实施例具有不增加现有CAN网络通信负载、不增加外围接口(例如焊接的调试接口)以及可靠的数据传输等优点。
[0028] 步骤105,主控芯片将刷写数据刷写到待刷写从属芯片。
[0029] 其中,待刷写从属芯片进入刷写状态后,可以通过SPI总线返回响应消息给主控芯片,主控芯片接收到该响应消息后可以开始将刷写数据刷写到进入刷写状态的待刷写从属芯片。优选地,主控芯片在刷写过程中可以通过调用通信协议栈的方式来实现对从属芯片的刷写,具体地,刷写过程可以包括:主控芯片将控制器通过CAN总线发送的刷写数据转换为SPI格式的数据后,通过SPI总线刷写到待刷写从属芯片;并且主控芯片将待刷写从属芯片返回的所有响应消息可以转换为CAN格式后,通过CAN总线传输给控制器。通过主控芯片进行待刷写从属芯片的选定,并通过主控芯片的通讯协议栈的数据转换功能,实现了控制器刷写数据与从属芯片SPI数据之间的交互,并最终实现了对
指定从属芯片进行程序与数据的高效、安全、快速刷写更新。
[0030] 优选地,步骤105之后还可以包括步骤107和/或109;
[0031] 步骤107,待刷写从属芯片刷写结束后,待刷写从属芯片自复位,并发送终止刷写的消息给主控芯片,以通知主控芯片待刷写从属芯片已完成刷写。
[0032] 其中,待刷写从属芯片刷写结束可以通过自身的引导程序进行检测出。
[0033] 步骤109,主控芯片接收到待刷写从属芯片发送的终止刷写的消息后,执行自复位,并发送通知消息给控制器,以通知控制器主控芯片的本次刷写流程结束。
[0034] 其中,通过主控芯片作为中间桥梁作用以实现控制器控制对从属芯片的刷写,从而可以安全、便利且高效地对从属芯片进行刷写。
[0035] 综上所述,本发明实施例提供的对芯片进行刷写的方法,通过控制器向主控芯片发送包括刷写请求消息的刷写数据;主控芯片接收控制器发送的刷写数据,根据刷写请求消息获得刷写模式;若刷写模式为从属芯片刷写模式,则主控芯片发送控制命令给待刷写从属芯片以控制待刷写从属芯片进入刷写状态;主控芯片将刷写数据刷写到待刷写从属芯片。因本发明通过主控芯片作为中间桥梁作用以实现控制器控制对从属芯片的刷写,从而使得本发明实施例能够安全、便利且高效地对从属芯片进行刷写,并且其还避免了增加CAN网络负载的风险,避免了影响车载ECU机械结构设计的风险,简化了车载芯片刷写流程,提高了刷写效率,并且能够给车载电子控制单元的硬件方案设计提供更大自由度和更少的限制。
[0036] 其避免了增加CAN网络负载的风险,主要是因为一个车载ECU往往包括一个主控芯片,主控芯片与若干个从属芯片相连,而本发明实施例仅将主控芯片作为CAN网络上的一个节点,而其他从属芯片数据的刷写更新工作都是经由控制器控制主控芯片执行的,主控芯片类似于网关的作用,因此没有增加车辆CAN网络节点,同时从属芯片与车辆CAN网络通过主控芯片进行隔离,也使得从属芯片不会影响到车辆CAN网络上连接着的其他车载ECU节点。
[0037] 另外,其避免了影响车载ECU机械结构设计的风险,主要是因为车载ECU中很多架构功能单一的从属芯片往往没有很多复杂的通讯模
块,例如CAN功能模块,故其数据的刷写更新通常只能通过专
门的调试接口来进行。而本发明实施例选择的SPI串行通信方式,具有连接简单、高速的数据传输和高可靠性的优点,同时这种串行通信方式应用广泛,绝大多数控
制芯片都支持这种通信方式,从而可以有效避免现有的多余的调试接口对机械设计方面的风险。
[0038] 此外,其简化了车载芯片刷写流程,提高了刷写效率,主要是因为本发明实施例在对多个从属芯片的刷写时,优势较为明显,即可以通过发送控制命令给待刷写从属芯片等一系列的刷写操作,即可以通过编写自动执行脚本,可以实现连续无间断的一次性将单一车载ECU中的所有
可编程芯片(可以包括主控芯片和若干从属芯片等芯片)进行数据的刷写更新工作。
[0039] 以下为本发明的装置实施例,在装置实施例中未详尽描述的细节,可以参考上述对应的方法实施例。
[0040] 第二实施例
[0041] 图2是本发明第二实施例提供的对芯片进行刷写的系统的主要架构框图。请参考图2,对芯片进行刷写的系统包括:控制器201、主控芯片203。
[0042] 具体地,控制器201,与主控芯片203可以通过CAN总线200相连,用于向主控芯片203发送包括刷写请求消息的刷写数据;
[0043] 主控芯片203,与多个从属芯片205可以通过SPI总线207相连,其用于接收控制器201发送的刷写数据,根据刷写请求消息获得刷写模式;若刷写模式为从属芯片刷写模式,则主控芯片203发送控制命令给待刷写从属芯片205以控制待刷写从属芯片205进入刷写状态;主控芯片203将刷写数据刷写到待刷写从属芯片205。
[0044] 优选地,主控芯片203,还用于将刷写请求消息进行解析后获取刷写请求消息中的刷写模式识别码,主控芯片203复位并根据刷写模式识别码而判断出刷写模式。
[0045] 优选地,主控芯片203与多个从属芯片205之间通过SPI总线207相连,主控芯片203还用于发送SPI格式的片选信号以选定待刷写从属芯片205,并通过SPI总线207发送控制命令给待刷写从属芯片205以控制待刷写从属芯片205进入刷写状态,并等待待刷写从属芯片205返回的响应消息,其中,待刷写从属芯片205接收到控制命令后,自复位并跳转入其引导程序中,以进入刷写状态。
[0046] 优选地,待刷写从属芯片205进入刷写状态后,通过SPI总线207返回响应消息给主控芯片203,主控芯片203还用于接收到响应消息,将响应消息转换为CAN格式后通过CAN总线传输给控制器,并将刷写数据转换为SPI格式的数据后通过SPI总线刷写到所述待刷写从属芯片。
[0047] 优选地,待刷写从属芯片205刷写结束后,待刷写从属芯片205自复位,并发送终止刷写的消息给主控芯片203,以通知主控芯片203待刷写从属芯片205已完成刷写,主控芯片203还用于接收到待刷写从属芯片205发送的终止刷写的消息后,执行自复位,并发送通知消息给控制器201,以通知控制器201主控芯片203的本次刷写流程结束。
[0048] 综上所述,本发明实施例提供的对芯片进行刷写的系统,通过控制器向主控芯片发送包括刷写请求消息的刷写数据;主控芯片接收控制器发送的刷写数据,根据刷写请求消息获得刷写模式;若刷写模式为从属芯片刷写模式,则主控芯片发送控制命令给待刷写从属芯片以控制待刷写从属芯片进入刷写状态;主控芯片将刷写数据刷写到待刷写从属芯片。因本发明通过主控芯片作为中间桥梁作用以实现控制器控制对从属芯片的刷写,从而使得本发明实施例能够安全、便利且高效地对从属芯片进行刷写,并且其还避免了增加CAN网络负载的风险,避免了影响车载ECU机械结构设计的风险,简化了车载芯片刷写流程,提高了刷写效率,并且能够给车载电子控制单元的硬件方案设计提供更大自由度和更少的限制。
[0049] 以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单
修改、等同变化与修饰,均仍属于本发明技术方案的范围内。