一种变频器控制系统程序升级方法与流程

文档序号:13760229阅读:679来源:国知局
一种变频器控制系统程序升级方法与流程

本发明涉及通信及变频器控制系统技术领域,特别涉及一种变频器控制系统程序升级方法。



背景技术:

变频器是利用电力半导体器件的通断作用将工频电源变换为另一频率的电能控制装置。随着技术的发展,越来越多的领域需要使用到使用变频器来进行控制,而控制变频器的控制系统的应用程序也会随着技术的发展、设备的功能或卖点的变化和推进进行迭代开发与升级,在控制系统不断发展和完善的过程中也会伴随着较多的功能项的增加、删减与完善,因此必须对变频器的控制系统应用程序进行升级。

目前传统的变频器控制系统普遍使用FLASH作为程序代码存储器,必须专业技术人员通过JTAG仿真器接口对FLASH存储器进行编程实现代码的更新。因此,在对控制系统应用程序进行升级时就必须拆卸机器外壳进行,还得插拔仿真器,给设备的软件维护和升级造成很大的不便,尤其是使用在不方便拆卸的场合,这样对设备的维护花费大量的人力和物力,降低生产效率。同时,在升级过程出现错误时容易对升级产生影响,难以保证软件升级的完整性和安全性。



技术实现要素:

针对以上问题,本发明专利目的在于设计了一种变频器控制系统程序升级方法,可避免插拔仿真器及拆卸设备外壳引起的不便,同时,软件升级可以无缝烧写,即使升级错误或失败,也能重新进行升级操作,使用方便。

本发明的技术方案如下:

一种变频器控制系统程序升级方法,包括:

首先,将控制系统FLASH存储区分为三个区:应用程序区、boot标志区和bootloader程序区;控制系统与上位机通过CAN总线或SCI总线进行连接后,启动控制系统进入bootloader程序区运行,拷贝对FLASH操作的程序代码到RAM数据空间,供升级时对Flash进行擦除和编程操作;运行bootloader程序区,根据boot标志区的程序运行标志判断是进入延时等待升级命令阶段还是进入直接升级操作阶段;在进入延时等待升级命令阶段且延时等待结束后,控制系统从bootloader程序区跳转到应用程序区运行,应用程序接收上位机发送升级协议报文的连接命令帧并进行验证,验证通过则进入bootloader程序区中的升级操作阶段运行。

进一步,本发明所述boot标志区包括:程序版本号、设备ID号、总线方式、应用程序标志和延时时间。

进一步,本发明所述升级协议报文包括命令帧和应答帧,所述命令帧包括连接命令帧、擦除命令帧、编程命令帧和结束命令帧,其中:

所述连接命令帧包括设备ID号、程序版本、数据长度、工作模式、验证码、CRC校验码;所述擦除命令帧包括设备ID号、程序版本、数据长度、工作模式、擦除区、CRC校验码;所述编程命令帧包括设备ID号,程序版本,数据长度,工作模式,编程地址,编程数据,CRC校验码;所述结束命令帧包括设备ID号,程序版本,数据长度,工作模式,结束标志,CRC校验码;

所述应答帧包括设备ID号,程序版本,数据长度,工作模式,信息,CRC校验码。

进一步,本发明所述应用程序接收上位机发送升级协议报文的连接命令帧并进行验证,进一步包括:

首先将接收到的连接命令帧信息与boot标志区的版本、设备ID比较;若相同,再继续进行认证码验证及CRC验证。

进一步,本发明所述延时等待升级命令阶段进一步包括如下步骤:

S201:清除延时计数器Time2=0,置延时结束标志Delay_Flag=0,进入S202;

S202:通过检测专用的帧ID号接收上位机发送升级协议报文的连接命令帧并进行验证,验证通过则进入bootloader程序区中的升级操作阶段运行;验证不通过,则进入S203;

S203:累加延时计数器Time2,进入S204;

S204:判断延时计数器Time2是否到达延时时间,如果到达,置延时结束标志Delay_Flag=1退出;否则,继续进入S202。

进一步,本发明所述升级操作阶段具体包括如下步骤:

S301:通过检测专用的帧ID号接收上位机发送升级协议报文的连接命令帧,若接收到则进入S302;否则继续S301;

S302:对所述连接命令帧进行验证,验证正确则连接应答帧返回正确信息,进入S303;否则返回错误信息,继续S301,上位机根据此帧累加错误次数,超过m次则退出升级状态;

S303:接收擦除命令帧,擦除FLASH存储区的应用程序区;

S304:如果擦除成功,返回成功擦除应答帧,进入S305;否则返回失败擦除应答帧,上位机根据此帧累加错误次数,超过n次则退出升级状态;

S305:接收下载程序命令及内容,进行编程处理;

S306:接收上位机发送结束帧,应答编程结束信息,如果结束标志则升级成功,进入应用程序中运行。

进一步,本发明所述接收下载程序命令及内容,进一步包括如下步骤:

S401:上位机解析升级文件,按照预定加密算法对编程数据进行组成若干数据包进行编程命令帧和数据帧发送;

S402:接收上位机编程命令帧及数据帧,判断是否接收完一个数据包,接收完则进入S403,否则继续执行S402;

S403:对接收到的数据进行CRC校验,并与上位机发送的CRC值比较,若两者相同则发送接收成功信息,进入S404;否则发送接收失败信息,继续执行S401,重发该包数据,如果上位机检测到连续n次未成功,退出本次升级操作,提示升级失败;

S404:根据同样的加密算法解析数据,把数据写入目的地址,如果写入成功应答编程成功信息,进入S405,否则应答编程失败信息;继续执行S401;

S405:判断整个数据包是否发送完毕,若是进入S306,否则要求发送新数据包,继续S401。

本发明比现有技术具有以下的优点及有益效果:

(1)本发明基于CAN总线或SCI总线进行软件升级,更加方便快捷,避免插拔仿真器及拆卸设备外壳引起的不便,普通人员也能进行软件在线升级;

(2)采用合理的应用程序区、bootloader程序区、boot标志区空间分配,防止bootloader程序区的破坏;

(3)采用验证码、设备ID号、程序版本,加密算法,数据校验等方法,保证软件升级的完整性和安全性;

(4)采用上电延时等待上位机发送升级命令及判断软件升级标志来确定是否进入应用程序还是进入bootloader方法,确保软件升级可以无缝烧写,即使升级错误或失败,也能重新进行升级操作。

附图说明

以下参照附图对本发明实施例作进一步说明,其中:

图1为本发明一种变频器控制系统程序升级方法的流程图;

图2为本发明实施例一的变频器控制系统的FLASH存储空间分配图;

图3为本发明实施例一的变频器控制系统的boot标志区分配图;

图4为本发明实施例一的指令帧和应答帧格式图;

图5为本发明实施例一的变频器控制系统的程序跳转流程图;

图6为本发明实施例一的bootloader程序延时等待上位机升级命令阶段流程图;

图7为本发明实施例一的bootloader程序升级操作阶段流程图;

图8为本发明实施例一的接收下载程序命令及内容,进行编程处理流程图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步的详细说明。

本发明提出了一种变频器控制系统程序升级方法,请参阅图1和图5,包括:

S101:将控制系统FLASH存储区分为三个区:应用程序区、boot标志区和bootloader程序区;

S102:控制系统与上位机通过CAN总线或SCI总线进行连接后,启动控制系统进入bootloader程序区运行,拷贝对FLASH操作的程序代码到RAM数据空间,供升级时对Flash进行擦除和编程操作;

S103:运行bootloader程序区,根据boot标志区的程序运行标志判断是进入延时等待升级命令阶段还是进入直接升级操作阶段;

S104:在进入延时等待升级命令阶段且延时等待结束后,控制系统从bootloader程序区跳转到应用程序区运行,应用程序接收上位机发送升级协议报文的连接命令帧并进行验证,首先将接收到的连接命令帧信息与boot标志区的版本、设备ID比较;若相同,再继续进行认证码验证及CRC验证;验证通过则进入bootloader程序区中的升级操作阶段运行。

而CAN总线或SCI总线由于其可靠性强,传输距离长,传输实时性强,系统成本低等方面的优势已被广泛应用。本发明基于CAN总线或SCI485总线进行软件升级,更加方便快捷。避免插拔仿真器及拆卸设备外壳引起的不便,普通人员也能进行软件在线升级。

所述boot标志区包括:程序版本号、设备ID号、总线方式、应用程序标志和延时时间。

所述升级协议报文包括命令帧和应答帧,所述命令帧包括连接命令帧、擦除命令帧、编程命令帧和结束命令帧。其中:

所述连接命令帧包括设备ID号、程序版本、数据长度、工作模式、验证码、CRC校验码;所述擦除命令帧包括设备ID号、程序版本、数据长度、工作模式、擦除区、CRC校验码;所述编程命令帧包括设备ID号,程序版本,数据长度,工作模式,编程地址,编程数据,CRC校验码;所述结束命令帧包括设备ID号,程序版本,数据长度,工作模式,结束标志,CRC校验码;

所述应答帧包括设备ID号,程序版本,数据长度,工作模式,信息,CRC校验码。

具体实施例一:

本发明具体实施例一以TI公司的TMS320F2808作为硬件平台,实现变频器控制系统的程序升级。

本实施例通过TMS320F2808的CAN总线与上位机进行连接,控制系统上电启动后,程序直接跳转到FLASH存储区的bootloader程序区运行,同时把对FLASH擦除、编程的代码程序空间复制到RAM数据空间,完成对FLASH的擦除和编程操作。

请参阅图2,所述FLASH存储区分为如下三个区域:区域一为应用程序区,包含控制系统的应用程序;区域二为boot标志区;区域三为bootloader程序区。

请参阅图3,本实施boot标志区包含程序版本信息=V1.0,ID号=0x06,总线接口定义=0:can,程序运行标志Run_Flag=0x55DD,延时时间T1=100ms。

请参阅图4为本实施指令帧和应答帧的格式图。

请参阅图5,所述bootloader程序根据boot标志区的程序运行标志Run_Flag判断是进入延时等待上位机升级命令阶段还是直接进入升级操作阶段,本实施例中上电时运行标志Run_Flag=0x55DD,所以进入延时等待上位机升级命令阶段。

请参阅图6,所述延时等待上位机升级命令阶段包括以下步骤:

S201:清除延时计数器Time2=0,延时结束标志Delay_Flag=0,进入S202;

S202:通过检测专用的帧ID号等待上位机发送升级协议报文的连接命令帧,若接收到连接命令帧且信息正确,则置程序运行标志Run_Flag=升级标志F2,本实施例中,专用的帧ID号=0x17ff;升级标志F2=0x55DF,退出进入升级操作阶段;否则,进入S203;

S203:累加延时计数器Time2,进入S204;

S204:判断延时计数器Time2是否到达延时时间T1=100ms,如果到达,置延时结束标志Delay_Flag=1退出;否则,继续进入S202。

所述如果boot标志区的程序运行标志Run_Flag=应用标志F1且延时等待结束,控制系统从bootloader程序区跳转到应用程序区运行,在本实施例中Run_Flag=0x55DD,延时结束标志Delay_Flag=1,则进入应用程序运行。

应用程序通过检测专用的帧ID号等待上位机发送升级协议报文的连接命令帧。若接收到连接命令帧,则验证信息,在本实施例中连接命令帧=“0x06 0x0A 0x08 0x01认证码CRC校验”,该连接命令帧内容与boot标志区的版本、设备ID比较,相同再继续进行认证码验证及CRC校验,信息正确则置程序运行标志Run_Flag=升级标志F2,watchdog复位重启系统,进入bootloader程序中的升级操作阶段运行。

如图7所示,所述升级操作阶段包括以下步骤:

S301:通过检测专用的帧ID号等待上位机发送升级协议报文的连接命令帧,若接收到则进入S302;否则继续S301;

S302:验证信息,正确则连接应答帧返回正确信息,进入S303;否则返回错误信息,继续S301,上位机根据此帧累加错误次数,超过m次则退出升级状态。在本实施例中,m=6,连接应答帧=“0x06 0x0A 0x08 0x01连接状态CRC校验”;

S303:接收擦除命令帧,擦除FLASH存储区的应用程序区,在本实施例中,擦除命令帧=“0x06 0x0A 0x08 0x02认证码CRC校验”;

S304:如果擦除成功,返回成功擦除应答帧,进入S305;否则返回失败擦除应答帧,上位机根据此帧累加错误次数,超过n次则退出升级状态。在本实施例中,n=3,擦除应答帧=“0x06 0x0A 0x08 0x02擦除状态CRC校验”;

S305:接收下载程序命令及内容,进行编程处理;

S306:接收上位机发送结束帧,应答编程结束信息,如果结束标志等于升级成功,本实施例中,结束帧=“0x06 0x0A 0x08 0x04 0x66CRC校验”,结束标志=0x66,则boot标志区的程序运行标志Run_Flag=应用标志F1,在本实施例中,程序运行标志Run_Flag=0x55dd,进入应用程序中运行;否则升级失败,不改写程序运行标志Run_Flag值,保证系统可以进入升级模式。

如图8所示,所述接收下载程序命令及内容包括以下步骤:

S401:上位机解析升级文件,按照预定加密算法对编程数据进行组成若干数据包进行编程命令帧和数据帧发送,在本实施例中,一个编程数据包帧=“0x06 0x0A 0x255 0x03 0x003e8000N个数据CRC校验”;

S402:接收上位机编程命令帧及数据帧,判断是否接收完一个数据包,接收完则进入S403,否则继续执行S402;

S403:对接收到的数据进行CRC校验,并与上位机发送的CRC值比较,若两者相同则发送接收成功信息,进入S404;否则发送接收失败信息,继续执行S401,重发该包数据,如果上位机检测到连续n次未成功,退出本次升级操作,提示升级失败,在本实施例中,n=3;

S404:根据同样的加密算法解析数据,把数据写入目的地址,如果写入成功应答编程成功信息,进入S405,否则应答编程失败信息;继续执行S401;在本实施例中,编程应答帧=“0x06 0x0A 0x08 0x03编程状态CRC校验”;

S405:判断整个数据包是否发送完毕,若是进入S306,否则要求发送新数据包,继续S401。

以上所述本发明的具体实施方式,并不构成对本发明保护范围的限定。任何根据本发明的技术构思所做出的各种其他相应的改变与变形,均应包含在本发明权利要求的保护范围内。

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