卫星通信地球站软件远程升级功能设计
2018-09-17马中海韩宏亮陈鑫旺
马中海,韩宏亮,陈鑫旺
(南京熊猫汉达科技有限公司,江苏 南京 210014)
卫星通信的通信覆盖面非常广,通信容量大,能够多播、广播;通信质量好,建设成本与其他通信相比较低,而且卫星通信受环境的制约非常小,所以现在卫星通信已经成为各种远距离通信里面较为主要的一种通信方式[1]。卫星通信的以上特性,使其能完成一些别的通信方式无法完成的工作,在传播信息的手段里面,它的地位非常重要,因此许多的国家都把发展卫星技术作为国家战略部署的重要方针[2]。近年来,各个国家都表现出对卫星通信的重视,发射了各种各样的卫星。通信卫星能够作为地面移动站、机载站、舰载站等终端的通信中继,各种各样的卫星为人类提供了不可替代的便利,也为人类文明与科技发展建设提供了非常宝贵的课题资源[3]。因此,卫星通信在飞速发展的现代起着不可替代的作用。
1 软件远程升级功能设计
1.1 卫星通信系统
卫星通信系统包括地球站和管理站两种站型,地球站之间可以互相传输业务,管理站负责资源分配以及地球站的管理。当一个地球站要和另一个地球站通信时,会向管理站发送通信请求,管理站将请求信息交与服务器处理。如符合通信条件,则会为通信的两个地球站分配频点、功率等卫星资源。这样两地球站就能传输业务。卫星通信原理如图1所示。
图1 卫星通信原理
1.2 软件更新的主要方式
软件更新的主要方式有以下4种[4]。
1.2.1 更换已经固化的软件芯片
将所需更新的芯片从目标板上面取下,用专门的烧写工具烧写新的程序。烧写完毕后重新安装至目标板上,重新启动系统。
1.2.2 与PC连接进行软件更新
用户到服务商拿到新版本的软件,将新的软件拷贝到电脑里。将要更新的芯片通过一定的接口与PC电脑相连,从上位机将新的程序下载到目标板中。
1.2.3 登录服务网站进行更新
通过电脑利用互联网登录服务网站,下载产品的更新软件到电脑中。再利用目标板与电脑的通信,将升级的程序烧写到目标板的存储器中。
1.2.4 在应用编程
通过远程通信方式对目标板进行在线烧写更新,这样实现了软件的动态升级,无需拆除数据传输终端。
1.3 远程升级技术现状
目前电子产品升级技术正兴起于电子电路研制、生产、功能不全、设备更新能力差、故障诊断等方面。它的出现大大提高了电子产品的质量可靠性,缩短了电子设备的维护时间,大幅度降低了电子设备的更新、检修费用[5]。
嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可裁剪,适用于系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统,是一种软硬件高度结合的产物,其系统功能实现的关键在于经过高效率设计的各类应用软件。
随着互联网应用的日益普及,信息共享程度逐步提高。对于以单片机应用系统为中心的小型嵌入式设备,怎样利用方便的互联网资源将嵌入式设备的信息共享到互联网,成为当今电子世界中非常的热门话题。传统的互联网应用以PC为中心,当代的互联网应用将转向以嵌入式设备为中心。经网络专家预测,将来在互联网上传输的信息当中,将有70%的信息来自于小型嵌入式系统。小型嵌入式系统接入互联网后,应用软件和系统都可以很方便地进行远程升级。很多路由器等都具有远程升级的功能。
综上,对于地球站,拆除目标板或登录网站更新的方法不适用,我们以往设计的更新软件方法为用PC本地升级。然而地球站分布在全球的各个区域,设备出厂后,通过PC本地升级的成本极大。本文仿照互联网上的嵌入式设备软件远程升级功能,设计一种利用卫星通信来远程升级软件的方法。
1.4 软件远程升级功能设计
1.4.1 总体设计
由于所有地球站都接受管理站的管理,我们在管理站配置一个用于软件更新的信道设备,该设备以广播的方式下发软件数据,地球站接收到数据后保存至本地文件系统,即可完成本地软件的远程升级。地球站只接收管理站的数据,不会发送信息给管理站,这样节省了卫星资源。由于卫星信道可能受到干扰,导致数据丢包,为了确保软件更新的可靠性,管理站下发的每包数据重发3次,地球站对于同样的帧只处理一次。
1.4.2 数据帧格式设计
卫星管理站发的帧类型有两种:文件信息帧和数据帧。
文件信息帧中的帧类型长度为一个字节,值固定设为1;文件名长度最长为15个字节,为要升级软件的文件名;版本号为要升级软件的版本号,地球站与当前软件版本号比对,如不同则进行软件升级;数据包数为管理站要发送的数据包总数,与数据帧中最大的帧序号相等;消息摘要算法第5版(Message Digest Algorithm,MD5)校验长度为16个字节,地球站接收文件完毕后,计算MD5校验,与此MD5比较,如不同则放弃此次软件升级,重新执行升级流程,相同则文件升级成功。文件信息帧格式如表1所示。
表1 文件信息帧
1.4.3 程序流程设计
地球站收到管理站发送的数据包后,首先要判断是否为文件信息帧,如是文件信息帧则保存文件信息帧中的所有信息字段,并与本地软件版本比较,如版本不同则继续接收数据并作相应处理,相同则表示本地软件已为最新,无须更新,结束升级流程。如接收的为数据帧则要作去重处理,还要判断数据是否为最后一包。最后要计算文件的MD5,并与文件信息帧中的MD5值对比,相同则文件接收正确,结束升级流程;不同则文件接收错误,重新执行升级流程。具体流程如图2所示。
图2 程序流程
2 结语
本文针对地球站分布区域广,现场PC升级成本极高的缺陷,提出了通过卫星信道远程升级的方案。该方案可以同时为分布在各个区域的地球站提供远程升级服务,地球站只要能成功对星,随时随地都可以使自己的软件保持最新状态,不仅提升了用户体验,还能极大地节约设备维护成本。