CC2640R2F BLE5.0 蓝牙概述
来源:互联网 发布:ct数据增益处理 编辑:程序博客网 时间:2024/05/12 20:49
蓝牙概述
从这一章节开始我们尝试去系统了解蓝牙协议栈,在这之前我们需要储备以下知识点。
蓝牙
蓝牙是一种短距离的无线通信技术,设计之初是为了取代有线连接,其鲁棒性、低功耗、低成本特性已经让其广泛应用各种终端产品。
蓝牙核心规范是根据不同终端产品可选择、可裁剪的。根据功耗和速率主要被设计两种设备类型——LE和BR,两种设备都实现设备发现、连接建立、连接机制。同时BR无线系统还包含一个可选择的EDR设备类型,EDR又包含一个二选一的MAC层以及可扩展的PHY层,基于这些设计BR的速率可以达到721.2kb/s,EDR可以达到2.1Mbps以及工作在高速模式的802.11AMP 54Mbps。
蓝牙发展至今,已经从1.0到现在5.0版本了,前面3个版本蓝牙主要是以BR/EDR/HS发展,也就是我们常说的经典蓝牙,4.0版本后引入LE,蓝牙技术联盟(Bluetooth Special Interest Group,简称SIG)维护着蓝牙核心规范。我们不难看出,从高速AMP直接使用802.11 PHY,还是低功耗参考使用802.15.4以及最新标准的蓝牙5.0协议,SIG一直在功耗、速率、和最新的物联网功能上面平衡。
注意:注意区分BLE、BR、EDR等特定术语,区分低功耗蓝牙和经典蓝牙。
蓝牙核心系统由两个逻辑实体Host&Controller组成,一个Host对应一个或者多个Controller,Host和Controller之间通过HCI接口层交互。Controller对应两种类型:Primary Controllers 和Secondary Controllers。通常来说Primary Controllers只有一个,Secondary Controllers可能有多个。
- 对于BR/EDR 蓝牙设备类型,Controller通常包含 无线电处理、基带、链路管理、和可选择的HCI接口层;
- 对应LE Controller主要包含LE PHY、链路层、和可选择的HCI;
- 通常来说我们还可以合并BR/EDR Controller 和LE Controller到一个Controller,也就是我们常说的双模蓝牙。
上图完整了演示了LE核心系统、BR/EDR核心系统、带Secondary Controller AMP的BR/EDR核心系统、以及合并LE&BR/EDR的双模蓝牙系统。
LE
信道
BLE 工作在无需认证的2.4G免费频段,该频段广泛应用于ISM(工业、科学、医疗)领域。通过跳频通信实现抗干扰特性,GFSK调制,采用1Mbps码元率PHY层设计,可以实现1Mbps波特率通信,BLE5.0优化的物理层可以工作在2Mbps码元率。
2.4G的频段按照每2M带宽划分为40个信道,通过FDMA(频分多址)和TDMA(时分多址)实现多路访问信道资源。
信道资源被我们约定的Events
划分为以时间单位访问,我们的有效数据也包含在这些Events
里面,Events
以连接状态为区分,包含未连接的Advertising Events
和已经连接的 Connection events
在物理信道发送广播包的设备我们称为Advertisers
,接收到该广播包但是还没有建立连接意图前的设备我们称为Scanners
。如下图所示,Advertisers
在3个广告信道(可配置)轮询发生Advertising Events
,Scanners
接收到该广告包后可能在该信道可能发生事件类型的为ScanReq
的扫描请求和ScanRsp
扫描回复。
如果此时Scanner
产生了尝试建立连接请求,Scanner
身份切换为为Initiators
。Initiators
会在接收到Advertising Events
产生一个时间类型为Connect
的连接请求。一旦建立连接请求,Advertiser
和Initiators
分别切换为Slave
和Master
。
在建立连接的时候,Master会基于某种算法产生一个跳频序列,保证在37个数据信道按照某个序列进行跳频切换,以及双方会约定一个跳频间隔,保证通信双方在固定时间在固定信道相遇。
分层设计
如上图所示:
Controller
- LinkManager、LinkController、BR/EDR Radio组成 BR/EDR Controller;
- AMP PAL 、AMP MAC、 AMP PHY 组成AMP Controller;
- Link Manager,Link Controller、LE Radio 组成 LE Controller;
Host
- L2CAP、SDP、GAP 组成 BR/EDR Host;
- L2CAP、SMP、Attribute protocol、GAP GATT组成LE Host;
加入我们
文章所有代码、工具、文档开源。加入我们QQ群 591679055获取更多支持,共同研究CC2640R2F&BLE5.0。
© Copyright 2017, 成都乐控畅联科技有限公司.
- CC2640R2F BLE5.0 蓝牙概述
- CC2640R2F BLE5.0 蓝牙协议栈概述
- CC2640R2F BLE5.0 蓝牙协议栈OAD功能概述
- CC2640R2F BLE5.0 CC2640R2F软硬件架构概述
- CC2640R2F BLE5.0 TI-RTOS概述
- CC2640R2F BLE5.0 蓝牙协议栈OAD功能问题集锦
- CC2640R2F BLE5.0 蓝牙协议栈Off-Chip OAD功能
- CC2640R2F BLE5.0 蓝牙协议栈GATTServApp模块
- CC2640R2F BLE5.0 蓝牙协议栈GAPRole 任务
- CC2640R2F BLE5.0 蓝牙协议栈通用访问配置文件(GAP)
- CC2640R2F BLE5.0 使用IAR开发蓝牙应用
- CC2640R2F BLE5.0 使用CCS开发蓝牙应用
- CC2640R2F BLE5.0 关于蓝牙5.0的几个常见问答
- CC2640R2F BLE5.0 CC2640R2F UART驱动
- CC2640R2F BLE5.0 CC2640R2F的存储架构
- CC2640R2F BLE5.0 CC2640R2F硬件架构
- CC2640R2F BLE5.0 CC2640R2F软件架构
- CC2640R2F BLE5.0 CC2640R2F SPI驱动实现
- Ubuntu操作基本快捷键
- C++多重继承与派生类成员标识
- Boostrap 模态框闪退问题
- python3中的列表特性
- POJ 2367Genealogical tree(拓扑排序)
- CC2640R2F BLE5.0 蓝牙概述
- 安卓基础8:服务
- 你还在傻傻分不清楚防篡改和WAF吗?
- HDU多校1003
- js获取table中的tr数量
- IO多路转接之select
- SpannableStringBuilder设置字符串不同颜色和大小
- 如何获取本地时间信息,并把getDay()函数获取到的日期改为日一二三四五六
- vuecli 苹果浏览器 按浏览器返回键 插件失效 ,安卓及pc端正常