APP下载

嵌入式TCP/IP协议的探究与实现

2015-05-30乔富强

中国新通信 2015年22期
关键词:以太网嵌入式

乔富强

【摘要】 随着科技水平的发展,嵌入式的网络通信也随之发展了起来,因此,我们要更加深入地对嵌入式TCP/IP协议进行探究和更深层次的功能实现。本文对TCP/IP协议栈进行了分析,论述如何实现嵌入式以太网数据通信。

【关键词】 嵌入式 TCP/IP协议 以太网

一、引言

嵌入式网络通信在各个方面都得到了非常广泛的运用。目前最常见的就是总线和USB数据传输方式,传输速度即使可以达到较快的水平,但是其并不能够满足长距离的数据传输。因此,以太网能够弥补其在数据传输方面的缺陷。以太网能够实现一百米距离点对点的数据传输,如果要实现更加远距离的数据传输,则需要使用路由器或者交换机来完成。此文基于对CP2200嵌入式TCP/IP协议进行探究,并实现以太网嵌入式系统设计。

二、嵌入式TCP/IP协议的探究与实现

TCP/IP协议栈从上到下分别是由应用层、运输层、网络层和网络接口层所组成的四层结构,每一层各司其职,都有着不同的网络协议。依据软件实际使用的情况,在嵌入式系统当中为了达到网络通信的目的,需要对TCP/IP协议族进行裁剪。在对软件进行初始化的时候,也对单片机同时进行了初始化,其中包括对系统时钟、定时器、端口和串口进行了初始化。当然还有CP2200进行初始化,其中包括对MAC层和物理层进行初始化,并且中断使能。

在TCP/IP协议栈当中,运用层包含HTTP协议,运输层包含TCP协议和UDP协议,网络层包含ARP协议、IP协议和ICMP协议。以下是嵌入式TCP/IP协议的每个模块的实现流程:

1、HTTP协议模块。HTTP协议的发送函数http_send()即是TCP协议的发送函数和数据信息的结合,但是http_ send()函数主要是实现设计网页内容,JPEG的图片和HTML(超文本标记语言)等信息的使用依靠其函数实现。

2、TCP协议模块。TCP协议的发送函数tcp_send()是需要发送一个不包含任何数据的TCP报文,其作用是能够对字节头和校验和进行处理。通过对时间功能的设定,TCP协议的重传函数tcp_retransmit()能够实现对数据最多为两次重传的传输功能,实现传输功能的应用程序是依靠传送页数据而实现的,即是HTTP服务程序。TCP协议的保活函数tcp_ inacivity()是没半秒运行一次,当连接正在建立的状态下,保活期满了的时候并且没能被再次使用,就会中断连接。TCP协议的接收函数tcp_rcve()实现对字节头和校验和的运算,进而对HTTP服务程序和其连接状态等情况进行断定,最后进行TCP有限的状态机判断数据包的程序。

3、UDP协议模块。UDP协议的发送函数udp_send()能够实现对字节头和校验和进行处理,其接收函数udp_rcve()是对所接收的UDP报文进行处理,如果没有受到UDP报文数据,就需要发送ICMP终点不可到达报文。

4、ARP协议模块。ARP协议的发送函数arp_send(),在发送请求报文的时候,对于不清楚目的物理地址的,则是广播报文;在发送应答报文的时候,接收的一方的目的物理地址需要添加物理地址。ARP协议的重传函数arp_retransmit()能够实现当其发出ARP请求之后的半秒时间内没有任何响应,则进行再一次发送的功能,但是当两次发送没有得到响应就会对报文进行删除。ARP协议的缓存更新函数age_ arp_cache()能够每一分钟更新一次。ARP的解析函数arp_ resolve()能够对所发送的IP报文目的IP地址进行解析,如果发送IP地址和目的IP地址都不在相同的一个网络当中,那么此IP地址是网关IP地址,然后在缓存表当中对其进行查找,如果找不到就需要发送ARP请求报文。ARP协议的接收函数arp_rcve()能够实现对报文进行接收或者应答,对缓存表需要进行更新和重新定时,如果所接受的报文是应答报文,则需要发送等候地址解析的IP报文,但是所接收到的报文是请求报文 ,则需要发送ARP应答报文。

5、IP协议模块。IP协议的发送函数ip_send9()能够实现对发送IP报文的20字节头和校验和进行处理,进而使用网络接口层进行发送。IP协议接收函数ip_rcve()能够根据版本情况和所接收报文的种类转移到相应的接收函数来处理。

6、ICMP协议模块。ICMP协议模块的接收函数icmp_ rcve()是实现对ping请求的接收进行处理,并且处理ICMP不同种类的报文。其中Ping命令请求信息函数ping_send()是用来检测发送接收两方的接收情况。

三、结言

综上所述,此文对TCP/IP的网络结构中的各层协议模块进行探究,基于网络控制芯片CP2200的以太网接口和单片机C8051F340,并用编程语言来实现嵌入式以太网通信,同时进一步通过对各个层协议的裁剪,实现嵌入式以太网的数据通信。根据现阶段来看,嵌入式网络通信基本上都是依靠TCP/IP协议来实现的,嵌入式设备和网络两者相结合是嵌入式系统今后发展的主要方向。因此,我们要更加深入地对嵌入式TCP/IP协议进行探究以及更深层次的功能实现。

参 考 文 献

[1]王树森,王希杰,刘秋菊.嵌入式Web远程粮情监控系统的研究与实现[J].自动化仪表,2013(10):243-247.

[2]王宝宝,余世明,王振宇.嵌入式Internet中Nagle算法及其应用研究[J].中国工程科学,2014(02):101-105.

猜你喜欢

以太网嵌入式
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
TS系列红外传感器在嵌入式控制系统中的应用
嵌入式系统通信技术的应用
搭建基于Qt的嵌入式开发平台
谈实时以太网EtherCAT技术在变电站自动化中的应用
嵌入式软PLC在电镀生产流程控制系统中的应用
基于以太网传输的高速32通道数据采集系统
一种90W高功率以太网供电系统的设计
基于SOPC的工业嵌入式以太网接口设计
浅谈EPON与工业以太网在贵遵高速公路中的应用