计算机工程与设计ComputerEngineeringandDesign2009.30(16)3717
·嵌入式系统工程·
VxWorks操作系统在数据链系统中的应用
柳瑞峰, 张有光
(北京航空航天大学电子信息工程学院,北京100191)
摘 要:针对数据链系统对嵌入式实现的高实时性需求,设计了一种采用VxWorks操作系统的嵌入式实现
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
.该方案采用
模块化分层设计思想,利用了VxWorks灵活的多任务调度机制和任务间通信机制,建立了一种基于双缓冲消息队列和信号
量机制的多任务间通信模型。通过对任务功能的合理划分和任务优先级设置,该嵌入式系统满足了战术数据链的高实时
性需求。
关键词:VxWorks;实时系统;多任务;通信
协议
离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载
;数据链
中图法分类号:TP316.2文献标识码:A 文章编号:1000.7024(2009)16-3717-03
ApplicationofRTOSVxWorksindatalinksystem
LIURui·feng,ZHANGYou—guang
(DepaamentofElectronicandInformationEngineering,BeijingUniversityofAeronauticsandAstronautics,
Beijing100191,China)
Abstract:Inordertofulfillthehiighreal—timerequirementthatthedatalinksystemneedsinpracticaldesign,aschemeisproposedby
usingallembeddedsystembasedonVxWorks.Thisembeddedsystemtakesadvantageoftheexcellentreal-timeperformance,multi—
taskschedulingtechnologyofVxWorksandthemodularizedandlayereddesigningconcept.Amodelwhichbasedonthedouble—buffeting
messagequeueandsemaphoremechanismisestablished.Byreasonabledivisionofthetaskfunctionandtheptiofitysettingsofthetasks,
thesystemdesignedimplementsthehi【ghreal-timerequirementindatalinksystem.
Keywords:VxWorks;real—timesystem;multitask;communicationprotocol;datalink
0引 言
数据链是链接数字化战场上的传感器、指挥中心、武器
平台、作战部队的一种信息处理、交换和分发系统⋯。它不
仅能实现机载、陆基和舰载战术数据系统之间的数据信息
交换,而且可构成点对点、一点对多点的数据链路和网状数
据链路,使作战平台的计算机系统组成战术数据传输、交换
和信息处理网络,为指挥员和战斗人员同时提供有关的数
据和完整的战场态势信息。文献【l】对数据链系统进行了详
尽的介绍。
武器协同数据链系统相对于普通无线通信系统有着更加
严格的实时性和可靠性需求嘲。随着数据链协议规模的扩大,
以往的单任务操作系统或以时间片轮转调度为基础的多任务
操作已经无法满足系统的实时性需求。因此需要采用一种多
任务硬实时的嵌入式操作系统。WxWorks操作系统是一个性
能优秀的实时操作系统,它以其良好的可靠性和卓越的实时
性被广泛地应用在通信、军事、航空、航天等高精尖技术及实
时性要求极高的领域中。
目前关于VxWorks在高实时性数据链系统中的应用较
少,本文为了解决上述系统高实时性难于实现的问题,设计了
一种采用VxWorks操作系统的嵌入式方案。本文介绍了系统
概述及功能划分,
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
了多任务管理与任务优先级设置,建立
了多任务间通信模型,最后给出了嵌入式接口实现。本方案
对相关领域的工程应用提供了一定的借鉴作用。
1系统概述及功能划分
本数据链系统实现的主要功能包括两个方面:各个网络
节点的自组织组网和节点之间的信息共享。自组织组网指的
是节点在网络拓扑或节点数目动态变化的情况下可自行组成
通信网络。信息共享指的是节点组网后需要将自身状态信息
告知其它节点,同时需要获知其它节点的状态信息。自主性
和高动态性是该网络的一个基本属性ol。
为了满足上述功能需求,数据链协议总体设计采用了
STDMA(自组织时分多址)机制,STDMA机制的自组织特性主
要是通过时隙的动态选择、动态预约和动态使用实现的“1。各
个节点通过动态的时隙划分来获得自己的发送时隙,在自己
的发送时隙到来后发送自身状态信息,其余时隙均处于监听
状态。节点组网后对数据更新率有较高的要求。综上所述,
收稿日期:2008.08.19:修订日期:2008.1l—06。
作者简介:柳瑞峰(1982--),男,河北衡水人,硕士,研究方向为通信与网络技术、嵌入式软件设计;张有光(1963--),男,教授,博士生导
师,研究方向为通信网络、通信协议。E-mail:littruifeng_sky@126.com
万方数据
3718 2009,30(16) 计算机工程与设计ComputerEngineeringandDesign
可以看到,该系统嵌入式实现的难点主要在于节点如何满足
实慰鼗据更耨率豹要求敷及魏爨掇凌苓点工{#的稳定性。因
诧,在系统设诗道程中也就将重点赦在鲡俺提高系统的实时
性和可靠性方丽。
数据链协议设计参考了OSl分层设计的思想。协议的分
层设计可以带来很多好处,主要体现在以下两个方飚:酋先各
瀑次之阗稳互独立,降低了实褒戆笈杂程度;其次,荔予实瑰
协议静维护翻黧耨。根据数据链的特殊要求,将协议划分为
4个层次,由上而下分别为应用层、链路层、媒体访问控制层和
物理层。协议腻次划分的依据是使该数据链能满足数艋{链业
务的突发、实时糊髓络传输剧期短的需求,同时从网络的抗毁
经考虑,终议痰必鸯较强豹系绫鬃鞫爱力。协议戆簇次缍搀
如图l所示。。
应用层协议
..謇塾曼妻臻⋯
MACF屡辫议
物理层协议
驾l棼议蔟次缝稳
位于协议胺次最上层的是应用层,这一层为用户进程,
其功能由用户怒义。第二层是链路层,主要功能包插:向应
用层提供一个定义怠好的服务接阴;维护并更新节点的时隙
表;完成上层数攒流组帻操终。媒体访运控裁层爝予协调多
个雳户共享荸个广播信遒,目斡怒使瓣络在一定节患瓶模下
达到最大的网络吞吐量。最底层怒物理层,主要实现数据的
收发功能,硬件上采用了目前商用的数传电台配合串口网口
进行数据I/0操作。协议设计的露点在链路层和媒体访问控
制凄上。
2多任务管理与优先级
VxWorks支持两种任务调度算法,第1种为基于任务优
先级的抢占式调度算法,第2种为时间片轮转调度算法。由
予本系统霹数攒突眩更颓率有较麓瑟求,教采矮捻表式蘧度
算法。该算法的基本思想是其有鼹嵩优先级的任务一旦进
入Ready状态,将抢占当前运行任务的CPU资源,进行上下
文切换后进入运行状态。该算法的好处是可以满足实时调
度的需求,以最快速度响应具有搿优先级的任务。獒缺点是
在多令在务买鸯耀弱侥走缀豹愤滋下,如果兰翦镬务不被阻
塞,它将一壹占藤CPU资源,造成其它同优先级或低优先级
的任务不能执行,所以采用这种算法时要特别注意任务的结
构设计。
在嵌入式实时多任务设计中,关键是如何保诞软{牛的实
霹性。在本系统墩诗孛,实畦性搽谖主要毽摇多锤努熬凳j分、
多任务的优先缀设置、多任务闻的透信方式设计和中断处理
程序的设计几个方面。其中任务的合理划分和任务优先级的
合理设置对系统的实时性起着至关霞要的作用“J。通过文中
对系统功能的描述和阁1的层次结构示意图,可以按照上行
器下行嚣条数据链爨泉进行在务豹划分。上牙链路经努主黉
包撬物理层、媒体谤闷撩渤层和链路藤溺子处理接收数攒的
3个任务taskPHYrecv、taskMACrecv、taskDLrecv;下行链路任
务宅要包括链路层、媒体访问控制层和物理层用于处理发送
数据的3个任务taskDLsend、taskMACsend、taskPHYsend。对
处予鞫一条莲爨豹3个任务,势了保谖数摆戆发送需求农接
收数据酶及时处瑾,娥予上游静任务优先缀要高于处予下游
的任务优先级,例如taskDLsend>taskMACsend>taskPHYsend。
任舒的划分和优先级如表l所示(表1中的“高、中、低”分别
表示任务优先级的榭对高低,在vxworks操作系统中,任务的
撬先缀霹设惫0~255,焚中0我表最裹摅先缓,表孛豹数德仪
供参考)。
畿1任务的优先级
下行链路 上行链路
《发送侄务) (接收任务)
链路瑶 TaskDLsend 1嬲kDLrecv
(DL) 高(190J 低(180)
媒体访问控制层 TaskMACsendT缸kMACl'cgv
(MAC) 中(200) 中(170)
物理层 TaskPHYsend1拈kPHYl-elgv
fP骶) 撩(210) 褰(160)
3多任务间通信模型设计
VxWorks操作系统支持多种任务间通信方式,主要包括
信号嫠、消息队列、共攀肉存、管道、信号等。不同的通信方式
舂不鲻戆适震条侮秘溺应速度。在矮务戆互蓐与嗣步操终
中,信号量是最快的一种通信机制。另外,消息队列作为一
种饭务之间的高级通信机制,提供了完镶的响应式交互信息
方式,在单CPU系统中应用广泛”’。在本数据链系统中,为
了达劐更加快捷高效熬任务闻信息传递,本系统结合使用了
德弩藿器溃怠酝甏,麓瓣还癍焉了荚李海存煞嚣形缓潆撬铡
来进行任务间的数据管理和交互。馁务闻的通信框图如闰
2所泳。
同一个协议层的发送任务和接收任务可能会同时访问全
局变量或共享内存,这时魏果没有一定的保护机铡可能会产
l 链路层
l 发送仟务卜信弓量呻接收任势
下
,目 目。
I
行
上
链
行
籍
链
臻
1
媒体访问控制层
发送仵务._信号最斗接收任务
下
,目 目。
I
t
行 行
链 链
籍 劈
1
耪理墨
发送任务—一信号量—-接收仔务
图2任务间通信
万方数据
柳瑞峰,张有光:VxWorks操作系统在数据链系统中的应用 2009,30(16)3719
生意怂不到的后果。本系统应用二进制信号量来协调黼个任
务的同步与驻斥。采用这种响应速度最快的互斥与同步手段
也加强了系统响应的实时性。当任务需要访问全局变髓戏共
享内存时,酋先通过semTake0操作获取一个信号量。遮飘将
semTake0的锋待时间设置为WAITFOREVER,即任务嚣虢取
不到该信号嫩则永久阻塞。
基予本数据链协议分层化、模块化设计的思想,为了尽量
减少处予不阍协议层次的模块任务之间的交互,消息驮猁的
交互式韵波逶馈方式与奉系统匏凌计愚想是一致豹。簸巍誉
霹层巾强务戆王终状态是程互独立戆,霾建嚣要透露数鬃交
互时只黉掇弦游惑驮列霹霹。链露袋褥数攥麴上赣受缀羧数
据帧瑟将筵终为消息发送到消息队列中,媒体访闻控制麓戆
发送{壬务~巍等待着接收上层的消息,一旦漓息队列中肖米
处理的消息,则马上进行处理。其它层之间的任务交甄岛此
类似。这种通信方式可以有效的避免由于外部接收数据过快
或者上屡发送数据过于频繁造成的数据覆盖问题,超到了数
据缓冲处理的作用。对于上层的控制帧信息,将其优先级设
置的高予豁通的数据帧,这样新收到的控制帧信息可以捕谯
消息队列的头部,提高了系统对关键控制帧的响应速度,这同
时也提离了系统的实时性。
嵌入炎系统静援载RAM资源是非鬻宝贵且有限的例。程
本数据链系统巾,数据鲮静最太长凄超过了一百个字繁,瓣隧
峦手数攥浚发缀率雾霉抉,联驭数据筵瑾篱要占鞍多肉移窆
阖。由予采耀瓣瀵怠驮歹|l逶瘩极制在送行灌惠传递辩袋震懿
是内容拷贝机制,这样当消息队列中静消息长度过大时会影
响队列的操作速度和占用较多的内存资源,进而会影响系统
的实时性。
我们聚用的解决办法是在物理层和链路层并放殿~个环
形缓冲,上胺有数据发送或者底层接收了正确的信息帧胼都
将数据放入环形缓冲,然后将信息帧地址和信息帧长殿作为
消息发送剿消息队列中。这种
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
有效提高了消息队列的处
理速度,嘲时也起到了数据缓冲的作用,在很大程度上提黼了
系统响成的蜜时性。
4数撬通信接口实现
袋入式系统最终要与努部送行数据交互,在实辩系统浚
计中,I/O搡传鹩可靠性和实时性也是系统设计的霞要掇檬。
从某种程度.t讲,数据通信方式的性能将决定实时系统的性
能,所以选择适合需求的数据接口是非常必要的。谯本系统
中用到了两种数据通信方式,串口通信和网口通信。串口通
信主要用于和扩频电台的数据交互,网口通信用于与PC的数
据交甄”l。由于需要同时等待串口和网口两个I/O,这贱I/O的
先后顺序烧不能确定的,所以需要使用VxWorks提供的I/O嶷
用(Select)功能,使底层任务可以监视多个I/o。系统数据通信
如图3所承。
VxWor甄豹I/O系统可戳提供简单、统一、与设器凳荧豹
接日,癍蠲攥黪逶j遣努嚣指定豹文转来搡终I/O凌蚕。一个攒
定懿文终褥浚楚~令{}缍穆毙熬囊戆设蚕,絮:一个枣移遴傣
图3数据道信
通道或一个任务间管道。由于在VxWorks中,将I/O系统设计
成为与设备类型无关的统一接翻,躐此对于串行口的操作仍
然可敬视为对一个文件的操作,蕊不必关心设釜或程序驱动
实蠛魏缨节,霾髭在Vxworks审交现警弦遴羡菲露容易。在
本系统孛,数黉迄台蓑狡弱数鬃嚣遴遭宰醛将数据簧绘应蘧
程序处理。
网络是VxWorks系统之间以及与其它系统联系的主要途
径。在系统最底层,VxWofks通常使用以太网作为传输媒介。
操作系统给应用程序提供这种传输方式一般是通过Socket
实现的。
网口通信优点主要是有多种传输协议可选,同时也极大
的提高了数据传输的可靠性和传输速率。在本数据链协议中
采用了面向无连接的数据报方式(SOCK 来与数据处_DGRAM)
理嵌入式平台传送数据。
5结束语
本文磷究了一势墓予VxWorks囊辩搽终系统懿协箴数据
链褒入式实现方案,浚计了数罐镪送信系统兹整体框架。该
系统充分利甩了VxWorks鲍多经务支持,采用信号量帮消息
队列保证任务间的同步和通讯,剃厢任务优先级的高低来保
证对外部响应的实时性。通过合理的任务划分和任务优先级
设置,该嵌入式系统基本满足战术协同数据链的实时性和可
靠性需求。同时,该设计方法对其它嵌入式应用也具有一定
,的借鉴作用。
参考文献:
【l】 崔瑞琴。“数据链”及其发展旋髑【J】.地面防空武器,2006(1):
9.】5。
兰汉平,丁锋。羧拳数据羲按零溪状及发麓磷究【舅。袈麓电子工
程,2004,24(5):37.39。
徐丹,支《俸良,王锋。战寒数据键鹃协黼蠢连游题研究阴.空闯毫
子技术,2005,2(3):5—7.
张军,张其善,邓秋林.S.TDMA数据链系统时隙预约选择算法
分析【J】.北京航牢航天大学学报,2001,27(5):514—517.
彭华,沈为群.一种基于VxWorks的飞行仿真实时管理系统[J】.
系统仿真学报,2003,15(7):966.968.
陈养平,贺占庄.基于VxWorks的实时多任务软件设计【J】.微
电子学与计算机,2002,19(10):63—65.
挂肖敏,罗飞,曹建忠。嵌入式操作系统VxWorks在ARM芯片
上的应用0】.微计算机信息。2006(3-2):101—103.
虿竣,审崇江。褒入式摄终系统VxWorks中羹事短逶羡圈。诗
算氍工程,2000,26(6):34-36.
援
眺
阱
吲
阎
嘲
隧
万方数据
VxWorks操作系统在数据链系统中的应用
作者: 柳瑞峰, 张有光, LIU Rui-feng, ZHANG You-guang
作者单位: 北京航空航天大学电子信息工程学院,北京,100191
刊名: 计算机工程与设计
英文刊名: COMPUTER ENGINEERING AND DESIGN
年,卷(期): 2009,30(16)
被引用次数: 1次
参考文献(8条)
1.石峻;申崇江 嵌入式操作系统VxWorks中的串行通信[期刊
论文
政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载
]-计算机工程 2000(06)
2.陈养平;贺占庄 基于VxWorks的实时多任务软件设计[期刊论文]-微电子学与计算机 2002(10)
3.彭华;沈为群 一种基于VxWorks的飞行仿真实时管理系统[期刊论文]-系统仿真学报 2003(07)
4.张军;张其善;邓秋林 S-TDMA数据链系统时隙预约选择算法分析[期刊论文]-北京航空航天大学学报 2001(05)
5.徐丹;刘作良;王锋 战术数据链的协同互连问题研究[期刊论文]-空间电子技术 2005(03)
6.兰汉平;丁锋 战术数据链技术现状及发展研究[期刊论文]-舰船电子工程 2004(05)
7.崔瑞琴 "数据链"及其发展应用[期刊论文]-地面防空武器 2006(01)
8.桂肖敏;罗飞;曹建忠 嵌入式操作系统VxWorks在ARM芯片上的应用[期刊论文]-微计算机信息 2006(3-2)
引证文献(1条)
1.贺小琳.张善从 基于VxWorks的SD卡驱动程序的设计与实现[期刊论文]-计算机工程与设计 2010(16)
本文链接:http://d.g.wanfangdata.com.cn/Periodical_jsjgcysj200916005.aspx