首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于PXA270嵌入式系统的Socket通信设计
来源:本站整理  作者:佚名  2009-05-18 16:06:08



1  引言
    PXA270 是Intel 公司的一款基于XScale 架构的高集成度高性能嵌入式处理器,采用ARMv5TE内核,包含了Intel的SpeedStep 技术,优化了处理器的功耗,可以动态调节 CPU 的电压和频率来节省电源的功耗。支持多种嵌入式操作系统,如Linux、WinCE、Nucleus、Palm OS、VxWorks等。
    Socket接口是TCP/IP网络层的API,定义了许多函数和例程,可以用它们来开发TCP/IP网络层的应用程序。网络的Socket数据传输是一种特殊的I/O,具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。
2 系统设计
    系统的设计分为服务器端和客户端设计两部分,服务器端为运行Linux操作系统的PC机,客户端为PXA270系统,在该系统中移植和构建Linux嵌入式操作系统,两者通过Switch交换机进行网络通信。
2.1 系统工作原理
    在Linux 操作系统中,Socket 属于文件系统的一部分,网络通信可以被看作是对文件的读取。Linux 拥有POSIX 标准库函数,Socket()、Bind()、Sendto()、Recvfrom()等库函数可以方便地实现客户/ 服务器模型中数据的传送与接收。系统设计主要的目的是完成服务器和客户端网络通信的实现。首先启动宿主机和客户机的操作系统Linux,然后每个模块加载网络设备驱动程序,最后通过TCP/IP协议建立双方的通信链路,完成Socket通信,详细情况如图1所示。
2.2  嵌入式TCP/IP协议架构
    嵌入式系统作为TCP服务器,在三次握手建立连接的过程中,嵌入式系统作为监听状态的服务器,处于LISTEN状态,等待对方发起连接。当它接收到SYN数据片,立即发出SYN+ACK的数据片确认收到对方的SYN,此时变为SYN_ RECEIVED状态。再接收到对方返回的一个包含ACK的空数据片则三次握手完成,进入ESTABLISHED状态,最后进行TCP数据通讯。

图1  系统的原理示意图
    嵌入式系统建立连接时初始化序列号,然后根据对方发包中的值来确定序列号,不记忆序列号,不能识别重复报文。嵌入式服务器仅仅在服务器端响应客户端的请求,接收一个发送一个确认回答,不考虑失序问题。同时接收到TCP请求后,将存储于发送缓冲区中的数据立即发送即可,只需一个数据包就能完成,也不需考虑失序问题。
    因为嵌入式系统采用滑动窗口为1的传输方式,即发送一次数据包就等待返回应答,因此当接收不到确认包,就认为自己发送的包丢失,直接发送上次发送的数据。TCP的连接中,当客户机异常导致连接崩溃时,嵌入式系统发数据时会被回复复位信号,回到初始状态。嵌入式TCP/IP协议如图2所示。
3  客户端/服务器端功能设计
    在TCP/IP网络中,通信的两个进程间相互作用的主要模式是客户/服务器模式,即客户端向服务器端发出服务请求,服务器接收到请求后,提供相应的服务。客户/服务器模式在操作过程中采取的是主动请求方式。

图2  嵌入式TCP/IP图解

[1] [2] [3] [4]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:40,785.16000 毫秒