DSP中程序烧写方法、装置以及车辆与流程

文档序号:14714072发布日期:2018-06-16 00:59阅读:751来源:国知局
DSP中程序烧写方法、装置以及车辆与流程

本发明涉及汽车技术领域,尤其涉及一种DSP中程序烧写方法、装置以及车辆。



背景技术:

随着汽车技术以及CAN(Controller Area Network,控制器局域网络)网络技术的不断发展,传统的利用仿真器直接对控制器的硬件板进行程序更新的方法已经不能满足用户需求。

相关技术中,例如公开号为CN104216714A、发明名称为“基于CAN总线的DSP程序烧写方法”的发明专利中,通过利用升级标志位判断目标程序是否需要升级,而后通过解锁交互信号来判断目标程序能否进入烧写流程,其中,烧写到DSP芯片中的程序是将目标程序的源文件转换为十六进制后,再转换成二进制的格式烧入。

这种方案的转换过程过于繁琐,程序烧写速度较慢,且并未考虑到在实车上进行程序升级时,车辆上同一CAN网络上除DSP以外的设备也在工作,若采用这种方案升级程序,网络负载率较高,程序升级的时间较长,且升级的成功率较低。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的一个目的在于提出一种DSP中程序烧写方法,能够有效提高程序升级成功的概率,降低网络负载率,提高程序烧写速度,降低程序的升级时间。

本发明的另一个目的在于提出一种DSP中程序烧写装置。

本发明的另一个目的在于提出一种车辆。

为达到上述目的,本发明第一方面实施例提出的DSP中程序烧写方法,包括:连接DSP与上位机,并检测是否存在对DSP中程序进行烧写的烧写指令;在存在所述烧写指令时,生成禁言指令,其中,所述禁言指令用于禁止所述DSP所属CAN网络中,除所述DSP以外的设备发送报文;将所述禁言指令发送至所述设备,并根据所述烧写指令接收需要烧录的目标程序的源文件;对所述源文件的文件格式进行转换,得到转换后的程序,并根据所述转换后的程序对所述DSP中程序进行烧写。

本发明第一方面实施例提出的DSP中程序烧写方法,通过在存在烧写指令时,生成禁言指令,其中,禁言指令用于禁止DSP所属CAN网络中,除DSP以外的设备发送报文;将禁言指令发送至设备,并根据烧写指令接收需要烧录的目标程序的源文件;对源文件的文件格式进行转换,得到转换后的程序,并根据转换后的程序对DSP中程序进行烧写,能够有效提高程序升级成功的概率,降低网络负载率,提高程序烧写速度,降低程序的升级时间。

为达到上述目的,本发明第二方面实施例提出的DSP中程序烧写装置,包括:连接模块,用于连接DSP与上位机;检测模块,用于检测是否存在对DSP中程序进行烧写的烧写指令;第一生成模块,用于在存在所述烧写指令时,生成禁言指令,其中,所述禁言指令用于禁止所述DSP所属CAN网络中,除所述DSP以外的设备发送报文;第一发送模块,用于将所述禁言指令发送至所述设备;第一接收模块,用于根据所述烧写指令接收需要烧录的目标程序的源文件;转换模块,用于对所述源文件的文件格式进行转换,得到转换后的程序;烧写模块,用于根据所述转换后的程序对所述DSP中程序进行烧写。

本发明第二方面实施例提出的DSP中程序烧写装置,通过在存在烧写指令时,生成禁言指令,其中,禁言指令用于禁止DSP所属CAN网络中,除DSP以外的设备发送报文;将禁言指令发送至设备,并根据烧写指令接收需要烧录的目标程序的源文件;对源文件的文件格式进行转换,得到转换后的程序,并根据转换后的程序对DSP中程序进行烧写,能够有效提高程序升级成功的概率,降低网络负载率,提高程序烧写速度,降低程序的升级时间。

为达到上述目的,本发明第三方面实施例提出的车辆,包括:如本发明第二方面实施例所述的DSP中程序烧写装置。

本发明第三方面实施例提出的车辆,通过在存在烧写指令时,生成禁言指令,其中,禁言指令用于禁止DSP所属CAN网络中,除DSP以外的设备发送报文;将禁言指令发送至设备,并根据烧写指令接收需要烧录的目标程序的源文件;对源文件的文件格式进行转换,得到转换后的程序,并根据转换后的程序对DSP中程序进行烧写,能够有效提高程序升级成功的概率,降低网络负载率,提高程序烧写速度,降低程序的升级时间。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1是本发明一实施例提出的DSP中程序烧写方法的流程示意图;

图2是本发明另一实施例提出的DSP中程序烧写方法的流程示意图;

图3是本发明另一实施例提出的DSP中程序烧写方法的流程示意图;

图4是本发明另一实施例提出的DSP中程序烧写方法的流程示意图;

图5是本发明一实施例提出的DSP中程序烧写装置的结构示意图;

图6是本发明另一实施例提出的DSP中程序烧写装置的结构示意图;

图7是本发明一实施例提出的车辆的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。

图1是本发明一实施例提出的DSP中程序烧写方法的流程示意图。本发明实施例以该DSP中程序烧写方法被配置为DSP中程序烧写装置中来举例说明。

参见图1,该DSP中程序烧写方法包括:

S11:连接DSP与上位机。

在本发明的实施例中,DSP(Digital Signal Processing,数字信号处理器)的型号可以例如为28335;上位机可以基于LabView开发环境生成。

相关技术中,通过判断升级标志位和解锁交互信号来判断目标程序能否进行程序升级,并未考虑到实车上除DSP以外的设备所带来的网络负载率的干扰因素的影响,且烧写到DSP芯片中的程序是将目标程序的源文件转换为十六进制后,再转换成二进制的格式烧入,这种方式下,网络负载率较高,程序烧写速度较慢,升级时间较长,且升级成功率较低。

而本发明的实施例中,通过在存在对DSP中程序进行烧写的烧写指令时,禁止所述DSP所属CAN网络中,除所述DSP以外的设备发送报文,能够有效提高目标程序升级成功的概率,降低网络负载率,通过将.out格式目标程序的源文件转换为.hex格式的文件,对目标程序的源文件的文件格式(.out格式)转换为.hex格式,根据转换后的程序对DSP中程序进行烧写,能够提高程序烧写速度,降低程序的升级时间。

可选地,在DSP连接上位机后,首先,需要将待烧写的DSP硬件开盖,利用仿真器将用CCS(Code Composer Studio,代码调试器)软件编写好的bootloader(引导加载程序)程序刷入DSP芯片内,对于同一硬件而言,该操作一般只需进行一次,除非bootloader程序也需升级时,才需进行第二次同样的操作,而后,可以对DSP的内存进行分配,将DSP中的程序分配至Flash扇区中的某一个扇区内,接着,可以通过ECAN(Enhance Controller Area Network,增强控制器局域网络)模块进行数据通信,在CAN网络的bootloader程序中,ECAN模块负责下载bootloader程序所需数据,并进行上位机和下位机之间的信号交互。

一些实施例中,参见图2,在步骤S11之后,该DSP中程序烧写方法还包括:

S21:在上位机的控制面板中提供路径选取入口。

例如,可以利用基于LabView开发环境生成的上位机,将车辆CAN网络中的诊断接口作为路径选取入口。

S22:基于路径选取入口接收用户选取的需要烧录的目标程序的源文件的存储路径。

在本发明的实施例中,目标程序为最终在DSP中需要烧录的程序,目标程序的源文件的格式为.out格式,本发明实施例需要将.out格式的源文件转换为.hex格式的文件,最终在.hex格式的文件中的目标程序将被DSP执行。

可选地,利用基于LabView开发环境生成的上位机,直接通过车辆CAN网络中的诊断接口,选择对应的波特率以及CAN通道,利用CAN盒接收用户选取的CCS软件上需要烧录的目标程序的源文件的存储路径,以将目标程序写入DSP芯片内。

用户可以直接在上位机的控制面板中选择需要烧录的目标程序的源文件.out格式的存储路径,操作简单方便。

本实施例中,通过在上位机的控制面板中提供路径选取入口,基于路径选取入口接收用户选取的需要烧录的目标程序的源文件的存储路径,能够简化操作步骤,提高DSP烧写速度。

S12:检测是否存在对DSP中程序进行烧写的烧写指令。

在本发明的实施例中,烧写指令用于触发对DSP中的程序进行烧写,烧写指令可以由上位机触发。

可选地,检测是否存在对DSP中程序进行烧写的烧写指令,在不存在烧写指令时,则运行DSP中的程序;在存在烧写指令时,禁止DSP所属CAN网络中,除DSP以外的设备发送报文,能够有效提高目标程序升级成功的概率,降低网络负载率。

S13:在存在烧写指令时,生成禁言指令,其中,禁言指令用于禁止DSP所属CAN网络中,除DSP以外的设备发送报文。

需要说明的是,由于车辆网络负载率的影响,在进行程序升级的过程中,车辆上待烧写DSP所属CAN网络中,除DSP以外的设备会同时得电工作,即向CAN网络发送CAN数据信息,对所述CAN网络的负载率有很大的影响,而且,在负载率超过一定阈值时,会对CAN数据的内容造成影响,降低程序升级的成功率。

因此,本发明实施例提出了禁言策略,即在存在烧写指令时,生成禁言指令,禁止DSP所属CAN网络中,除DSP以外的设备发送报文,能够减少CAN网络的负载率,有效提高程序升级的传输率及成功率。

S14:将禁言指令发送至设备,并根据烧写指令接收需要烧录的目标程序的源文件。

在本发明的实施例中,可以通过CAN网络中的诊断接口接收需要烧录的目标程序的源文件。

可选地,在存在烧写指令时,bootloader程序可以周期性地向DSP所属CAN网络发送禁言指令,所述CAN网络中除DSP以外的设备在收到禁言指令后,停止向CAN网络中发送CAN报文。同时,通过CAN网络中的诊断接口接收需要烧录的目标程序的源文件,以对DSP中程序进行更新。

一些实施例中,参见图3,在步骤S14之后,

S31:接收上位机发送的预设标志位。

在本发明的实施例中,预设标志位例如为传输标志位,用以判断需要烧录的目标程序的源文件是否被Bootloader程序接收完毕。

可选地,当上位机将需要烧录的目标程序的源文件全部传输完毕后,可以发送一个传输标志位,即预设标志位,bootloader程序接收上位机发送的预设标志位,以判断需要烧录的目标程序的源文件是否接收完毕。

S32:根据预设标志位判断是否接收完毕需要烧录的目标程序的源文件。

可选地,根据预设标志位判断是否接收完毕需要烧录的目标程序的源文件,在未接收完毕需要烧录的目标程序的源文件时,bootloader程序可以根据上位机的传输速度判断接收源文件的时间是否超过预设时间阈值,若未超过预设时间阈值,则继续等待接收需要烧录的目标程序的源文件(参见下述步骤S414),否则,运行DSP中的程序;在接收完毕需要烧录的目标程序的源文件时,生成解禁指令,允许DSP所属CAN网络中,除DSP以外的设备发送报文。

S33:在接收完毕需要烧录的目标程序的源文件时,生成解禁指令,其中,解禁指令用于允许DSP所属CAN网络中,除DSP以外的设备发送报文。

可选地,在接收完毕需要烧录的目标程序的源文件时,生成解禁指令,允许DSP所属CAN网络中,除DSP以外的设备发送报文。

S34:将解禁指令发送至设备,以允许设备在CAN网络中发送报文。

通过将解禁指令发送至设备,以允许设备在CAN网络中发送报文,能够不影响整车中其他设备的正常运行,保证系统的稳定性。

本实施例中,通过在接收完毕需要烧录的目标程序的源文件时,生成解禁指令,其中,解禁指令用于允许DSP所属CAN网络中,除DSP以外的设备发送报文,将解禁指令发送至设备,以允许设备在CAN网络中发送报文,能够不影响整车中其他设备的正常运行,保证系统的稳定性。

S15:对源文件的文件格式进行转换,得到转换后的程序。

在本发明的实施例中,可以基于LabView开发环境将.out格式的源文件转换为.hex格式的文件,并将.hex格式的文件中的程序代码作为转换后的程序。

首先,可以基于LabView开发环境将CCS软件生成的.out格式的源文件的每条代码转换为32字节(等字节长度处理,便于bootloader代码的接收处理),生成的.hex格式的文件的内容依次为:该行代码的有效代码个数、该行代码的起始地址、该行代码的开始标志位、该行代码的有效代码内容,以及该行代码的校验码,其中,有效代码个数、起始地址,以及开始标志位命名为“头”,校验码命名为“尾”。而后,可以利用上位机或其他方式对.hex格式的文件的代码进行进一步地处理,采取掐头去尾的方式提取文件中的有效代码,即,基于LabView开发环境将生成的.hex格式的文件中的头和尾去掉,再利用CAN通讯实现上位机与下位机之间的信号通信。

可选地,可以基于LabView开发环境将.out格式的源文件转换为.hex格式的文件,能够更加方便地进行目标程序的升级;同时,在利用CCS软件提取.out格式的源文件时,还需修改.cmd格式的文件,合理分配需要烧录的目标程序所属烧写扇区的内存大小,能够避免由于内存不足而导致目标程序内容的错误,有效提升程序升级的成功率。

S16:根据转换后的程序对DSP中程序进行烧写。

在本发明的实施例中,可以基于LabView开发环境将.hex格式的文件烧写入DSP的芯片中,以根据转换后的程序对DSP中程序进行烧写。

本实施例中,通过在存在烧写指令时,生成禁言指令,其中,禁言指令用于禁止DSP所属CAN网络中,除DSP以外的设备发送报文;将禁言指令发送至设备,并根据烧写指令接收需要烧录的目标程序的源文件;对源文件的文件格式进行转换,得到转换后的程序,并根据转换后的程序对DSP中程序进行烧写,能够有效提高程序升级成功的概率,降低网络负载率,提高程序烧写速度,降低程序的升级时间。

图4是本发明另一实施例提出的DSP中程序烧写方法的流程示意图。

S401:连接DSP与上位机。

S402:在上位机的控制面板中提供路径选取入口。

S403:基于路径选取入口接收用户选取的需要烧录的目标程序的源文件的存储路径。

S401~S403的执行过程可以参见上述实施例,在此不作赘述。

S404:检测是否存在对DSP中程序进行烧写的烧写指令,若是,执行S405,否则,执行S415。

可选地,检测是否存在对DSP中程序进行烧写的烧写指令,在不存在烧写指令时,则运行DSP中的程序;在存在烧写指令时,禁止DSP所属CAN网络中,除DSP以外的设备发送报文,能够有效提高目标程序升级成功的概率,降低网络负载率。

S405:生成禁言指令,其中,禁言指令用于禁止DSP所属CAN网络中,除DSP以外的设备发送报文。

S406:将禁言指令发送至设备。

S407:根据烧写指令接收需要烧录的目标程序的源文件。

S408:接收上位机发送的预设标志位。

S405~S408的执行过程可以参见上述实施例,在此不作赘述。

S409:根据预设标志位判断是否接收完毕需要烧录的目标程序的源文件,若是,执行S410,否则,执行S414。

可选地,根据预设标志位判断是否接收完毕需要烧录的目标程序的源文件,在未接收完毕需要烧录的目标程序的源文件时,bootloader程序可以根据上位机的传输速度判断接收源文件的时间是否超过预设时间阈值,若在预设时间阈值内,则继续等待接收需要烧录的目标程序的源文件,否则,运行DSP中的程序;在接收完毕需要烧录的目标程序的源文件时,生成解禁指令,允许DSP所属CAN网络中,除DSP以外的设备发送报文。

S410:生成解禁指令,其中,解禁指令用于允许DSP所属CAN网络中,除DSP以外的设备发送报文。

S411:将解禁指令发送至设备,以允许设备在CAN网络中发送报文。

S412:对源文件的文件格式进行转换,得到转换后的程序。

S413:根据转换后的程序对DSP中程序进行烧写。

S410~S413的执行过程可以参见上述实施例,在此不作赘述。

S414:判断接收源文件的时间是否超过预设时间阈值,若是,执行S415,否则,执行S407。

在本发明的实施例中,预设时间阈值为预先设置的,预设时间阈值例如可以为DSP中程序烧写时间。

可选地,假设上位机发送需要烧录的目标程序的时间为T1,bootloader程序接收所述目标程序的时间为T2,则DSP中程序烧写时间T=T1+T2,即预设时间阈值为T1+T2。

可选地,在接收源文件的时间在预设时间阈值T内,继续等待接收需要烧录的目标程序的源文件;在接收源文件的时间超过预设时间阈值T时,运行DSP中的程序。

S415:运行DSP中的程序。

本实施例中,通过在上位机的控制面板中提供路径选取入口,基于路径选取入口接收用户选取的需要烧录的目标程序的源文件的存储路径,能够简化操作步骤,提高DSP烧写速度。通过在存在烧写指令时,生成禁言指令,其中,禁言指令用于禁止DSP所属CAN网络中,除DSP以外的设备发送报文,能够减少CAN网络的负载率,有效提高程序升级的传输率及成功率。通过在接收完毕需要烧录的目标程序的源文件时,生成解禁指令,其中,解禁指令用于允许DSP所属CAN网络中,除DSP以外的设备发送报文,将解禁指令发送至设备,以允许设备在CAN网络中发送报文,能够不影响整车中其他设备的正常运行,保证系统的稳定性。通过对源文件的文件格式进行转换,得到转换后的程序,根据转换后的程序对DSP中程序进行烧写,能够避免由于内存不足而导致目标程序内容的错误,有效提升程序升级的成功率。

图5是本发明一实施例提出的DSP中程序烧写装置的结构示意图。该DSP中程序烧写装置50可以通过软件、硬件或者两者的结合实现。

参见图5,该DSP中程序烧写装置50包括:连接模块501、检测模块502、第一生成模块503、第一发送模块504、第一接收模块505、转换模块506,以及烧写模块507。其中,

连接模块501,用于连接DSP与上位机。

可选地,DSP的型号为28335;上位机基于LabView开发环境生成。

检测模块502,用于检测是否存在对DSP中程序进行烧写的烧写指令。

第一生成模块503,用于在存在烧写指令时,生成禁言指令,其中,禁言指令用于禁止DSP所属CAN网络中,除DSP以外的设备发送报文。

第一发送模块504,用于将禁言指令发送至设备。

第一接收模块505,用于根据烧写指令接收需要烧录的目标程序的源文件。

可选地,第一接收模块505具体用于:通过CAN网络中的诊断接口接收需要烧录的目标程序的源文件。

转换模块506,用于对源文件的文件格式进行转换,得到转换后的程序。

可选地,转换模块506具体用于:基于LabView开发环境将.out格式的源文件转换为.hex格式的文件,并将.hex格式的文件中的程序代码作为转换后的程序。

烧写模块507,用于根据转换后的程序对DSP中程序进行烧写。

可选地,烧写模块507具体用于:基于LabView开发环境将.hex格式的文件烧写入DSP的芯片中,以根据转换后的程序对DSP中程序进行烧写。

一些实施例中,参见图6,该DSP中程序烧写装置50还可以包括:

第二接收模块508,用于接收上位机发送的预设标志位。

判断模块509,用于根据预设标志位判断是否接收完毕需要烧录的目标程序的源文件。

第二生成模块510,用于在接收完毕需要烧录的目标程序的源文件时,生成解禁指令,其中,解禁指令用于允许DSP所属CAN网络中,除DSP以外的设备发送报文。

第二发送模块511,用于将解禁指令发送至设备,以允许设备在CAN网络中发送报文。

提供模块512,用于在上位机的控制面板中提供路径选取入口。

第三接收模块513,用于基于路径选取入口接收用户选取的需要烧录的目标程序的源文件的存储路径。

需要说明的是,前述图1-图4实施例中对DSP中程序烧写方法实施例的解释说明也适用于该实施例的DSP中程序烧写装置50,其实现原理类似,此处不再赘述。

本实施例中,通过在存在烧写指令时,生成禁言指令,其中,禁言指令用于禁止DSP所属CAN网络中,除DSP以外的设备发送报文;将禁言指令发送至设备,并根据烧写指令接收需要烧录的目标程序的源文件;对源文件的文件格式进行转换,得到转换后的程序,并根据转换后的程序对DSP中程序进行烧写,能够有效提高程序升级成功的概率,降低网络负载率,提高程序烧写速度,降低程序的升级时间。

基于上述实施例,本发明还提出一种车辆。

图7是本发明一实施例提出的车辆的结构示意图。如图7所示,车辆1000包括上述实施例的DSP中程序烧写装置50。

需要说明的是,本发明实施例的车辆1000中未披露的细节,请参考本发明实施例的DSP中程序烧写装置50中所披露的细节,此处不再赘述。

本发明实施例的车辆,通过在存在烧写指令时,生成禁言指令,其中,禁言指令用于禁止DSP所属CAN网络中,除DSP以外的设备发送报文;将禁言指令发送至设备,并根据烧写指令接收需要烧录的目标程序的源文件;对源文件的文件格式进行转换,得到转换后的程序,并根据转换后的程序对DSP中程序进行烧写,能够有效提高程序升级成功的概率,降低网络负载率,提高程序烧写速度,降低程序的升级时间。

需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1