一种基于CAN通讯的通用DSP程序在线升级方法技术

技术编号:36251113 阅读:66 留言:0更新日期:2023-01-07 09:44
本发明专利技术公开了一种不需要断电复位,不需要接插JTAG仿真器和操作方便简单的基于CAN通讯的通用DSP程序在线升级方法。本发明专利技术包括上位机的操作步骤和DSP下位机的操作步骤;DSP下位机分为DSP升级程序和DSP应用程序两部分,将DSP升级程序放在flash的A扇区,将DSP应用程序放在A以外的其他扇区,当DSP收到更新程序命令时,A扇区的升级程序转至RAM中运行,并可以将应用程序得flash扇区内容擦除,根据通讯协议和通讯内容,重新向DSP应用程序扇区写入新的程序数据;上位机部分需要根据通讯协议,将.hex格式的DSP程序文件按协议通过CAN通讯下发给各个DSP下位机,并检查DSP下位机回传的校验信息,判断升级程序状态。本发明专利技术应用于程序在线升级的技术领域。在线升级的技术领域。在线升级的技术领域。

【技术实现步骤摘要】
一种基于CAN通讯的通用DSP程序在线升级方法


[0001]本专利技术涉及一种DSP程序在线升级方法,特别涉及一种基于CAN通讯的通用DSP程序在线升级方法。

技术介绍

[0002]程序在线升级技术在民用产品领域已经有较广泛的应用,尤其是消费类电子产品,比如电脑操作系统的修复漏洞更新补丁,手机的系统版本升级更新,甚至能实现夜间自动升级功能。
[0003]在大功率电力电子产品领域里,普遍使用DSP作为产品的核心处理器。在变流器DSP程序工业领域程序在线升级方法使用较少,主要由于DSP更适合单机运行,不使用操作系统,开发程序在线升级技术难度较大,所以程序升级方法主要使用芯片厂家(如TI公司)提供的JTAG仿真器(如XDS100V3)烧写或更新程序。升级程序过程复杂,并且需要使用庞大的Code Composer Studio软件。当有成百上千台设备需要升级程序时,按照此方法,需要人为的每台设备去插拔JTAG线,断电上电再断电等步骤,会浪费很多时间和人力。

技术实现思路

[0004]本专利技术所要解决的技术问题是克服现有技术的不足,提供了一种不需要断电复位,不需要接插JTAG仿真器和操作方便简单的基于CAN通讯的通用DSP程序在线升级方法。
[0005]本专利技术所采用的技术方案是:本专利技术包括上位机的操作步骤和DSP下位机的操作步骤;
[0006]所述上位机的操作步骤包括以下步骤:a1.启动上位机软件,实用USB转CAN设备实现收发数据;a2.设置芯片类型;a3.选择要升级的.hex文件,并通过上位机识别读取.hex文件的数据,并根据数据格式核对效验码检查数据的正确性;a4.若核对正确,上位机向DSP下位机发送命令进入升级刷程序模式,并发送握手信号至DSP下位机;a5.与DSP下位机握手成功后,上位机向DSP下位机发送擦除flashCD扇区命令;a6.擦除flashCD扇区成功后,开始读取.hex文件,每读取6个字节数据按照通讯协议发送给DSP下位机,不足6个字节数据的使用0xff填充,等待2毫秒后检查DSP发回来的验证码,如果验证码正确则继续发送下面的6个字节,如果校验码错误,则重发本次的6个字节;a6.上位机读取到A扇区地址时,向DSP下位机发送文件数据并结束指令;
[0007]DSP下位机的操作步骤包括以下步骤:b1.将DSP升级程序全部设置在flash的A扇区,将DSP应用程序部分全部设置在CD扇区;b2.DSP下位机上电复位后,系统初始化并进入flashA扇区的Boot函数,检测在线升级标志位,如果在线升级标志位为0,则进入flashCD扇区的main主函数,如果在线升级标志位为1,则等待接受上位机发送的握手信号;b3.DSP升级程序与上位机握手成功后,清除在线升级标志位,并等待接收上位机发送擦除flashCD扇区命令,如果握手失败,则进入main主函数;b4.DSP升级程序接收到擦除flashCD扇区命令后,擦除相应flashCD扇区,如果接收命令超时则进入main主函数;b5.DSP升级程序接收到
上位机发送的6个字节数据后,根据6个字节数据计算校验码,并将计算好的校验码发回给上位机确认,并将这6个字节存入缓存区;b6.当缓存区满32字节数据后,根据协议解析数据内容,并向flashCD扇区写入新数据,然后清空缓存区;b7.DSP升级程序接收到结束指令后,打开看门狗复位芯片,使升级程序执行复位操作。
[0008]进一步的,在应用程序main主函数中,循环查询是否收到来自上位机的升级程序命令,如果收到升级程序命令,则将在线升级标志位置1,并进入flashA扇区Boot函数,如果无收到升级程序命令,则继续执行DSP应用程序。
[0009]进一步的,所述DSP应用程序为变流器程序。
[0010]进一步的,所述上位机和所述下位机采用CAN通讯连接。
[0011]进一步的,所述上位机根据发送字节的数量实时显示程序升级的进度。
[0012]本专利技术的有益效果是:本专利技术包括上位机的操作步骤和DSP下位机的操作步骤;DSP下位机分为DSP升级程序和DSP应用程序两部分,将DSP升级程序放在flash的A扇区,将DSP应用程序放在A以外的其他扇区,当DSP收到更新程序命令时,A扇区的升级程序转至RAM中运行,并可以将应用程序得flash扇区内容擦除,根据通讯协议和通讯内容,重新向DSP应用程序扇区写入新的程序数据;上位机部分需要根据通讯协议,将.hex格式的DSP程序文件按协议通过CAN通讯下发给各个DSP下位机,并检查DSP下位机回传的校验信息,判断升级程序状态,所以本专利技术具有以下有益效果:1.由于本专利技术采用CAN通讯替代传统JTAG仿真器,操作方便并且能够降低成本;2.上位机软件替代传统的Code Composer Studio软件,能够识别.hex格式文件内容,并将内容通过CAN通讯按照协议发送给DSP下位机处理器,操作简单方便;3.在现有DSP应用程序基础上,增加DSP升级程序,使其具有flash擦除、校验和写入等功能;4.当需要升级的产品数量非常多时,利用现有的产品与后台软件之间的CAN通讯,不需要在每台设备去插拔升级线,只需要在电脑上动动鼠标操作,节省了很多时间和人力。
附图说明
[0013]图1是上位机操作流程图;
[0014]图2是DSP下位机操作流程图。
具体实施方式
[0015]如图1和图2所示,在本实施例中,本专利技术包括上位机的操作步骤和DSP下位机的操作步骤;
[0016]所述上位机的操作步骤包括以下步骤:a1.启动上位机软件,实用USB转CAN设备实现收发数据;a2.设置芯片类型;a3.选择要升级的.hex文件,并通过上位机识别读取.hex文件的数据,并根据数据格式核对效验码检查数据的正确性;a4.若核对正确,上位机向DSP下位机发送命令进入升级刷程序模式,并发送握手信号至DSP下位机;a5.与DSP下位机握手成功后,上位机向DSP下位机发送擦除flashCD扇区命令;a6.擦除flashCD扇区成功后,开始读取.hex文件,每读取6个字节数据按照通讯协议发送给DSP下位机,不足6个字节数据的使用0xff填充,等待2毫秒后检查DSP发回来的验证码,如果验证码正确则继续发送下面的6个字节,如果校验码错误,则重发本次的6个字节;a6.上位机读取到A扇区地址时,向DSP下位机发送文件数据并结束指令;
[0017]DSP下位机的操作步骤包括以下步骤:b1.将DSP升级程序全部设置在flash的A扇区,将DSP应用程序部分全部设置在CD扇区;b2.DSP下位机上电复位后,系统初始化并进入flashA扇区的Boot函数,检测在线升级标志位,如果在线升级标志位为0,则进入flashCD扇区的main主函数,如果在线升级标志位为1,则等待接受上位机发送的握手信号;b3.DSP升级程序与上位机握手成功后,清除在线升级标志位,并等待接收上位机发送擦除flashCD扇区命令,如果握手失败,则进入main主函数;b4.DSP升本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于CAN通讯的通用DSP程序在线升级方法,其特征在于:它包括上位机的操作步骤和DSP下位机的操作步骤;所述上位机的操作步骤包括以下步骤:a1.启动上位机软件,实用USB转CAN设备实现收发数据;a2.设置芯片类型;a3.选择要升级的.hex文件,并通过上位机识别读取.hex文件的数据,并根据数据格式核对效验码检查数据的正确性;a4.若核对正确,上位机向DSP下位机发送命令进入升级刷程序模式,并发送握手信号至DSP下位机;a5.与DSP下位机握手成功后,上位机向DSP下位机发送擦除flashCD扇区命令;a6.擦除flashCD扇区成功后,开始读取.hex文件,每读取6个字节数据按照通讯协议发送给DSP下位机,不足6个字节数据的使用0xff填充,等待2毫秒后检查DSP发回来的验证码,如果验证码正确则继续发送下面的6个字节,如果校验码错误,则重发本次的6个字节;a6.上位机读取到A扇区地址时,向DSP下位机发送文件数据并结束指令;DSP下位机的操作步骤包括以下步骤:b1.将DSP升级程序全部设置在flash的A扇区,将DSP应用程序部分全部设置在CD扇区;b2.DSP下位机上电复位后,系统初始化并进入flashA扇区的Boot函数,检测在线升级标志位,如果在线升级标志位为0,则进入flashCD扇区的main主函数,如果在线升级标志位为1,则等待接受上位机发送的握手信号;b3.DSP升级程序与上位机握手成功后...

【专利技术属性】
技术研发人员:李健
申请(专利权)人:珠海九源电力电子科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1