CN108845811B - 一种基于can总线的双核dsp固件升级方法及系统 - Google Patents

一种基于can总线的双核dsp固件升级方法及系统 Download PDF

Info

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
Application number
CN201810542019.7A
Other languages
English (en)
Other versions
CN108845811A (zh
Inventor
张智雄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Gaoshida Electric Co ltd
Original Assignee
Wuhan Gaoshida Electric Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Gaoshida Electric Co ltd filed Critical Wuhan Gaoshida Electric Co ltd
Priority to CN201810542019.7A priority Critical patent/CN108845811B/zh
Publication of CN108845811A publication Critical patent/CN108845811A/zh
Application granted granted Critical
Publication of CN108845811B publication Critical patent/CN108845811B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image 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固件升级方法及系统
技术领域
本发明涉及嵌入式技术领域,具体涉及一种基于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核的升级。
CN201810542019.7A 2018-05-30 2018-05-30 一种基于can总线的双核dsp固件升级方法及系统 Active CN108845811B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 艾思玛新能源技术(扬中)有限公司 一种固件升级方法及其装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
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