一种AUV中智能节点在线更新软件的方法技术

技术编号:13330371 阅读:44 留言:0更新日期:2016-07-11 20:46
本发明专利技术涉及水下机器人和在线控制技术领域,尤其涉及一种AUV中智能节点在线更新软件的方法。本发明专利技术分为3个阶段:第1阶段是通过人机交互计算机的以太网将目标程序文件下载到控制计算机中;第2阶段是控制计算机将目标程序文件读取并分解,拆解成按预先规定格式的数据包,通过CAN总线将数据包发送给智能节点;第3阶段是智能节点接收数据包并通过校验后,将软件程序更新到自身的程序存储器中。本发明专利技术操作简单,安全实用,可令智能节点自行更新自身软件程序,以避免AUV对外形结构拆卸,再重新组装的过程,提高工作效率,节约时间和人工成本。

【技术实现步骤摘要】

本专利技术涉及水下机器人和在线控制
,尤其涉及一种AUV中智能节点在线更新软件的方法,适用于水下无人无缆潜器(以下简称AUV)中智能节点的软件程序更新。
技术介绍
AUV在试验、调试过程中,经常需要根据实际试验情况来进行修改智能节点软件程序达到预定的试验目的。通常情况下,当智能节点的软件需要更改时,需要对AUV的外形结构进行拆卸,试验者将AUV内部的智能节点拆卸出来或将程序下载器直接连接到智能节点后,修改并编译后的软件程序下载到智能节点中。将智能节点恢复到AUV内部后,最后将AUV外形结构恢复组装。整个流程不但浪费人力、物力和试验时间,在拆卸和组装过程中可能发生结构或硬件的损坏。因此,传统的软件更新方法其效率低下,安全性和可靠性也得不到保障。
技术实现思路
为解决现有技术中存在的问题,本专利技术要解决的问题是提供一种AUV中智能节点在线更新软件的方法。本专利技术为实现上述目的所采用的技术方案是:一种AUV中智能节点在线更新软件的方法,包括以下步骤:由操作者操作人机交互计算机将智能节点的软件更新包下载到控制计算机中的硬盘中;传输软件更新包:控制计算机查找是否存在CAN总线驱动进程,若不存在则初始化CAN总线驱动,若存在,则通过CAN总线向智能节点发送更新命令,智能节点收到更新命令后将程序寄存器指针移动到程序存储区,准备接收软件更新包;智能节点接收软件更新包,将其保存在程序存储区中;当智能节点将所有软件更新包写入完毕后,通知控制计算机退出软件更新;智能节点根据软件更新包更新自身的软件。所述智能节点的软件更新包为.rom文件。所述传输软件更新包通过调用控制计算机启动线程实现。所述控制计算机在传输软件更新包过程中进行数据记录,记录文件保存在控制计算机的硬盘中。所述控制计算机通过查看记录文件判断更新是否完毕,完毕之后重启智能节点。所述传输软件更新包过程中,智能节点每接收256个字节后接收校验和,若校验和正确,则将当前256个字节的程序数据写入程序存储区;否则,通知控制计算机重新发送当前256个字节。所述智能节点在规定时间内检查是否接收到软件更新包的数据。本专利技术具有以下优点及有益效果:1.在AUV调试过程中,在目前硬件基础上,不做任何硬件和结构方面改动,智能节点自行更新自身程序,以避免通过结构拆卸,再重新组装的过程,大大节约人力成本和时间成本,因此该方法对于AUV具有很强的实用价值。2.实现方法简单。本专利技术无需添加任何多余硬件,完全采用软件方法实现。源代码封装为函数形式,方便调用以及移植到其它控制器软件中。3.应用范围广、前景大。本专利技术不但应用于AUV中,还可以用于有其它同样在线更新需求的海洋或者工业设备。附图说明图1是本专利技术的系统组成示意图;图2是本专利技术的控制计算机在线更新软件策略算法流程图;图3是本专利技术的智能节点在线更新软件策略算法流程图。具体实施方式下面结合附图及实施例对本专利技术做进一步的详细说明。如图1所示,本专利技术应用的硬件系统中包括:人机交互计算机,安装于母船上,用于将程序文件下载到控制计算机中,以及调用执行自动驾驶计算机端的命令智能节点进行自动更新函数;控制计算机,安装于AUV中,用于命令智能节点实现软件更新以及向智能节点传输程序文件数据;智能节点,安装于AUV中,接收到控制计算机下发的更新软件数据实现更新软件。应用本专利技术时,首先确定AUV中控制计算机和智能节点总线类型和相关电气类型,根据对应总线类型建立协议,保证实现更新软件数据的正确传输。再对智能节点进行软件更新,针对软件更新中可能存在的错误,进行容错性自动控制。软件更新分为3个阶段:第1阶段是通过人机交互计算机的以太网将目标程序文件下载到控制计算机中;第2阶段是控制计算机将目标程序文件读取并分解,拆解成按预先规定格式的数据包,通过CAN总线将数据包发送给智能节点;第3阶段是智能节点接收数据包并通过校验后,将软件程序更新到自身的程序存储器中。本专利技术实施例中,控制计算机和智能节点通信总线类型采用控制器局域网CAN总线通信模式,采用CAN2.0A标准帧格式总线协议,总线波特率为500K。智能节点采用Atmel公司生产的ATmega系列单片机ATmega1280单片机(以下简称单片机)做为主控制器。外围的通信器件采用SJA1000、6N137以及PCA82C250三个芯片进行CAN信号传输。智能节点供电采用正5V电源进行供电;CAN接收数据芯片SJA1000接收到数据后,中断引脚置低,主芯片查询中断引脚电位得知当前是否存在新的接收数据。智能节点在更新自身软件的过程中不具有响应中断的机制,以防止出现在更新软件过程中被中断服务程序打断而造成程序数据丢失而导致软件更新工作失败的情况。控制计算机采用风河公司的Vxwork6.8实时操作系统,其编译环境为Workbench3.2,运行编译环境的操作系统为WindowsXP。CAN2.0A标准帧格式存在有11位标识位,其中标识位的后5位表示数据模式。方法中使用数据模式28~31进行数据交互。在CAN2.0A报文格式中,数据模式的范围为0~31,采用最后4个数据模式28~31的CAN报文进行数据交互,是为保证智能节点与控制计算机在正常工作时采用从数据模式0开始的数据交互不至于混淆。智能节点接收到控制计算机下发更新软件命令,自动进入到程序引导区后,更新自身软件程序,控制计算机接收到智能节点回复已处于更新自身软件的状态时,控制计算机依次下传程序数据。在软件更新过程中,控制计算机根据智能节点上传状态应通过记录文件或打印的方式,通知操作者软件更新的进度或者状态。软件更新方法存在容错性自动控制。方法中采用CAN总线通信方式,数据交互本身具有CRC校验。为保证更可靠的数据交互,每更新256个字节的程序数据,控制计算机都会下传该256个字节校验和,智能节点经过校验正确后,才可以将程序数据向程序存储器中写入。当该校验和出现错误时,智能节点回复控制计算机,控制计算机重新发送当前256个字节的程序数据直到发送正确,继续向下发送。由操作者通过FTP软件将对应控制器的程序文件下载到控制计算机硬盘中,再命令计算机启动一个线程,利用该线程来读取和下传程序文件的内容到相应控制器,程序更新完毕后,该线程退出。目前智能节点与控制计算机交互通信方式为CAN总线方式。控制计算机可以通过CAN总线来下传程序编码,...

【技术保护点】
一种AUV中智能节点在线更新软件的方法,其特征在于,包括以下步骤:由操作者操作人机交互计算机将智能节点的软件更新包下载到控制计算机中的硬盘中;传输软件更新包:控制计算机查找是否存在CAN总线驱动进程,若不存在则初始化CAN总线驱动,若存在,则通过CAN总线向智能节点发送更新命令,智能节点收到更新命令后将程序寄存器指针移动到程序存储区,准备接收软件更新包;智能节点接收软件更新包,将其保存在程序存储区中;当智能节点将所有软件更新包写入完毕后,通知控制计算机退出软件更新;智能节点根据软件更新包更新自身的软件。

【技术特征摘要】
1.一种AUV中智能节点在线更新软件的方法,其特征在于,包括以下步骤:
由操作者操作人机交互计算机将智能节点的软件更新包下载到控制计算机
中的硬盘中;
传输软件更新包:控制计算机查找是否存在CAN总线驱动进程,若不存在
则初始化CAN总线驱动,若存在,则通过CAN总线向智能节点发送更新命令,
智能节点收到更新命令后将程序寄存器指针移动到程序存储区,准备接收软件
更新包;
智能节点接收软件更新包,将其保存在程序存储区中;
当智能节点将所有软件更新包写入完毕后,通知控制计算机退出软件更新;
智能节点根据软件更新包更新自身的软件。
2.根据权利要求1所述的一种AUV中智能节点在线更新软件的方法,其特征
在于,所述智能节点的软件更新包为.rom文件。
3.根据权利要求1所述的一种AUV中智能节点在线更新软件的方法,其特征
在于,所述传输软件更新...

【专利技术属性】
技术研发人员:冯亮于闯贾松力赵宏宇刘铁军崔健
申请(专利权)人:中国科学院沈阳自动化研究所
类型:发明
国别省市:辽宁;21

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

1