首页 > 其他分享 >【Bluetooth|蓝牙开发】二、蓝牙开发入门

【Bluetooth|蓝牙开发】二、蓝牙开发入门

时间:2022-11-03 21:55:27浏览次数:84  
标签:低功耗 蓝牙 技术 Bluetooth EDR 开发 BR AMP

img
个人主页:董哥聊技术
我是董哥,嵌入式领域新星创作者
创作理念:专注分享高质量嵌入式文章,让大家读有所得!
img

1、BLE开发入门基础

 
所有文章汇总
 

1、蓝牙基础概念

蓝牙,是一种利用低功率无线电,支持设备短距离通信的无线电技术,能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换,蓝牙工作在全球通用的2.4GHz ISM(即工业、科学、医学)频段,使用IEEE802.11协议。

 

2、蓝牙发展历程

自1994年由爱立信推出至今,蓝牙技术已经走过了20个岁月。从最初的Bluetooth V1.0,到Bluetooth V5.2,经历了近9个版本的修订后,发展为当前的状况。

 

“蓝牙”的形成背景是这样的

1998 年 5 月,爱立信、诺基亚、东芝、 IBM和英特尔公司等五家著名厂商, 在联合开展短程无线通信技术的标准化活动时提出了蓝牙技术,其宗旨是提供一种短距离、 低成本的无线传输应用技术

芯片霸主 Intel 公司负责半导体芯片和传输软件的开发,爱立信负责无线射频和移动电话软件的开发, IBM 和东芝负责笔记本电脑接口规格的开发。

1999 年下半年,著名的业界巨头微软、摩托罗拉、三星、朗讯与蓝牙特别小组的五家公司共同发起成立了蓝牙技术推广组织,从而在全球范围内掀起了一股“蓝牙”热潮。

全球业界即将开发一大批蓝牙技术的应用产品, 使蓝牙技术呈现出极其广阔的市场前景,并预示着 21 世纪初将迎来波澜壮阔的全球无线通信浪潮。

  • 第一代蓝牙:关于短距离通讯早期的探索,使用的是BR技术,此时蓝牙的理论传输速率,只能达到721.2Kbps。
  • 第二代蓝牙:新增的 EDR(Enhanced Data Rate)技术,使得蓝牙设备的传输率可达 3Mbps。
  • 第三代蓝牙:核心是 AMP(Generic Alternate MAC/PHY),这是一种全新的交替射频技术,支持动态地选择正确射频,传输速率高达 24Mbps
  • 第四代蓝牙:主推” Low Energy”低功耗, BLE(Bluetooth Low Energy)低功耗功能
  • 第五代蓝牙:开启「物联网」时代大门,在低功耗模式下具备更快更远的传输能力

 

3、蓝牙技术概述

蓝牙协议包括两种技术:BR:Basic RateLE:Low Energy。这两种技术都包括搜索(discovery)管理、连接(connection)管理等机制,但它们是相互独立的,不能互通的技术!

厂商如果只实现了一种,那么只能与同样实现该技术的设备互通。

如果厂商要确保能和所有的蓝牙设备互通,那么就只能同时实现两种技术,而不去管是否真的需要。

 

3.1 Basic Rate(BR)

BR:Basic Rate是正宗的蓝牙技术,可以包括**可选(optional)EDR(Enhanced Data Rate)技术,以及交替使用的(Alternate)**的MAC(Media Access Control)层和PHY层扩展(简称AMP(Alternate MAC and PHY layer extension))。

  • BR:最早期的蓝牙技术,速度只能达到721.2Kbps,在那个年代,已为高大上了。
  • EDR:随着技术的提升,使用EDR技术的蓝牙,理论速率可以达到2.1Mbps
  • AMP:使用AMP技术的蓝牙,理论速率可以达到54Mbps

AMPAlternate交替使用体现在:由于蓝牙自身的物理层和AMP技术差异太明显,BR/EDRAMP是不能同时使用的。

简单的说,就是:BREDR是可以同时存在的,但BR/EDRAMP只能二选一

 

3.2 Low Energy(LE)

上面所讲的BR技术的进化路线,就是传输速率的加快、加快、再加快。

但能量是守恒的,你想传的更快,代价就是消耗更多的能量。而有很多的应用场景,并不关心传输速率,反而非常关心功耗。

这就是Bluetooth LE(称作蓝牙低功耗)产生的背景。

从它的英文名字上就可以看出它是一种低功耗蓝牙技术,是蓝牙技术联盟设计和销售的一种个人局域网技术,旨在用于医疗保健、运动健身、信标、安防、家庭娱乐等领域的新兴应用。

低功耗蓝牙与经典蓝牙使用相同的2.4GHz无线电频率,因此双模设备可以共享同一个天线。低功耗蓝牙使用的调制系统更简单。

LE技术相比BR技术,差异非常大,或者说就是两种不同的技术,凑巧都加一个“蓝牙”的前缀而已。

目前BLE主要广泛应用于IoT产品领域。

BT_RF_Baseband_Overview.gif

 

4、常见蓝牙架构

市面上,大致有几种蓝牙架构:

 

4.1 SOC蓝牙单芯片方案

一般是半导体厂商半开源协议栈,把开发的蓝牙协议栈直接烧写到蓝牙芯片中,(比如CSR BC4/5,CSR8670,CSR8675,TI CC2540,NRF51xxx,NRF52xxx,乐鑫ESP32等等),架构如下:

img

此类芯片一般可以直接做为MCU用,这类产品一般用于消费类电子,集成度很高,调调部参数可以直接使用,常见的有蓝牙耳机等产品。

 

4.2 SOC蓝牙+MCU方案

在集成好的蓝牙芯片基础上,通过特定的接口(UART居多),发送自定义的command来达到想要的功能。比如发送0x01代表搜索周围设备…

img

此部分的应用,将蓝牙作为一个外设使用,用于远程通信

例如网上卖的一些蓝牙串口。

 

4.3 蓝牙host + controller分开方案

这种应用算是蓝牙最复杂的应用,客户需要使用蓝牙的场景有很多,牵涉到的蓝牙协议也有很多,需要将HostController分开,集成更多的蓝牙协议,比如蓝牙电话(HFP),蓝牙音频(A2DP),蓝牙音乐控制(AVRCP),蓝牙电话本(PBAP),蓝牙短信(MAP)等。

其中Transport是一个协议,H2就是在USB的基础上的协议,H4,H5,BCSP是UART基础上的协议,当然还有SDIO

此部分应用,将定制蓝牙的各种服务,实现蓝牙多功能需求,

img

 

4.4 使用场景

大概列举了以下几种,帮助理解

1)手机 -> 手机的蓝牙复杂应用,注定要用第3种方案,也就是蓝牙协议栈(host)在主芯片中,蓝牙芯片为HCI架构的

2)蓝牙音响,蓝牙耳机 -> 此种应用一般用单芯片方案就能hold住,比如CSR8670/8675/杰理蓝牙等,好处在于开发便捷

3)蓝牙手表 -> 手表要看功能复杂性,如果仅仅有时间显示,传感器交互,蓝牙,那么可以选择单芯片方案(也就是方案1),如果有网络等比较复杂的功能就要使用MCU+蓝牙芯片方案(也就是方案3)了

4)蓝牙手环,蓝牙心率带等 -> 基本上是单芯片方案

 

5、参考文档

[1]:蓝牙官网:https://www.bluetooth.com/

[2]:https://blog.csdn.net/XiaoXiaoPengBo/article/details/107466841

[3]:https://zhuanlan.zhihu.com/p/43516534

img img 文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux21355 人正在系统学习中

标签:低功耗,蓝牙,技术,Bluetooth,EDR,开发,BR,AMP
From: https://www.cnblogs.com/-Donge/p/16855984.html

相关文章

  • 企业项目开发流程,路飞项目,虚拟环境搭建
    目录企业项目开发流程一、企业项目类型面向互联网用户:商城类项目面向互联网用户:二手交易类的公司内部项目:python写的重点个人博客内容收费网站房屋租赁二、完整流程三、我......
  • 以开发之名 | bilibili会员购让IP在眼前动起来
    随着ACG文化(二次元文化)影响力的不断提升,哔哩哔哩平台上衍生品消费群体不断扩大,手办行业迅速崛起。2017年,B站推出ACG衍生品消费品牌bilibili会员购,涵盖二次元手办销售等多项......
  • IOS APP开发:苹果app从开发到上架教程详解
     不少人认为按照目前市场占有率,app开发还是以安卓为主,但不可忽视的是, iosapp开发的用户基础还是很庞大的,用户需求也很稳定,市场挖掘潜力还是很客观,进行苹果app开发还是......
  • 快速应用程序开发
    什么是RAD?快速应用程序开发(RAD)是一种专注于设计和原型设计阶段的开发方法,目的是获得用户的即时反馈。与先进行初始计划再进一步执行的传统开发模型不同,RAD有着更多的灵......
  • 野火 STM32MP157 开发板内核和设备树的编译烧写
    一、环境编译环境:Ubuntu版本:18.4.6交叉编译工具:arm-linux-gnueabihf-gcc版本:7.4.1开发板:STM32MP157pro烧写方式:STM32CubeProgrammer、TFTP、在线烧写安装工具gcc......
  • Java实现ip属地功能开发教程 | ip2region2.x使用总结
    ip属地功能开发-ip2region2.x使用总结一、前言如今许多软件如B站、微博、抖音等都加上IP归属地防止恶意评论,境外用户显示的是国家,国内的用户显示的省份。兴致一起,我便......
  • 基于iTOP-RK3568开发板-驱动教程更新20节
    迅为基于iTOP-RK3568开发板进行讲解,本次为第四期,主要讲解高级字符设备进阶,共计20讲。第一期主要讲解驱动基础第二期主要讲解字符设备基础第三期主要讲解并发与竞争​​​​......
  • 华为开发者大会2022即将召开 精彩主题演讲线上同步直播
    11月3日,华为官方发布了华为开发者大会2022直播攻略,宣布将在线上多个平台同步直播大会主题演讲以及开发者主题演讲,并同时公布了两大主题演讲的相关信息和直播平台。从目前公......
  • ZYNQ:从SDK到Vitis(二):工程开发中的一些差异
    一、官方示例代码的导入        在SDK中,开发人员导出硬件平台,启动SDK,创建相应的应用工程后,在projectexplorer会产生一个板级支持包文件夹,双击里面的system.mss文......
  • 企业项目类型以及开发流程
    1.企业项目类型#1面向互联网用户:商城类项目-微信小程序商城#2面向互联网用户:二手交易类的-咸鱼-转转#3公司内部项目:python写的重......