基于Vxworks网络远程更换程序设计

来源 :科技风 | 被引量 : 0次 | 上传用户:chongfengli
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:针对机车上设备的现场应用与软件升级,本文借助VxWorks系统平台,运用网络通信技术实现网络一键更换所有插件应用程序的方法,为现场提供了快捷简便地更换应用程序解决方案。
  关键词:更换应用程序;网络通信技术;VxWorks系统;现场应用
  文献标识码:A
  机车上设备大部分是基于组匣的设计模式,内部由各个插件拼组而成,而各个插件的通信连接都挂载在以太网交换机中。每个插件都接入组匣的卡槽中,在组匣后背端按照某种通信介质连接起来,形成一个整体(设备)。
  每个插件都有自己的CPU处理器和操作系统,为了简化系统的复杂性,每个插件都采用相同的CPU架构,本文采用的CPU为飞思卡尔公司提供的MPC5125处理器,它提供丰富的外设资源,如10路串口、2路CAN以及两路FEC网络控制器等。它片内只有32KRAM资源,没有片内FLASH,因此每个插件都扩展了FLASH和RAM内存,其FLASH容量为16M,RAM为128M。采用VxWorks操作系统,系统在上电复位后,利用Bootloader程序,把FLASH中的应用执行程序拷贝到RAM运行,在启动应用程序执行。
  在应用程序启动前,首先需要通过下载工具把程序固化到FLASH中。目前,FLASH烧写方式主要分为两种,一种是借助下载工具(风河仿真器),直接下载到板级FLASH中,这种为编程器烧写方式,这种方式适用于开发员进行仿真调试和下载程序;另外,风河公司的仿真工具价格昂贵,大量采用仿真工具更换应用程序使得费用成本增高;且不适用于组匣现场更换应用程序。另一种方式为是适用于现场特定环境烧写方式,运用板子上自带的通信媒介直接更换应用程序。本文采用第二种方式,运用无线网络技术和VxWorks系统网络通信,实现无线远程应用程序下载和升级。
  1 系统平台
  本设计的机车设备采用组匣机箱,其硬件结构如图1所示。本组匣有五个插件,四个应用插件,一个交换机插件。其中应用插件处理不同的应用功能,它的每个网络口都连接在交换插件上。交换机对外网提供一个公共网络接口,该接口可以连接无线网络路由器,PC机间接地与组匣进行连接。
  2 软件设计
  实现网络更换程序,需要实现三部分,分别分为应用程序加载模块、Vxworks网络通信模块、PC机侧应用模块。PC机侧应用程序这部分提供人机交互界面,可以是通过WEB网页,也可以窗口界面进行程序下载操作,本设计采用窗口界面进行开发。Vxworks网络通信模块,实现数据交互,按照设定的协议进行网络通信,保证下载程序的完整性和保密性。Vxworks提供的TCP/IP协议、Socket套接字模式,方便网络程序应用开发。应用程序加载模块提供程序加载方式,包括校验程序数据,提供指定入口加载。其中后面两个模块为插件的软件设计。
  2.1 应用程序加载模块
  插件程序在启动时,加载FLASH Boot启动代码,完成CPU相关初始化和内存配置等等,然后拷贝应用程序到RAM区运行。为了把应用程序和维护代码隔离开来,需要对FLASH进行合理划分,这也是程序下载的关键部分,其应用程序加载过程如图2所示。从图中把FLASH划分了四个部分,两个相同的应用程序加载部分,一个文件区和系统配置部分。
  插件在硬件设计时,设定在FLASH启动。Flash划分为两个相同的应用程序部分,分别为A和B。其中应用程序A部分提供系统维护功能、应用程序B部分提供应用程序功能。当检测到0xFC400000位置应用程序不存在或者系统崩溃,则拷贝应用程序A到RAM区间,然后启动应用程序A部分维护代码。这两个应用程序在下载时,存在文件区,等完成所有文件下载并校验成功后,文件区自动把两个应用程序拷贝B区,然后重新启动系统。这样备份了应用程序,不容易丢失。
  2.2 Vxworks网络通信模块
  Vxworks网络通信模块完成PC与插件之间的通信协议,是网络下载的关键部分。它们之间采用UDP协议,采用SOCKET编程,主要由VXWORKS提供,这里主要实现应用协议层,它主要实现五个功能,分别是建立连接、验证与认可、数据传输,数据校验及程序烧写,其通信过程如图3所示。
  2.2.1 建立连接
  在没有进行通讯前,并不知道对方设备是否存在,也不知道对方是什么插件设备,因此需要建立查询机制,首先PC网络端发送广播帧,给各个设备,等待设备应答。当检测到设备应答后,将周期性发送检测信息,查询设备是否一直存在,当周期通信5次没有收到应答信息,建立连接自动断开,并提示无设备连接。
  2.2.2 验证与认可
  更换程序时,由于没有验证过程,因此技术人员可以随意进行更换,这样将不能把控程序更换的版本与正确性。因此在程序进行下载时,需要验证与认可,密钥由管理人员分配,发送密文后,插件验证密文的正确性,当验证密文正确后,才可以进行程序下载,这样保证程序更换不能擅自下载。
  2.2.3 数据传输
  由于网络一包最大传输不超过1K字节,而通常一个系统代码远远大于包数,因此需要进行分包传输。然而数据传输在没有通信机制下,是无法保证数据的完整性,本设计在进行数据传输时,每一个包都进行CRC校验,并附加包序号信息。当接收端接收数据后,解析包序号,当出现不连续的包序号,接收端把丢包的数据包序号加载到请求帧里,发送端检测接收端的请求后重传丢包数据,实现数据包完整传输。
  2.2.4 数据校验与程序烧写
  发送端在进行发送拆包时,先对整个文件加入校验信息和配置信息。当接收端获取到完整的数据包后,数据存放在RAM区,先对这个接收的数据解析校验,并读取配置信息是否与本插件的参数一样。若数据匹配,进行下一步程序烧写,按照应用程序加载过程,程序会保存在文件当中,并更改启动信息。当断电重启后,系统自动加载应用程序,完成程序烧写。
  2.3 PC机端应用程序
  PC机端程序采用面向对象设计,主要有以下几类组成,包括文件格式转换类、密文验证类、网络通信类、数据传输类、文件数据分包类以及用户界面类等。其类关系图如图4所示。
  网络通信类采用Socket通信,创建两个网络线程,一个发送网络线程和一个接收网络线程。这个线程管理网络接收和发送 ,当用户需要发送数据时,先把数据放入数据传输缓冲区,网络发送线程检测缓冲区有数据,启动网络发送,直到缓冲区为空,网络接收过程同理。 文件格式转换类实现烧写数据格式转换,转换格式对象是HEX文件,由于Vxworks开发工具编译后生成HEX文件格式,因此把HEX文件转换为BIN文件,并在BIN文件里加载校验信息,形成新的BIN烧写文件。密文验证完成与插件验证认可,包括密文生成、校验密文操作。文件数据分包和数据传输类,实现与Vxworks网络模块通信,文件数据分包类分解BIN文件,把BIN文件拆分許多帧网络数据包,并在网络数据包加载校验数据和包序号。在经过数据传输类,运用重传机制和校验回执等方法,保证程序文件可靠传输。
  3 结语
  本设计为了简化对机车上设备的现场应用与软件升级,设计了一种远程更换程序的设计方案,通过该软件替换使用仿真工具更换应用程序的方法,特别是在组匣箱里避免了拆卸机箱更换程序。用户只要操作该软件,一次性更换组匣箱内的所有程序,提高了现场人员的工作效率。本软件可以推广到类似工程现场较复杂的系统中,具有较强延伸性和实用性。
  参考文献:
  [1]周平,张杨.VxWorks下设备驱动程序及BSP开发指南[M].北京:中国电力出版社, 2004.
  [2]孔祥营,张宝山.VxWorks驱动及分布式编程[M].北京:中国电力出版社, 2007.
  [3]胡鸣.Windows 网络编程技术[M].北京:科学出版社,2008.
  [4]刘芳,臧威.TMS320C672x DSP 引导加载系统的设计与实现[J].微电子学与计算机,2013,30(10).
  [5]肖磊.VxWorks下基于Socket的网络通信设计[J].计算机与网络,2013,24(12): 666.
其他文献
素质教育是一种以挖掘学生自身潜能,完善和全面提高学生基本素质为根本目的的教育。音乐教育作为一门基础学科,首先是一种基本素质教育,其目的是培养人,培养学生全面发展的能
作文课上,学生情绪低落,有几位学生骨干大胆说出了同学们的心声:“老师教了不少技巧,我们自己也看了一些作文指导书,可就是写不出‘新’‘巧’的文章。看来,我们不是写作的那
摘 要:随着我国社会经济的快速发展,关于燃煤电站污染物排放问题也随之变得更加严重。因而相关部门提出了燃煤电站锅炉烟气污染物一体化协同治理技术。所谓的协同治理技术就是指对单一污染物采取多种设备进行的协同治理。由于燃煤电站虽然在我国目前依然是国家电力生产的主力军,但是其对大气污染的产生了严重的影响。因而使用的烟气污染协同治理技术得到广泛应用。本文将对燃煤电站锅炉烟气污染物一体化协同治理技术来进行简单的
受犹太神秘主义的影响至深的瓦尔特.本雅明始终秉持寓言式的艺术观和纯粹的语言观,他在期待的视野中接受了马克思主义艺术生产理论并对其进行内化和创新。本文以本雅明创造性
古典诗词赏析一直是中学语文学习的难点,而古典诗词的赏析贯穿整个中学语文学习的始终。由此可见,古典诗词的学习在中学语文学习中的重要性。刚刚进入中学的学生,诗词学习的
感恩是中华民族自古以来的优良传统,是每个人都应该具备的道德原则。《三字经》中就有"香九龄,能温席,孝于亲,所当执"的名句,民间俗语有"滴水之恩,当涌泉相报"的为人处事的原则。
一、规模经营,不畏市场风云突变近年来,工商之间,商商之间争夺市场,沿海资本、国际资本涌入内地,抢滩国内市场,市场经济十分活跃,但随之而带来的是市场竞争十分激烈。传统的
摘要:随着科技的发展与技术的进步,人工智能技术的应用也越来越广泛,尤其是信息化时代的到来使得信息技术步入了千家万户,给人工智能技术的发展应用提供了十分广阔的应用前景。本文首先介绍了人工智能技术,然后详细地分析了人工智能在计算机网络技术中的具体应用。  关键词:人工智能;计算机;网络技术;运用  1 人工智能概述  人工智能是计算机技术中十分重要的一个部分,近年来随著计算机技术的发展与进步,其对于社
家住山西运城梨花巷54号的唐秀华,是中国藏獒协会的副主席,也是我国唯一出版过三本藏獒专著的专家,他创建的“神州藏獒科研基地”在海内外颇有影响。
<正> 1994年中国海洋石油总公司开始资金集中管理的改革,对所属的油公司实行统收统贷以及按预算向其拨款的模式;对所属的专业公司实行“内部银行制”。两年的实践证明,新资金