BLE4.0 学习笔记

BLE基础知识

蓝牙无线技术是使用范围最广泛的全球短距离无线标准之一。
蓝牙4.0规范集成了传统蓝牙、高速蓝牙、低功耗蓝牙三种蓝牙技术。其中低功耗蓝牙作为蓝牙4.0规范的核心技术,拥有超低的运行功耗和待机功耗,具备低成本、向下兼容、跨厂商互操作性强等的特点。
1、BLE4.0特点如下:

  • 高可靠性
    考虑电磁波在传输过程中的内在步可靠性,SIG在蓝牙4.0规范时,在射频、基带协议、链路管理协议中采用可靠性措施,包括:差错检测和校正、进行数据编解码、差错控制、数据加噪等,使用自适应调频技术、最大程度地减少了和其他2.4GHz ISM频段无线电波的串扰。
  • 低成本、低功耗
    BLE支持两种部署方式分别是双模式和单模式。
    (1)双模式:低功耗蓝牙功能集成在现有的经典蓝牙控制器中,或在现有的经典蓝牙技术(2.1+EDR/3.0+HS)芯片上增加低功耗堆栈,整体架构基本不变,因此成本增加有限。
    (2)单模式:面向高度集成、紧凑的设备,使用一个轻量级链接层提供超低工号的待机模式操作。蓝牙4.0BLE技术可以应用于8-bit的MCU。例如CC2540。
    (3)低功耗设计:蓝牙4.0版本强化了蓝牙在数据上传输的低功耗性能,低功耗较传统蓝牙降低了90%。
    (4)传统蓝牙设备的待机耗电量大一直是缺陷之一,传统蓝牙采用了16 ~ 32个频道进行广播,BLE仅使用了3个广播频道,且广播时射频的开启时间也由传统的22.5ms减到了0.6 ~ 1.2ms,这里两个协议规范的改变大幅度的降低了因为广播数据导致的待机功耗。
    (5)低功耗蓝牙设计了用深度睡眠的方式代替传统蓝牙的空闲状态,在深度睡眠状态下,Host长时间处于超低的负载循环状态,只需要运作时由控制器来启动,由于主机较控制器消耗的能源较多,因此这样的设计也节省了最多的能源。
  • 快速启动、瞬间连接
    蓝牙2.1版本启动连接需要6s,蓝牙4.0仅仅需要3ms
  • 传输距离极大提高
    传统蓝牙传输距离是2 ~ 10m,蓝牙4.0的有效传输距离可达60~100m
  • 高安全
    为保证数据的安全,使用AES-128 CCM加密算法进行数据加密和认证

双模方式可同时支持传统蓝牙和蓝牙低功耗技术,目前使用蓝牙技术的所有产品都可以使用该模式;单模方式只支持蓝牙低功耗技术,主要用于蓝牙产品,如蓝牙血压计,心率监控仪等。

2、蓝牙4.0BLE无线网络通信信道分析
天线对于无线通信系统来说至关重要,天线的主要功能可以概括为:完成无线电波的发射与接收。发射时,把高频电流转换为电磁波发射出去;接收时,将电磁波转换成高频电流。
不同的电波具有不同的频谱,无线通信系统的频谱有几十兆赫兹到几千兆赫兹,电波使用空气作为传输介质,为了防止不同应用之间的相互干扰,就需要对无线通信系统的通信信道进行必要的管理。
蓝牙4.0BLE工作在2.4GHz ISM频段,该频段共有16个信道,信道通信速率为250kbps,BLE 仅使用了3个广播通道,并且使用所有蓝牙规范版本通用的自适应调频技术,最大程度上减少了与其他2.4GHZ ISM频段无线电波的串扰
自适应跳频技术是建立在自动信道质量分析基础上的一种频率自适应和功率自适应控制相结合的技术。它能使跳频通信过程自动避开被干扰的跳频频点,并以最小的发射功率、最低的被截获概率,达到在无干扰的跳频信号上长时间保持优质通信的目的。所谓频率自适应控制是在跳频通信过程中,拒绝使用那些曾经用过但是传输不成功的跳频频率集中的频点,即实时去除跳频频率集中被干扰的频点,使跳频通信在无干扰的可使用的频点上进行,从而大大提高跳频通信中接收信号的质量。

深入理解蓝牙4.0BLE协议栈的构成

TI的蓝牙4.0 BLE协议栈包含两个部分:主机和控制器。
协议栈的实现方式采用分层思想,具体分层如图。
在这里插入图片描述

  • 物理层(PHY)
    该层是1Mbps自适应跳频的GFSK射频,工作于免许可证的2.4GHZ ISM频段
  • 链路层(LInk Layer)
    该层用于控制设备的射频状态,设备将会处于五种状态之一:等待、广告、扫描、初始化、连接。广播设备不需要建立连接就可以发送数据;而扫描设备收听广播设备发出的数据;发起连接的设备通过发送连接请求来回应广播设备,如果广播设备接受连接请求,那么广播设备与发起连接的设备将会进入连接状态。发起连接的设备成为主机,接收连接请求的设备称为从机。
  • 主机控制接口层(HCI)
    该层为主机和控制器之间提供标准通信接口,这一层可以是软件API或硬件接口。如UART、SPI、USB。
  • 逻辑链路控制及自适应协议层(L2CAP)
    该层为上层提供数据封装服务,允许逻辑上的点对点数据通信
  • 安全管理层(SM)
    该层定义了配对和密钥分配方式,并为协议栈其他层与另一个设备之间安全连接和数据交换提供服务
  • 属性协议层(ATT)
    该层允许设备向另一个设备展示一块特定的数据,称之为“属性”。在ATT环境中,展示“属性”的设备称为服务器,与之配对的设备称为客户端。链路层状态(主从机)与设备的ATT角色是相互独立的。
  • 通用属性配置文件层(GATT)
    定义了使用ATT的服务框架。GATT规定了配置文件(Profile)的结构。在BLE中,所有被profile或服务用到的数据块都称为“特性”,两个建立连接的设备之间所有的数据通信都是通过GATT子程序处理。应用程序和profile直接使用GATT层。
  • 通用访问配置文件层(GAP)
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页