文档章节

BLE包结构及传输速率

h
 houj
发布于 2014/09/30 16:27
字数 822
阅读 231
收藏 1

BLE包结构及传输速率


  根据Bluetooth 4.0 BLE部分协议:BLE中物理层physical layer的传输速率是1Mbps,除了这个外,数据传输速率与包大小、CPU处理时间相关。

包结构:

1.总体结构:

总体结构{
    U1 preamble;//前缀,可以是10101010或01010101
    U4 AccessAddress;//0x8e89bedd6 ,Access Address(4字节)
    U[x] PDU;//PDU
    U3 CRC;
};

2.广播包

广播包{
    U2 Header;//0000,0001,0010,0011,0101,0110
    //0000 - connected undirected advertising event 可连接非定向广播事件
    //0001 - connected directed advertising event 可连接定向广播事件
    //0010 - non-connected undirected advertising event 不可连接非定向广播事件
    //0011 - response to scan request form scanner扫描请求响应
    //0101 - connect request by initiator连接请求
    //0110 - connected directed advertising event 可发现非定向广播事件
    U[x] Payload;//最大37字节
};
其中Payload结构分为:
非定向广播包:{//Undirected advertising packets
    U[6] AdvA;//广播者地址 advertiser‘s public address if TxAdd = 1, or a random address if TxAdd = 0; 
    U[x<=31] AdvData;//广播数据(advertising data)
};
定向广播包{//Directed advertising packets
    U[6] AdvA;//广播者地址 advertiser‘s public address if TxAdd = 1, or a random address if TxAdd = 0;
    U[6] InitA;//contains initiator's address if RxAdd = 1, or a random address if RxAdd = 0;
}

3. 扫描请求及扫描响应

扫描请求及扫描响应{
    U2 Header;//0011  0100 
    //0011 - scan request for further information from advertiser 扫描请求
    //0100 - response to scan request from scanner 扫描响应
    U[x] Payload ;//
};

扫描请求
扫描请求{
    U[6] ScanA;//Scanner's public address if TxAdd = 1, or a random address if TxAdd = 0; 
    U[6] AdvA;//advertiser‘s public address if TxAdd = 1, or a random address if TxAdd = 0;
};

扫描响应
扫描响应{
    U[6] AdvA;//advertiser‘s public address if TxAdd = 1, or a random address if TxAdd = 0; 
    U[0-31] ScanRspData;//ScanRspData data from advertiser’s host;
};

4. 连接请求

连接请求PDU{
    U2 Header;//0101 连接请求标志
    U[34] Payload{
        U[6] InitA;//
        U[6] AdvA;//
        U[22] LLData;//包含连接信息,详细结构参考bluetooth 4.0 协议。
    };
};

5.LL 数据通道及控制包

PDU =  Header(2 Bytes)+ Payload(最多27字节)
Header:详细说明参考bluetooth 4.0 协议;

LL 数据通道
Payload  = 0~27字节 

LL 控制包
Payload = 1~23字节

6.速率

  若只考虑蓝牙设备连接之后,评估数据传输速率,
最大包长度=preamble(U1)+Access Address(U4)+PDU(U[29])+CRC(U3)=41字节
  射频PHY传输速率 1Mbps;
  则传输有效payload 27字节耗时:41*8/1 = 328 us;
  一个27字节的传输周期 :328 + 150 + 80 + 150 = 708 us,若能持续传输,即传输速度:38KB/s,这样显然功耗不会低,也不符合BLE协议规范,真正的传输速度受连接事件间隔和间隔内能传输数据包数目相关。
  如果连接时间间隔设置到7.5ms(协议规定最小值),一个连接事件传输3个包,则传输速率大约是10.8kB/s,一个连接事件能传输几个包与连接设备密切相关,看到很多CC2540实测数据,时间间隔7.5ms和一个传输时间3个包以上很多都达不到,51内核是其重要原因之一,在   http://processors.wiki.ti.com/index.php/CC2540_Data_Throughput  有5.9KB/s,也有在论坛看到有40ms间隔,2个包,即1.4KB/s成功的案例,以后有时间我再实测下速度。

[1] 以上U[6]地址 public address if TxAdd = 1, or a random address if TxAdd = 0;

本文转载自:

h
粉丝 9
博文 81
码字总数 57985
作品 0
长沙
技术主管
私信 提问
如何提高蓝牙BLE的传输速率和稳定性

蓝牙BLE的最大特点就是低功耗,而低速率和简单的交互协议是降低功耗的重要组成部分。因此BLE一般应用于低速率的近场控制和数据交互,如智能家电、运动手环等等,小数量的控制和交互对传输速度...

yueqian_scut
2016/05/24
0
0
BLE低功耗蓝牙开发相关概念问题记录

蓝牙ble的传输速率是指主从机每秒所传输的字节数。既然是传输速率那就涉及到时间和每次所传递包大小的问题。 本文已授权微信公众号 fanfan程序媛 独家发布 转载请注明出处,本文出自 BLE低功...

zrf1335348191
2017/04/11
0
0
蓝牙5的六大优势

蓝牙作为智能家居的重要支撑技术,以其全球统一的标准性和数据传输的低功耗、低成本和高安全性等优越性特点,成为物联网热衷的无线通讯技术。 在未来,不仅在智能家居,自动化工业、消费电子...

昇润科技
2018/02/27
0
0
介绍蓝牙Mesh的网络协议栈的基本概念

蓝牙技术作为一种通用通信技术,最主要的功能就是取代了数据电缆的传输,用于便携式设备及其应用。本文介绍蓝牙无线技术的不断革新与进步。 2004年,蓝牙技术联盟推出了蓝牙2.0+EDR,使得蓝牙...

昇润科技
2018/01/09
0
0
介绍基于IPEX接口外接天线和PCB板载天线的蓝牙模块

说到蓝牙模块,有一个东西不得不提,那就是天线。那天线是什么呢?天线是一种用来发射或者接收电磁波的元器件。发射天线的作用主要是将发射机的高频电流能量有效地转换成空间的电磁能量;而接...

昇润科技
2017/12/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

自建redis笔记

自建redis笔记 最近在linux安装了一下redis,特做一些笔记! 本文先单节点启动redis,然后再进行持久化配置,在次基础上,再分享搭建主从模式的配置以及Sentinel 哨兵模式及集群的搭建 单节点...

北极之北
8分钟前
1
0
vue+element之多表单验证

方法一:利用promise var p1=new Promise(function(resolve, reject) { this.$refs[form1].validate((valid) => { if(valid){ ......

沉迷代码我爱学习
10分钟前
1
0
golang 1.13 errors 包 新函数介绍

引 这次 errors 包算重量级更新。很有更能把以前的一些设计模式给推到。下面聊下用法。 error 装包 以前返回一个错误,想要保存 error 链,还要定义结构体保存以前的 error 信息。感兴趣看下...

guonaihong
19分钟前
30
0
并发编程之线程池

一、线程池 1、什么是线程池 Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序 都可以使用线程池。在开发过程中,合理地使用线程池能够带来3个好处。 第一:降...

codeobj
21分钟前
2
0
知识点总结思维导图模板分享,良心安利,建议收藏

思维导图经常被用在学习中,对大脑思维进行发散,对知识进行记忆。使用思维导图可以让知识更加简单更有层次。下面是利用思维导图所绘制的几款知识点总结思维导图模板,大家可以进行进行参考使...

干货趣分享
24分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部