一种基于CANopen协议的DSP应用程序在线升级方法技术

技术编号:23431603 阅读:73 留言:0更新日期:2020-02-25 13:04
本发明专利技术涉及一种基于CANopen协议的DSP应用程序在线升级方法,属于程序在线升级技术领域。本发明专利技术设计了上位机程序和监控程序的运行时序流程,以及程序在线升级所需的CANopen对象字典及子设备协议。首先将DSP应用程序的OUT文件装换为HEX文件,上位机程序通过CAN总线按照设计的设备子协议和流程向监控程序发送升级指令及应用层程序的HEX数据,监控程序接收到相关指令和数据后,擦除应用程序所在的FLASH区,解析HEX数据,将数据烧写入FLASH,实现应用程序的在线升级,无需设备开盖,可降低维护成本。

An online upgrade method of DSP application based on CANopen Protocol

【技术实现步骤摘要】
一种基于CANopen协议的DSP应用程序在线升级方法
本专利技术属于程序在线升级
,具体涉及一种基于CANopen协议的DSP应用程序在线升级方法。
技术介绍
TI公司的28系列DSP芯片拥有大容量的F1ash程序存储器,可以满足大多数程序存储需要,在逆变器控制、电机控制等领域应用广泛。在产品组装完成之后,DSP应用程序若需要更新升级,往往需要产品开盖,再用JTAG口连接仿真器,打开CCS编程环境重新加载.OUT文件。这种升级方法不但繁琐,且还存在安全可靠方面的隐患。
技术实现思路
(一)要解决的技术问题本专利技术要解决的技术问题是:如何通过CANopen协议实现DSP应用程序在线升级。(二)技术方案为了解决上述技术问题,本专利技术提供了、一种基于CANopen协议的DSP应用程序在线升级方法,该方法基于运行上位机程序的上位机和运行DSP程序的DSP两部分实现,DSP程序分为监控程序和应用程序两部分,DSP上电后先执行监控程序。优选地,该方法包括以下步骤:首先执行监控程序、应用程序在DSP中的FLASH存储区分配,然后将应用程序的OUT文件转换为HEX文件,基于HEX文件格式,设计一种CANopen设备子协议以及上位机程序和监控程序的运行流程,上位机程序通过CAN总线按照该CANopen设备子协议和所述运行流程向监控程序发送升级指令及应用程序的HEX数据,监控程序接收到相关指令和数据后,解析HEX数据,调用Flash28335_API库函数擦除FLASH区,将数据烧写入FLASH,实现应用程序的在线升级。优选地,其中,执行监控程序、应用程序在DSP中的FLASH存储区分配具体为:将DSP的FLASH内部存储空间分为两部分,分别用来放监控程序、应用程序,将芯片DSP28335的FLASH存储区分为8个Sector:A、B、C、D、E、F、G、H,每个FLASH区大小为32K字,共计256K字。监控程序较小,存放在A区,DSP上电后程序自动跳转到该区域执行监控程序;应用程序放在其他7个区。优选地,将应用程序的OUT文件转换为HEX文件,具体是使用TI公司提供的Hex2000.exe工具将应用程序的OUT文件装换为HEX文件。优选地,将应用程序的OUT文件转换为HEX文件,具体是在CCS5开发环境中,在工程“Build”选项的“FinalbuildSteps”选项卡的“ApplyPredefinedStep”选项中,选择“Createflashimage:Intel-HEX”选项,每次编译链接时均可默认生成一个*.HEX文件。优选地,所述CANopen设备子协议的设计步骤包括:对象字典设计步骤:在线升级流程中对象包括三类:上位机程序发送的HEX数据、升级指令,以及监控程序发送的FLASH操作状态;因此对象字典定义设计为表1:表1对象字典设备子协议设计步骤:在设备子协议中设计的程序在线升级过程中的升级指令和HEX发送数据内容为表2:表2通信协议优选地,上位机程序运行于PC机中,通过CAN通信板卡与DSP的监控程序通信,用于打开、读取应用程的HEX文件,向DSP的监控程序发送対码指令、FLASH擦除指令、FLASH烧写指令、HEX文件数据,显示升级状态;DSP的监控程序用于接收上位机程序的相关指令和HEX数据后,擦除应用程序所在的FLASH区,解析应用程序的HEX数据,将二进制数据烧写入FLASH,实现应用程序的在线升级;因此,上位机程序和监控程序的运行流程设计为:上位机程序先打开应用程序的HEX文件,DSP再上电,开始运行监控程序;DSP上电15秒内,若监控程序接收到上位机程序发送的升级程序中的对码指令,则根据上位机程序发送的升级程序中的其他指令接收HEX数据,擦除、烧写FLASH;若上电15秒内没有接收到上位机程序发送的对码指令,就跳转至应用程序,执行DSP应用程序。优选地,其中,对于DSP28335芯片的Flash程序数据的擦除、编程和校验操作由Flash28335_API库文件来完成,由于DSPFlash的固有特性,位于Flash某一扇区的程序不能对本扇区或者另一扇区的数据进行擦除、编程和校验,因此,将Flash28335_API库文件从Flash中复制至RAM里运行。(三)有益效果本专利技术设计了上位机程序和监控程序的运行时序流程,以及程序在线升级所需的CANopen对象字典及子设备协议。首先将DSP应用程序的OUT文件装换为HEX文件,上位机程序通过CAN总线按照设计的设备子协议和流程向监控程序发送升级指令及应用层程序的HEX数据,监控程序接收到相关指令和数据后,擦除应用程序所在的FLASH区,解析HEX数据,将数据烧写入FLASH,实现应用程序的在线升级,无需设备开盖,可降低维护成本。附图说明图1是本专利技术带引油的串联式滑油泵总体结构示意图;图2是本专利技术的传动轴和泵壳体引油通道结构示意图;图3是本专利技术泵齿轮安装结构的示意图。具体实施方式为使本专利技术的目的、内容、和优点更加清楚,下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。本专利技术设计了一种基于CANopen协议的DSP应用程序在线升级方法。基于运行上位机程序的上位机和运行DSP程序的DSP两部分实现,DSP程序分为监控程序和应用程序两部分,DSP上电后先执行监控程序,系统架构图如图1所示。该方法的主要流程为:首先执行监控程序、应用程序在DSP中的FLASH存储区分配,然后将应用程序的OUT文件转换为HEX文件,基于HEX文件格式,设计一种CANopen设备子协议以及上位机程序和监控程序的运行流程,上位机程序通过CAN总线按照该CANopen设备子协议和所述运行流程向监控程序发送升级指令及应用程序的HEX数据,监控程序接收到相关指令和数据后,解析HEX数据,调用Flash28335_API库函数擦除FLASH区,将数据烧写入FLASH,实现应用程序的在线升级。其中,执行监控程序、应用程序在DSP中的FLASH存储区分配具体为:将DSP的FLASH(程序存储器)内部存储空间分为两部分,分别用来放监控程序、应用程序,本实施例中,将芯片DSP28335的FLASH存储区分为8个Sector:A、B、C、D、E、F、G、H,每个FLASH区大小为32K字,共计256K字。监控程序较小,存放在A区,DSP上电后程序自动跳转到该区域执行监控程序;应用程序放在其他7个区。CCS环境编译默认生成.OUT目标文件,可使用JTAG接口将其烧写入FLASH,但上位机软件无法解析该文件,不能直接用于上传升级,需进行格式转换。目前使用最广泛的FLASH烧写文件为*.hex文件(Intel-HEX格式),Intel-HEX文件记录了DSP芯片FLASH数据的存储位置,HE本文档来自技高网...

【技术保护点】
1.一种基于CANopen协议的DSP应用程序在线升级方法,其特征在于,该方法基于运行上位机程序的上位机和运行DSP程序的DSP两部分实现,DSP程序分为监控程序和应用程序两部分,DSP上电后先执行监控程序。/n

【技术特征摘要】
1.一种基于CANopen协议的DSP应用程序在线升级方法,其特征在于,该方法基于运行上位机程序的上位机和运行DSP程序的DSP两部分实现,DSP程序分为监控程序和应用程序两部分,DSP上电后先执行监控程序。


2.如权利要求1所述的方法,其特征在于,该方法包括以下步骤:首先执行监控程序、应用程序在DSP中的FLASH存储区分配,然后将应用程序的OUT文件转换为HEX文件,基于HEX文件格式,设计一种CANopen设备子协议以及上位机程序和监控程序的运行流程,上位机程序通过CAN总线按照该CANopen设备子协议和所述运行流程向监控程序发送升级指令及应用程序的HEX数据,监控程序接收到相关指令和数据后,解析HEX数据,调用Flash28335_API库函数擦除FLASH区,将数据烧写入FLASH,实现应用程序的在线升级。


3.如权利要求2所述的方法,其特征在于,其中,执行监控程序、应用程序在DSP中的FLASH存储区分配具体为:
将DSP的FLASH内部存储空间分为两部分,分别用来放监控程序、应用程序,将芯片DSP28335的FLASH存储区分为8个Sector:A、B、C、D、E、F、G、H,每个FLASH区大小为32K字,共计256K字。监控程序较小,存放在A区,DSP上电后程序自动跳转到该区域执行监控程序;应用程序放在其他7个区。


4.如权利要求3所述的方法,其特征在于,将应用程序的OUT文件转换为HEX文件,具体是使用TI公司提供的Hex2000.exe工具将应用程序的OUT文件装换为HEX文件。


5.如权利要求3所述的方法,其特征在于,将应用程序的OUT文件转换为HEX文件,具体是在CCS5开发环境中,在工程“Build”选项的“FinalbuildSteps”选项卡的“ApplyPredefinedStep”选项中,选择“Createflashimage:Intel-HEX”选项,每次编译链接时均可...

【专利技术属性】
技术研发人员:张慧勇白璐瑶贾梦黄莹
申请(专利权)人:北京特种机械研究所
类型:发明
国别省市:北京;11

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

1