S-MAC(Sensor MAC,传感器媒体访问控制)协议是较早的一个基于同步调度并且基于竞争的MAC协议。它是在IEEE802.11 MAC协议的基础上,特别针对无线传感器网络中节点能量有限这一特性,并假定网络能容忍一定的延迟,允许节点周期性睡眠提出的,达到了较好的节能效果。S-MAC主要机制有时序同步,串音避免,流量自适应侦听以及分片传输。

S-MAC原理

在S-MAC中,将时间划分为重复的工作循环,每一个循环分为三个阶段,分别为同步、数据和睡眠。节点在同步阶段被唤醒进行时钟同步,在数据阶段所有的节点都维持在活动状态。如果节点有一个数据包要发送给另一个节点,传输数据前需要在数据阶段交换RTS(Request-to-Send)和CTS (Clear-to-Send)帧,传输数据包之后再返回一个确认帧。未涉及通信的节点在数据阶段恢复到睡眠阶段,通信节点必须在完成确认之后才能返回睡眠状态。S-MAC协议原理图如下:

如上所示,节点A向节点B发送数据之前首先发送控制信息RTS,节点B收到信息后得知有数据发给自己,那么发送一个CTS作为应答。节点A在接到CTS回复后便可开始发送DATA数据了。其他节点在收到RTS或CTS消息之后,如果确认这个数据包不是发给自己的,则利用一个定时器设置虚拟载波侦听时间,然后进入休眠状态。休眠状态的时间由RTS或CTS信息包里的duration(传输持续时间)来确定,等经过duration时间之后重新醒来监听信道。通过RTS一CTS信号完成发送方和接收方之间的握手过程,目的是为了公告发送方和接收方两者的邻居节点,避免邻居节点此时传输数据造成冲突碰撞。

S-MAC主要机制

S-MAC主要机制有时序同步,串音避免,流量自适应侦听以及分片传输。

1、时序同步

时序同步过程是为了让网络中相邻的节点保持相同的侦听/睡眠调度信息。通过使用相同的任务环,节点间能够及时通信,并且也能够有效降低网络中的控制开销。网络中的节点通过发送 SYNC 同步帧向其邻居节点通告其自身的调度信息,实现节点间的同步。同时在节点内部设定一个调度表,  用以保存所有邻居节点的调度信息。

同步过程为:节点首先侦听信道一段时间,用以检测是否收到其他节点发来的调度信息。如果有,则采用收到的调度信息,并且广播该调度信息。如果在规定的时间内没有收到其他节点的调度信息,那么就生成自己的调度信息并将其广播出去。可能存在一种情况:一个节点已经具有了自己的调度信息,而又收到了其他节点的调度信息。此时该节点就必须保存这两个时间表,工作在两种调度周期下。

2、串扰避免

在无线传感器网络中,如果存在两个节点向同一个节点发送数据,这是接收节点就不能正确接受数据,这就是串扰。串扰O避免采用RTS/CTS机制。每个要发送数据的节点都要历经RTS/CTS/DATA/ACK的四个过程,节点会在每个传输包里携带一个域值,它是用来表示剩下的通信过程还需要多长时间。这样收到数据包的节点就会判断,该数据是不是发送给自己的。如果不是发送给自己的就可以根据这个阈值判断自己还需要等待多久。此节点就将这个值上报给网络分配矢量(NAV)并给它设置一个定时器,每接收到一次数据分组该矢量就会更新一次。定时器始计时以后,节点收到数据后就将NAV的值递减1,一直减到0。节点需要发送数据时,它会先查看NAV值,NAV为0时,该节点就认为信道是处于“空闲”的状态,否则就认为此时信道“忙”。

3、流量自适应侦听

在节点的一次数据传输过程中,邻居节点在通信结束后不立即进入睡眠状态,而是继续侦听一段时间。在这段时间内,如果节点接收到RTS分组,就立刻接收数据,不需要下一个周期的到来,这样就减少了数据分组的传输延迟;如果节点没有接收到RTS分组,则进入睡眠状态,等到下一个周期再传输数据。

4、分片传输

对于无线信道,传输差错与包长度成正比,长包成功传输的概率要小于短包。根据这一原理,将长消息分为若干短包,采用一次RTS/CTS握手,集中连续发送全部短包。每次传输一个短包,发送者等待接收者送来的ACK,如果发送者没收到ACK,它就会为更多的分组扩展保留的传输时间,并立即重传现有的片断。该机制有效地减少了控制开销,又提高发送成功率。

S-MAC的缺点

S-MAC协议空闲监听占空比固定,不能适应数据量动态变化,不能及时进入睡眠状态,导致能量浪费。另外节点的同步机制中如果存在多个调度周期,能量消耗会增加。

无线传感器网络中低功耗MAC协议—S-MAC相关推荐

  1. 无线传感器网络标准化进展与协议分析

    无线传感器网络作为一门面向应用的研究领域,在近几年获得了飞速发展.在关键技术的研发方面,学术界从网络协议.数据融合.测试测量.操作系统.服务质量.节点定位.时间同步等方面开展了大量研究,取得丰硕的成果 ...

  2. 【LEACH协议】基于matlab无线传感器网络LEACH与DEEC协议【含Matlab源码 2187期】

    ⛄一. 简介 1 引言 WSN 由能感知外部环境的传感器节点以自组网的形式构成,是一种分布式无线传感器网络.随着科技的进步和现代生活的需求,由于 WSN 的远程控制.信息即时传播以及低功耗等众多优点, ...

  3. 无线传感器网络WSN技术、协议、距离汇总

    技术 协议 距离 WMAN IEEE802.16 五公里内 WLAN IEEE802.11 几公里内 WPAN 蓝牙IEEE802.15.4 紫蜂IEEE802.15.1 10m内

  4. NUAA无线传感器网络 复习重点整理

    鸣谢 授课老师:郝洁老师 个人主页 在cdsn博主:Matts Tian 基础上修改.添加 Matts Tian 体系结构 什么是无线传感器网络? 无线传感器网络(Wireless sensor ne ...

  5. WSN无线传感器网络复习

    无线传感器网络复习 3.Node Architecture 3.1 模拟信号数字信号转换 A vibration sensor outputs an analog signal with a peak ...

  6. 无线传感器网络知识点总结

    第一章:无线传感器网络概述 1.什么是无线传感器网络?与无线局域网的区别?例举三个无线传感器网络的例子? 无线传感器网络:是一种由传感器结点构成的网络,能够实时监测,感知和采集结点部署区的环境或观察者 ...

  7. 物联网与无线传感器网络期末考试复习资料(教材--刘伟荣,何云--电子工业出版社)

    无线传感器网络概述 无线传感器网络介绍 1.无线传感器网络是一种特殊的无线通信网络,它是由多个传感器节点通过无线自组织的方式构成的,应用在人么力所不能及的领域,如战场.环境等地方. 2.WSN和Ad ...

  8. 【无线传感器网络简明教程】课堂笔记

    文章目录: 来源: 一:无线传感器网络及传感器简介 1.无线传感器网络结构 1.1 传感与传感器 1.2 无线传感器网络组网结构 1.2.1WSN之间的通信: IEEE 820.11系列和820.15 ...

  9. 基于嵌入式系统linux无线传感器网络软件平台,基于嵌入式网络的无线传感器网络平台硬件和软件实现...

    简要介绍资料的基于嵌入式网络的无线传感器网络平台硬件和软件实现主要内容,以获得更多的关注 随着技术的发展,基于分布式.无线传感器网络的应用也越来越多.本文提出了一个基于嵌入式系统的无线传感器网络实验平 ...

  10. 基于异步竞争的无线传感器网络MAC层协议介绍(X-MAC ContikiMAC)

    基于异步竞争的无线传感器网络MAC层协议介绍(X-MAC ContikiMAC) 无线传感器网络(wireless sensor networks, WSN)节点由电池供电,其能力非常有限,同时由于工 ...

最新文章

  1. 第四次作业 (日期和jieba库的运用)
  2. c++之带默认形参值的函数
  3. 火狐、IE浏览器实现Extjs的grid表格的复制、粘贴
  4. pandas 转化np数据_python,numpy,pandas数据处理之小技巧
  5. 吴裕雄 python 神经网络——TensorFlow 花瓣分类与迁移学习(3)
  6. 化解字符串不能超过8000的方法及交叉表的处理
  7. [Threejs]环境光与HDR贴图
  8. 与你一起学习MS Project——基础篇:Project基础应用
  9. 控制天象,世间的最强者!
  10. Mermaid制作甘特图
  11. css 实现div内显示一行、两行或三行,超出部分用省略号显示
  12. table和div的比较
  13. 微软和NASA强强联手,重磅推出Python免费课程
  14. php下载文件并重命名,通过php下载文件并重命名
  15. 激活休眠软件资产 提升企业软实力
  16. 华联股份:范本式改造,BHG Mall全新升级开辟商业新契机
  17. 1.传感器学习笔记之初次相识
  18. 怎么在php中加入换行符,如何在PHP中创建换行符?
  19. 酷派删除android系统软件,修复软件实测 被删的手机资料能否找回?
  20. iPhone12蜜汁操作,环保还是揽财?

热门文章

  1. Windows NTP 服务器配置及开启
  2. Doubango代码学习(四):ragel state和message parser
  3. 线性最优离散滤波器——维纳滤波器及LCMV MVDR GSC (自适应滤波)
  4. XtraReport报表控件
  5. 我,30岁,部队服役5年,零基础转大数据
  6. 自定义注解-用spel表达式 获取方法入参对象的的 get方法入参
  7. linux脚本入门,Linux Shell脚本教程(一):Shell入门
  8. 如何进行敌我识别(IFF)应用中的二次监视雷达(SSR)的模块化产线测试
  9. wifi控制基于STM32与NFC的万能红外遥控器—毕业设计(2)
  10. 线性规划——单纯形法