vxworks操作系统下基于缓冲队列网络通信应用new

vxworks操作系统下基于缓冲队列网络通信应用new

ID:34403815

大小:212.87 KB

页数:3页

时间:2019-03-05

vxworks操作系统下基于缓冲队列网络通信应用new_第1页
vxworks操作系统下基于缓冲队列网络通信应用new_第2页
vxworks操作系统下基于缓冲队列网络通信应用new_第3页
资源描述:

《vxworks操作系统下基于缓冲队列网络通信应用new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、万方数据第22卷第3期电脑开发与应用文章绢号:1003—5850(2009)03-0067-02VxWorks操作系统下基于缓冲队列网络通信应用ApplicationofVxWorksRTOSBufferQueueNetworkCommunication樊争奇(华中光电技术研究所武汉光电国家实验室武汉430074)【摘要】光电系统控制端与受控端间进行网络信息交换,要实现系统操作层的零死时间,关键是网络信息及时处理。系统信息接收、处理和发送在VxWorks实时操作系统下采用缓冲队列和多任务实现方法。方法实现了信息的流水线处理,降低了通信双方的时间相关性,同时提

2、高CPU利用率和软件效率。【关键词】光电系统,缓冲球列,VxWorks实时操作系统,多任务中图分类号:TP399文献标识码:AABSTRACTToachievesystemoperatingzerodeadtimewhennetworkinformationexchangebetweencontrolsideandcontrolledsideofelectro-opticssystem,itisimportanttodealimmediatelywithnetworkinformation.Systeminformationreceiving,process

3、ingandsendingusethemethodsofbuffer—queueandmulti—taskinthevxworkRTOS.Themethodsachieveinformationpipelinedeal,lowertimecorrelationofthetwosidesandimproveCPUutilizationandsoftwareefficiency.KEYWORDSelectro—opticssystem,buffer—queue。vxworksRTOS,multi—task网络通信作为对系统灵活性、可配置性的基本要求,得到了Vxw

4、orks的良好支持:在驱动方面,VxWorks提供了很多网口源码级驱动,如基于PC的NE2000网卡驱动和基于采集板的Intel82559网口芯片驱动等;在协议方面,支持到TCP/IP层;在软件接口方面,完全支持BSDsocket。同时VxWorks操作系统具有强实时性和多任务功能,多个任务对资源的使用都是平权的,丰富的通信机制和调度方式使VxWorks下的任务编制非常灵活。利用VxWorks对多任务和BSDsocket良好支持,可以方便地实现网络通信。1系统通信模式为满足光电系统和外部控制界面的通信,设计网络通信模块,以保证控制界面能灵活对系统进行控制、参

5、数配置和目标数据的接收、处理。要求光电系统能接收并缓存控制端的信息,实现信息的按顺序处理,保证信息不丢失,并且能够将处理结果返回。为此设计了基于缓冲队列的双工网络通信模式,结合VxWorks对多任务的良好支持,能够基本上做到无死时间的信息接收。如图1。使用多个任务来实现网络通信,通信过程如下:接收用户操作信息,将其转换为受控端可理解的格式,通过socket接口下传到受控端,然后等待返回信息。受控端信息接收任务从socket接收信息,将其添加到接收缓冲队列;信息解释任务从接收缓冲队列中取出信息,根据具体情况执行特定的软硬件操作,操作结束后图1基于缓冲队列的双工

6、通信模式将执行结果添加到发送缓冲队列;信息发送任务从发送缓冲队列取出信息,通过socket接口将其返回控制端;当硬件产生中断,操作系统立即执行中断服务程序,中断服务程序通知中断服务任务,后者将中断信息添加至发送队列,信息发送任务上传到控制端。接收缓冲队列主要作用是缓存从控制端发下来的信息,保证所有的信息得到尽快接收,避免由于接收速度慢造成控制端网络发送模块的阻塞。发送缓冲队列是将需要发送的信息缓存再发送,这样分离了网络发送和硬件的中断,在控制端软件接收模块阻塞而导致网络阻塞的情况下,不影响中断响应速度。2缓冲队列实现建立缓冲队列,使用链表来动态实现队列中信息

7、的动态添加和删除。每个包含一个信息地址的单节称为链表的一个元素。链表需要实现元素向链表头和链表尾的添加,以及从链表头删除元素的功能。为节省空*2008—10—29收到,2009—01—29改回**樊争奇,男,1980年生,硕士,工程师,研究方向:光电装备软件总体技术。万方数据VxWorks操作系统下基于缓冲队列网络通信应用间,使用单向链表,并用两个全局的元素指针来指向链表头链表尾,用一个全局变量表示链表的长度,以省略查找过程,直接获得链表头和链表尾的内容。每个链表元素为一个结构体structemdSingle,结构体内容包含两项:网络信息头指针,指向链表下一

8、个元素的指针pNext。全局变量为指向链表头的指针q

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。