蓝牙低能耗(BLE)技术是低成本、短距离、可互操作的鲁棒性无线技术。工作在免许可的2.4GHz ISM射频频段。它从一開始就设计为超低功耗(ULP)无线技术。

它利用很多智能手段最大限度地减少功耗。

  蓝牙低能耗技术採用可变连接时间间隔。这个间隔依据详细应用能够设置为几毫秒到几秒不等。

另外,由于BLE技术採用很高速的连接方式。因此平时能够处于“非连接”状态(节省能源),此时链路两端相互间仅仅是知晓对方。仅仅有在必要时才开启链路。然后在尽可能短的时间内关闭链路。

  BLE技术的工作模式很适合用于从微型无线传感器(每半秒交换一次数据)或使用全然异步通信的遥控器等其他外设传送数据。

这些设备发送的数据量很少(通常几个字节)。并且发送次数也很少(比如每秒几次到每分钟一次。甚至更少)。

  超低功耗无线技术

  蓝牙低能耗技术的三大特性成就了ULP性能。这三大特性各自是最大化的待机时间、高速连接和低峰值的发送/接收功耗。

  无线“开启”的时间仅仅要不是非常短就会令电池寿命急剧减少,因此不论什么必需的发送或接收任务须要非常快完毕。被蓝牙低能耗技术用来最小化无线开启时间的第一个技巧是仅用3个“广告”信道搜索其他设备,或向寻求建立连接的设备宣告自身存在。相比之下。标准蓝牙技术使用了32个信道。

  这意味着蓝牙低能耗技术扫描其他设备仅仅需“开启”0.6至1.2ms时间,而标准蓝牙技术须要22.5ms时间来扫描它的32个信道。

结果蓝牙低能耗技术定位其他无线设备所需的功耗要比标准蓝牙技术低10至20倍。

  值得注意的是。使用3个广告信道是某种程度上的妥协:这是在频谱很拥挤的部分对“开启”时间(相应于功耗)和鲁棒性的一种折衷(广告信道越少,另外一个无线设备在选用频率上广播的机会就越多,就越easy造成信号冲突)。只是该规范的设计师对于平衡这样的妥协相当有信心——比方,他们选择的广告信道不会与Wi-Fi默认信道发生冲突(见图1)

图1:蓝牙低能耗技术的广告信道是经过谨慎选择的。能够避免与Wi-Fi发生冲突

  一旦连接成功后。蓝牙低能耗技术就会切换到37个数据信道之中的一个。

在短暂的数据传送期间。无线信号将使用标准蓝牙技术倡导的自适应跳频(AFH)技术以伪随机的方式在信道间切换(尽管标准蓝牙技术使用79个数据信道)。

  要求蓝牙低能耗技术无线开启时间最短的还有一个原因是它具有1Mbps的原始数据带宽——更大的带宽同意在更短的时间内发送很多其它的信息。举例来说,具有250kbps带宽的还有一种无线技术发送同样信息须要开启的时间要长8倍(消耗很多其它电池能量)。

  蓝牙低能耗技术“完毕”一次连接(即扫描其他设备、建立链路、发送数据、认证和适当地结束)仅仅需3ms。而标准蓝牙技术完毕同样的连接周期须要数百毫秒。

再次提醒,无线开启时间越长,消耗的电池能量就越多。

  蓝牙低能耗技术还能通过两种其他方式限制峰值功耗:採用更加“宽松的”射频參数以及发送非常短的数据包。两种技术都使用高斯频移键控(GFSK)调制。但蓝牙低能耗技术使用的调制指数是0.5,而标准蓝牙技术是0.35。

0.5的指数接近高斯最小频移键控(GMSK)方案,能够减少无线设备的功耗要求(这方面的原因比較复杂,本文暂不赘述)。更低调制指数还有两个优点,即提高覆盖范围和增强鲁棒性。

  标准蓝牙技术使用的数据包长度较长。

在发送这些较长的数据包时,无线设备必须在相对较高的功耗状态保持更长的时间。从而easy使硅片发热。这样的发热将改变材料的物理特性,进而改变传送频率(中断链路),除非频繁地对无线设备进行再次校准。

再次校准将消耗很多其它的功率(而且要求闭环架构。使得无线设备更加复杂。从而推高设备价格)。

  相反。蓝牙低能耗技术使用很短的数据包——这能使硅片保持在低温状态。因此,蓝牙低能耗收发器不须要较耗能的再次校准和闭环架构。

BLE的两种芯片架构

  蓝牙低能耗架构共同拥有两种芯片构成:单模芯片和双模芯片。蓝牙单模器件是蓝牙规范中新出现的一种仅仅支持蓝牙低能耗技术的芯片——是专门针对ULP操作优化的技术的一部分。蓝牙单模芯片能够和其他单模芯片及双模芯片通信,此时后者须要使用自身架构中的蓝牙低能耗技术部分进行收发数据(參考图2)。双模芯片也能与标准蓝牙技术及使用传统蓝牙架构的其他双模芯片通信。

  双模芯片能够在眼下使用标准蓝牙芯片的不论什么场合使用。这样安装有双模芯片的手机、PC、个人导航设备(PND)或其他应用就能够和市场上已经在用的全部传统标准蓝牙设备以及全部未来的蓝牙低能耗设备通信。

然而,因为这些设备要求运行标准蓝牙和蓝牙低能耗任务,因此双模芯片针对ULP操作的优化程度没有像单模芯片那么高。

  单模芯片能够用单节钮扣电池(如3V、220mAh的CR2032)工作非常长时间(几个月甚至几年)。

相反,标准蓝牙技术(和蓝牙低能耗双模器件)通常要求使用至少两节AAA电池(电量是钮扣电池的10至12倍,能够容忍高得多的峰值电流),而且很多其它情况下最多仅仅能工作几天或几周的时间(取决于详细应用)。注意,也有一些高度专业化的标准蓝牙设备。它们能够使用容量比AAA电池低的电池工作。

图2:双模芯片将使用其架构中的蓝牙低能耗部分与单模器件通信。

android 蓝牙低耗能(LBE)技术介绍的更多相关文章

  1. android 蓝牙4.0 开发介绍

    最近一直在研究一个蓝牙功能 由于本人是菜鸟  学起来比较忙 一直搞了好久才弄懂 , 网上对蓝牙4.0也就是几个个dome 抄来抄去,全是英文注解 , 对英语不好的朋友来说 真是硬伤 , 一些没必要的描 ...

  2. Android 蓝牙开发(3)——蓝牙的详细介绍

    前面的两篇文章,主要是在 Android 官网关于蓝牙介绍的基础上加上自己的理解完成的.主要针对的是 Android 开发中的一些 API 的使用. 第一篇文章 Android 蓝牙开发(1) 主要是 ...

  3. Android中直播视频技术探究之---基础知识大纲介绍

    一.前言 最近各种视频直播app到处都是,各种霸屏,当然我们也是需要体验的,关于视频直播的软件这里就不介绍了,在不是技术的人来看,直播是一种潮流,是一种娱乐方式,但是作为一个高技术的,我们除了看看,更 ...

  4. 转:Android 2.3 代码混淆proguard技术介绍

    ProGuard简介 ProGuard是一个SourceForge上非常知名的开源项目.官网网址是:http://proguard.sourceforge.net/. Java的字节码一般是非常容易反 ...

  5. Android bluetooth介绍(两): android 蓝牙源架构和uart 至rfcomm过程

    关键词:蓝牙blueZ  UART  HCI_UART H4  HCI  L2CAP RFCOMM  版本号:基于android4.2先前版本 bluez内核:linux/linux3.08系统:an ...

  6. 深入探索Android热修复技术原理读书笔记 —— 热修复技术介绍

    1.1 什么是热修复 对于广大的移动开发者而言,发版更新是最为寻常不过的事了.然而,如果你 发现刚发出去的包有紧急的BUG需要修复,那你就必须需要经过下面这样的流程: 这就是传统的更新流程,步骤十分繁 ...

  7. Android 蓝牙开发(整理大全)

    Android蓝牙开发 鉴于国内Android蓝牙开发的例子很少,以及蓝牙开发也比较少用到,所以找的资料不是很全. (一): 由于Android蓝牙的通信都需要用到UUID,如果由手机发起搜索,当搜索 ...

  8. 深入了解Android蓝牙Bluetooth——《基础篇》

    什么是蓝牙?   也可以说是蓝牙技术.所谓蓝牙(Bluetooth)技术,实际上是一种短距离无线电技术,是由爱立信公司公司发明的.利用"蓝牙"技术,能够有效地简化掌上电脑.笔记本电 ...

  9. Android蓝牙A2DP连接实现

    代码地址如下:http://www.demodashi.com/demo/14624.html 开发环境: 开发工具:Androidstudio 适配机型:honor8(Android6.0), 坚果 ...

随机推荐

  1. Codeforces Round #325 (Div. 2) Phillip and Trains dp

    原题连接:http://codeforces.com/contest/586/problem/D 题意: 就大家都玩过地铁奔跑这个游戏(我没玩过),然后给你个当前的地铁的状况,让你判断人是否能够出去. ...

  2. [POI2014]Beads

    题目大意: 有$n(n\leq10^6)$种颜色,第$i$种颜色有$c_i(\sum c_i\leq10^6)$个,指定第一个颜色为$a$,最后一个颜色为$b$,问对于一个长度为$m=\sum c_i ...

  3. 六. 异常处理8.throws子句

    如果一个方法可以导致一个异常但不处理它,它必须指定这种行为以使方法的调用者可以保护它们自己而不发生异常.做到这点你可以在方法声明中包含一个throws子句.一个 throws 子句列举了一个方法可能抛 ...

  4. 六. 异常处理9.finally块

    当异常被抛出,通常方法的执行将作一个陡峭的非线性的转向.依赖于方法是怎样编码的,异常甚至可以导致方法过早返回.这在一些方法中是一个问题.例如,如果一个方法打开一个文件项并关闭,然后退出,你不希望关闭文 ...

  5. Entity Framework贪婪加载筛选问题

    先说一下代码北京,现在有一个Table类,代表桌子,然后Tale里面级联这一系列订单Order,现在要获取这个Table中没有完成的订Order,用完include之后居然发现不知道该怎么写,上网找了 ...

  6. iOS开发 Swift开发数独游戏(三) 选关界面

    一.选关界面涉及到的功能点 1)需要UITableView以及相应数据代理.协议的实现 2)读取plist文件并转化成模型 3)在单元格点击后进入数独游戏,涉及到把数据经segue在UIViewCon ...

  7. Systemd入门教程:实战篇(转)

    作者: 阮一峰 日期: 2016年3月 8日 上一篇文章,我介绍了 Systemd 的主要命令,今天介绍如何使用它完成一些基本的任务. 一.开机启动 对于那些支持 Systemd 的软件,安装的时候, ...

  8. sqlite db-journal文件产生原因及说明

    今天在Android中将sqlite的数据库文件生成在SD卡上的过程中,发现生成的.db文件的旁边 生成了一个大小为0的与数据库文件同名的.db-journal文件,不明白此文件的用途,于是 goog ...

  9. codeforces559A--Gerald's Hexagon(计算几何)

    A. Gerald's Hexagon time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  10. Linux7个runlevel

    Linux系统有7个运行级别(runlevel) 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆 运行级别 ...