CN108845811B - 一种基于can总线的双核dsp固件升级方法及系统 - Google Patents
一种基于can总线的双核dsp固件升级方法及系统 Download PDFInfo
- Publication number
- CN108845811B CN108845811B CN201810542019.7A CN201810542019A CN108845811B CN 108845811 B CN108845811 B CN 108845811B CN 201810542019 A CN201810542019 A CN 201810542019A CN 108845811 B CN108845811 B CN 108845811B
- Authority
- CN
- China
- Prior art keywords
- dsp
- core
- dsp core
- bus
- upgraded
- 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.)
- Active
Links
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
Abstract
本发明涉及一种基于CAN总线的双核DSP固件升级方法及系统,方法包括服务器确定待升级的DSP核,并下发flash密码和待升级文件密码;DSP核进行密码校验,并反馈校验结果;若校验通过,则服务器通知DSP核擦除指定的flash扇区,同时将升级文件分割成数据包并发送给终端设备;终端设备将升级文件数据写入DSP核内部flash,完成对DSP核的固件升级;判断另一DSP核是否需要升级,若需要则终端设备执行CAN总线控制权的转移,然后进行另一DSP核的升级;否则结束该终端设备DSP核的升级。通过CAN总线,无需拆解终端设备,即可实现对终端设备的DSP核进行远程更新控制,效率高;同时更新时进行加密处理,只有在密码校验正确时,DSP核内的固件程序才可被读写,提高了固件程序的安全性。
Description
技术领域
本发明涉及嵌入式技术领域,具体涉及一种基于CAN总线的双核DSP固件升级方法及系统。
背景技术
双核DSP内部含有两个DSP内核。对于复杂系统而言,可以将不同系统任务分配给不同的内核,分工精细,并且可以最佳地平衡性能、功耗和成本。
传统的固件烧写方式是服务器和终端设备通过JLINK仿真器一对一连接进行烧写,每烧写一个DSP内核需要插拔一次接插件,且需要深入到车间内部,拆解终端设备,然后才能对每个DSP内核进行升级。随着生产规模的扩大,终端设备量增多,固件烧写工作量增大,且效率低下。
同时传统的固件烧写方式,不存在加密功能,固件升级程序很容易被人恶意盗取,从而造成技术机密泄露。
发明内容
本发明针对现有技术中存在的技术问题,提供一种基于CAN总线的双核DSP固件升级方法及系统。CAN是控制器局域网络(Controller Area Network)的简称,具有较高的可靠性和良好的错误检测能力,是国际上应用最广泛的现场总线之一,广泛用于汽车电子、工业测控和工业自动化等领域。
本发明解决上述技术问题的技术方案如下:
一方面,本发明提供一种基于CAN总线的双核DSP固件升级方法,包括以下步骤:
步骤1,服务器确定终端设备的待升级的DSP核,并通过CAN总线下发flash密码和待升级文件密码;
步骤2,待升级的DSP核进行密码校验,并向服务器反馈校验结果;
步骤3,若校验通过,则服务器通知终端设备的DSP核擦除指定的flash扇区,同时服务器将升级文件分割成数据包,并通过CAN总线发送给终端设备;
步骤4,终端设备将升级文件数据内容写入待升级的DSP核内部flash,完成对DSP核的固件升级,同时更改DSP核的升级标志位;
步骤5,判断另一DSP核是否需要升级,若需要则终端设备执行DSP主从核之间的CAN总线控制权的转移,然后跳转至步骤1,进行另一DSP核的升级;否则结束该终端设备DSP核的升级。
进一步,在所述步骤1之前还包括:
服务器通过CAN总线向终端设备发送查询指令,查询终端设备的待升级的DSP核是否运行在BootLoader模式,若是则执行步骤1,否则修改待升级的DSP核的升级标志位,并重启该DSP核,使其运行在BootLoader模式,然后执行步骤1。
进一步,在所述的“修改待升级的DSP核的升级标志位,并跳转至BootLoader程序,使待升级DSP核运行在BootLoader模式”之后还包括,服务器延迟一段时间后,再次通过CAN总线向终端设备发送查询指令,查询待升级的DSP核是否运行在BootLoader模式,若是则执行步骤1,否则退出更新流程并告警。
进一步,所述步骤3还包括,服务器将升级文件分割成数据包,在每个数据包中插入指令代码、待升级节点编号、帧ID和校验码组成数据帧,并按帧ID发送数据帧。所述校验码为CRC(Cyclic Redundancy Check,循环冗余校验)码。
进一步,所述步骤4包括,
终端设备的待升级的DSP核接收到数据帧后,进行校验,校验通过则写入内部Flash,继续接收,否则通知服务器重新发送当前帧;
若升级完毕或同一数据帧接收次数超过预设次数时,则对服务器进行反馈。
进一步,所述数据帧的帧ID从0开始,加1递增。
进一步,所述分割成的数据包大小为256字节。
进一步,所述DSP主从核的flash密码和待升级文件密码互不相同。
另一方面,本发明还提供一种基于CAN总线的双核DSP固件升级系统,包括一个服务器端、多个终端设备,所述服务器端和所述终端设备通过CAN总线连接;所述CAN总线由CAN_H和CAN_L两条线构成,总线上接有终端匹配电阻,用于保证通信的稳定进行;每个所述终端设备分配有具有唯一标识的设备ID。
本发明的有益效果是:通过CAN总线连接服务器端和多个终端设备,无需深入到车间内部,拆解终端设备,即可实现对终端设备的DSP核进行远程更新控制,更新效率高;同时在更新时进行了加密处理,只有在密码校验正确时,DSP核内的固件程序才可被读写,提高了固件程序的安全性。同时采用flash密码和待升级文件密码两重密码,且主从核的密码互不相同,更近一步的提高了固件程序的安全性。在进行更新时每一数据帧中均加入了校验码,校验机制可以防止数据收发过程中数据的丢失导致的升级失败,可以有效提高固件升级的稳定性和可靠性。
附图说明
图1为本发明方法流程图;
图2为本发明系统结构图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
一方面,本发明提供一种基于CAN总线的双核DSP固件升级方法,如图1所示,包括以下步骤:
步骤1,服务器通过CAN总线向终端设备发送查询指令,查询终端设备的待升级的DSP核是否运行在BootLoader模式,若是则执行步骤2,否则修改待升级的DSP核的升级标志位,并重启该DSP核,使其运行在BootLoader模式,然后执行步骤2;
服务器延迟一段时间,一般为2秒,等待DSP核重启完成,再次通过CAN总线向终端设备发送查询指令,查询待升级的DSP核是否运行在BootLoader模式,若是则执行步骤2,否则退出更新流程并告警。
步骤2,服务器确定指定终端设备的待升级的DSP核,并通过CAN总线下发flash密码和待升级文件密码;
步骤3,待升级的DSP核进行密码校验,并向服务器反馈校验结果;
步骤4,若校验通过,则服务器通知终端设备的DSP核擦除指定的flash扇区,同时服务器将升级文件分割成数据包,在每个数据包中插入指令代码、待升级节点编号、帧ID和校验码组成数据帧,并按帧ID发送数据帧。
步骤5,终端设备的待升级的DSP核接收到数据帧后,进行校验,校验通过则写入内部Flash,直到对DSP核的完成固件升级,更改DSP核的升级标志位;若期间校验不通过,则通知服务器重新发送当前帧,当超过预设次数时,对服务器进行反馈。
步骤6,判断另一DSP核是否需要升级,若需要则终端设备执行DSP主从核之间的CAN总线控制权的转移,然后跳转至步骤1,进行另一DSP核的升级;否则结束该终端设备DSP核的升级。
进一步,所述数据帧的帧ID从0开始,加1递增。
进一步,所述分割成的数据包大小为256字节。
进一步,所述DSP主从核的flash密码和待升级文件密码互不相同。
另一方面,本发明还提供一种基于CAN总线的双核DSP固件升级系统,如图2所示,包括一个服务器端、多个终端设备;所述CAN总线由CAN_H和CAN_L两条线构成,总线上接有终端匹配电阻,用于保证通信的稳定进行,服务器和终端设备都连接在CAN总线上,理论上CAN总线上可以连接任意多节点,为了保证通信的稳定可靠,本发明实施例中选择21个节点,即1个服务器PC,20个终端设备;每个所述终端设备分配有具有唯一标识的设备ID。
本发明的有益效果是:通过CAN总线连接服务器端和多个终端设备,无需深入到车间内部,拆解终端设备,即可实现对终端设备的DSP核进行远程更新控制,更新效率高;同时在更新时进行了加密处理,只有在密码校验正确时,DSP核内的固件程序才可被读写,提高了固件程序的安全性。同时采用flash密码和待升级文件密码两重密码,且主从核的密码互不相同,更近一步的提高了固件程序的安全性。在进行更新时每一数据帧中均加入了校验码,校验机制可以防止数据收发过程中数据的丢失导致的升级失败,可以有效提高固件升级的稳定性和可靠性。
上述实施例是基于CAN总线实现的,本发明不仅限于CAN总线,也可以支持其他通信方式,例如RS485、RS232、I2C等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于CAN总线的双核DSP固件升级方法,其特征在于,包括以下步骤:
步骤1,服务器确定终端设备的待升级的DSP核,并通过CAN总线下发flash密码和待升级文件密码;
步骤2,待升级的DSP核进行密码校验,并向服务器反馈校验结果;
步骤3,若校验通过,则服务器通知终端设备的DSP核擦除指定的flash扇区,同时服务器将升级文件分割成数据包,并通过CAN总线发送给终端设备;
步骤4,终端设备将升级文件数据内容写入待升级的DSP核内部flash,完成对DSP核的固件升级,同时更改DSP核的升级标志位;
步骤5,判断另一DSP核是否需要升级,若需要则终端设备执行DSP主从核之间的CAN总线控制权的转移,然后跳转至步骤1,进行另一DSP核的升级;否则结束该终端设备DSP核的升级。
2.根据权利要求1所述一种基于CAN总线的双核DSP固件升级方法,其特征在于,在所述步骤1之前还包括:
服务器通过CAN总线向终端设备发送查询指令,查询终端设备的待升级的DSP核是否运行在BootLoader模式,若是则执行步骤1,否则修改待升级的DSP核的升级标志位,并重启该DSP核,使其运行在BootLoader模式,然后执行步骤1。
3.根据权利要求2所述一种基于CAN总线的双核DSP固件升级方法,其特征在于,在所述的“修改待升级的DSP核的升级标志位,并跳转至BootLoader程序,使待升级DSP核运行在BootLoader模式”之后还包括,服务器延迟一段时间后,再次通过CAN总线向终端设备发送查询指令,查询待升级的DSP核是否运行在BootLoader模式,若是则执行步骤1,否则退出更新流程并告警。
4.根据权利要求1所述一种基于CAN总线的双核DSP固件升级方法,其特征在于,所述步骤3还包括,服务器将升级文件分割成数据包,在每个数据包中插入指令代码、待升级节点编号、帧ID和校验码组成数据帧,并按帧ID发送数据帧。
5.根据权利要求4所述一种基于CAN总线的双核DSP固件升级方法,其特征在于,所述校验码为CRC码。
6.根据权利要求4所述一种基于CAN总线的双核DSP固件升级方法,其特征在于,所述步骤4包括,
终端设备的待升级的DSP核接收到数据帧后,进行校验,校验通过则写入内部Flash,继续接收,否则通知服务器重新发送当前帧;
若升级完毕或同一数据帧接收次数超过预设次数时,则对服务器进行反馈。
7.根据权利要求4所述一种基于CAN总线的双核DSP固件升级方法,其特征在于,所述数据帧的帧ID从0开始,加1递增。
8.根据权利要求1或4所述一种基于CAN总线的双核DSP固件升级方法,其特征在于,所述分割成的数据包大小为256字节。
9.根据权利要求1所述一种基于CAN总线的双核DSP固件升级方法,其特征在于,所述DSP主从核的flash密码和待升级文件密码互不相同。
10.一种基于CAN总线的双核DSP固件升级系统,其特征在于,包括一个服务器端、多个终端设备,所述服务器端和所述终端设备通过CAN总线连接;所述CAN总线由CAN_H和CAN_L两条线构成,总线上接有终端匹配电阻,用于保证通信的稳定进行;每个所述终端设备分配有具有唯一标识的设备ID;
基于该系统,双核DSP固件升级的升级方法,包括以下步骤:
步骤1,服务器确定终端设备的待升级的DSP核,并通过CAN总线下发flash密码和待升级文件密码;
步骤2,待升级的DSP核进行密码校验,并向服务器反馈校验结果;
步骤3,若校验通过,则服务器通知终端设备的DSP核擦除指定的flash扇区,同时服务器将升级文件分割成数据包,并通过CAN总线发送给终端设备;
步骤4,终端设备将升级文件数据内容写入待升级的DSP核内部flash,完成对DSP核的固件升级,同时更改DSP核的升级标志位;
步骤5,判断另一DSP核是否需要升级,若需要则终端设备执行DSP主从核之间的CAN总线控制权的转移,然后跳转至步骤1,进行另一DSP核的升级;否则结束该终端设备DSP核的升级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810542019.7A CN108845811B (zh) | 2018-05-30 | 2018-05-30 | 一种基于can总线的双核dsp固件升级方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810542019.7A CN108845811B (zh) | 2018-05-30 | 2018-05-30 | 一种基于can总线的双核dsp固件升级方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108845811A CN108845811A (zh) | 2018-11-20 |
CN108845811B true CN108845811B (zh) | 2021-12-03 |
Family
ID=64211240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810542019.7A Active CN108845811B (zh) | 2018-05-30 | 2018-05-30 | 一种基于can总线的双核dsp固件升级方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108845811B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109714315A (zh) * | 2018-11-27 | 2019-05-03 | 安徽华盈汽车技术有限公司 | 一种基于以太网电动汽车控制器程序远程升级方法 |
CN109189461B (zh) * | 2018-11-27 | 2022-01-18 | 上海辛格林纳新时达电机有限公司 | 电梯控制系统的程序升级方法和电梯控制系统及电梯设备 |
CN109889368B (zh) * | 2019-01-07 | 2022-04-08 | 浙江工业大学 | 一种基于stm32控制器的gprs远程升级方法 |
CN109947432B (zh) * | 2019-03-28 | 2022-06-10 | Oppo广东移动通信有限公司 | 汇编程序处理方法及相关装置 |
CN110442356A (zh) * | 2019-08-06 | 2019-11-12 | 东莞铭普光磁股份有限公司 | Dsp固件的升级方法及装置 |
CN111104143B (zh) * | 2019-12-26 | 2021-08-31 | 北谷电子有限公司上海分公司 | 一种固件升级方法及升级装置 |
CN111506333B (zh) * | 2020-04-27 | 2023-05-16 | 湖北三江航天红峰控制有限公司 | 一种双dsp程序在线升级方法及系统 |
CN111506335A (zh) * | 2020-04-27 | 2020-08-07 | 湖北三江航天红峰控制有限公司 | 一种基于dsp+fpga的程序在线升级方法及系统 |
CN112363746B (zh) * | 2020-11-20 | 2023-06-02 | 清能德创电气技术(北京)有限公司 | 一种双核dsp在线升级方法 |
CN115469901B (zh) * | 2022-08-16 | 2023-05-12 | 哈尔滨理工大学 | 一种双核dsp可拆卸远程升级系统及升级方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101105756A (zh) * | 2007-08-21 | 2008-01-16 | 中兴通讯股份有限公司 | 多核终端的固件升级方法 |
CN102495744A (zh) * | 2011-11-29 | 2012-06-13 | 湖南南车时代电动汽车股份有限公司 | 基于can总线的电动汽车电控设备控制软件升级方法 |
CN104216714A (zh) * | 2014-09-03 | 2014-12-17 | 东方电气(乐山)新能源设备有限公司 | 基于can总线的dsp程序烧写方法 |
CN104899064A (zh) * | 2015-06-03 | 2015-09-09 | 成都天奥信息科技有限公司 | 一种脉压导航雷达的双多核dsp的远程智能升级方法 |
CN106020898A (zh) * | 2016-05-30 | 2016-10-12 | 华讯方舟科技有限公司 | 一种多处理器设备的软件升级方法及系统 |
CN106980511A (zh) * | 2017-05-09 | 2017-07-25 | 深圳市乐得瑞科技有限公司 | 固件升级方法、装置及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201344576A (zh) * | 2012-04-17 | 2013-11-01 | Hon Hai Prec Ind Co Ltd | 韌體更新方法與系統以及使用該方法之終端裝置 |
CN103414741B (zh) * | 2013-07-02 | 2016-12-28 | 深圳市汇川技术股份有限公司 | 一种远程升级plc的方法和系统 |
CN103677897A (zh) * | 2013-11-06 | 2014-03-26 | 天津瑞能电气有限公司 | 系统芯片及对系统芯片的烧写方法 |
CN104102514B (zh) * | 2014-07-18 | 2018-03-16 | 艾思玛新能源技术(扬中)有限公司 | 一种固件升级方法及其装置 |
-
2018
- 2018-05-30 CN CN201810542019.7A patent/CN108845811B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101105756A (zh) * | 2007-08-21 | 2008-01-16 | 中兴通讯股份有限公司 | 多核终端的固件升级方法 |
CN102495744A (zh) * | 2011-11-29 | 2012-06-13 | 湖南南车时代电动汽车股份有限公司 | 基于can总线的电动汽车电控设备控制软件升级方法 |
CN104216714A (zh) * | 2014-09-03 | 2014-12-17 | 东方电气(乐山)新能源设备有限公司 | 基于can总线的dsp程序烧写方法 |
CN104899064A (zh) * | 2015-06-03 | 2015-09-09 | 成都天奥信息科技有限公司 | 一种脉压导航雷达的双多核dsp的远程智能升级方法 |
CN106020898A (zh) * | 2016-05-30 | 2016-10-12 | 华讯方舟科技有限公司 | 一种多处理器设备的软件升级方法及系统 |
CN106980511A (zh) * | 2017-05-09 | 2017-07-25 | 深圳市乐得瑞科技有限公司 | 固件升级方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108845811A (zh) | 2018-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108845811B (zh) | 一种基于can总线的双核dsp固件升级方法及系统 | |
CN103279371B (zh) | 一种分布式控制系统多从机程序在线同步升级的方法 | |
CN105354070B (zh) | 一种通过i2c升级设备固件的方法 | |
US9954968B2 (en) | Remote access gateway configurable control system | |
CN101309306B (zh) | 在Modbus通信网络中为从节点设备分配地址的方法 | |
CN109039779B (zh) | 设备升级方法、数据传输单元、控制器局域网络设备和网络 | |
CN104899065A (zh) | 一种可批量软件在线恢复与软件在线升级的方法和系统 | |
CN105117253A (zh) | 一种基于BootLoader的UV LED固化系统远程升级方法 | |
KR101327680B1 (ko) | 전력량계의 펌웨어 업그레이드 장치, 시스템 및 방법 | |
CN103942080A (zh) | 电子设备信息传输方法 | |
US20200156422A1 (en) | Upgrading method and apparatus for tire pressure monitoring module and tire pressure sensor | |
CN104468235A (zh) | 一种基于iap的可配置全网络远程节点固件升级系统及装置 | |
CN112835616A (zh) | 一种版本升级方法、装置、电子设备及存储介质 | |
JP2018521411A (ja) | ネットワークにおけるノードの設定管理 | |
CN108469961A (zh) | 一种基于微型化嵌入式平台远程升级系统及方法 | |
CN107205063A (zh) | 一种智能家居控制总线的设备冲突解决方法 | |
CN103838591A (zh) | 一种基于串行总线的多单片机升级方法及装置 | |
CN110413487A (zh) | 一种服务器的指示灯管理方法、系统及基板管理控制器 | |
CN102711095A (zh) | 一种对无线传感器网络中的节点进行无线升级的方法 | |
CN107404535B (zh) | 设备的远端升级方法和装置 | |
WO2016197883A1 (zh) | 一种在线更新单片机程序的方法及系统 | |
CN107515757A (zh) | 软件程序升级方法和系统、终端 | |
CN110134423B (zh) | 固件的更新方法、装置及计算机可读存储介质 | |
CN105516745A (zh) | 终端的升级方法及装置 | |
CN104811347A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |