蓝牙4.0技术分析1-广播者角色

第1章  BlueTooth Roles-Broadcaster

1.1    广播类型

广播可设置以下几种类型:

1)   Connectable Undirected Event Type(可连接无定向广播)

2)   Connectable Directed Event Type(可连接定向广播)

3)   Scannable Undirected Event Type(可扫描无定向广播)

4)   Non-connectable Undirected Event Type(不可连接无定向广播)

所谓定向和无定向是针对广播的对象而言的,如果是针对特定对象的广播(在广播包PDU中会包含目标对象的BD_ADDR)就是定向广播,反之就是无定向。可连接和不可连接是指是否接受连接请求,如果是不可连接的广播类型,它将不回应连接请求。可扫描类型是指回应扫描请求。

 

在TICC2540中实现:

广播类型定位在(include/gap.h),具体定义的类型如下:

GAP_ADTYPE_ADV_IND                     //!< Connectable undirected advertisement

GAP_ADTYPE_ADV_HDC_DIRECT_IND      //!< Connectable high duty cycledirected advertisement

GAP_ADTYPE_ADV_SCAN_IND            //!<Scannable undirected advertisement

GAP_ADTYPE_ADV_NONCONN_IND         //!<Non-Connectable undirected advertisement

GAP_ADTYPE_ADV_LDC_DIRECT_IND           //!<Connectable low duty cycle directed advertisement

其中定向可连接广播类型分成两种方式(High duty cycle和Low duty cycle)

参数设置的API为:

    GAPRole_SetParameter(GAPROLE_ADV_EVENT_TYPE, sizeof( uint8 ), &advType );

1.1.1   Connectable Undirected Event Type

可连接非定向广播包为(ADV_IND PDU)。在可连接的无定向广播类型下,一个“扫描者”或“发起者”可以用扫描请求或连接请求来回应这个广播包。“扫描者”可发送一个扫描请求(SCAN_REQ PDU)来获取广播的额外信息(SCAN_RSP);“发起者”可发送一个连接请求(CONNECT_REQ PDU)来要求Link Layer(链接层)进入链接状态。

Link Layer(链接层)需在同一个广播信道上监听来自“扫描者”或“发起者”的请求。

如果“广播者”收到一个扫描请求包(SCAN_REQ PDU),该请求包含有它的设备地址,并且该“扫描者”为广播过滤策略所允许,那么“广播者”就会在同一信道上回应一个数据包(SCAN_RSP PDU)。当(SCAN_RSP PDU)发送完成后,或由于广播过滤策略阻止了该请求包,“广播者”就会移到下一个广播信道来发送另一个广播包(ADV_IND PUD),或关闭广播事件。

如果“广播者”收到一个连接请求包(CONNECT_REQ PDU), 该请求包含有它的设备地址,并且该“发起者”为广播策略所允许,Link Layer(链接层)就会退出广播状态并转移到连接状态,并且角色转化为“从设备”。如果广播过滤策略阻止了该连接请求包,“广播者”就会移到下一个广播信道来发送另一个广播包(ADV_IND PUD),或关闭广播事件。

在一个广播事件中的两个相邻广播包(ADV_IND PDU)的时间间距小于等于10ms,广播状态将在advertising interval内完成状态的关闭。

一个没有扫描请求和连接请求的广播事件(使用所有广播信道37、38、39)如下图所示:

(示意图)


一个包含扫描请求的广播事件(使用所有广播信道37、38、39),扫描请求在广播事件的中间,如下图所示:

(示意图)


一个包含扫描请求的广播事件(使用所有广播信道37、38、39),扫描请求在广播事件的末尾,如下图所示:

(示意图)


一个包含连接请求的广播事件,如下图所示:(示意图)

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值