• 搞定蓝牙——第一篇(蓝牙发展史与简述)


    1 引言

    蓝牙大家都知道吧,就是无线设备的一种呗。无线设备就是将数据通过电磁波来传输。但是双方的蓝牙设备是怎么识别这些数据的意义的呢,当然是通过人为预先定义好的规则来传输这些数据,这些规则就称为蓝牙协议

    2 背景

    2.1 开端

    一天下午,哪吒收到了太乙真人送的一副宝贝,名叫“风火轮”,哪吒捣鼓了一下午,都没明白这玩意怎么用。太乙真人不知道手里拿了个什么东西,只见他按下手里的东西,“风火轮”就跑了起来,哪吒呆在原地瞪大双眼看着“风火轮”在跳起了舞,问起了太乙真人:好家伙,这是什么法术,快传授给我。太乙真人笑眯眯得说了句:这是蓝牙遥控技术…

    2.2 历史

    • 1998年的5月的一天,在一家屋子里聚集了5个“大佬”,成立了一个小组叫“特别兴趣小组”(英文缩写:SIG)秘密召开了一场会议,说要搞一个无线的通讯技术,这种技术要求通讯距离短、成本低。大家一致认为这是一项创新性技术,于是就使用了丹麦国王的名字(这位国王喜欢吃蓝莓,导致牙齿变蓝了)。
    • 1999年:0.8、0.9、1.0版本,完成了SDP协定和TCS协定。
    • 2001年:1.1版本,此时传输速率为0.7Mbps。
    • 2003年:1.2版本,增加了五大功能
      1.为了增加安全性,增加了能屏蔽设备硬件地址的功能
      2.为了减少射频信号的干扰,增加了适应性跳频功能(AFH)
      3.为了提供QoS的音频的传输,增加了延伸同步连结导向信道功能(eSCO)
      4.为了更快地连接蓝牙,增加了快速连接功能
      5.增加了支持Stereo音效的传输功能,但只能单向
    • 2004年:2.0版本,使用了EDR(Enhanced Data Rate)技术,提高了蓝牙传输的率(3Mbps),并且使得功耗降低了,还支持了双工模式。
    • 2007年推出了2.1版本,进一步降低了蓝牙功耗(Sniff Subrating省电功能),增加了SSP配对模式,还支持了NFC近场通讯,用NFC可以快速配对两个蓝牙设备。
    • 2009年:3.0版本,增加了四大功能
      1.增加了**Hight Speed**,蓝牙使用wifi实现高速传输,24Mbps
      2.增加 AMP技术
      3.增加了EPG增强电源控制技术,降低空闲功耗
      4.增加了单向广播无连接数据技术
    • 2010年:4.0版本,该版本增加了低功耗功能,提出了三种蓝牙模式:经典蓝牙、低功耗蓝牙和高速蓝牙。4.0之前的版本都为经典蓝牙,4.0之后的蓝牙芯片分为了“单模”和“双模”两种类型,“单模”的蓝牙芯片只有低功耗蓝牙,而“双模”的蓝牙芯片是低功耗蓝牙+经典蓝牙,使用“单模”蓝牙芯片无法兼容4.0以下版本。除此之外,通讯距离还提高到了100米。
    • 2013年:4.1版本,软件上大幅修改,为蓝牙组网提供了基础。支持了云同步功能,增加了IPv6通道。支持角色互换,也就是说蓝牙手表可以直接和蓝牙体重秤连接并自主收发数据,而不需要手机作为数据枢纽。
    • 2014年:4.2版本
      1.提高了传输速度。
      2.开始支持6LoWPAN,这种技术允许多个蓝牙设备通过一个终端连入到网络,为物联网提供了更多可能。
      3.增加了LE链接的安全性
      4.增加了隐私保护
    • 2016年:5.0版本
      1.增加低功耗模式下传输距离(300米)
      2.增加低功耗模式下传输速率(2Mbps)
      3.支持室内定位
      4.增加Mesh组网功能
    • 2017年:增加蓝牙Mesh组网技术,适用于4.0之后的芯片
    • 2019年:5.1版本,提高了室内定位的精度(厘米级)
    • 2019年:5.2版本,增加 BLE audio,LC3 的编解码方式
    • 2021年:5.3版本,降低低功耗蓝牙功耗,增加了经典蓝牙的安全性

    3 蓝牙方案

    蓝牙技术是包含了硬件芯片、软件程序的,软件程序的指导思想就是协议栈。所以一个设备要实现蓝牙通讯,其一要有支持无线射频功能的硬件电路,其二要有能跑蓝牙协议栈的软件程序。这两部分可以集合到一个芯片里面,也可以分成两个芯片处理。

    3.1 SOC蓝牙

    也就是MCU蓝牙,一个芯片集合了两个部分,芯片集合了MCU和蓝牙芯片,厂家也把蓝牙协议栈和应用程序已经烧录到蓝牙芯片里了。有这些:CSR BC4/5,CSR8670,CSR8675,TI CC2540,NRF51xxx,NRF52xxx,乐鑫 ESP32 等等。
    架构如下:SOC蓝牙

    3.2 SOC蓝牙+MCU

    这种是在单SOC蓝牙方案上增加一个或者多个MCU运行应用程序。一般在单芯片方案性能达不到的情况下使用这种方案。架构如下:
    SOC+MCU

    3.3 蓝牙host+controller分开

    这种方案是将蓝牙硬件部分和协议栈程序部分分开两个芯片运行。这种方案最复杂,主要是协议栈程序复杂,能满足所有蓝牙产品的开发需求。
    在这里插入图片描述

  • 相关阅读:
    使用html+css+js实现一个静态页面(含源码)
    发送邮件配置
    2023计算机毕业设计选题推荐——Java项目
    less和scss循环生成margin和padding
    为什么pca分量没有关联
    面试官:“同学,你做的这几个项目都不错。但怎么问QPS你就胡说呢?”
    CSS盒子定位的扩张
    SpringMVC基础:请求转发和重定向
    Java版分布式微服务云开发架构 Spring Cloud+Spring Boot+Mybatis 电子招标采购系统功能清单
    代码随想录算法训练营第day14|二叉树理论基础、二叉树递归遍历、二叉树迭代遍历
  • 原文地址:https://blog.csdn.net/hyh80227/article/details/126443120