一种可识别多个同类车用控制器的软件刷写系统及方法与流程

文档序号:32659277发布日期:2022-12-23 22:56阅读:30来源:国知局
一种可识别多个同类车用控制器的软件刷写系统及方法与流程

1.本技术涉及车用控制器领域,具体涉及一种可识别多个同类车用控制器的软件刷写系统及方法。


背景技术:

2.随着车辆电子化程度越来越高,车辆上可能存在着多个相同硬件的控制器,例如多电机驱动系统,通常每个电机都需要由一个电机控制器进行驱动控制,并通过can总线实现通讯以及程序刷写,由于每个电机控制器硬件相同,为了能识别每个控制器的对应关系,保证控制器能够正常刷写对应的应用程序,现有的做法是为每个控制器编写一份不同can配置的bootloader软件,在出厂的时候为分别写入每个控制器中,定义成不同的控制器。
3.如图1所示,现有的控制器的应用程序刷写的技术方案中,在生产阶段,通常是一个控制器配置对应bootloader软件及硬件平台进行应用程序进行刷写,如当需要对控制器a、控制器b及控制器c进行应用程序进行刷写时,对控制器a进行程序刷写则通过bootloade_a软件进行对控制器a进行应用程序刷写,而当对控制器b进行程序刷写则通过bootloade_b软件进行对控制器b进行应用程序刷写,对控制器c进行程序刷写则通过bootloade_c软件进行对控制器c进行应用程序刷写,这就造成每增加一个新的控制器时,就需要编写一份bootloade软件,增加了软件的开发周期;如图2所示,在售后维护阶段,现有的控制器的应用程序刷写的技术方案,当刷写上位机写入控制器b的控制程序时,如果采用bootloade_a软件时,而bootloade_a软件只能用于控制器a的软件写入,这就导致控制器b的控制程序无法正常写入,软件变更失败,需要更换硬件。
4.每增加一个控制器就需要编写一份bootloader,增加了软件的开发周期,由于控制器的外观相同,只有软件不同,很容易在运输和安装的时候弄混淆,导致控制器无法正常刷写应用程序,同时在库存管理上,需要识别和管理外形相同的控制器,管理难度大大增加,同时也会带来管理成本的增加。


技术实现要素:

5.鉴于上述问题,本技术提供了一种可识别多个同类车用控制器的软件刷写系统及方法,解决现有的控制器应用程序刷写方案中一个控制器对应一份bootloader软件,而导致每增加一个控制器需要编写对应的bootloader软件,造成了软件开发周期增加的问题。
6.为实现上述目的,发明人提供了一种可识别多个同类车用控制器的软件刷写系统,包括:
7.刷写上位机,所述刷写上位机用于广播报文检索总线上所有的在线设备,选择需要更新的在线设备,采用交互id与需要更新的在线设备进行握手交互,握手成功后,对需要更新的在线设备进行刷写应用程序;
8.bootloader程序,所述bootloader程序用于根据设备的配置信息进行配置交互id,并根据交互id与刷写上位机握手交互,使用交互id进行刷写应用程序。
9.进一步优化,所述交互id包括通用交互id,所述通用交互id用于所有类型设备的程序刷写、设备的识别、软件信息写入以及设备强制刷写;
10.所述刷写上位机用于进行广播报文检索总线上所有的在线设备,当在线设备回应时,读取在线设备的软件版本及序列号信息,并选择需要更新的在线设备,采用通用交互id与需要更新的在线设备进行握手交互,对需要更新的在线设备进行刷写应用程序。
11.进一步优化,所述刷写上位机还用于对设备进行应用程序刷写时,通过通用交互id与设备进行握手交互,握手成功后,对设备进行刷写应用程序。
12.进一步优化,所述刷写上位机还用于当对设备进行应用程序刷写时,判断是否选择通用交互id与设备进行握手交互,若选择通用交互id时,则通过通用交互id与设备进行握手交互,若未选择通用交互id时,则根据刷下的应用程序的软件版本自动计算交互id,根据计算得到的交互id与设备进行握手交互。
13.进一步优化,所述刷写上位机还用于当对设备进行参数写入时,通过通用交互id与设备进行握手交互,当握手成功后,将对应的参数写入设备。
14.进一步优化,所述参数写入包括序列号写入及版本配置写入;
15.所述刷写上位机用于当对设备进行序列号写入时,与设备握手成功后,根据设备的产品类型、生成时间以及控制器配置版本生成序列号,并存放于设备的数据库存储区;
16.所述刷写上位机用于当对设备进行版本配置写入时,与设备握手成功后,将软件刷写需要的配置信息写入设备,所述配置信息包括产品版本号、帧格式类及波特率。
17.进一步优化,所述交互id还包括专用交互id,所述专用交互id用户同类型设备的程序刷写;
18.所述bootloader程序还用于对设备进行版本配置进行读取,当版本配置读取成功后,使用专用交互id进行程序刷写,当版本配置读取失败时,则初始化为默认配置,使用通用交互id进行程序刷写。
19.还提供了另一个实施例,一种可识别多个同类车用控制器的软件刷写方法,包括以下步骤:
20.刷写上位机通过广播报文搜索总线上所有的在线设备;
21.当刷写上位机接收到在线设备回应后,读取在线设备的软件版本及序列号;
22.从在线设备中选择需要更新的设备,并使用通用交互id进行握手交互;
23.当握手交互成功后,对设备进行刷写应用程序。
24.进一步优化,还包括以下步骤:
25.当刷写上位机对设备进行应用程序刷写时,判断是否选择通用交互id;
26.若选择通用交互id,则使用通用交互id与设备进行握手交互;
27.若未选择通过交互id,则根据需要刷写的应用程序的软件版本自动计算得到交互id,并使用计算得到的交互id与设备进行握手交互;
28.当握手交互成功后,对设备开始应用程序刷写。
29.进一步优化,还包括以下步骤:
30.当bootloader程序对设备进行应用程序刷写时,与刷写上位机进行握手交互,并向刷写上位发送本机的序列号;
31.当序列号验证成功后,bootloader程序判断是否接收到通用交互id;
32.若收到,则采用通用交互id进行应用程序刷写;
33.若未收到,则采用专用交互id进行应用程序刷写。
34.区别于现有技术,上述技术方案,当需要对设备进行应用程序进行刷写时,刷写上位机通过广播报文检索总线上所有的在线设备,然后选择需要应用程序更新的在线设备,采用交互id与需要更新的在线设备进行握手交互,握手成功后,对需要更新的在线设备进行刷写应用程序;而且也可以采用bootloader程序对设备进行应用程序刷写,bootloader程序根据设备的配置信息进行配置其交互id,根据交互id与刷写上位机进行握手交互,然后使用交互id进行应用程序刷写;可以兼容多个不同的设备,实现通硬件平台及bootloader软件的通用,降低了开发及后期维护的成本;无需新增新的硬件,只需要变更软件既可以实现多控制在线识别以及程序刷写功能;同时通过交互id进行配置与识别,方式简单,无需增加复杂的交互逻辑。
35.上述发明内容相关记载仅是本技术技术方案的概述,为了让本领域普通技术人员能够更清楚地了解本技术的技术方案,进而可以依据说明书的文字及附图记载的内容予以实施,并且为了让本技术的上述目的及其它目的、特征和优点能够更易于理解,以下结合本技术的具体实施方式及附图进行说明。
附图说明
36.附图仅用于示出本技术具体实施方式以及其他相关内容的原理、实现方式、应用、特点以及效果等,并不能认为是对本技术的限制。
37.在说明书附图中:
38.图1为背景技术所述现有的控制器的应用程序刷写的技术方案的生产阶段的一种流程示意图;
39.图2为背景技术所述现有的控制器的应用程序刷写的技术方案的售后阶段的一种流程示意图;
40.图3为具体实施方式所述可识别多个同类车用控制器的软件刷写系统的一种结构示意图;
41.图4为具体实施方式所述可识别多个同类车用控制器的软件刷写系统的生产阶段的一种工作流程示意图;
42.图5为具体实施方式所述可识别多个同类车用控制器的软件刷写系统的售后阶段的一种工作流程示意图;
43.图6为具体实施方式所述刷写上位机的一种工作流程示意图;
44.图7为具体实施方式所述bootloader程序的一种工作流程示意图;
45.图8为具体实施方式所述可识别多个同类车用控制器的软件刷写方法的一种流程示意图;
46.上述各附图中涉及的附图标记说明如下:
47.100、软件刷写系统,
48.110、刷写上位机;
49.120、bootloader程序。
具体实施方式
50.为详细说明本技术可能的应用场景,技术原理,可实施的具体方案,能实现目的与效果等,以下结合所列举的具体实施例并配合附图详予说明。本文所记载的实施例仅用于更加清楚地说明本技术的技术方案,因此只作为示例,而不能以此来限制本技术的保护范围。
51.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中各个位置出现的“实施例”一词并不一定指代相同的实施例,亦不特别限定其与其它实施例之间的独立性或关联性。原则上,在本技术中,只要不存在技术矛盾或冲突,各实施例中所提到的各项技术特征均可以以任意方式进行组合,以形成相应的可实施的技术方案。
52.除非另有定义,本文所使用的技术术语的含义与本技术所属技术领域的技术人员通常理解的含义相同;本文中对相关术语的使用只是为了描述具体的实施例,而不是旨在限制本技术。
53.在本技术的描述中,用语“和/或”是一种用于描述对象之间逻辑关系的表述,表示可以存在三种关系,例如a和/或b,表示:存在a,存在b,以及同时存在a和b这三种情况。另外,本文中字符“/”一般表示前后关联对象是一种“或”的逻辑关系。
54.在本技术中,诸如“第一”和“第二”之类的用语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何实际的数量、主次或顺序等关系。
55.在没有更多限制的情况下,在本技术中,语句中所使用的“包括”、“包含”、“具有”或者其他类似的表述,意在涵盖非排他性的包含,这些表述并不排除在包括所述要素的过程、方法或者产品中还可以存在另外的要素,从而使得包括一系列要素的过程、方法或者产品中不仅可以包括那些限定的要素,而且还可以包括没有明确列出的其他要素,或者还包括为这种过程、方法或者产品所固有的要素。
56.与《审查指南》中的理解相同,在本技术中,“大于”、“小于”、“超过”等表述理解为不包括本数;“以上”、“以下”、“以内”等表述理解为包括本数。此外,在本技术实施例的描述中“多个”的含义是两个以上(包括两个),与之类似的与“多”相关的表述亦做此类理解,例如“多组”、“多次”等,除非另有明确具体的限定。
57.在本技术实施例的描述中,所使用的与空间相关的表述,诸如“中心”“纵向”“横向”“长度”“宽度”“厚度”“上”“下”“前”“后”“左”“右”“竖直”“水平”“垂直”“顶”“底”“内”“外”“顺时针”“逆时针”“轴向”“径向”“周向”等,所指示的方位或位置关系是基于具体实施例或附图所示的方位或位置关系,仅是为了便于描述本技术的具体实施例或便于读者理解,而不是指示或暗示所指的装置或部件必须具有特定的位置、特定的方位、或以特定的方位构造或操作,因此不能理解为对本技术实施例的限制。
58.除非另有明确的规定或限定,在本技术实施例的描述中,所使用的“安装”“相连”“连接”“固定”“设置”等用语应做广义理解。例如,所述“连接”可以是固定连接,也可以是可拆卸连接,或成一体设置;其可以是机械连接,也可以是电连接,也可以是通信连接;其可以是直接相连,也可以通过中间媒介间接相连;其可以是两个元件内部的连通或两个元件的相互作用关系。对于本技术所属技术领域的技术人员而言,可以根据具体情况理解上述用
语在本技术实施例中的具体含义。
59.请参阅图3,本实施例提供了一种可识别多个同类车用控制器的软件刷写系统100,包括:
60.刷写上位机110,所述刷写上位机110用于广播报文检索总线上所有的在线设备,选择需要更新的在线设备,采用交互id与需要更新的在线设备进行握手交互,握手成功后,对需要更新的在线设备进行刷写应用程序;
61.bootloader程序120,所述bootloader程序120用于根据设备的配置信息进行配置交互id,并根据交互id与刷写上位机110握手交互,使用交互id进行刷写应用程序。
62.当需要对设备进行应用程序进行刷写时,刷写上位机110通过广播报文检索总线上所有的在线设备,然后选择需要应用程序更新的在线设备,采用交互id与需要更新的在线设备进行握手交互,握手成功后,对需要更新的在线设备进行刷写应用程序;而且也可以采用bootloader程序120对设备进行应用程序刷写,bootloader程序120根据设备的配置信息进行配置其交互id,根据交互id与刷写上位机110进行握手交互,然后使用交互id进行应用程序刷写;可以兼容多个不同的设备,实现通硬件平台及bootloader软件的通用,降低了开发及后期维护的成本;无需新增新的硬件,只需要变更软件既可以实现多控制在线识别以及程序刷写功能;同时通过交互id进行配置与识别,方式简单,无需增加复杂的交互逻辑。
63.如图4所示,在开发阶段,本实施例中的软件刷写系统100可以采用一个bootloader程序120即可实现对所有的控制器进行刷写,刷写上位机110可以采用通用的bootloader程序120将对应的应用程序写入对应的控制器中,如将控制器a对应的app_a写入至控制器a中,将控制器b对应的app_b写入至控制器b中,控制器c对应的app_c写入至控制器c中,实现同时对于控制器进行应可以自动识别对应的控制器,从而将应用程序正确地写入对应的控制器中。如图5所示,而在售后阶段中,当需要对某个控制器进行刷写时,如需要写入控制器b的控制程序时,采用具有自动识别功能的bootloader程序120即可识别到对应的控制器b,从而将应用程序写入到控制器b中。
64.在某些实施例中,所述交互id包括通用交互id,所述通用交互id用于所有类型设备的程序刷写、设备的识别、软件信息写入以及设备强制刷写;
65.所述刷写上位机110用于采用进行广播报文检索总线上所有的在线设备,当在线设备回应时,读取在线设备的软件版本及序列号信息,并选择需要更新的在线设备,采用通用交互id与需要更新的在线设备进行握手交互,对需要更新的在线设备进行刷写应用程序。
66.通用交互id为固定id,所有的硬件设备均可以接收识别,通用交互id用于所有类型的设备的程序刷写,如车辆的所有类型的车载控制器的程序刷写,同时可以实现设备识别、软件信息写入以及设备强制刷写(即写入不同类型的控制器程序)等功能。如图6所示,刷写上位机110实现设备识别功能时,使用通用交互id,开始设备识别交互流程,刷写上位机110广播报文搜索总线上所有在线设备,并判断是否有在线设备回应,当有设别回应时,读取设备的软件版本及序列号信息,其中,刷写上位机110显示检索到的所有设别信息,刷写上位机110选择需要更新的设备,然后通过通用交互id与该设备进行握手交互,刷写上位机110与设备进行通用交互id进行配备,当配备成功则握手成功,然后开始刷写应用程序,
通过检索当前总线上所有在线的硬件设别,通过识别序列号,可以试下对任意指定控制器进行程序刷写。
67.如图6所示,在某些实施例中,所述刷写上位机110还用于对设备进行应用程序刷写时,通过通用交互id与设备进行握手交互,握手成功后,对设备进行刷写应用程序。当刷写上位机110使用刷写应用程序功能时,可以用于新的设备进行应用程序刷写,刷写上位即通过通用交互id进行与设备进行握手交互,握手交互成功后,则开始刷写应用程序;其中,所述刷写上位机110还用于当对设备进行应用程序刷写时,判断是否选择通用交互id与设备进行握手交互,若选择通用交互id时,则通过通用交互id与设备进行握手交互,若未选择通用交互id时,则根据刷下的应用程序的软件版本自动计算交互id,根据计算得到的交互id与设备进行握手交互。刷写上位机110在对新的设别进行应用程序刷写时,会先判断是否通过通用交互id与设备进行交互,当具备新的设备的通用交互id时,则选择通用交互id进行与设备进行握手交互,而当未具备新的设备的通用交互id时,则刷写上位机110根据新的设备的需要刷写的应用程序的软件版本自动计算得到交互id,并采用计算得到的交互id进行握手交互,可以实现对新的设别的应用程序的刷写。
68.如图6所示,在某些实施例中,所述刷写上位机110还用于当对设备进行参数写入时,通过通用交互id与设备进行握手交互,当握手成功后,将对应的参数写入设备。刷写上位机110还用于设备的参数写入,当需要对设备进行参数写入时,则使用通用交互id,与设别进行设备信息写入握手交互,当握手成功后,则进行相应的参数写入。具体的,所述参数写入包括序列号写入及版本配置写入;
69.所述刷写上位机110用于当对设备进行序列号写入时,与设备握手成功后,根据设备的产品类型、生成时间以及控制器配置版本生成序列号,并存放于设备的数据库存储区;
70.所述刷写上位机110用于当对设备进行版本配置写入时,与设备握手成功后,将软件刷写需要的配置信息写入设备,所述配置信息包括产品版本号、帧格式类及波特率。
71.参数写入包括序列号写入及版本配置写入,当刷写上位机110与设备握手交互成功后,当需要进行序列号写入时,则根据设备的产品类型、生成时间以及控制器配置版本生成序列号,并存放于设备的数据库存储区,完成设备的序列号写入,而当需要版本配置写入时,则软件刷写所需要的产品版本号、帧格式类及波特率等配置信息写入设备,完成版本配置的写入。
72.在某些实施例中,所述交互id还包括专用交互id,所述专用交互id用户同类型设备的程序刷写;
73.所述bootloader程序120还用于对设备进行版本配置进行读取,当版本配置读取成功后,使用专用交互id进行程序刷写,当版本配置读取失败时,则初始化为默认配置,使用通用交互id进行程序刷写。
74.专用交互id是根据版本配置信息自动计算生成的,只可用于同类型控制器的程序刷写。如图7所示,当bootloader程序120对设备进行应用程序刷写时,读取设备的配置信息及读取设备的硬件序列号,当版本配置读取成功后读取配置信息并进行计算得到专用交互id,使用专用交互id进行程序刷写,当版本配置读取失败时,则初始化为默认配置,使用通用交互id进行程序刷写;bootloader程序120与刷写上位机110进行握手交互,并发送本设备的序列号,当序列号验证成功后,如果bootloader程序120接收到通用交互id,则使用通
用交互id进行刷写程序,若未接收到通用交互id,则采用专用交互id进行刷写程序及配置。
75.在某实施例中,一种可识别多个同类车用控制器的软件刷写系统100,由刷写上位机110以及bootloader程序120两部分组成。
76.刷写上位机110包括三个功能:
77.1、应用程序刷写功能:根据刷写交互id分类可分为通用id和专用id两类,通用id为固定id所有硬件设备均可接收识别,可用于所有类型控制器的程序刷写,还可用于实现设备识别、软件信息写入以及控制器强制刷写(写入不同类型的控制器程序)等功能;专用id是根据版本配置信息自动计算生成,只可用于同类型控制器的程序刷写。
78.2、参数读写功能:
79.a)序列号读取\写入功能,序列号是标识控制器的唯一识别码,存放于控制器的数据存储区,主要由产品类型、生产时间、控制器配置版本等信息组合产生,在后续的程序刷写过程中用来识别和区分控制器硬件;
80.b)版本配置读取\写入功能,用来写入软件刷写需要的配置信息,包括产品版本号,帧格式类、波特率等刷写所需要的基本配置信息,写入完成后硬件即可配置成为指定类型控制器;
81.3、设备识别功能:用来检索当前总线上所有在线的硬件设备,通过识别序列号,可以实现对任意指定控制器进行程序刷写。
82.bootloader程序120包括三个功能:
83.1、参数读写功能:a)读取\写入硬件序列号;b)读取\写入版本配置;
84.2、自动配置can总线参数:根据版本配置信息,可以自动配置can id、波特率、帧格式等can相关的通信配置。
85.3、应用程序刷写功能:版本配置读取成功时,使用专用id进行程序刷写;版本配置读取失败时,初始化为默认配置,使用通用id进行程序刷写。
86.该系统可兼容多个不同功能控制器,实现同硬件平台bootloader软件通用,降低了开发以及后期的维护成本;无需新增硬件,只需要变更软件即可实现多控制在线识别以及程序刷写功能;通过can id进行配置与识别方式简单,无需增加复杂的交互逻辑。
87.请参阅图8,还提供了另一个实施例,一种可识别多个同类车用控制器的软件刷写方法,应用于上述实施例中的软件刷写系统100,软件刷写方法包括以下步骤:
88.步骤s810:刷写上位机通过广播报文搜索总线上所有的在线设备;
89.步骤s820:当刷写上位机接收到在线设备回应后,读取在线设备的软件版本及序列号;
90.步骤s830:从在线设备中选择需要更新的设备,并使用通用交互id进行握手交互;
91.步骤s840:当握手交互成功后,对设备进行刷写应用程序。
92.当需要对设备进行应用程序进行刷写时,刷写上位机通过广播报文检索总线上所有的在线设备,然后选择需要应用程序更新的在线设备,采用交互id与需要更新的在线设备进行握手交互,握手成功后,对需要更新的在线设备进行刷写应用程序;可以兼容多个不同的设备,实现通硬件平台及bootloader软件的通用,降低了开发及后期维护的成本;无需新增新的硬件,只需要变更软件既可以实现多控制在线识别以及程序刷写功能;同时通过交互id进行配置与识别,方式简单,无需增加复杂的交互逻辑。
93.在某些实施例中,还包括以下步骤:
94.当刷写上位机对设备进行应用程序刷写时,判断是否选择通用交互id;
95.若选择通用交互id,则使用通用交互id与设备进行握手交互;
96.若未选择通过交互id,则根据需要刷写的应用程序的软件版本自动计算得到交互id,并使用计算得到的交互id与设备进行握手交互;
97.当握手交互成功后,对设备开始应用程序刷写。
98.刷写上位机在对新的设别进行应用程序刷写时,会先判断是否通过通用交互id与设备进行交互,当具备新的设备的通用交互id时,则选择通用交互id进行与设备进行握手交互,而当未具备新的设备的通用交互id时,则刷写上位机根据新的设备的需要刷写的应用程序的软件版本自动计算得到交互id,并采用计算得到的交互id进行握手交互,可以实现对新的设别的应用程序的刷写。
99.在某些实施例中,还包括以下步骤:
100.当bootloader程序对设备进行应用程序刷写时,与刷写上位机进行握手交互,并向刷写上位发送本机的序列号;
101.当序列号验证成功后,bootloader程序判断是否接收到通用交互id;
102.若收到,则采用通用交互id进行应用程序刷写;
103.若未收到,则采用专用交互id进行应用程序刷写。
104.而且也可以采用bootloader程序对设备进行应用程序刷写,bootloader程序根据设备的配置信息进行配置其交互id,根据交互id与刷写上位机进行握手交互,然后使用交互id进行应用程序刷写;专用交互id是根据版本配置信息自动计算生成的,只可用于同类型控制器的程序刷写。当bootloader程序对设备进行应用程序刷写时,对设备进行版本配置进行读取,当版本配置读取成功后,使用专用交互id进行程序刷写,当版本配置读取失败时,则初始化为默认配置,使用通用交互id进行程序刷写;同时,bootloader程序与刷写上位机进行握手交互,并发送本设备的序列号,当序列号验证成功后,如果bootloader程序接收到通用交互id,则使用通用交互id进行刷写程序,若未接收到通用交互id,则采用专用交互id进行刷写程序及配置。
105.最后需要说明的是,尽管在本技术的说明书文字及附图中已经对上述各实施例进行了描述,但并不能因此限制本技术的专利保护范围。凡是基于本技术的实质理念,利用本技术说明书文字及附图记载的内容所作的等效结构或等效流程替换或修改产生的技术方案,以及直接或间接地将以上实施例的技术方案实施于其他相关的技术领域等,均包括在本技术的专利保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1