TCP_IP协议在vxWorks嵌入式平台上的实现.doc

TCP_IP协议在vxWorks嵌入式平台上的实现.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TCP_IP协议在vxWorks嵌入式平台上的实现

TCP/IP协议在VxWorks嵌入式平台上的实现 作者:朱世宇 刘春雷 单位:重庆工业自动化仪表研究所 摘要:本文介绍了基于VxWorks嵌入式平台的TCP/IP协议在工业现场总线上的实现。根据对嵌入式设备网络连接的结构体系和协议层次的分析,详细阐述了在vxworks系统中如何建立和实现网络通信。 关键词:TCP/IP协议 VxWorks 嵌入式系统 Abstract: In this paper, an application of TCP/IP by VxWorks embedded system in the field bus of industrial is introduced. It give a total presentation of how to design net in VxWorks embedded system with the analysis of the architecture of embedded device net connection and protocol hierarchy. Keywords: TCP/IP VxWorks embedded system 0 引言 随着工业自动化的发展,工业现场总线上的数据量的交互越来越大,对数据传输的速度和可靠性要求越来越高。因此,网络通信已经逐渐开始成为工业现场总线应用的主流之一,也是嵌入式采集板与人机界面通信方法中常见的一种。 VxWorks是最早在其内核中加入TCP/IP网络协议的嵌入式实时操作系统,它提供了对其它网络和TCP/IP网络系统的“透明”访问,包括与BSD套接字兼容的编程接口。 1 VxWorks简介 VxWorks是由Wind River 公司开发的一种强实时性嵌入式操作系统,支持Motorola、PowerPC、ARM等多种嵌入式CPU。它以良好的实时性被广泛地应用在通信、军事、航空和航天等领域中。Wind River 同时提供了集成开发环境Workbench,用户可以通过图形界面方便地对VxWorks的内核进行配置。Workbench还集成有编译器并提供动态下载、远程源级调试等功能,非常适合交互式开发。 2 底层驱动的实现 VxWorks操作系统实现网络层、传输层和应用层协议,网络接口控制芯片来实现物理层和链路层协议。网络体系结构和协议分层如图1所示。 图1 网络协议分层示意图 VxWorks支持常见的几种网卡和网口芯片:如NE2000和Intel82557等,只需要定义几个宏,系统就会在启动时自动加载底层驱动;此外Wind River公司还提供了通用模板,只需奥做适当的改动,就可以使系统支持其它的网口芯片。在实际的设计过程中,我们采用HR61H50L作为网络隔离器,采用AM79C874作为以太网控制器,完成网络物理层和链路层的设计与实现。 3 网络通信的实现 VxWorks完全支持BSD socket,可以使用TCP和UDP两种通信形式。TCP和UDP是两种不同的传输协议。UDP 是User Datagram Protocol的简称,中文名是用户数据包协议,是 OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。 TCP是Transmission Control Protocol 传输控制协议,是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议。 两者之间的区别主要在于对传输数据的可靠性保证。UDP追求最短时间内的快速传输数据包,可靠性低而速度快。TCP追求高可靠性,而导致在某些环境中传输速度较慢。 下面介绍TCP传输协议在VxWorks下的编程步骤。 3.1 建立流程 在网络通信中,要建立TCP传输协议的服务端,首先要创建一个侦听用套接字。在VxWorks中,创建侦听用套接字需要调用socket()函数。其作用是建立一个套接字并返回这个新建立的套接字的描述符。在创建套接字时,需要设定通信协议类型,分别为:连接(数据流)型,电报(UDP)型和最基础(raw)型。本文使用的是连接(SOCK_STREAM)型。当套接字使用socket()创建后,它只是属于某种网络地址的类型,而没有真正和网络地址绑定。这时需要与本地地址相绑定。 绑定地址,是指将网络地址绑定到指定的套接字,使其他套接字可以连接它。绑定所用的函数为bind()。在调用前,首先要建立本地地址,需要用到sockaddr_in结构体。sockaddr_in结构体由sin_family、sin_port、sin_addr、sin_zero四部分组成,分别是地址家族(一般为AF_INET)、存储端口号、存储IP地址、保留的空

文档评论(0)

dashewan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档