蓝牙低能耗(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. 【strork】HAOI2017旅游记

    乘着大巴踏上归程,看着赛后落寞的一些人,赛后轻松的一些人,感触颇多. [爪机被lsj坑了,照片等周末再放...] 4月22: 早上起床不用跑操,到了教室我就看见LSJ跑过来,不用想,果然:“早上nin ...

  2. ssh框架整合shiro权限

    关于整合shiro,首先在ssh整合的基础上进行组合 1.首先,要导入几个依赖(整合ssh与shiro的依赖): <properties><shiro.version>1.3. ...

  3. c#ppt练习

    第六章 1.从控制台输入一个数,如果这个数大于等于60,就输出”及格”,否则输出”不及格” 从控制台输入一串字符,如果这个这串字符的长度大于3,并且字符首字母为A,,则输出“格式正确”,如果这串字符的 ...

  4. Android-onInterceptTouchEvent()和onTouchEvent()

    老实说,这两个小东东实在是太麻烦了,很不好懂,我自己那api文档都头晕,在网上找到很多资料,才知道是怎么回事,这里总结一下,记住这个原则就会很清楚了: 1.onInterceptTouchEvent( ...

  5. 更改vsftpd默认的21端口

    vsftpd默认的端口是21 我想更改为别的端口 那么首先编辑 vsftpd的配置文件 /etc/vsftpd/vsftpd.conf 添加监听端口 listen_port **** 然后修改ftp的 ...

  6. 异常如果一直被throws抛出的话就会被jvm异常处理器处理了

    异常如果一直被throws抛出的话就会被jvm异常处理器处理了,这时jvm会跳出正常运行状态. 异常如果一直被throws抛出的话就会被jvm异常处理器处理了,这时jvm会跳出正常运行状态. 异常如果 ...

  7. YOLO 测试出错:段错误 (核心已转储)

    段错误 (核心已转储): data/voc.names中文标签改成英文

  8. 函数传参,改变Div任意属性的值&&图片列表:鼠标移入/移出改变图片透明度

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. Android面试题3之描写叙述下Android的系统架构

    描写叙述下Android的系统架构: Android系统从下往上分为Linux内核层(linux kerner),执行库(runtime library),应用程序框架层,应用程序层 linuxker ...

  10. C++11之右值引用(二):右值引用与移动语义

    上节我们提出了右值引用,可以用来区分右值,那么这有什么用处?   问题来源   我们先看一个C++中被人诟病已久的问题: 我把某文件的内容读取到vector中,用函数如何封装? 大部分人的做法是: v ...