当前位置:首页 > 通信技术 > 通信技术
[导读]说到实时以太网,大多数工程师都比较陌生,什么是实时?为什么实时?其实就是一层面纱,今天我们来给您揭开!大多数工程师平时接触的以太网基本都是TCP协议。

说到实时以太网,大多数工程师都比较陌生,什么是实时?为什么实时?其实就是一层面纱,今天我们来给您揭开!

大多数工程师平时接触的以太网基本都是TCP协议。因为觉得以太网TCP协议比UDP协议高级,理由就是数据在传输过程中不容易丢,但工业上的实时以太网很多都是不基于连接的UDP协议,这是为什么呢?我们先看下他们的区别。

1.1 1.TCP与UDP的基本特性

1.1.1 1.1 TCP(Transmission Control Protocol,传输控制协议)

TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次握手才能建立起来。

TCP连接三次握手过程

1.主机A通过向主机B 发送一个含有同步序列号的标志位的数据段给主机B ,向主机B 请求建立连接,通过这个数据段,主机A告诉主机B 两件事:我想要和你通信;你可以用哪个序列号作为起始数据段来回应我.;

2.主机B 收到主机A的请求后,用一个带有确认应答(ACK)和同步序列号(SYN)标志位的数据段响应主机A,也告诉主机A两件事:我已经收到你的请求了,你可以传输数据了;你要用哪个序列号作为起始数据段来回应我;

3.主机A收到这个数据段后,再发送一个确认应答,确认已收到主机B 的数据段:"我已收到回复,我现在要开始传输实际数据了;

这样3次握手就完成了,主机A和主机B 就可以传输数据了。如图1所示。

图1 TCP建立连接3次握手过程

TCP断开四次握手过程

TCP建立连接要进行3次握手,而断开连接要进行4次;

1 .当主机A完成数据传输后,将控制位FIN置1,提出停止TCP连接的请求;

2.主机B收到FIN后对其作出响应,确认这一方向上的TCP连接将关闭,将ACK置1;

3 .由B 端再提出反方向的关闭请求,将FIN置1;

4.主机A对主机B的请求进行确认,将ACK置1,双方向的关闭结束。

如图2所示。

图2 TCP连接断开的4次握手过程

由TCP的三次握手和四次断开可以看出,TCP使用面向连接的通信方式,为了提高数据通信的可靠性,在通讯有效数据之外添加了一套复杂的验证流程,从而加大了网络的负载和系统的开销,降低了通讯的效率。并且在通讯过程中一旦出现异常断开,重新建立连接前,需要先断开连接,释放资源,造成极大的耗时。所以TCP一般用于对实时性没有要求的通讯场合,比如网页浏览、邮箱数据、文件传送等。

1.1.2 1.2 UDP(User Data Protocol,用户数据报协议)

UDP是一个非连接的协议,传输数据之前,源端和终端不建立连接,当它想传送时就抓取来自应用程序的数据,并尽可能快地把它扔到网络上。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。

由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息,或者可以大家共享一个广播地址,成为UDP组播功能,类似CAN总线那种通讯,发到组播地址上的信息,将被所有组成员收到。如图3所示。

图3 UDP的两种通讯方式

UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额外开销很小。吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制。

UDP使用尽最大努力交付,但发送端的链路层不保证可靠交付,因此发送主机不需要维持复杂的链接状态表(这里面有许多参数)。UDP是面向报文的。发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付给IP层。既不拆分,也不合并。

UDP一般用于实时性高的工业控制场合。比如现在绝大多数的实时以太网都使用UDP通讯。轨道交通中的IEC61375-3-4更是以UDP作为实时过程数据的通讯,而用TCP用于参数配置和固件升级使用。

1.1.3 1.3 TCP与UDP的对比

表1 TCP与UDP的对比

1.2 2 实时以太网项目中的方案对比

1.2.1 2.1 TCP方案

使用的TCP方案中,由于工业现场的网络干扰等问题,在通讯过程中无法保证TCP连接可靠的保持,而在每一次断开TCP连接并尝试重连的过程中,都会经历上述的4次断开握手和3次连接握手的流程(如果是某些异常断开的TCP还需要经历超时重传和保活计数的流程),而在网络状况不佳的情况下完成上述流程是有很大可能超出系统应用层的超时限制,所以会出现了频繁出错的问题,导致实时性很差。

1.2.2 2.2 UDP方案

而UDP方案基于上述介绍过的UDP的特性,在出现异常后UDP可以省去TCP繁琐的握手流程,很快的恢复通讯,把需要发送的有效数据及时发送出去,从保证了系统要求的响应需要。

使用UDP方案的数据完整性是由上层应用协议来保证的。即使通讯过程中某帧数据丢失,但发送方能在未收到对方响应前利用重发机制重新把丢失的数据再次发送,以太网100Mbps的速率保证很短的传输时间,所以很快就可以保证数据到达。不容易超出系统应用层的超时限制。

比如轨道交通实时以太网的通讯协议中,就使用20548端口UDP组播地址作为过程数据实时控制。如图4所示。

图4 轨道交通中的实时以太网

以ECNN为例,主机通过UDP组播的方式,1包即将发给所有从机的内容都发下去,如图5所示。从机收到后,响应报文到组播地址,不但可以被主机收到,而且可以被网络中的记录设备(黑匣子)记录,便于故障时候进行分析。

图5 轨道交通实时以太网通讯过程

1.3 总结

综上所述,结合实际情况,使用UDP方案更符合实时以太网的实际需求。ZLG致远电子研发的ZNE-100TA串口转以太网模块,具备完整的TCP、UDP、UDP组播功能,高达1.15Mbps的串口传输速度,完全可以满足绝大多数实时以太网的通讯要求。严格完整的物理层测试,可以解决用户对于物理链路层设计的烦恼。如图6所示。

 

 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭