数学建模社区-数学中国

标题: 4.BLE---广播信道防冲突与数据信道选择 [打印本页]

作者: 杨利霞    时间: 2020-5-13 15:41
标题: 4.BLE---广播信道防冲突与数据信道选择

3 H$ @& t% U3 h$ X: C) K# }( \5 W4.BLE---广播信道防冲突与数据信道选择1.BLE的链路层是如何解决不同BLE节点的冲突问题1.1 广播时间的定义
  • 在节点进入advertising state时,它会广播advertising events,协议中规定每个event的时间为:4 B8 V7 |7 k- W8 g" q" H

T_advEvent = advInterval +advDelay

  • advInterval:是广播的间隔设置,单位为0.625ms,取值范围在20ms与10.24s之间。如果事件类型是一个可扫描的非连接事件,或者是一个非连接的非定向事件,它的值不能小于100ms;如果是可连接的非定向事件,它的值可以是20ms或更大。
  • advDelay的值是一个伪随机值,范围是0~10ms,它由广播事件产生。
  • 从上面的公式可以看出,如果advInterval取值较大,将会降低出现冲突的概率,也降低了节点的功耗,但是,同时也会加大连接建立的时延。反之,如果advInterval取值较小,将会增加冲突概率和节点功耗,好处就是降低连接建立时延。
  • 随机数advDelay可以在一定程度上降低advInterval相同的两个节点所发送的广播包的冲突概率
    $ j! }) M5 ]5 Y) T/ L3 I0 f- }7 x9 g; n' `

1.2 BLE链路层信道选择的算法流程

一个节点发送完广播消息之后,如果接收到广播消息的节点希望建立连接。如何选择并确定数据信道

(1)首先,Master node在收到Slave node的广播消息之后,会发送CONNECT_REQPDU,其中,携带channel map用于通知slave node哪些信道可以用于数据连接,哪些信道不可以用于数据连接; (详见本章节 1.3)

(2) 节点根据如下公式首先计算unmappedChannel:

unmappedChannel =(lastUnmappedChannel + hopIncrement) mod 37

其中,如果本次发送的event是数据连接的第一个connection event,上式中的lastUnmappedChannel为0;

hopIncrement的值在CONNECT_REQ PDU中指定,它是一个跳信道间隔值,影响两次数据传输信道的间隔。

当一个连接event结束时,unmappedChannel值被赋予lastUnmappedChannel。


% @2 ^4 ^: ~9 \8 d
' U( R6 K6 H0 P4 g, H

本文图片或内容摘自网络,本人只是做了总结归纳。如有侵权请联系我。

+ K6 t( @: K( U/ L$ U" E

转载于:https://www.cnblogs.com/yuqilihualuo/p/9549015.html


. r# ^( H- ]5 C* Q9 L
6 S# f/ S. X. L4 Q$ ?; `6 A5 R
作者: 2863358207    时间: 2020-5-13 17:16
好好好好好好好好好发表回复
9 d: S& N& Z  g. u' q




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5