APP下载

基于以太网通信的数据收发处理技术

2018-05-15刘亚军

物联网技术 2018年4期
关键词:以太网

刘亚军

摘 要:文中简要介绍了以太网在音频领域的通信特点。提出了一种简单、可靠的数据收发设计方案,该方案能够实现无中心通信,解决传输抖动问题,提供溢出最优处理机制。

关键词:以太网;无中心通信;传输抖动;溢出最优处理机制

中图分类号:TP393.03 文献标识码:A 文章编号:2095-1302(2018)04-00-02

0 引 言

以太网总线是国际上应用最广泛的通信总线之一[1],在音频通信领域得到了广泛应用。相比其他通信领域,音频通信自身的特点决定了其需解决以下三方面的问题:

(1)因音频实时性较强,需要周期性地进行数据收发,为提高各终端设备的灵活性和系统的可靠性,需要采用分布式无中心通信机制,使各终端设备不依赖某个中心节点设备的同步控制,可自主完成数据收发;

(2)为保证音频的连续性,需要采用一种防抖动机制,解决以太网交换机在数据交换时引起的数据抖动问题;

(3)当出现异常情况导致接收缓冲区溢出时,对需丢弃数据的位置和长度需有合理的设计,使损失降到最小。

1 无中心通信机制

无中心通信机制设备连接示意如图1所示。

无中心通信机制是相对有中心通信机制而言的,有中心通信机制指在一个通信系统中须有一个终端设备作为整个通信系统的中心控制设备,对其他各终端设备的通信(即数据收、发)时隙进行控制,使整个通信系统处于同步通信方式。该方式在半双工总线型通信总线(如RS 485)下[2],可解决多个终端同时进行数据发送引起的碰撞冲突问题。但在以太网全双工星型通信总线下会失去其原有意义,并且还会因为整个系统通信依赖一个特定的中心设备而降低可靠性和灵活性。

为解决有中心通信机制在以太网总线通信下的弊端,文中设计了一种无中心分布式通信机制[3],该通信机制是在以太网全双工通信的基础上建立的一种无中心异步收发机制。发送时,不依赖其他中心设备,以自身运行时钟为基准,定时周期性发送数据包;接收时,建立首尾连接的环形接收缓冲区,如图2所示。接收到数据包后,会按照存入指针位置存入缓冲区,同时存入指针将移位至下一个位置[4]。

需要对接收到的数据包进行处理时,按照取出指针的位置取出缓冲区中的数据包,同时取出指针移位至下一个位置。

存入指针与取出指针处于同一位置时,表示缓冲区为空,没有接收到数据包,存入指针与取出指针之间的间隔数表示缓冲区中已接收到的数据包数量。

基于上述方案实现的无中心异步收发机制可保证在通信系统内任意一个终端设备发生故障时其他设备的正常通信,提高了系统的可靠性。同时,无需特定的中心设备,可任意连接两个或多个终端设备,实现相互之间的通信,提高了系统的灵活性。

2 防抖动设计

以太网交换机自身的特性决定了其在传输数据,尤其在多路以太网接口同时频繁传输数据时,很难保证数据转发的平稳性,易出现数据包转发周期不均匀的现象,即抖动现象[5]。为防止抖动引起的音频断续问题,文中设计一定长度的cache,如图3所示。

图中cache长度设为m,当存入指针和取出指针之间的数据大于等于m时,开始处理接收到的数据包,并按照取出指针的位置取出缓冲区中的数据包,同时取出指针移位至下一个位置。由此可保证接收缓冲区有m个数据包的缓冲,而当抖动小于m个周期时,接收缓冲区仍有数据可供处理,不会导致音频出现断续。

m值的选定由具体产品的抖动时间和产品对音频传输延时的要求综合决定。m值过大,会引起音频传输延时增大。m值过小(小于抖动时间),则无法达到防抖动的目的,导致音频出现传输断续。因此需要在音频传输连续和延时两个指标之间进行平衡,一般原则是在保证m值周期时间大于抖动时间的前提下,越小越好。

3 异常溢出处理

在异常情况下,当存入指针加1后与取出指针位置相同时,表示接收缓冲区已满,为避免继续接收数据导致接收缓冲区溢出[6],同时防止最新接收的数据先被处理,较早接收的数据后被处理,导致音频前后颠倒。在接收缓冲区已满时,取出指针跳至加m后的位置,将最早接收的m个数据丢弃,使损失降到最小,并保证数据按照正常的顺序处理。接收缓冲区溢出示意图如4所示,溢出处理后示意如图5所示。

该处理方案仅用于异常溢出时的特殊处理,将不良后果的危害降到最小,避免出现音频前后颠倒而无法保证音频的连续性。为保证后续正常通信,必须丢掉若干音频数据。

要避免异常状况发生,还需从整个缓冲区大小和各终端设备的时钟精确度两个方面考虑。根据具体产品的硬件特性,在设计初期尽量减小各终端设备之间的时钟偏差,扩大接收缓冲区容量。

4 结 语

该以太网数据收发设计方案原理簡单,易于理解和实现,解决了无中心通信、传输抖动、异常溢出处理等三个问题。并对避免异常溢出的发生提出了设计建议。在以太网总线的通信系统中,尤其是需要周期性地进行数据收发的音频通信系统中,应用该方案可保证音频传输的连续性并有效提高各终端设备的灵活性和系统的可靠性。

参考文献

[1]郭其一,黄世泽.现场总线与工业以太网应用[M].北京:科学出版社,2016.

[2]王苒,汤冬谊.基于RS 485总线主从通信协议及其实现[M].北京:清华大学出版社,2002.

[3] [德]厄兹叙 Valduriez.P.分布式数据库系统原理[M].周立柱,译.北京:清华大学出版社,2014.

[4] [美]Kenneth A.ReeK.C和指针[M].徐波,译.北京:人民邮电出版社,2008.

[5]王龙水,李勇.光传输网的抖动和漂移[M].北京:北京邮电大学出版社,2002.

[6] [美]福斯特.缓冲区溢出攻击——检测、剖析与预防[M].蔡勉,译.北京:清华大学出版社,2006.

[7]霍群松.基于以太网技术的通信数据采集分析[J].信息通信,2014(10):259-260.

[8]刘龙启,李银.基于LabVIEW的以太网数据监听与通信[J].国外电子测量技术,2012,31(7):62-65.

猜你喜欢

以太网
NWCS' 23新一代车载以太网传输技术研讨会成功召开
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
谈实时以太网EtherCAT技术在变电站自动化中的应用
基于以太网传输的高速32通道数据采集系统
一种90W高功率以太网供电系统的设计
基于SOPC的工业嵌入式以太网接口设计
浅谈EPON与工业以太网在贵遵高速公路中的应用
万兆以太网在连徐高速公路通信系统改造中的应用
基于光纤以太网的纵联保护通信方案
基于ENC28J60的嵌入式以太网/CAN网关设计