ECU数据存储方法及ECU与流程

文档序号:26673559发布日期:2021-09-17 23:26阅读:1303来源:国知局
ECU数据存储方法及ECU与流程
ecu数据存储方法及ecu
技术领域
1.本技术涉及数据存储领域,具体涉及一种ecu数据存储方法及ecu。


背景技术:

2.ecu(electronic control uint,电子控制单元)是一种用于车辆行为控制的控制器。在实现车辆控制之前,需要对ecu进行数据刷写,完成数据的更新和管理。
3.随着汽车智能化进程的发展,车载ecu数据量越来越多,ecu的功能也越来约强大,为了便于生产管理及诊断分析,需要在ecu生产过程中注入并存储大量的软件数据,比如:ecu零件号、生产日期、软件版本号、整车vin(vehicle identification number,车辆识别号码)码等。
4.然而,ecu中存储的软件数据的种类繁多,不同种类的数据特点差异较大,比如,软件版本号是跟随ecu软件变更而变更的软件数据,变更频率高;生产日期是与工厂产线强相关的数据,在ecu软件开发阶段无法锁定;ecu零件号虽然不用频繁变更,但是在ecu的不同开发阶段也不相同。对于需要经常变更并传递给工厂产线更改的ecu软件数据,由于在开发部门和工厂产线之间涉及多个数据传递环节,数据传递效率低,且难以保证软件数据的一致性。


技术实现要素:

5.为了解决相关技术中的问题,本技术提供了一种ecu数据存储方法及ecu。该技术方案如下:
6.第一方面,本技术实施例提供了一种ecu数据存储方法,该方法包括:
7.获取非工厂数据,非工厂数据为与工厂产线不相关的数据;
8.将非工厂数据打包至ecu软件中;
9.获取工厂数据,工厂数据为由工厂产线确定的生产数据;
10.将ecu软件刷写入ecu中的第一存储器;
11.将工厂数据存储至ecu中的第二存储器。
12.可选的,非工厂数据包括标定数据和非标定数据,标定数据的变更频率大于非标定数据的变更频率,ecu软件包括应用数据模块、应用模块、flash驱动模块和bootloader模块;
13.将非工厂数据打包至ecu软件中,包括:
14.将标定数据导入ecu软件中的应用数据模块;
15.将非标定数据导入ecu软件中的应用模块。
16.可选的,该方法还包括:
17.当ecu上电后,通过运行ecu中的ecu软件,将第一存储器中存储的非工厂数据写入第二存储器中。
18.可选的,工厂数据至少包括产线号、生产时间、生产批次。
19.可选的,非工厂数据至少包括ecu软件版本号、ecu零件号、整车vin码。
20.第二方面,本技术实施例提供了一种ecu,ecu内设置存储设备,存储设备包括第一存储器和第二存储器;
21.第二存储器中存储有工厂数据,工厂数据为由工厂产线确定的生产数据;
22.第一存储器中存储有ecu软件,ecu软件中包括非工厂数据,非工厂数据为与工厂产线不相关的数据。
23.可选的,非工厂数据包括标定数据和非标定数据,标定数据的变更频率大于非标定数据的变更频率;
24.ecu软件包括应用数据模块、应用模块、flash驱动模块和bootloader模块,非标定数据存储在应用模块,标定数据存储在应用数据模块。
25.可选的,当ecu上电后,第一存储器中存储的非工厂数据被写入第二存储器中。
26.可选的,工厂数据至少包括产线号、生产时间、生产批次。
27.可选的,非工厂数据至少包括ecu软件版本号、ecu零件号、整车vin码。
28.本技术技术方案,至少包括如下优点:
29.通过将ecu数据分为工厂数据和非工厂数据,根据研发、生产特点确定对应的ecu数据,并将ecu中的存储设备进行区分,将存储工厂数据和存储非工厂数据的存储器分开,利用第一存储器存储非工厂数据,利用第二存储器存储工厂数据,工厂数据由工厂产线直接负责,在数据方面将开发部门与工厂产线分开,解决了常规的软件数据存储方法显然无法适用于ecu生产过程中的所有阶段的问题,达到了提高ecu开发效率,减少中间的ecu软件数据的传递环节,保证软件数据的一致性,优化ecu生产全过程的效果。
附图说明
30.为了更清楚地说明本技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
31.图1是本技术实施例提供的一种ecu的示意图;
32.图2是本技术实施例提供的ecu数据的存储示意图;
33.图3是本技术实施例提供的一种ecu数据存储方法的流程图;
34.其中:21,ecu软件;22,工厂数据;31,非工厂数据。
具体实施方式
35.下面将结合附图,对本技术中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在不做出创造性劳动的前提下所获得的所有其它实施例,都属于本技术保护的范围。
36.在本技术的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、
以特定的方位构造和操作,因此不能理解为对本技术的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
37.在本技术的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电气连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本技术中的具体含义。
38.此外,下面所描述的本技术不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
39.ecu在开发和生产过程中会产生大量数据,为了令外部设备可以获取到ecu的相关信息,需要在生产时向ecu内设置的存储设备刷入相关数据。
40.可选的,外部设备从ecu中的存储设备读取数据,和/或,外部设备向ecu刷写数据。
41.为了令数据传递、更新更加高效,保证数据一致性,根据ecu开发、生产的特点,将需要存储入ecu内的数据进行分类。具体地,将需要存储入ecu的数据称为ecu数据,将ecu数据分为工厂数据和非工厂数据。
42.工厂数据为由工厂产线确定的生产数据,工厂数据在ecu软件开发阶段无法确定。工厂数据与工厂产线强相关,比如:产线号、生产时间、生成批次等数据。
43.非工厂数据为与工厂产线不相关的数据,非工厂数据在ecu软件开发阶段确定、变更,比如:ecu软件版本号、ecu零件号、整车vin码等。
44.在ecu软件开发阶段,ecu也需要进行软件测试,在ecu进行软件测试之前,需要利用刷新工具将ecu软件刷入ecu中,根据测试结果确定需要更改的非工厂数据。根据非工厂数据的变更频繁程度,将非工厂数据分为标定数据和非标定数据,非标定数据的变更频率小于标定数据的变更频率。
45.在ecu软件开发阶段,将非工厂数据打包到ecu软件中;在向ecu内刷入ecu软件时,非工厂数据跟随ecu软件同时刷写入ecu中。
46.为了解决常规的数据存储方法无法适用于ecu生产过程中所有阶段的问题,将ecu数据划分为工厂数据和非工厂数据,同时,将工厂数据的存储和非工厂数据在ecu内的存储划分开,本技术实施例提供了一种ecu,如图1所示,该ecu110内设置有存储设备120,存储设备120包括第一存储器130和第二存储器140,存储设备120还可以包括其他存储器。
47.第一存储器130和第二存储器140为ecu内设置的不同存储器。
48.可选的,第一存储器130的数量为1个或1个以上,第一存储器的数量根据实际情况确定,本技术对此不作限定;第二存储器140的数量为1个或1个以上,第二存储器的数量根据实际情况确定,本技术对此不作限定。
49.可选的,第一存储器和第二存储器为nvm(non

volatile memory,非易失性存储)存储器。
50.第二存储器中存储有工厂数据,第一存储器中存储有ecu软件,ecu软件中包括非工厂数据。
51.需要说明是,对于不同芯片厂商来说,第一存储器和第二存储器的命名可能不同,本技术实施例对第一存储器和第二存储器在ecu内的名称不作限定。
52.可选的,第一存储器表示用于存储ecu软件(程序)的存储器,第二存储器表示用于存储数据的存储器。
53.工厂数据至少包括产线号、生产时间、生产批次。非工厂数据至少包括ecu软件版本号、ecu零件号、整车vin码。
54.可选的,非工厂数据包括标定数据和非标定数据,标定数据的变更频率大于非标定数据的变频频率。
55.可选的,ecu软件21包括若干个软件逻辑模块,分别为应用数据模块(application data)、应用模块(application)、flash驱动模块(flash driver)、bootloader模块,如图2所示。
56.在ecu软件中,每个软件逻辑模块由一个或多个子模块构成。在一个例子中,应用模块(application)由2个子模块构成,分别为application1子模块和application2子模块。
57.bootloader模块为一段程序,用于ecu软件启动引导及刷新功能。
58.flash driver为操作flash的驱动程序。第一存储器和第二存储器均为flash。
59.需要说明是,flash driver与bootloader模块固化在一起,或,flash driver与bootloader模块分别为单独的软件逻辑模块。
60.application为实现应用功能的程序。
61.application data为application使用的数据集。
62.其中,标定数据存储在应用数据模块(application data),非标定数据存储在应用模块(application)。
63.在ecu软件开发时,将标定数据存储在ecu软件中的应用数据模块(application data),以及将非标定数据存储在ecu软件中的应用模块(application)。
64.在标定数据需要更新时,利用工具将标定数据从ecu软件中的应用数据模块导出,然后再变更标定数据,在标定数据变更完成后,再利用工具将变更后的标定数据导入ecu软件的应用数据模块中。同样地,在非标定数据需要更新时,利用工具将非标定数据从ecu软件中的应用模块导出,然后再变更非标定数据,在非标定数据变更完成后,再利用工具将变更后的非标定数据导入ecu软件的应用模块中。
65.由于非工厂数据被打包入ecu软件中,不论是将非工厂数据存储入ecu中,还是在ecu研发调试阶段或ecu下产线后需要变更非工厂数据,通过传递ecu软件,将ecu软件刷写入ecu中的方式即可完成,有利于简化后续ecu中非工厂数据的变更环节,保证数据的一致性。
66.可选的,为了避免euc软件刷新失败后,由于第一存储器被擦除而导致外部设备无法从ecu中读取到第一存储器中存储的非工厂数据,在ecu上电后,第一存储器中存储的非工厂数据被写入第二存储器中,即令第二存储器存储工厂数据和非工厂数据。
67.请参考图3,其示出了本技术实施例提供的一种ecu数据存储方法的流程图,该方法至少包括如下步骤:
68.步骤301,获取非工厂数据。
69.非工厂数据为与工厂数据不相关的数据,工厂数据为由工厂产线确定的生产数据。
70.在ecu软件开发阶段、维护阶段确定并获取非工厂数据。
71.可选的,非工厂数据由ecu软件开发工程师确定。
72.步骤302,将非工厂数据打包至ecu软件中。
73.在ecu软件开发阶段、维护阶段,将非工厂数据打包至ecu软件中。
74.步骤303,获取工厂数据。
75.由生产ecu的工厂产线确定工厂数据。比如,工厂产线的技术人员确定工厂数据。根据确定的工厂数据形成对应的工厂数据文件。
76.步骤304,将ecu软件刷写入ecu中的第一存储器。
77.第一存储器为ecu中设置的存储设备。
78.可选的,在对ecu软件进行开发调试时,将ecu软件刷入ecu中的第一存储器。
79.可选的,将ecu软件传递至工厂产线,在工厂产线利用刷新工具,将ecu软件刷写入ecu中的第一存储器。比如:在ecu下产线生产时,在工厂产线的软件刷写工位将ecu软件刷写入ecu中的第一存储器。
80.需要说明是,ecu软件的刷写可以在工厂产线完成,也可以在工厂产线以外的场景完成。
81.由于ecu软件中包括非工厂数据,在ecu软件刷写入ecu中的第一存储器时,非工厂数据存储入ecu中的第一存储器。
82.步骤305,将工厂数据存储至ecu中的第二存储器。
83.第二存储器为ecu中设置的存储设备。
84.可选的,在工厂产线利用刷写工具向ecu中的第二存储器注入工厂数据。比如:在工厂产线的工厂数据刷写工位将工厂数据刷入ecu的第二存储器中;一般情况下,工厂数据刷写工位与软件刷写工位不同。
85.可选的,在对ecu软件进行开发调试时,将工厂产线确定的工厂数据导出,并传递至ecu开发部门,由ecu开发部门利用刷写工具将工厂数据刷入ecu的第二存储器中。
86.需要说明是,将工厂数据存储至ecu的第二存储器中的步骤可以在工厂产线完成,也可以在工厂产线以外的场景完成。
87.需要说明是,步骤305还可以在步骤304之前执行,本技术对此不作限定。
88.本技术实施例提供的ecu数据存储方法,将ecu数据分为工厂数据和非工厂数据,并将ecu中的存储设备进行区分,将存储工厂数据和存储非工厂数据的存储器分开,利用第一存储器存储非工厂数据,利用第二存储器存储工厂数据,工厂数据由工厂产线直接负责,在数据方面将开发部门与工厂产线分开,解决了常规的软件数据存储方法显然无法适用于ecu生产过程中的所有阶段的问题,达到了提高ecu开发效率,减少中间的ecu软件数据的传递环节,保证软件数据的一致性的效果。
89.在基于图3所示实施例的可选实施例中,非工厂数据包括标定数据和非标定数据,标定数据的变更频率大于非标定数据的变更频率,ecu软件包括应用数据模块、应用模块、flash驱动模块和bootloader模块。
90.可选的,ecu软件包括若干个软件逻辑模块,分别为应用数据模块(application data)、应用模块(application)、flash驱动模块(flash driver)、bootloader模块,如图2所示。
91.在ecu软件中,每个软件逻辑模块由一个或多个子模块构成。在一个例子中,应用模块(application)由2个子模块构成,分别为application1子模块和application2子模块。
92.bootloader模块为一段程序,用于ecu软件启动引导及刷新功能。
93.flash driver为操作flash的驱动程序。第一存储器和第二存储器均为flash。
94.需要说明是,flash driver与bootloader模块固化在一起,或,flash driver与bootloader模块分别为单独的软件逻辑模块。
95.application为实现应用功能的程序。
96.application data为application使用的数据集。
97.其中,标定数据存储在应用数据模块(application data),非标定数据存储在应用模块(application)。
98.在基于图3所示实施例的可选实施例中,步骤“将非工厂数据打包至ecu软件中”,即上述步骤302,可以由如下步骤实现:
99.步骤3021,将标定数据导入ecu软件中的应用数据模块。
100.步骤3022,将非标定数据导入ecu软件中的应用模块。
101.需要说明是,步骤3022还可以在步骤3021之前执行,本技术实施例对此不作限定。
102.在标定数据需要更新时,利用工具将标定数据从ecu软件中的应用数据模块导出,然后再变更标定数据,在标定数据变更完成后,再利用工具将变更后的标定数据导入ecu软件的应用数据模块中。同样地,在非标定数据需要更新时,利用工具将非标定数据从ecu软件中的应用模块导出,然后再变更非标定数据,在非标定数据变更完成后,再利用工具将变更后的非标定数据导入ecu软件的应用模块中。
103.可选的,工厂数据至少包括产线号、生产时间、生产批次。
104.可选的,非工厂数据至少包括ecu软件版本号、ecu零件号、整车vin码。
105.在基于图3所示实施例的可选实施例中,为了避免euc软件刷新失败后,由于第一存储器被擦除而导致外部设备无法从ecu中读取到第一存储器中存储的非工厂数据,该方法还包括如下步骤:
106.步骤306,当ecu上电后,通过运行ecu中的ecu软件,将第一存储器中存储的非工厂数据写入第二存储器中。
107.可选的,通过运行ecu中的ecu软件,由ecu软件中的应用模块实现将第一存储器中存储的非工厂数据写入第二存储器的功能。
108.在非工厂数据写入第二存储器后,第二存储器中存储有工厂数据和非工厂数据。
109.显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本技术创造的保护范围之中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1