碧波液压网 欢迎你,游客。 登录 注册

基于VxWorks的微机保护装置网络通信设计

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  

  

  0 引言

  随着科学技术的不断发展,人们对网络进程间通信的性能要求也越来越高,传统的网络通信方式已经不能满足需要。目前,越来越多的嵌入式设备都可以通过各种形式接入到网络,以实现与网络上其他各类型的主机互联。这在很大程度上得益于TCP/IP协议在嵌入式领域中的应用。本文选用VxWorks实时操作系统,并利用VxWorks对TCP/IP协议、多任务以及BSD Socket的良好支持,给出了一种可方便地实现网络通信的方法。

  1 VxWorks网络协议

  VxWorks通常使用以太网作为最底层传输媒介。而在传输媒介的上一层,VxWorks则用TCP/IP协议来用于VxWorks进程与其它主机环境进程之间的传输数据。用户程序需要的就是在TCP/IP层之上进行通信。因此,利用VxWorks对多任务和Socket的良好支持,可以方便的实现网络通信。

  TCP/IP是VxWorks提供的网络间进程通信的主要机制,它主要包括三个协议:Internet协议、IP协议和传输层协议。其中Internet协议是处于TCP和UDP之上的一组协议专门开发的应用程序,包括telnet、文件传输协议(FTP)等。IP层也称网络层,它包括Internet协议(IP)、网际控制报文协议(ICMP)和地址识别协议(ARP);其中IP协议是TCP/IP协议族的基础,该协议被设计成互联分组交换通信网,现已形成了一个网际通信环境,它负责在源主机和目的地主机之间传输来自其较高层软件的(称为数据报文的)数据块,它在源和目的地之间可提供非连接型传递服务;而传输层协议包括传输控制协议,主要有面向连接的TCP和无连接数据报UDP两种协议。

  VxWorks网络协议是一个基于开放系统的互连(OSI)模型,而且系统为了向高层协议层提供一个统一的、规范的、方便协议移植的网络接口,在高层IP层之下添加了一个MUX层,由MUX层负责与网络底层驱动的交互。这样做可以使用户在设计协议中不必关心网络底层的数据传递,而在设计网络驱动程序时也不必关心协议栈的结构,因而大大方便了对其进行的开发。VxWorks网络协议的结构如图1所示。

  2 基于双缓冲队列的网络通信设计

  网络通信的基石是套接字,一个套接字是通信的一端,在这一端上可以找到与其对应的一个名字。一个正在被使用的套接字都有它的类型和其相关的任务,VxWorks可以实现与BSD4.4TCP/IP兼容的Socket编程接口。由于面向连接的服务器使用的传输层协议可保证数据传送的可靠性和顺序性,因此,本文的系统端采用基于流Socket的客户机/服务器(Client/Server)编程模式,其程序可以分为客户端程序和服务端程序。其通信模型如图2所示。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论