你的位置:电感厂 > 基础知识功率电感

一种新的嵌入式Simplified TCP/IP协议栈的研究与实现

2015-11-12 10:29:20      点击次数:
上一篇:基于MPXY8020传感器的TPMS系统设计分析 贴片电感

  3. 2 网际协议—IP协议

  IP协议是TCP/IP协议簇中最为核心的协议,提供不可靠的无连接的数据报传送服务。所有的TCP、UDP和ICMP数据都以IP数据报的格式传输。IP协议非常重要,实现比较复杂。从实现Simplified TCP/IP协议栈的要求出发,约简IP协议需要把握两个原则:①对接收到的IP数据报进行处理,向上层协议进行提交;②负责对UDP报文进行封装,交给数据链路层进行装帧。当设备收到发给自己的数据报时,首先判断是否是自己的数据报,若不一致则丢弃该数据报;否则进行IP校验和的验证,当数据报无误后,去掉IP头部,将IP数据提交上层处理。

  
一般情况下,数据包要经过不同的物理网络,则IP层必须支持数据包的分片和重装。但IP的分片和重组所需的开销比较大,而现有的网络一般都支持以太网,并且在此次应用的8/16位嵌入式系统中,传输的数据都是一些数据量比较小的状态信息或者控制信息。因此数据报都不会超过协议所限制的1500字节。如果极少数数据实在比较大,可以在程序中进行处理,分批次进行传输。因此可以裁减掉IP的分片和重组功能。而IP数据包的路由功能则交给默认网关执行。

  3. 3 网际控制报文协议———ICMP协议

  ICMP协议是IP网络内为控制、测试、管理功能而设计

的协议。ICMP的报文类型很多,不同类型的报文由类型和代码字段共同决定。为了了解设备是否可达, Simplified TCP/IP协议栈中主要实现了回显请求和应答报文的功能。该程序发送ICMP回显请求报文给目的主机,并等待ICMP回显应答。对于处于被动状态设备而言,不需要主动发送回显请求,只要能够识别来自其他客户的回显请求并发送回显应答就可以了。为了能够使用户了解设备是否可达,应当能够对Ping的回显请求给予应答。

  3. 4 用户数据报协议—UDP协议

  Simplified TCP/IP协议栈中的传输层中,选用UDP作为传输层协议。从理论上看,TCP的可靠性是以许多复杂措施及由此而增加的开销为代价换来的。TCP提供面向链接的、可靠的服务,而UDP是无面向链接的。由于UDP没有可靠性的保证机制,因此能全速地进行数据通信(即充分发挥物理通信设备的速度);又因为UDP没有点对点接入的要求,可以实现“一对多点”,“多对多点”的广播和多点播发信息。UDP的不可靠传输的缺陷,可以在使用UDP时,在应用层增加提高UDP可靠性的代码来弥补。譬如给数据添加顺序标记,因而能在应用层发现数据的丢失和乱序,从而加以更正;采用应答确认机制,确保数据安全到达接收者等。

  由于嵌入式系统的CPU速度有限、代码不能太长、传输率是关键等特殊要求,一般来讲,在嵌入式设备接口时,快速、简单地与嵌入式设备进行双向数据传输是首为重要的。所以减少和嵌入式设备之间的往返信息,使网络成为一种更为高效的通信媒介将是嵌入式网络协议设计的必由之路。而UDP协议的开销很小,传输率比TCP高出很多,实时性更强。所以嵌入式TCP/IP协议中采用UDP协议作为运输层协议,不失为明智之举。嵌入式系统中也可能存在对数据传输可靠性要求很高的情况。由于UDP协议没有计时机制、流量控制或拥塞管理机制、应答、紧急数据的加速传送等功能,因此在应用层协议中加入相应的措施,如给数据报加上顺序标识、定时等待、采用重传机制等辅助性的操作来弥补它的缺陷。从应用的角度看, Simplified TCP/IP协议栈主要是应用于家用电器上网。对于温度、烟雾和湿度传感器等的每秒一次地集中监控来说,发送频繁,包较小,只需前端设备向网络中广播实时状态等数据即可,因此选用UDP较为合适。

  4 Simplified TCP/IP协议栈处理流程

  Simplified TCP/IP协议栈接收数据包的过程就是解析数据包的过程。首先当一个数据帧到达时,网络接口控制程序将其读入缓冲区,检查协议类型字段,如值依次为0x0800,表示数据域内为IP包;值依次为0x0806,表示数据域内为ARP包[6]。由此以确定使用那种协议模块来处理此分组。去掉以太网帧首部的数据包将被分配到IP缓存或者ARP缓存。接着,由IP协议处理模块或ARP协议处理模块继续解析。ARP根据包的类型,或者更新ARP地址映射表或者发送ARP应答。IP协议处理模块对数据包解析后,将数据交给UDP协议处理模块或ICMP协议处理模块。ICMP协议模块会发回一个ICMP回显应答包。Simplified TCP/IP协议栈发送数据包的过程是封装数据包的过程,数据经过某层协议的处理,就会在数据包首部增加某种大电流电感

  • [稳压电源]有没有使用过TTL电平控制28V电源开关现在想设计一个用TTL电平来控制28V电源的开关,当TTL为高时,28V电源打开,从输入到输出;当TTL高低时,28V电源关闭。
    有关这方面的资料很少,是不是电源比较大,不好设计啊?几乎所有的芯

  • #优秀的学生,需要一套BOOST套件#LM3478套件——器 目前,在学校里开设的电力电子实验中,斩波电路电路的实验主要还是原理性的验证实验,包含基本的结构:降压斩波电路、升压斩波电路、 升降压斩波电路、Cuk斩波电路、Sepic斩波

  • [TI]CSD19532KTT怎么实现可以输出100A电流的脉感谢各位浏览回复~本人目前需要设计可以输出大电流(100A左右)的脉冲电源,查找了许多产品手册,觉得TI公司的N-MOSFET CSD19532KTT比较符合要求,数据手册里占空比1%时最大漏源极电流Idm可达400A。 但是本人是新手,不知道怎么设计这个电路?有没有类似的电路可供参考?另外,脉冲控制MOSFET电流达到100A时,电路中的其他元件(如电阻)也通过同样大的电流,这样电阻功率很容易超过其额定功率,导致元件烧毁,不知道怎么解决?拜谢各位提供指导!根据你的需求和构想,

  • 示波器的三重境界
  • RFID无线识别电子标签基础介绍:
  • 放大器和视频滤波器电路板设计技巧
  • 如何选择合适工业连接器?
  • 汽车启动/停止系统电源方案
  • AT89C2051多路舵机控制电路详解
  • 变压器原副边电感量怎么确定呢?
  • [DCDC](首发)低压球泡灯地摊DCDC驱动方案成本超低
  • 3843升压,3843为什么会烧?电感发热,自己绕制的电感
  • 高频铁氧体变压器 电感 频率匹配问题