发明内容
本发明要解决的技术问题在于,针对DSP控制单板设备远程升级时不能直接利用DSP工程文件进行烧写的缺陷,提供一种DSP控制单板设备及其远程升级方法和服务器,以简单高效地实现DSP控制单板的远程程序升级。
本发明解决其技术问题所采用的技术方案是:构造一种DSP控制单板设备及其远程升级方法和服务器,通过由远程升级服务器提取更新版本软件的DSP工程文件中的机器码数据,通过通信组帧之后发送,而DSP控制单板通过通信装置接收后利用所述更新版本软件的机器码数据烧写片内FLASH,以完成升级配置。
根据本发明的第一方面,提供了一种DSP控制单板设备的远程升级方法,应用在DSP控制单板设备中,所述DSP控制单板设备包括含有片内FLASH的DSP控制单板、与所述DSP控制单板相连的实现DSP控制单板与远程升级服务器之间通信的通信装置;所述方法包括以下步骤:
S1、由远程升级服务器发送远程升级命令以及更新版本软件的机器码数据;
S2、所述DSP控制单板通过所述通信装置接收远程升级命令后,开始接收更新版本软件的机器码数据,并利用所述更新版本软件的机器码数据烧写片内FLASH以完成配置。
在根据本发明第一方面的一些实施例中,所述DSP控制单板设备还包括与所述DSP控制单板相连的片外FLASH,所述步骤S2包括:
S21、DSP控制单板在通过装置接收远程升级命令后,开始接收更新版本软件的机器码数据并存入所述片外的FLASH内;
S22、DSP控制单板在判断接收数据完成后,从片外的FLASH中读取更新版本软件的机器码数据并烧写片内FLASH以完成配置。
根据本发明第二方面,提供了一种DSP控制单板设备的远程升级服务器,所述远程升级服务器包括:
机器码提取模块,用于提取更新版本软件的机器码数据;
数据帧组织模块,用于将所述更新版本软件的机器码数据、远程升级命令与远程端的地址信息、校验信息进行组帧获得通信数据帧;
服务器通信模块,用于将所述通信数据帧发送给远程端的DSP控制单板设备以提供更新版本软件的机器码数据。
根据本发明的第三方面,提供了一种DSP控制单板设备,所述DSP控制单板设备包括:含有片内FLASH的DSP控制单板、与所述DSP控制单板相连的实现DSP控制单板与远程升级服务器之间通信的通信装置;所述DSP控制单板通过所述通信装置接收所述远程升级服务器发出的远程升级命令后,开始接收更新版本软件的机器码数据并利用所述更新版本软件的机器码数据烧写片内FLASH以完成配置。
在根据本发明的第三方面的一些实施例中,所述DSP控制单板设备还包括与所述DSP控制单板相连的片外FLASH;所述DSP控制单板通过所述通信装置接收所述远程升级服务器发出的远程升级命令后,开始接收更新版本软件的机器码数据并存入所述片外FLASH内;所述DSP控制单板在判断接收数据完成后,从片外FLASH中读取更新版本软件的机器码数据并烧写片内FLASH以完成配置。
根据本发明的第四方面,提供了一种风能变流器的远程升级方法,所述风能变流器包括:含有片内FLASH的DSP控制单板、与之相连的实现DSP控制单板与远程升级服务器之间通信的通信装置;所述方法为根据本发明第一方面所述的方法,且所述更新版本软件为所述风能变流器的DSP控制单板的更新版本软件。
根据本发明的第五方面,提供了一种风能变流器的远程升级服务器,所述风能变流器的远程升级服务器为根据本发明第二方面所述的DSP控制单板设备的远程升级服务器,且所述更新版本软件为所述风能变流器的DSP控制单板的更新版本软件。
根据本发明的第六方面,提供了一种风能变流器,所述风能变流器为根据本发明第三方面所述的DSP控制单板设备,且所述更新版本软件为所述风能变流器的DSP控制单板的更新版本软件。
实施本发明的DSP控制单板设备及其远程升级方法、远程升级服务器,具有以下有益效果:本发明直接将更新版本软件的机器码发送给远程端的DSP控制单板,并利用该机器码直接对DSP控制单板片内FLASH进行烧写;相对于利用更新版本软件的DSP工程文件进行烧写而言,通过机器码进行烧写不需要使用专门的烧写设备,且机器码所占用的片内FLASH空间较小。
实施本发明进一步的技术方案,可以获得以下有益效果:
1、本发明主要通过利用编译DSP工程文件时生成的地址映射文件,查找DSP控制单板的片内FLASH的起始地址及更新版本软件的数据长度,从而从更新版本软件的DSP工程文件中提取机器码数据作为远程传送的升级数据,在提取过程中充分地提取出DSP工程文件中的有效信息即机器码,极大地节省了占用的空间。
2、本发明提供的远程升级方法及远程升级服务器还采用硬件加密狗进行服务器的操作权限管理,保证了升级服务器的安全性。
3、本发明还在DSP控制单板设备内设有与所述DSP控制单板相连的片外FLASH,从而利用片外FLASH来作为中转,以避免直接对片内FLASH进行擦写过程中存在的风险,例如网络的中断造成的升级数据的缺失或错误。
4、本发明还通过在DSP控制单板内设置多个功能模块,包括控制板通信模块、升级启动模块和升级数据加载模块,来依次执行升级的过程,保障了升级的顺利进行。
5、本发明的升级配置模块还在更新版本软件的机器码数据接收完成后对数据进行校验,如果数据校验正确则进行烧写,错误则启动升级启动模块来重新接收远程升级命令;这样可以避免利用错误的数据来擦写片内FLASH造成的风险。
6、在本发明的烧写片内FLASH过程中分块提取片外FLASH中的更新版本软件的机器码数据进行配置直至所有机器码数据配置完毕,可以极大地降低RAM的使用。
7、本发明中所采用的通信装置为用于提供Internet接入RS232接口转换的智能设备网关,或者带RS232接口的GPRS通信模块,从而可以通过Internet网络或GPRS网络发送升级数据,简化了硬件建设。
8、本发明还将上述DSP控制单板设备及其远程升级方法和服务器,应用在风能变流器领域中,将风能变流器的更新版本软件的机器码通过远程传送给风能变流器的DSP控制单板,以对其进行快速高效地升级,从而不需要技术人员上门维护,减少了公司的维护成本。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
本发明的主要目的是提供一种DSP控制单板设备及其远程升级方法和远程升级服务器,特别是应用于风能发电系统的可远程升级的风能变流器及其DSP控制单板的远程升级方法和远程升级服务器,以简单高效地实现DSP控制单板的远程程序升级。
请参阅图1,为本发明第一实施例中远程升级系统架构图,包括远程升级服务器10和DSP控制单板设备20。两者之间通过网络进行远程数据传输。
其中,可以看到提供了一种DSP控制单板设备20,包括含有片内FLASH22的DSP控制单板21以及通信装置23。通信装置23与DSP控制单板21相连,主要用于实现DSP控制单板21与远程升级服务器10之间的通信连接。由于DSP控制单板21的接口为RS232接口,所以通常通信装置23可以提供通信网络接入RS232的转换。远程升级服务器10用于发送远程升级命令以及更新版本软件的机器码数据。所述DSP控制单板21通过通信装置23接收远程升级命令后,开始接收更新版本软件的机器码数据,并利用该更新版本软件的机器码数据烧写片内FLASH22以完成配置。通信装置23可以为用于提供Internet接入RS232接口转换的智能设备网关或者带RS232接口的GPRS通信模块。从而可以通过Internet网络或GPRS网络发送升级数据,简化了硬件建设。
本发明直接将更新版本软件的机器码发送给远程端的DSP控制单板21,并利用该机器码直接对DSP控制单板21片内FLASH22进行烧写;相对于利用更新版本软件的DSP工程文件进行烧写而言,通过机器码进行烧写不需要使用专门的烧写设备,且机器码所占用的片内FLASH22空间较小。
请参阅图2,为本发明第二实施例中远程升级系统架构图。如图2所示,第二实施例的远程升级系统架构与第一实施例基本相同,区别仅在于,在DSP控制单板设备20中增设了片外FLASH24,构成了另一种DSP控制单板设备20,其中片外FLASH24与DSP控制单板21相连,用作升级数据即更新软件版本的机器码数据的缓存。所述DSP控制单板21通过所述通信装置23接收远程升级服务器10发出的远程升级命令后,开始接收更新版本软件的机器码数据并存入所述片外FLASH24内。DSP控制单板21在判断接收数据完成后,从片外FLASH24中读取更新版本软件的机器码数据并烧写片内FLASH22以完成配置。本实施例在DSP控制单板设备内设置片外FLASH24,从而利用片外FLASH24来作为中转,以避免直接对片内FLASH22进行擦写过程中存在的风险,例如网络的中断造成的升级数据的缺失或错误。
下面分别对本发明提供的远程升级服务器10的构建与实现原理进行说明。请参阅图3,为本发明优选实施例中远程升级服务器的模块示意图。如图3所示,本发明提供的远程升级服务器10主要包括:机器码提取模块110、数据帧组织模块120和服务器通信模块130。其中机器码提取模块110,用于提取更新版本软件的机器码数据。数据帧组织模块120用于将更新版本软件的机器码数据、远程升级命令与远程端的地址信息、校验信息进行组帧获得通信数据帧。远程端的地址信息包括每一块DSP控制单板的编码,从而能够保证同一IP地址下的多块DSP控制单板具有唯一的标志码。在此采用的校验可以为CRC校验。服务器通信模块130用于将通信数据帧发送给远程端的DSP控制单板设备以提供更新版本软件的机器码数据。服务器通信模块130发送的信号中包含了远程升级命令,因此远程端的DSP控制单板设备20在接收到远程升级命令后就能加载更新版本软件的机器码数据。本发明中服务器通信模块130可以通过Internet或者GPRS将通信数据帧发送给远程端的DSP控制单板设备20。本发明在远程升级服务器10中先提取更新版本软件的机器码数据,再与远程升级命令和远程端的地址信息、校验信息进行通信组帧,从而准确快捷地利用网络将机器码数据发送给远程端的DSP控制单板设备20。
此外,在本发明的进一步优选实施例中,远程升级服务器10还可以采用硬件加密狗进行权限管理,具有硬件加密狗的人员可以对远程的DSP控制设备(如风能变流器)进行程序升级。即可以在远程升级服务器10中增设用户验证模块100,用于采用硬件加密狗进行服务器的操作权限管理。因此,用户验证模块100可以对用户操作指令进行验证,根据验证结果及用户指示进一步开启远程程序升级,保证了升级服务器的安全性。
考虑到在CCS集成编译环境下编译的可烧写的原始DSP工程文件中包含了大量的编译信息,而在实际烧写过程中只需要使用其中的部分有效信息即可,因此本发明的主要独特之处在于直接从DSP工程文件中提取机器码进行远程传输并烧写。可见机器码的提取是本发明远程升级过程中的一个重要环节,只有有效提取出机器码后,才能利用其对DSP控制单板的程序进行升级。
请结合参阅图4,为本发明优选实施例中机器码提取模块的模块示意图。本发明经过对DSP内部结构的分析,提供了一种有效地机器码的提取方法。机器码提取模块110包括文件编译单元111、地址提取单元112和机器码提取单元113。
其中,文件编译单元111用于获取在集成编译环境下编译并保存的更新版本软件的DSP工程文件,同时生成对应地址映射文件。
地址提取单元112用于根据地址映射文件(即后缀为.map文件)查找DSP控制单板的片内FLASH的起始地址及更新版本软件的数据长度。
机器码提取单元113用于利用所述片内FLASH的起始地址及更新版本软件的数据长度,通过软件直接从更新版本软件的DSP工程文件中提取机器码数据。
例如,经过查找地址映射文件,找到DSP控制单板片内FLASH的首地址为0x3e8000,我们需要提取的数据长度为0x400,那么我们就可以据此提取出更新版本软件的机器码数据。取得机器码后,将机器码存在远程升级服务器的软件中。再由远程升级服务器软件完成通信组帧、通信程序发送的过程。本发明主要通过利用编译DSP工程文件时生成的地址映射文件,查找DSP控制单板的片内FLASH的起始地址及更新版本软件的数据长度,从而从更新版本软件的DSP工程文件中提取机器码数据作为远程传送的升级数据,在提取过程中充分地提取出DSP工程文件中的有效信息即机器码,极大地节省了占用的空间。为便于说明,本文中也将更新版本软件的机器码数据简称为升级数据。
下面对本发明提供的DSP控制单板设备20的构建和实现原理进行说明。请参阅图5,为图2中DSP控制设备的具体模块示意图。DSP控制单板21进一步包括控制板通信模块211、升级启动模块212、升级数据加载模块213和升级配置模块214。
其中,控制板通信模块211与通信装置23相连,用于通过所述通信装置23与远程升级服务器10通信。
升级启动模块212与控制板通信模块211相连,用于通过控制板通信模块211接收远程升级命令后,向升级数据加载模块213发送升级启动信号。
升级数据加载模块213与升级启动模块212、控制板通信模块211相连,用于接收所述升级启动信号,通过控制板通信模块213接收更新版本软件的机器码数据并写入片外FLASH24,在接受数据结束时发送升级数据接收完成信号。
升级配置模块214与升级数据加载模块213、片外FLASH24相连,用于接收升级数据接收完成信号,配置并启动烧写程序,从片外FLASH24中读取更新版本软件的机器码数据并烧写片内FLASH22以完成配置。请参阅图6,为图5中升级配置模块214的具体模块示意图。如图6所示,升级配置模块214进一步包括数据校验单元2141和程序烧写单元2142,所述数据校验单元2141用于在接收到升级数据接收完成信号后对接收的更新版本软件的机器码数据进行校验,正确则发送启动烧写命令给程序烧写单元2142,错误则发送重启命令启动升级启动模块212重新接收远程升级命令。程序烧写单元2142用于在接受到启动烧写命令后配置并启动烧写程序,从片外FLASH24中读取更新版本软件的机器码数据并烧写片内FLASH22以完成配置,并对DSP控制单板21复位以执行更新的程序。这样可以避免利用错误的数据来擦写片内FLASH造成的风险。程序烧写单元2142在从片外FLASH24中读取更新版本软件的机器码数据烧写片内FLASH22时,分块提取片外FLASH24中的更新版本软件的机器码数据进行配置直至所有机器码数据配置完毕,可以极大地降低RAM的使用。
本发明相应提供了上述DSP控制单板设备的远程升级方法。请参阅图7,为本发明第一实施例中DSP控制单板设备的远程升级方法流程图。该实施例的方法是以图1所示的远程升级系统架构为基础的,该方法主要包括以下步骤:
首先在步骤S1中,由远程升级服务器10发送远程升级命令以及更新版本软件的机器码数据。
随后在步骤S2中,DSP控制单板21通过通信装置23来接收远程升级服务器发出的指令。DSP控制单板21不断检测是否接收到远程升级命令,在接收到远程升级命令后开始接收更新版本软件的机器码数据。在本实施例中,DSP控制单板21可以直接将该更新版本软件的机器码数据烧写到片内FLASH22中以完成升级配置。然后DSP控制单板21就可以直接从片内FLASH22中启动。至此,利用网络远程升级程序成功。
请参阅图8,为本发明第二实施例中DSP控制单板设备的远程升级方法流程图。该实施例的方法是以图2所示的远程升级系统架构为基础的,由于增设了片外FLASH24作为升级数据的缓存,与图2相比,图8中将步骤S2进一步划分成了以下步骤:
首先在步骤S21中,DSP控制单板在通过装置接收远程升级命令后,开始接收更新版本软件的机器码数据并存入所述片外FLASH内。
随后在步骤S22中,DSP控制单板在判断接收数据完成后,从片外的FLASH中读取更新版本软件的机器码数据并烧写片内FLASH以完成配置。
下面对步骤S1中远程升级服务器10发送数据的过程进行描述。请参阅图9,为本发明优选实施例中远程升级服务器发送升级数据的流程图。如图3所示,步骤S1进一步包括以下步骤:
在步骤S11中,提取更新版本软件的机器码数据。
在步骤S12中,将所述更新版本软件的机器码数据、远程升级命令与远程端的地址信息、校验信息进行组帧获得通信数据帧。远程端的地址信息包括每一块DSP控制单板的编码,从而能够保证同一IP地址下的多块DSP控制单板具有唯一的标志码。在此采用的校验可以为CRC校验。
在步骤S13中,将所述通信数据帧通过所述通信装置发送给远程端的DSP控制单板以提供更新版本软件的机器码数据。
同样,本发明的方法也采用考直接从DSP工程文件中提取机器码进行远程传输并烧写的方式。请结合参阅图10,为本发明优选实施例中机器码的提取流程图。本发明经过对DSP内部结构的分析,提供了一种有效地机器码的提取方法,即步骤S11提取更新版本软件的机器码数据进一步通过以下步骤实现:
首先在步骤S111中,获取在集成编译环境下编译并保存的更新版本软件的DSP工程文件,同时生成对应地址映射文件。
随后在步骤S112中,根据地址映射文件(即后缀为.map文件)查找DSP控制单板的片内FLASH的起始地址及更新版本软件的数据长度。
最后在步骤S113中,利用所述片内FLASH的起始地址及更新版本软件的数据长度,通过软件直接从更新版本软件的DSP工程文件中提取机器码数据。
远程升级服务器同样可以采用硬件加密狗进行权限管理,具有硬件加密狗的人员可以对远程的DSP控制设备(如风能变流器)进行程序升级。即述步骤S1进一步包括在步骤S11之前执行的步骤:S10、采用硬件加密狗进行服务器的操作权限管理。
请参阅图11,为本发明第二实施例的DSP控制单板设备获取升级数据并进行烧写的方法流程图。请结合参阅图5和图11,步骤S21进一步包括以下步骤:
首先在步骤S211中,由控制板通信模块211通过所述通信装置23与远程升级服务器10通信。
随后在步骤S212中,由升级启动模块212通过控制板通信模块211接收远程升级命令后,向升级数据加载模块213发送升级启动信号;
随后在步骤S213中,由升级数据加载模块213接收所述升级启动信号,通过控制板通信模块211接收更新版本软件的机器码数据并写入片外FLASH24,在接受数据结束时发送升级数据接收完成信号。
所述步骤S22进一步包括以下步骤:
首先在步骤S221中,由升级配置模块214在接收升级数据接收完成信号后对接收的更新版本软件的机器码数据进行校验,正确则转步骤S222,否则转步骤S212;
随后在步骤S222中,配置并启动烧写程序,从片外FLASH24中读取更新版本软件的机器码数据并烧写片内FLASH22以完成配置,并对DSP控制单板复位以执行更新的程序。在步骤S222中分块提取片外FLASH24中的更新版本软件的机器码数据进行配置直至所有机器码数据配置完毕。
在本发明提供的远程升级方法中,如果采用Internet网进行升级数据的传送,则通信装置23为用于提供Internet接入RS232接口转换的智能设备网关。则相应在步骤S1中、由远程升级服务器10通过Internet发送远程升级命令以及更新版本软件的机器码数据;在步骤S2中、DSP控制单板21通过智能设备网关23接入Internet接收远程升级命令以及更新版本软件的机器码数据。
在本发明提供的远程升级方法中,如果采用GPRS网进行升级数据的传送,则所通信装置23为带RS232接口的GPRS通信模块。相应在步骤S1中,由远程升级服务器10通过GPRS网络发送远程升级命令以及更新版本软件的机器码数据。在步骤S2中,DSP控制单板21通过GPRS通信模块23接入GPRS网络接收远程升级命令以及更新版本软件的机器码数据。
本发明的一个重要应用在于为风能变流器提供DSP控制单板中程序的远程升级方法。因此,本发明提供了一种风能变流器的远程升级服务器。该风能变流器的远程升级服务器的结构和原理与上述DSP控制单板设备的远程升级服务器相同,区别仅在于编译的更新版本软件为所述风能变流器的DSP控制单板的更新版本软件。从而将该风能变流器的DSP控制单板的更新版本软件作为升级数据发送给风能变流器以进行升级。
相应地,本发明提供了一种风能变流器,该风能变流器为如上所述的DSP控制单板设备,而更新版本软件为所述风能变流器的DSP控制单板的更新版本软件。也就是说,该风能变流器包括:含有片内FLASH的DSP控制单板以及通信装置。该通信装置与DSP控制单板相连,用于实现DSP控制单板与远程升级服务器之间通信。将该风能变流器作为一种DSP控制单板设备按照上述方式来实现风能变流器中DSP控制单板程序的远程升级。同样该风能变流器也可以包括片外FLASH,以实现升级数据的缓存,避免升级过程错误造成的风险。
相应地,本发明提供了一种风能变流器的远程升级方法,该风能变流器可以看做带有DSP控制单板的DSP控制单板设备,因此其远程升级方法与前述DSP控制单板设备的远程升级方法相同,区别仅在于,所需升级的更新版本软件为所述风能变流器的DSP控制单板的更新版本软件。
综上所述,本发明将DSP控制单板设备及其远程升级方法和服务器,应用在风能变流器领域中,将风能变流器的更新版本软件的机器码通过远程传送给风能变流器的DSP控制单板,以对其进行快速高效地升级,从而不需要技术人员上门维护,减少了公司的维护成本。
本发明是根据特定实施例进行描述的,但本领域的技术人员应明白在不脱离本发明范围时,可进行各种变化和等同替换。此外,为适应本发明技术的特定场合或材料,可对本发明进行诸多修改而不脱离其保护范围。因此,本发明并不限于在此公开的特定实施例,而包括所有落入到权利要求保护范围的实施例。