CN109714315A - 一种基于以太网电动汽车控制器程序远程升级方法 - Google Patents
一种基于以太网电动汽车控制器程序远程升级方法 Download PDFInfo
- Publication number
- CN109714315A CN109714315A CN201811429061.4A CN201811429061A CN109714315A CN 109714315 A CN109714315 A CN 109714315A CN 201811429061 A CN201811429061 A CN 201811429061A CN 109714315 A CN109714315 A CN 109714315A
- Authority
- CN
- China
- Prior art keywords
- data
- electric vehicle
- control unit
- vehicle controller
- upgrading
- 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
Abstract
本发明创造提供了一种基于以太网电动汽车控制器程序远程升级方法,包括远程服务器和汽车控制单元,所述汽车控制单元内包括WiFi模块,外部FLASH存储器及DSP数字处理器,WiFi模块与外部FLASH存储器、DSP数字处理器依次通信连接;本发明通过因特网、WIFI模块和控制单元即可实现远程程序升级,解决了去现场升级程序的问题。
Description
技术领域
本发明创造属于汽车控制领域,尤其是涉及一种基于以太网电动汽车控制器程序远程升级方法。
背景技术
目前电动汽车上运用的电控设备越来越多,整车通过CAN网络对各个电控设备进行控制。车辆任何一个电控设备需要进行程序升级,整车厂家或零部件厂家需要通过移动设备到需要升级的电动车上进行软件升级烧录。车辆大部分时间处于运行状态,分布范围较广,这给电控设备软件升级造成困难。因此,需要采用一种方便、可靠性高的软件升级方法来进行电动汽车控制器进行软件升级。
目前程序升级的方法有:
(1)通过仿真器和CCS开发环境通过JTAG口下载,这种方式需要接触DSP 目标板,并连接JTAG仿真接口;
(2)通过CAN总线烧写,这种烧写方式需要用USBCAN代替仿真器;3、通过无线网络实现远程程序升级。
以上两种方式都需要去现场进行软件升级,不仅费时费力,而且会影响车辆正常运行。
而对于采用远程程序的升级方式,文件数据传递的安全性有待通过有效手段来确保。此外,针对在升级过程中出现异常的处理手段不完善。
发明内容
有鉴于此,本发明创造旨在提出一种实现数据安全稳定传输的基于以太网电动汽车控制器程序远程升级方法。
为达到上述目的,本发明创造的技术方案是这样实现的:
一种基于以太网电动汽车控制器程序远程升级方法,包括远程服务器和汽车控制单元,所述汽车控制单元内包括WiFi模块,外部FLASH存储器及 DSP数字处理器,WiFi模块、外部FLASH存储器分别与DSP数字处理器通信连接,其特征在于,包括如下步骤:
(1)升级开始,服务器端系统初始化;
(2)服务器端执行升级程序,并向汽车控制单元的WIFI模块发送请求升级程序信号;
(3)同时,服务器端根据数据加密算法对传输的升级数据进行加密;
(4)服务器端向汽车控制单元上的WIFI模块发送请求解锁FLASH的信号,由DSP处理器判断是否解锁成功,当解锁成功,进入步骤(5);请求解锁不成功,则服务器端执行步骤(2),向WIFI模块重新发送请求升级程序信号;
(5)擦除汽车控制单元其外部FLASH存储器上原数据文件;
(6)服务器端开始发送加密之后的数据文件,下载到汽车控制单元上的外部FLASH存储器上;
(7)服务端升级数据文件完成。
进一步,步骤(2)所述数据加密算法包括如下步骤:
(21)服务器端执行加密程序,输入参数为工作模式、64位明文数据块、 56位密钥以及前缀码;
(22)对64位明文数据块进行初始置换,输出结果;
(23)将步骤(22)所得结果与56位密钥所生成的子密钥进行异或运算,然后迭代,输出结果;
(24)将步骤(23)所得结果进行逆置换,输出结果为64位密文数据块;
(25)生成加密之后的数据文件。
进一步,步骤(23)所述子密钥的生成包括如下规则:随机选取前缀码,对每轮迭代的数据进行解码,若被译信息最后部分,不能成为前缀码的序列,则在后面添加0,直至译出为止,得到一个编码的集合;根据上述的编码集合序列,对原有密钥进行移位得到新的子密钥kn。
进一步,步骤(22)所述的初始置换为64位输入数据块按位组合输出为两部分,每部分数据长度为32位。
进一步,步骤(23)所述的迭代运算为进行16次相同的异或运算,其公式表示为:
Ln=Rn-1
其中,Rn、Ln分别为两个初始置换输出的32位数据块的第n-1次迭代后的数据,kn为第n次迭代的子密钥,f是以Rn-1和kn-1为变量的函数,1≤n ≤16。
进一步,步骤(24)所述的逆置换为将步骤(23)运算输出结果L16、 R16进行初始值置换的逆运算。
进一步,所述的远程升级方法还包括如下步骤:
(8)汽车控制单元中的DSP处理器查看升级文件接收状态,判断文件接收是否完成;
(9)判断外部FLASH存储器是否为新的升级数据文件;
(10)DSP处理器读取外部FLASH存储器中的升级数据文件,并解密;
(11)将解密后的代码指令烧录写入到DSP内部的片上FLASH存储器;
(12)判断新的代码指令是否烧写完成,并记录烧写状态;
(13)升级完成。
相对于现有技术,本发明创造所述的一种基于以太网电动汽车控制器程序远程升级方法具有以下优势:
(1)本发明通过因特网、WIFI模块和控制单元即可实现远程程序升级,解决了去现场升级程序的问题;
(2)为了确保远程数据传输的安全性,避免非法篡改数据,本发明采用了数据加密算法,远程升级算法需要后台服务器首先与电控设备建立逻辑连接,然后执行加密、解锁、烧写等关键操作。
附图说明
构成本发明创造的一部分的附图用来提供对本发明创造的进一步理解,本发明创造的示意性实施例及其说明用于解释本发明创造,并不构成对本发明创造的不当限定。在附图中:
图1为本发明创造实施例所述的模块示意图;
图2为本发明创造实施例所述的服务器端升级流程示意图;
图3为本发明创造实施例所述的加密流程示意图;
图4为本发明创造实施例所述的电控单元升级流程示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明创造中的实施例及实施例中的特征可以相互组合。
在本发明创造的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明创造和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明创造的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明创造的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本发明创造的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明创造中的具体含义。
下面将参考附图并结合实施例来详细说明本发明创造。
一种基于以太网电动汽车控制器程序远程升级方法,包括远程服务器和汽车控制单元,所述汽车控制单元内包括WiFi模块,外部FLASH存储器及 DSP数字处理器,WiFi模块、外部FLASH存储器分别与DSP数字处理器通信连接,其特征在于,包括如下步骤:
(1)升级开始,服务器端系统初始化;
(2)服务器端执行升级程序,并向汽车控制单元的WIFI模块发送请求升级程序信号;
(3)同时,服务器端根据数据加密算法对传输的升级数据进行加密;
(4)服务器端向汽车控制单元上的WIFI模块发送请求解锁FLASH的信号,由DSP处理器判断是否解锁成功,当解锁成功,进入步骤(5);请求解锁不成功,则服务器端执行步骤(2),向WIFI模块重新发送请求升级程序信号;
(5)擦除汽车控制单元其外部FLASH存储器上原数据文件;
(6)服务器端开始发送加密之后的数据文件,下载到汽车控制单元上的外部FLASH存储器上;
(7)服务端升级数据文件完成。
步骤(2)所述数据加密算法包括如下步骤:
(21)服务器端执行加密程序,输入参数为工作模式、64位明文数据块、 56位密钥以及前缀码;
(22)对64位明文数据块进行初始置换,输出结果;
(23)将步骤(22)所得结果与56位密钥所生成的子密钥进行异或运算,然后迭代,输出结果;
(24)将步骤(23)所得结果进行逆置换,输出结果为64位密文数据块;
(25)生成加密之后的数据文件。
其中,步骤(22)所述的初始置换为64位输入数据块按位组合输出为两部分,每部分数据长度为32位。
此外,步骤(22)所述的初始置换为64位输入数据块重新按位组合输出,输出为两个L0\R0数据长度为32位的分数据块,每部分各长32位,其置换规则为:将输入的第58位换到第1位,第50位换到第2位……依次类推,最后一位是原来的第7位。按位重新组合规律可采用下表规律进行,如表1所示:
表1
步骤(23)所述的迭代运算为进行16次相同的异或运算,其公式表示为:
Ln=Rn-1
其中,Rn、Ln分别为两个初始置换输出的32位数据块的第n-1次迭代后的数据,kn为第n次迭代的子密钥,f是以Rn-1和kn-1为变量的函数,1≤n ≤16。
子密钥Kn由DES算法生成,在每一轮的迭代过程中,使用不同的子秘钥。
子密钥的生成包括如下规则:随机选取前缀码,对每轮迭代的数据进行解码,若被译信息最后部分,不能成为前缀码的序列,则在后面添加0,直至译出为止,得到一个编码的集合;根据上述的编码集合序列,对原有密钥进行移位得到新的子密钥kn。
具体的迭代过程如下:
第一次迭代:
第二次迭代:
第二次迭代:
……
第十六次迭代:
步骤(24)所述的逆置换为将步骤(23)运算输出结果L16、R16进行初始值置换的逆运算,逆置换以L16、R16作为输入,密文输出可以由此得到。
逆置换的置换规则为将输入的第40位换到第1位,第8位换到第2 位……依次类推,最后一位是原来的25位,具体置换规则如表2所示:
40 | 8 | 48 | 16 | 56 | 24 | 64 | 32 |
39 | 7 | 47 | 15 | 55 | 23 | 63 | 31 |
38 | 6 | 46 | 14 | 54 | 22 | 62 | 30 |
37 | 5 | 45 | 13 | 53 | 21 | 61 | 29 |
36 | 4 | 44 | 12 | 52 | 20 | 60 | 28 |
35 | 3 | 43 | 11 | 51 | 19 | 59 | 27 |
34 | 2 | 42 | 10 | 50 | 18 | 58 | 26 |
33 | 1 | 41 | 9 | 49 | 17 | 57 | 25 |
表2
如图4所示,所述的远程升级方法中下位机的DSP处理器负责最终处理服务器端上位机的代码烧写指令以及代码烧写数据,同时完成对DSP片上 FLASH的擦除及写入。具体包括如下步骤:
(8)汽车控制单元中的DSP处理器查看升级文件接收状态,判断文件接收是否完成;
(9)判断外部FLASH存储器是否有新的升级数据文件;
(10)DSP处理器读取外部FLASH存储器中的升级数据文件,并解密;
(11)将解密后的代码指令烧录写入到DSP内部的片上FLASH存储器;
(12)判断新的代码指令是否烧写完成,并记录烧写状态;
(13)升级完成。
此外,由于以太网和CAN总线,Flash擦写等速度的限制,远程升级需要一定的时间,而车辆状态具有不确定性,升级过程中可能会整车下电造成升级中断。
为解决此问题,电控设备增加了烧写状态记录,从而实现断电续传功能。
汽车控制单元上电后,WIFI模块就将文件状态发送到DSP处理器,DSP 处理器响应消息,若返回禁止烧写状态,则说明上次升级成功;若返回状态为允许烧写,则说明上次升级失败,WIFI模块发送程序升级指令,重新进行升级,把存储在外部FLAH存储区的文件重新烧写。此过程由WIFI模块发起,电控设备判断是否升级,二者配合即可实现断电续传。
以上所述仅为本发明创造的较佳实施例而已,并不用以限制本发明创造,凡在本发明创造的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明创造的保护范围之内。
Claims (7)
1.一种基于以太网电动汽车控制器程序远程升级方法,包括远程服务器和汽车控制单元,所述汽车控制单元内包括WiFi模块,外部FLASH存储器及DSP数字处理器,WiFi模块、外部FLASH存储器分别与DSP数字处理器通信连接,其特征在于,包括如下步骤:
(1)升级开始,服务器端系统初始化;
(2)服务器端执行升级程序,并向汽车控制单元的WIFI模块发送请求升级程序信号;
(3)同时,服务器端根据数据加密算法对传输的升级数据进行加密;
(4)服务器端向汽车控制单元上的WIFI模块发送请求解锁FLASH的信号,由DSP处理器判断是否解锁成功,当解锁成功,进入步骤(5);请求解锁不成功,则服务器端执行步骤(2),向WIFI模块重新发送请求升级程序信号;
(5)擦除汽车控制单元其外部FLASH存储器上原数据文件;
(6)服务器端开始发送加密之后的数据文件,下载到汽车控制单元上的外部FLASH存储器上;
(7)服务端升级数据文件完成。
2.根据权利要求1所述的一种基于以太网电动汽车控制器程序远程升级方法,其特征在于:步骤(2)所述数据加密算法包括如下步骤:
(21)服务器端执行加密程序,输入参数为工作模式、64位明文数据块、56位密钥以及前缀码;
(22)对64位明文数据块进行初始置换,输出结果;
(23)将步骤(22)所得结果与56位密钥所生成的子密钥进行异或运算,然后迭代,输出结果;
(24)将步骤(23)所得结果进行逆置换,输出结果为64位密文数据块;
(25)生成加密之后的数据文件。
3.根据权利要求2所述的一种基于以太网电动汽车控制器程序远程升级方法,其特征在于:步骤(22)所述的初始置换为64位输入数据块按位组合输出为两部分,每部分数据长度为32位。
4.根据权利要求2所述的一种基于以太网电动汽车控制器程序远程升级方法,其特征在于:步骤(23)所述子密钥的生成包括如下规则:随机选取前缀码,对每轮迭代的数据进行解码,若被译信息最后部分,不能成为前缀码的序列,则在后面添加0,直至译出为止,得到一个编码的集合;根据上述的编码集合序列,对原有密钥进行移位得到新的子密钥kn。
5.根据权利要求2所述的一种基于以太网电动汽车控制器程序远程升级方法,其特征在于:步骤(23)所述的迭代运算为进行16次相同的异或运算,其公式表示为:
Ln=Rn-1
其中,Rn、Ln分别为两个初始置换输出的32位数据块的第n-1次迭代后的数据,kn为第n次迭代的子密钥,f是以Rn-1和kn-1为变量的函数,1≤n≤16。
6.根据权利要求2所述的一种基于以太网电动汽车控制器程序远程升级方法,其特征在于:步骤(24)所述的逆置换为将步骤(23)运算输出结果L16、R16进行初始值置换的逆运算。
7.根据权利要求1所述的一种基于以太网电动汽车控制器程序远程升级方法,其特征在于:所述的远程升级方法还包括如下步骤:
(8)汽车控制单元中的DSP处理器查看升级文件接收状态,判断文件接收是否完成;
(9)判断外部FLASH存储器是否为新的升级数据文件;
(10)DSP处理器读取外部FLASH存储器中的升级数据文件,并解密;
(11)将解密后的代码指令烧录写入到DSP内部的片上FLASH存储器;
(12)判断新的代码指令是否烧写完成,并记录烧写状态;
(13)升级完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811429061.4A CN109714315A (zh) | 2018-11-27 | 2018-11-27 | 一种基于以太网电动汽车控制器程序远程升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811429061.4A CN109714315A (zh) | 2018-11-27 | 2018-11-27 | 一种基于以太网电动汽车控制器程序远程升级方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109714315A true CN109714315A (zh) | 2019-05-03 |
Family
ID=66255042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811429061.4A Pending CN109714315A (zh) | 2018-11-27 | 2018-11-27 | 一种基于以太网电动汽车控制器程序远程升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109714315A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110912690A (zh) * | 2019-11-01 | 2020-03-24 | 中国第一汽车股份有限公司 | 一种数据加密和解密方法、车辆和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107577473A (zh) * | 2017-08-24 | 2018-01-12 | 苏州汇川联合动力系统有限公司 | 一种电动汽车软件升级的多点远程烧录方法以及系统 |
CN107864207A (zh) * | 2017-11-14 | 2018-03-30 | 上海赫千电子科技有限公司 | 一种基于车载以太网的ecu软件升级方法 |
CN108021376A (zh) * | 2016-10-31 | 2018-05-11 | 比亚迪股份有限公司 | 一种更新汽车电子系统程序的方法和系统 |
CN108134664A (zh) * | 2016-12-01 | 2018-06-08 | 钦州市晶通科技有限公司 | 一种数据加密的实现方法 |
CN108845811A (zh) * | 2018-05-30 | 2018-11-20 | 武汉高仕达电气有限公司 | 一种基于can总线的双核dsp固件升级方法及系统 |
CN109032642A (zh) * | 2018-07-26 | 2018-12-18 | 昆山岩古风智能科技有限公司 | 一种基于wifi的dsp与arm双核控制器在线升级系统及其方法 |
-
2018
- 2018-11-27 CN CN201811429061.4A patent/CN109714315A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108021376A (zh) * | 2016-10-31 | 2018-05-11 | 比亚迪股份有限公司 | 一种更新汽车电子系统程序的方法和系统 |
CN108134664A (zh) * | 2016-12-01 | 2018-06-08 | 钦州市晶通科技有限公司 | 一种数据加密的实现方法 |
CN107577473A (zh) * | 2017-08-24 | 2018-01-12 | 苏州汇川联合动力系统有限公司 | 一种电动汽车软件升级的多点远程烧录方法以及系统 |
CN107864207A (zh) * | 2017-11-14 | 2018-03-30 | 上海赫千电子科技有限公司 | 一种基于车载以太网的ecu软件升级方法 |
CN108845811A (zh) * | 2018-05-30 | 2018-11-20 | 武汉高仕达电气有限公司 | 一种基于can总线的双核dsp固件升级方法及系统 |
CN109032642A (zh) * | 2018-07-26 | 2018-12-18 | 昆山岩古风智能科技有限公司 | 一种基于wifi的dsp与arm双核控制器在线升级系统及其方法 |
Non-Patent Citations (3)
Title |
---|
刘军等: "《例说STM32 第3版》", 28 February 2018, 北京:北京航空航天大学出版社 * |
程敬原: "《VxWorks软件开发项目实例完全解析》", 31 October 2005, 北京:中国电力出版社 * |
陈海宴: "《凌阳16位单片机经典实践 大学生项目创新实践》", 30 June 2011, 北京:北京航空航天大学出版社 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110912690A (zh) * | 2019-11-01 | 2020-03-24 | 中国第一汽车股份有限公司 | 一种数据加密和解密方法、车辆和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112585905B (zh) | 一种设备升级方法及相关设备 | |
CN103677891B (zh) | 用于选择性软件回退的方法 | |
CN112543927B (zh) | 一种设备升级方法及相关设备 | |
CN111356114B (zh) | 车内电子控制单元升级方法、装置、设备和车辆系统 | |
CN103580852B (zh) | 安全元件以及初始化安全元件的方法和系统 | |
CN105991644B (zh) | 基于秘密信息执行交叉认证的方法和设备 | |
CN101996154B (zh) | 支持可重组安全设计的通用处理器 | |
CN104811484A (zh) | Fota升级方法和装置 | |
CN110099064A (zh) | 一种基于物联网的文件处理方法、装置、设备和存储介质 | |
KR102368606B1 (ko) | 효율적인 차량용 리프로그래밍 장치 및 그 제어방법 | |
CN105406957A (zh) | 保护密码设备对抗实现攻击 | |
CH715441A1 (de) | Verfahren und Vorrichtungen zum Kommunizieren zwischen einer Internet-der-Dinge-Vorrichtung und einem Ferncomputersystem. | |
CN105162578B (zh) | 应用于通用数字信号处理器的加密电路 | |
US20220334824A1 (en) | Method for managing software versions of electronic device(s) in a vehicle and related device | |
CN109977702B (zh) | 一种基于ds2432芯片的fpga设备加密认证系统 | |
CN114756264A (zh) | 一种车载软件的u盘升级包云端制作方法及升级方法 | |
CN115129332A (zh) | 固件烧录方法、计算机设备及可读存储介质 | |
CN109714315A (zh) | 一种基于以太网电动汽车控制器程序远程升级方法 | |
CN108599958B (zh) | 基于云的超轻量级无线射频识别标签所有权转移方法 | |
CN111698086B (zh) | 用于数据传输的方法和装置 | |
CN102945379A (zh) | 一种离线式rfid系统读卡器与标签双向认证方法 | |
CN112311528A (zh) | 一种基于国密算法的数据安全传输方法 | |
CN111245844A (zh) | 一种基于核心网设备License的集中控制方法 | |
EP3486832A1 (en) | Semiconductor device, authentication system, and authentication method | |
EP4329240A1 (en) | Key updating method and related device thereof |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190503 |