您当前的位置:首页 > 计算机论文>软件开发论文

基于VxWorks实时操作系统的双主机计算机系统的设

2015-07-03 11:25 来源:学术参考网 作者:未知

基于vxworks实时操作系统的双主机计算机系统的设计与实现

 1 概述
  某侦查设备原计算机系统采用的多总线三主机加固机结构,体系结构复杂,成本造价高,系统稳定性差,并且由于该型光电跟踪设备交付使用已有十多年时间,原计算机系统的功能板块和主板基本已断货,一旦计算机系统出现故障,维修难度极大,所以必须更换原计算机系统。
  目前成熟的双机系统计算机一般采用a、b双机系统加固机结构,a、b主机采用各自独立的isa总线,通过加固机双口ram板进行数据通讯。a主机软件平台采用dos平台,完成数据采集、系统控制、人机界面显示等功能,b主机采用vxworks实时操作系统,完成与外部设备的网络通讯功能。
  由于侦查设备属于军贸产品,维修经费有限,考虑到双机系统加固机结构成本造价高及dos平台实时性低的问题,侦查设备计算机系统换装采用自研的双机系统计算机。自研的双机系统计算机也采用a、b双主机模式,a、b主机软件平台均采用vxworks嵌入式实时操作系统,通过百兆网互联进行内部数据通讯。
  2 vxworks操作系统技术特点
  2.1 vxworks系统内核特性
  vxworks嵌入式实时操作系统具有如下特性:
  1)多任务: 多任务是指vxworks 操作系统在同一时间内支持多个应用程序运行,每个应用程序被称为一个任务;
  2)抢占调度: 基于优先级的抢占调度,在能够执行的任务中,优先级最高的任务被分配cpu 资源;
  3)任务间的通讯与同步: 内核提供多任务间功能强大的通信机制,同时也提供有效的同步机制保证不可抢占资源和临界资源的访问。wWw.133229.cOM
  2.2 vxworks系统任务调度机制
  vxworks系统实时内核提供了丰富的多任务环境及对多任务的管理。vxworks支持两种任务调度算法,分别为基于任务优先级的抢占式调度算法和时间片轮转调度算法。
  基于任务优先级的抢占式调度算法的本文由论文联盟http://收集整理基本思想是,当有更高优先级的任务进入就绪状态时,将抢占当前运行的低优先级任务的cpu 资源,进行上下文切换后进入运行状态,中断可以抢占任何任务。vxworks系统默认采用抢占式调度,该算法可以满足实时调度的需求,以最快速度响应高优先级的任务。
  vxworks 系统抢占式调度算法原理图如图1所示:
  基于时间片轮转调度算法的基本思想是,让所有同优先级的就绪任务共享cpu,调度时间单位为时间片。一个任务执行一个时间片后,相同优先级就绪队列中的首任务会被调入运行一个时间片,而不管前一个任务是否执行完成,如此循环保证同优先级任务平等获得cpu 时间。
  3 双机系统计算机设计与实现
  3.1 组成
  基于vxworks 系统的双机系统计算机由a、b主机组成、a主机包括a主机电源、a主板,视频图像采集卡、多功能接口卡,b主机包括b主机电源、b主板、同步数据链通讯板、、机箱等组成。其结构组成框图如图3所示。
  3.2 工作原理
  双机系统计算机a、b主机均采用isa总线形式,a主机中a主板、视频图像采集卡、多功能接口卡通过isa完成数据通讯。a主机主要实现实时数据采集、视频图像采集与目标提取、伺服系统控制、人机界面显示、网络通讯等功能。
  b主机主要实现与外部设备的高速同步串口通讯及网络通讯等功能。a、b主机软件平台均采用vxworks嵌入式操作系统。a、b主机基于udp网络协议编程,通过内部百兆网互联完成数据通讯。
  3.3 电气设计
  3.3.1 a主板
  双机系统计算机a主板采用盛博公司的scm/lx-3160主板模块加以封装。a主板具有体积小、功耗低、造价低,运行稳定,通用性好等特点。其主要技术指标如下:
  cpu:amd geode lx 800 ,工作频率500mhz;
  内存:256mb;
  含内置显卡;
  显示分辩率:支持各级分辩率,最高可达1600×1280;
  内置双intel 10m/100m自适应网卡;
  4个串口(com1/2:rs232/422/485可选:com3/com4:rs232);
  1个cf卡接口;
  isa双96芯总线;
  3.3.2 多功能接口卡
  双机系统计算机a主机多功能接口卡,其主要技术指标如下:
  1)并口:四个8255a并口,可工作在8255a方式0,1;
  2)串口:四通道rs232/rs422串口用户可选;其中rs422波特率大于150kbps;
  3)32路单端或16路差分12bit a/d输入,a/d转换周期:≤15us
  4)4通道12bit d/a,输入电压:±10v,输出电压:±5v、±10v,转换精度:≤1lsb
  5)中断:1 个8259可扩展pc中断,可接8个中断源;
  3.3.3 b主板
  1)cpu:pentium iii 700mhz
  2)内存:256mb
  3)含内置显卡
  4)显示分辩率:支持各级分辩率,最高可达1600×1280
  5)内置双intel 82559 10m/100m自适应网卡
  6)两个rs232串口

转贴于论文联盟 http://www.ybask.com

  7)isa双96芯总线
  3.3.4 同步数据链通讯板
  1)高速传输速度≥10 mbps
  2)eprom/ram 128k
  3)二片82530、一片8251、一片dma
  4)四路rs—422、全双口通讯(其中要求2路能完成hd)
  3.4 软件设计
  3.4.1 软件功能模块组成
  双机系统计算机软件设计贯彻模块化设计原则,采用面向对象的软件设计方法,按功能划分主要包含如下模块,如图4所示。
  3.4.2 软件设计说明
  vxworks嵌入式实时系统多任务软件的设计的关键是如何确保软件运行的实时性,稳定性和运行效率。其中包括如何按照功能进行多任务划分、任务优先级的设置、任务间通信机制的选择、中断处理程序的编写、采取何种任务调度策略等技术是嵌入式多任务软件设计的关键技术。
  双机系统计算机采用基于任务优先级的抢占式调度算法完成软件任务划分。
  1)任务划分
  双机系统计算机软件按照以下原则划分为多个任务:
  a)功能内聚性,如伺服控制模块中手动、跟踪、接收目标指示等功能耦合比较紧密的工作放到一个任务来完成。如果把该功能模块分解过细会引起任务间频繁切换,导致系统开销增加;
  b)时间紧迫性,对于实时性要求比较高的任务,如a、b主机中的网络通讯模块,以高优先级运行,以保证事件的及时响应;
  c)周期执行原则,如a主机中的主程序模块,应作为一个任务来运行,通过硬件定时器中断方式,以一定时间间隔激活该任务,完成实时数据采集、系统控制等功能。
  2)任务优先级设置
  vxworks 系统中任务有256 个优先级,从0 到255,0的优先级最高,255 的优先级最低。系统级的任务优先级一般不大于50,因此用户任务的优先级要低于系统级任务,以免影响用户程序的调试。在双机系统计算机软件设计中,根据时间紧迫性和周期执行原则,将主程序任务模块、网络通讯任务模、伺服控制任务模块设置成较高优先级,将对实时性要求不高的调试界面显示模块、自检模块设置成较低优先级,以确保系统运行效率和实时性要求。
  3)任务间通信机制
  vxworks 提供了多种任务间通信机制,常见的有如下几种方式:
  a)共享内存。主要用于简单的数据共享,任务间通信最简单的方法是采用共享存储区,即相关的各个任务分享属于它们的地址空间的同一内存区域;
  b)信号量。主要用于解决任务间临界资源访问的互斥和同步,当两个或多个任务都要访问某些共享数据时,为了避免冲突,保持操作的完整性,对于共享数据的锁定是非常重要的,如果控制不当,可能得到错误结果,所以一般采用关中断、抢占禁止和信号量锁定资;
  c)消息队列和管道。消息队列主要用于单处理器中相关任务间消息的发送和接收; 管道是受驱动器管理的虚拟i /o 设备,提供一种灵活的消息传送机制。
  双机系统计算机任务间通信采用二进制信号量和互斥信号量方式完成任务间数据通讯。
  3.4.3 软件流程图
  双机系统计算机软件主循环功能流程框图如图5所示。
  双机系统计算机软件跟踪控制流程框图如图6所示。
  4 结论
  目前,基于vxwokrs实时操作系统的双主机计算机系统已成功替换原侦查设备多总线加固机系统,并顺利侦查设备换装项目的交付验收。该双主机计算机系统可实现原计算机系统的全部功能,同时具有实时性好、系统运行稳定、效率高等特点。该双主机计算机系统的开发过程在同类项目推广应用有一定参考价值。转贴于论文联盟 http://www.ybask.com
相关文章
学术参考网 · 手机版
https://m.lw881.com/
首页