BLE是Bluetooth Low Energy的缩写|BLE入门谈:从空中数据收发理解BLE(上)( 四 )
文章图片
除了主机和从机的BLE地址之外 , LLData部分包含了许多字段:
AA:AccessAddress,用于数据信道数据包中
CRCInit:随机生成的CRC初始值
WinSize:ConnectionEventTransmitWindowSize,以1.25ms为单位
WinOffset:同上 , TransmitWindow的时间偏移量
Interval:ConnectionEvent的间隔时间
Latency:SlaveLatency参数
Timeout:connSupervisionTimeout参数 , 以10ms为单位
ChM:标记要使用的数据信道
Hop:hopIncrement,是跳频算法的参数
SCA:主机的sleep时钟误差参数
由以上这些字段决定了BLE连接的初始参数 。 从机如何知道主机会在什么时候 , 在那个信道发送数据包?请看下面这个图:
文章图片
实际上 , 主机和丛机约定了一个未来的时间窗口 , 主机会在那个时间窗口内发送第一个数据包 , 从机需要保持监听 。 因为双方约定了一个时间窗口 , 无线电RX状态的时间就可以缩短了 , 就控制了功耗 。 主机发送数据包之后 , 转到接收状态 , 丛机接收到主机的数据包 , 也会很快回应一个数据包 , 这两次双向的数据交互时间是可以预计的 , 不存在无用的RX等待状态 。 然后 , 主机在一个连接间隔(connInterval)之后的时刻再次发出数据包 , 也就是新的connection事件开始 , 不过通信信道由自适应跳频算法重新选择 。 上图只画了最简单的状态 , 实际一个connection事件可以有多次的双向数据包交互 。
把从机和主机并排起来看:
文章图片
上图还展示了BLE连接状态的一个特性:slavelatency,即允许从机不响应一些(可能是没有收到的)数据包 , 而连接暂时能保持 , 不断掉 。 因为双方的时间间隔约定还在 , 后续只要成功交互就可以恢复通信 。
BLE连接状态下的数据包格式本文就不列出了 , 因为涉及到LinkLayer层的许多内容 , 要深入了解的朋友可以参阅蓝牙Corespecification4.0以后版本文档 。
本文的目的在于给大家一个BLE的底层是怎么工作的一个整体印象 , 以及认识到它是怎样实现低功耗的无线数据交互的 。
来源:电子工程世界
- 加盟行业|原来加盟行业是这么玩的!
- m都是大片!微软 Skype 支持将必应 Bing 图片设为通话虚拟背景
- 儿童教育|首个播放量破 100 亿的 YouTube 视频诞生,竟然是儿歌
- 苹果|苹果最巅峰产品就是8,之后的产品,多少都有出现问题
- 东南亚|MIUI13深度使用报告,这还是我认识的MIUI吗?网友评价很真实
- |互联网运营是什么?快来看看你是哪种类型的运营
- 苹果|马化腾称,腾讯只是一家普通公司,这是谦虚说法还是有所顾虑?
- 他是“中国氢弹之父”,他的名字曾绝密28年,他叫于敏
- 百度|马化腾的一句话,腾讯市值一小时暴涨1400亿港币,马云格局还是小了
- iPhoneSE|都是情怀!iPhone SE3外观毫无改变:A15处理器、支持5G