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

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

3天内不再提示

如何检测丢包?常用这两种方式

亿佰特物联网应用专家 2023-08-25 08:22 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

丢包重传是数据通信应用里面一项非常重要的功能,特别是在无线通信中是一项决定通信协议先进程度的指标。今天主要着重介绍如何检测丢包,之后再介绍重传机制。

如何检测丢包?

要想丢包重传,首先必须得检测到丢包,没有丢包就没有重传。在无线通信中,对于丢包的检测通常有两种方式:载波监听应答机制

01

载波侦听

载波侦听是一种常见的丢包检测方法,而在载波侦听基础之上又发展出CSMA/CA。CSMA/CA也可以看做一种重传机制,我们经常使用的Wi-FiZigBee就采用了这种机制。通信设备在发送消息前,会打开接收并维持一段很短的时间。在这个很短的时间内,无线单元会检测同频段是否有其它的干扰信号,例如ZigBee设备在做载波侦听时,既要检测是否有Wi-Fi、蓝牙在发射信号,又会检测是否有其它的ZigBee在发射信号。如果干扰信号来自Wi-Fi或者蓝牙,ZigBee设备会测量它的功率有没有自己大,功率没自己大就压过去,功率比自己大就果断丢包;而ZigBee设备在载波侦听时如果遇到其它的ZigBee设备,不管对方功率是否比自己大,都会主动丢包,即让别人先走。

02

应答机制

判断丢包的另一个方法是增加应答机制,通常通信协议都会有OSI七层模型。七层协议中从链路层开始,每一层都可以添加应答机制。层级越低越接近硬件,应答机制的响应就越快。

77683972-42dd-11ee-8e12-92fbcf53809c.png

OSI七层模型

我们还是以ZigBee的应答机制为例。ZigBee的OSI模型,具有应答机制的目前仅限MAC层(数据链路层)APS层(传输层)。但是在实际应用中,很多时候还会为应用层添加应答机制。MAC层的应答是响应最快的,也叫做MAC-ACK,通常都在ZigBee的无线收发单元中硬件自动产生。接收端设备收到ZigBee数据帧后120微秒以广播的方式发出来。同时MAC-ACK也是ZigBee中最短的帧,帧长只有5字节,加上帧前导码和同步帧累计11字节。按照ZigBee的250kbps传输速率每个字节需要32微秒,一个MAC-ACK帧的占空时间352微秒。也就意味着发送端在发送一个MAC帧后,会在120+352=472微秒后收到该MAC帧对应的MAC-ACK。同样ZigBee的MAC层也规定发送端如果在540微秒内没有收到对应的MAC-ACK则认为是丢包。

MAC-ACK采用广播发送,首先可以减少MAC-ACK帧中表示地址的字段,减少帧长度,让ACK帧占空时间更短,发送端可以根据MAC-ACK帧中的帧序号来判断是否自己的MAC-ACK;其次MAC-ACK采用广播的方式,也可以提醒其它的ZigBee设备自己正在通信,其它的ZigBee设备如果这个时候也在进行载波侦听,就能主动避让正在通信的设备。在ZigBee的MAC层,载波侦听和MAC-ACK是双管齐下,这样能保证丢包检测的准确性。另外ZigBee的广播消息是不会产生MAC-ACK的。

77bdd800-42dd-11ee-8e12-92fbcf53809c.png

ZigBee参考模型

多元化的丢包检测机制

ZigBee除了MAC层有应答机制,传输层和应用层也有应答机制。ZigBee是一个多跳的Mesh网络,而MAC层的传输只能满足单跳传输,因此ZigBee在传输层也做了应答,也叫做APS-ACK。ZigBee发送端把一个消息传输给ZigBee接收端,中间会经过多个ZigBee路由器节点的转发。接收端收到消息后,会通过相同的路由路径,把APS-ACK发给发送端,发送端收到APS-ACK就认为发送消息到达了接收端。如果发送端在6秒(默认值)后没有收到APS-ACK则会认为数据丢包。

ZigBee的系统中通常都只对应用层开放接口,在应用层开放的接口中最常见的就是一个叫做“AF Data Confirm”的检测接口,它综合了MAC层丢包(含MAC-ACK丢包和载波侦听丢包)、网络层丢包及传输层丢包等底层丢包信息。ZigBee的顶层应用中可以知道当前发送的消息是否丢包。

应用层的应答

MAC层和传输层的丢包检测,都属于系统层的丢包。还有一种丢包就是应用层的丢包,比如一个调光开关给一个空调设备发了一条“把亮度调到50%”的指令。这条指令如果不丢包,会有什么结果?肯定是空调会去执行“把亮度调到50%”,但是空调只有温度没有亮度,也就是说这条指令发给了不该发的目标。这个时候就需要应用层的应答来解决这个问题。比如空调收到了“把亮度调到50%”后,可以向发送端回复应用层应答“看清楚我不是灯泡”。

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

    关注

    31

    文章

    5634

    浏览量

    177969
  • 检测
    +关注

    关注

    5

    文章

    4785

    浏览量

    93787
  • 数据通信
    +关注

    关注

    2

    文章

    504

    浏览量

    34976
  • CSMA
    +关注

    关注

    0

    文章

    28

    浏览量

    13394
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    两种电流检测电路设计方案 高侧 低侧 最高耐压90V

    常用的电流检测电路有两种,一是低压侧电流检测,另一是高压侧电流
    的头像 发表于 11-24 16:16 797次阅读
    <b class='flag-5'>两种</b>电流<b class='flag-5'>检测</b>电路设计方案 高侧 低侧 最高耐压90V

    以太网设备高温流量测试问题案例(晶振篇)

    测试人员发现一个奇怪的现象,设备在白天的测试中,均无现象,夜间设备继续运行,但是第二天一早就会发现已发生。该设备的用户接口是百兆以太网接口,利用5类非屏蔽双绞线与SmartBi
    的头像 发表于 11-21 15:37 3479次阅读
    以太网设备高温流量测试<b class='flag-5'>丢</b><b class='flag-5'>包</b>问题案例(晶振篇)

    ADI GMSL技术两种视频数据传输模式的区别

    本文深入介绍GMSL技术,重点说明用于视频数据传输的像素模式和隧道模式之间的差异。文章将阐明这两种模式之间的主要区别,并探讨成功实施需要注意的具体事项。
    的头像 发表于 10-10 13:49 1772次阅读
    ADI GMSL技术<b class='flag-5'>两种</b>视频数据传输模式的区别

    GD32F470+LWIP TCP偶尔怎么解决?

    的重发机制。 因此认为是校验和之类的原因校验失败。 开启了交换机端口镜像,监听tcp到交换机后的数据流量,发现次上位机发送给板子出问题的tcp数据的校验和都是0x0000。
    发表于 09-29 06:43

    这两种TVS有啥不同?

    当我们查看TVS二极管的规格书,常会看到有以下两种种引脚功能标识图:对于初学者,看到感到疑惑,他们一样吗?他们有啥区别?为啥有的个尖头往外,阳极连在一起,有的个尖头往里,阴极连在一起?一连三问。EMC小哥根据自己经验略作分析
    的头像 发表于 09-15 20:27 589次阅读
    <b class='flag-5'>这两种</b>TVS有啥不同?

    两种散热路径的工艺与应用解析

    背景:两种常见的散热设计思路 在大电流或高功率器件应用中,散热和载流能力是PCB设计中必须解决的难题。常见的两种思路分别是: 厚铜板方案:通过整体增加铜箔厚度(如3oz、6oz甚至更高),增强导热
    的头像 发表于 09-15 14:50 469次阅读

    信宜宽厚检测为何多用光电测宽激光测厚的组合式测量方法?

    在板带材的工业检测中,宽厚参数(宽度与厚度)是衡量工件规格是否达标的关键指标,而检测这两种指标的方法确很多,为何工厂更常用光电测宽激光测厚的组合方式
    发表于 08-07 14:44

    两种驱动方式下永磁直线开关磁链电机的研究

    摘要:永磁开关磁链电机数学模型可以等效为永磁无刷电机,普遍采用方波驱动方式。在有限元基础上分析6/7极直线式磁链电机反电势波形,采用方波和正弦波驱动方式,比较两种方式下的电流、电压、平
    发表于 06-09 16:18

    两种感应电机磁链观测器的参数敏感性研究

    模式和发电模式下对闭环电压电流模型磁链观测器和滑模磁链观测器参数敏感性进行了研究,通过仿真和实验比较了这两种观测器对定、转子电阻及励磁电感的敏感性。同时还研究了基于这两种观测器的模型参考自适应系统
    发表于 06-09 16:16

    铷原子钟与CPT原子钟:两种时间标准的区别

    这两种原子钟的基本构成。铷原子钟使用铷原子的基态(或超极态)的能级跃迁来进行时间测量。铷原子的个能级之间的能量差非常小,因此可以产生非常精确的时间信号。而CPT
    的头像 发表于 05-22 15:49 501次阅读
    铷原子钟与CPT原子钟:<b class='flag-5'>两种</b>时间标准的区别

    MPLS和SR传输技术的区别

    Switching,多协议标签交换)和SR(Segment Routing,分段路由)这两种先进的传输技术就是关键“武器”。
    的头像 发表于 03-28 10:15 857次阅读
    MPLS和SR传输技术的区别

    使用ADS1258的时候调试了它的两种工作方式,寄存器的值会发生错乱,为什么?

    我在使用ADS1258的时候调试了它的两种工作方式,一是auto channel,一是fix channel;使用第一方式都是正常的,
    发表于 02-10 08:21

    ADC12D1600和ADC12D1600RF这两种型号之间有什么区别?

    您好,板子之前采用的是ADC12D1600,现在想换ADC12D1600RF; 请问: 1.这两种型号之间有什么区别?(一个高速采样,一个射频采样) 2.ADC12D1600RF是pin compatible的,能否在不改变已有的PCB上直接进行替换?
    发表于 01-10 06:10

    华纳云如何解读WinMTR的率数据?

    WinMTR显示的率数据是指在网络路径上,从你的计算机到目标主机之间,数据丢失的百分比。率是网络稳定性的一个重要指标,它可以帮助识
    的头像 发表于 12-30 16:51 981次阅读

    solidworks正版软件:永久版权和订阅许可 两种购买方式解析和选择

    SOLIDWORKS软件分从购买方式上划分为永久版权的形式和订阅即年付费两种方式,代理商硕迪科技向您详细解析 SOLIDWORKS 的永久版权和订阅许可的区别,各自的优劣势以及适合的应用场景。以帮助您做出适合的决策。
    的头像 发表于 12-16 16:45 2997次阅读
    solidworks正版软件:永久版权和订阅许可 <b class='flag-5'>两种</b>购买<b class='flag-5'>方式</b>解析和选择