0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

深入讨论一下模拟式UDP无线中继技术的缺陷

WiMinet无线组网通信 来源:WiMinet无线组网通信 2024-02-23 10:53 次阅读

1

前言

在《WiMinet 评说 1.2:多跳无线网络的现状》一文中,我们提到:在室外长距离的无线自组织网络中,由于节点之间的链路损耗较大,其链路预算相对不足,其包误码率PER会相应升高,也就是丢包概率 p 会比较大;而在一个大规模网络中,某些分支节点的通讯链路又会比较深,也就是网络跳数 n 比较大,在这种情况下其通讯成功率 Pn 自然也就显著下降了,人们的切身感受就是这个链路不太稳定。

此时人们的第一反应自然是上 TCP 算法,在发送节点启用 TCP Client 算法,在接收点启用 TCP Server 算法,实现端到端的控制,这样不就可以解决多跳无线通讯网络的可靠性了么?我们今天就来深入讨论一下这个问题。

2

多跳网络

很显然在一个真实的无线通讯系统中,每一个节点都是具备双向收发能力的,但是为了更加清晰的描述数据流向,我们将原始数据的发出者定义为发射机,将目标数据的接受者定义为接收机;如下图所示,我们定义左边红色的“铁塔”为发射机,右边蓝色的“锅盖”为接收机。

1f036b82-d1f6-11ee-a297-92fbcf53809c.png

图1-发射机与接收机

在一个较大规模的无线通讯网络中,中继通常有两种存在形式,一种是独立的中继器,通常其硬件配置较高,性能也比较强劲,并安装有多根天线;另外一种是普通的数据节点本身承担数据转发的功能,这种节点成本较低,通常仅仅配置一根天线。无论其硬件配置和工作原理如何,它们都可以承担数据转发的功能,为了更加直观地描述中继的工作机制,我们以双天线的中继器为例。

1f2139f0-d1f6-11ee-a297-92fbcf53809c.png

图2-多跳无线中继

在多数情况下,负责参数通讯的还有外部的用户系统,比如连接数据库的上位机应用程序和连接现场工业传感器嵌入式设备;通常负责发起数据请求的是上位机应用程序,二者以RJ45以太网线或者RS232电缆连接。

1f3334c0-d1f6-11ee-a297-92fbcf53809c.png

图3-上位机应用软件

负责采集数据并回传的是嵌入式设备,二者以RS232电缆,TTL电平的串口或者GPIO端口直接相连。

3

业务流程与运作机制

按照我们之前的约定,我们选定网络中一个具有6跳的(5个中继)分支链路,在该链路上一个标准的通讯业务流程通常如下:

01

上位机系统发起数据请求

02

数据请求通过有线电缆传递给发射机

03

发射机将数据发送给1号中继

04

数据依次在中继1→2→3→4→5之间传递,最后到达接收机

05

接收机将数据通过有线电缆传递给嵌入式系统

06

嵌入式系统采集数据

注意到,这里仅仅是数据的下行请求过程,在嵌入式系统完成了数据的采集之后,就会将其作为应答回传给上位机系统,其上行通讯流程刚好和下行传输完全相反:

01

嵌入式系统送出采集到的数据

02

数据应答通过有线电缆传送给接收机

03

接收机将数据发送给5号中继

04

数据依次在中继5→4→3→2→1之间传递,最后到达发射机

05

发射机将数据通过有线电缆传递给上位机系统

06

上位机系统完成数据的存储,计算和显示

4

UDP多跳传输模型

我们都知道,有线通讯由于在封闭的通道中运行,其错误率通常在 10-9~10-12,可靠性是非常高的,我们基本不用考虑丢包的问题。这里为了叙述方便,我们将上位机应用程序的功能合并到发射机中去,将连接工业传感器的嵌入式设备的功能合并到接收机中去,这样简化之后的模型就是下图。

1f66a968-d1f6-11ee-a297-92fbcf53809c.png

图5-UDP多跳传输模型

在该模型中,每一个角色的基本工作原理如下:

01

发射机:产生数据请求,发送给中继1,然后转入接收状态,等待来自目标节点(接收机)的应答数据;如果在指定的时间之内收到了应答数据则代表通讯成功;如果没有则重新发送请求并增加计数器;当计数器到达某个限定数值则认定通讯失败。

02

接收机:平时处于接收等待状态,一旦从中继5接收到了来自发射机的请求数据,则立刻生成应答数据,并交给中继5。

03

中继器:按照报文约定的指定的传输方向,复制报文并以重新发送给下一个接收节点,包括中继,发射机和接收机。

上图是丢包概率 p = 10% 的时候的一种效果模拟图。这里设定了5次数据重传,从该图我们看出来每一次的通讯丢包情况都不同:

01

新数据请求,在发射机到中继1的下行链路上就丢失了

02

第1次重传,在中继2到中继3的下行链路上丢失了

03

第2次重传,下行链路各跳全部成功,接收机正确地收到了数据,并生成了应答,但是应答数据在中继5→中继4的上行链路上丢失了

04

第3次重传,在中继3到中继4的下行链路上丢失了

05

第4次重传,下行链路各跳全部成功,接收机正确地收到了数据,并生成了应答,但是应答数据在中继2→中继1的上行链路上丢失了

06

第5次重传,在中继5接收机的下行链路上丢失了

07

重传计数器到达极限,应用程序判定当前链路不稳定,通讯失败!

5

总结

当然有的读者心里会想,这个效果模拟图太过于极端,上述流程中有好几次差一点就通讯成功了呢,就差一口气!如果我们加大尝试的次数,说不定就成功了呢?

事实上在大多数情况下,加大尝试次数,通讯成功率的确会有一定的改善,但无法从根本上消除问题。考虑到有线链路的和无线多跳的通讯延迟,再叠加上目标设备的数据采集行为,下行或者上行链路的传输时间可能高达数百毫秒。

在真实的环境中,还要考虑到各种系统延迟和等待操作,比如Windows,Linux等主流桌面操作系统的调度延迟,各级无线节点的单片机延迟,这个时间往往还需要进一步加大,最终这个总的时间往往高达数秒甚至几十秒,在一个有几百个节点的数据采集系统中,系统整体扫描一遍,耗时将会比较长了。

从上述分析可以看出,端到端的重传机制在跳数较深的无线自组织网络中难以保证足够的可靠性,即便牺牲延时,加大重传次数,效果也不会有根本性的改善。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接收机
    +关注

    关注

    8

    文章

    1122

    浏览量

    52643
  • 中继器
    +关注

    关注

    3

    文章

    284

    浏览量

    27959
  • 无线网络
    +关注

    关注

    6

    文章

    1375

    浏览量

    65258
  • 无线通讯
    +关注

    关注

    5

    文章

    525

    浏览量

    37742
  • UDP通信
    +关注

    关注

    0

    文章

    21

    浏览量

    1840

原文标题:WiMinet 评说1.3:模拟式UDP无线中继技术的缺陷

文章出处:【微信号:WiMi-net,微信公众号:WiMinet无线组网通信】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    WiMinet 评说1.3:模拟式UDP中继技术缺陷

    反应自然是上 TCP 算法,在发送节点启用 TCP Client 算法,在接收点启用 TCP Server 算法,实现端到端的控制,这样不就可以解决多跳无线通讯网络的可靠性了么?我们今天就来深入讨论一下
    发表于 02-23 15:16

    大家来讨论一下用蚁群算法实现路径规划的硬件实现问题

    本帖最后由 gk320830 于 2015-3-8 06:44 编辑 大家来讨论一下用蚁群算法实现路径规划的硬件实现问题,不仅仅是用matlab做仿真算法,具体的硬件连接都可以再下面讨论,谢谢大家,共同学习~~
    发表于 04-26 17:19

    应用SP2349扩展单片机串口应用,大家讨论一下,该怎么做?

    应用SP2349扩展单片机串口应用,大家讨论一下,该怎么做?
    发表于 08-17 20:42

    有没有做电源的啊?快来讨论一下啊。。。

    有没有做电源的啊?快来讨论一下啊。。。
    发表于 09-04 21:16

    讨论一下输液泵精度调节的问题

    本人目前在做个关于输液泵的项目,主控板是飞思卡尔8位单片机。有没有相关经验的大侠能讨论一下输液泵精度调节的问题。主要是步进电机速度对应的输液的速度……这里附个输液泵的资料,大家
    发表于 07-31 11:39

    AD模数转换模块大家都用什么芯片,都进来讨论一下。。。

    AD模数转换模块大家都用什么芯片,都进来讨论一下啊。。。哪些好用哪些不好用的,都可以进来说一下。。。。。
    发表于 08-01 17:46

    有没有用DSP做电力有源滤波器(APF)的,进来讨论一下

    有没有用DSP做电力有源滤波器(APF)的,进来讨论一下,或者加QQ371819568
    发表于 06-26 20:06

    大家都来讨论一下元器件降额设计是怎么回事

    大家都来讨论一下元器件降额设计是怎么回事吧 各位前辈之前 做设计有进行过降额设计吗?
    发表于 04-22 15:34

    5G商用后,是否能够取代wifi?讨论一下

    5G商用后,是否能够取代wifi?讨论一下
    发表于 06-22 14:28

    大家讨论一下这种电路

    本帖最后由 晓晓江南 于 2017-1-14 17:23 编辑 这个电路所实现的功能之前有网友发帖求助过,在这里想再讨论一下,电路功能是第次闭合开关,灯亮,断开灯灭,第二次闭合,灯不亮,断开
    发表于 01-14 12:24

    上传个原理图,是关于压电蜂鸣器的,大家来讨论一下工作原理

    本帖最后由 Stark扬 于 2018-10-19 18:23 编辑 上传个原理图,是关于压电蜂鸣器的,大家来讨论一下工作原理
    发表于 10-19 18:10

    讨论一下编程风格与技巧是怎样提高设计性能的?

    讨论一下编程风格与技巧是怎样提高设计性能的?
    发表于 05-07 06:31

    讨论一下如何创建、下载和运行脚本?

    让我们简要讨论一下如何创建、下载和运行脚本。
    发表于 05-11 06:31

    模拟式旋钮的相关资料推荐

    模拟式旋钮、本例程实现功能二、模拟式旋钮介绍三、接线图四、完整代码五、实验过程及结论、本例程实现功能调整旋钮的位置,获取当前位置旋钮的电压输出值,并通过print()函数在电脑串口
    发表于 01-12 07:54

    基于VN5650讨论一下以太网的配置与使用

    嵌入式开发,仿真环节至关重要。仿真,自然脱离不了仿真设备的使用,本文基于VN5650,讨论一下以太网的配置与使用。
    的头像 发表于 05-26 09:22 1696次阅读
    基于VN5650<b class='flag-5'>讨论一下</b>以太网的配置与使用