蓝牙协议剖析
文章平均质量分 92
本专栏针对蓝牙协议做一个简单的说明,希望对从事蓝牙工作的有所帮助
Wireless_Link
有丰富的蓝牙车载经验,曾给HAVAL H6,F7,江淮,北汽,丰田,大众,江铃等众多车型做过蓝牙车载方案,对传统蓝牙,低功耗蓝牙都有深入的研究。
展开
-
一篇文章足够你学习蓝牙技术,提供史上最全的蓝牙技术(传统蓝牙/低功耗蓝牙)文章总结,文档下载总结(2020/12/11更新)
那由于学员反馈蓝牙精讲没有一个目录介绍,再次我整理一个目录。我们的蓝牙书以及CSDN蓝牙系列的视频有以下计划:告知:初学蓝牙者暂时不要碰controller(蓝牙芯片)里面的协议,否则会看到你怀疑人生那我们就一一来列举下(持续更新次文章,每周一更这篇文章)第一篇:蓝牙综合介绍主要介绍蓝牙的一些概念,产生背景,发展轨迹,市面蓝牙介绍,以及蓝牙开发板介绍,内容如下:章节 文章标题 文章链接 视频课程 第一章 蓝牙概述 1. 蓝牙的基本概念以及发展轨迹.原创 2020-08-03 08:09:52 · 101206 阅读 · 63 评论 -
蓝牙对象交换协议(OBEX) - 常见的opcode介绍
OBEX全称为Object Exchange,是对象交换协议,蓝牙的OBEX是IrOBEX的子集,其中对象是一个柔性概念,可以包括文件,诊断信息,电子商务卡片(Vcard),银行的存款,短信消息等等。Objects在这里没有高级的技术含义,而是视你的应用而定原创 2024-08-31 08:30:32 · 1115 阅读 · 0 评论 -
蓝牙对象交换协议(OBEX) - 概念介绍
OBEX全称为Object Exchange,是对象交换协议,蓝牙的OBEX是IrOBEX的子集,其中对象是一个柔性概念,可以包括文件,诊断信息,电子商务卡片(Vcard),银行的存款,短信消息等等。Objects在这里没有高级的技术含义,而是视你的应用而定原创 2024-08-24 08:06:24 · 626 阅读 · 0 评论 -
蓝牙音视频远程控制协议(AVRCP) command跟response介绍
蓝牙视频教程(跟韦东山老师合作) 蓝牙音视频控制协议 AVRCP 命令介绍原创 2024-08-17 08:15:31 · 989 阅读 · 1 评论 -
炫技来了!使用SDR设备成功抓到蓝牙air packet, 并且wireshark实时解析, 没错就是蓝牙空口抓包器
本文章主要介绍是用ZYNQ7020+AD9361+Gnu radio是搭建一个蓝牙抓包器的文章。用SDR(Software Defined Radio)设备研究了下BLE的抓包,通过BLE的抓包了解下蓝牙的controller的一点点内容,日拱一卒,拱了2个周终于可以抓到蓝牙37通道的广播数据,并且可以把数据传送到Wireshark中。整份工程是C语言+gnu radio来完成,没有借用python等。原创 2024-06-08 13:55:04 · 2391 阅读 · 2 评论 -
蓝牙音视频远程控制协议(AVRCP) AV/C command格式介绍
蓝牙AVRCP协议的AV/C命令/响应 格式介绍原创 2024-01-13 14:44:02 · 1860 阅读 · 0 评论 -
蓝牙音视频控制协议(AVCTP)介绍
AVCTP(Audio/Video Control Transport Protocol)协议描述了蓝牙设备间Audio/Video的控制信号交换的格式和机制,它是一个总体的协议,具体的控制信息由其指定的协议(如AVRCP)实现,AVCTP本身只指定控制command和response的总体的格式。原创 2023-07-15 20:28:26 · 3112 阅读 · 0 评论 -
蓝牙BQB认证 - HFP profile配置说明
该文档主要解释Bluetooth HFP HF的BQB ICS以及TS文档,以便更快的熟悉蓝牙本地认证工具PTS。快速验证蓝牙协议栈是否符合蓝牙规范。原创 2023-04-04 19:43:07 · 2351 阅读 · 1 评论 -
蓝牙 Bluetooth APCF实现休眠唤醒功能
ACPF(Advertising Packet Content Filter)是广播内容过滤功能,主要使能后运行controller中,所以广泛应用于广播唤醒功能,但是有个局限,不过滤周期广播。这个命令属于HCI Vendor Specific Command/Event,所以需要固件额外支持才行!另外,如果要做广播唤醒,需要从特定的引脚输出特定的波形,所以这个需要额外的vendor specific command才行原创 2023-04-01 16:15:44 · 2316 阅读 · 1 评论 -
Android蓝牙使能流程图(Android Bluetooth enable) -- java & jni层
目前蓝牙协议栈本身的架构就很复杂,而且大部分都是用C/C++编写,对于蓝牙协议栈工程师硬啃可能啃的动,但是Android上层又用java编写,又加了很多binder,jn机制,并且伴有Android本身apk的一些特性在里面,让蓝牙工程师苦不堪言,所以本文秉着大道至简的目的,给你们来介绍下android上层,包括framework,service的enable流程,让你们有一些概念,抛砖引玉下!原创 2023-03-26 11:44:32 · 3864 阅读 · 0 评论 -
蓝牙DID蓝牙认证BQB
主要介绍蓝牙DID协议通过蓝牙认证BQB的条件以及过认证特定的测试项介绍原创 2023-01-07 13:44:38 · 1798 阅读 · 0 评论 -
Linux UART编程 驱动蓝牙芯片
在熟悉了UART概念后,我们要学以致用,在Linux用起来来驱动起来蓝牙芯片!我们直接借用man来看下,命令如下: man termios2.串口打开关闭Linux秉行一切皆文件的,所以打开关是用open,关闭串口使用close下面我们来分别介绍下各个flag!在输入值传给程序之前控制其处理的方式负责控制输出字元的处理方式用于控制终端设备的硬件设置主要用来控制终端设备不同的特色符号下标 (初始值) 和意义(即c_cc[]数组对应下标的数值对应含义,如c_cc[VMIN] = 3):这些原创 2022-12-04 14:19:05 · 3665 阅读 · 0 评论 -
手机抓取蓝牙日志btsnoop的方法汇总(Android一直补充中)
一般如果手机厂商没有做限制的情况下,打开开发者选项,打开HCI日志手机功能,然后重启蓝牙就可以抓取了,蓝牙HCI日志功能如下图,每个手机显示可能略有差异。原创 2022-09-24 22:28:55 · 8607 阅读 · 0 评论 -
USB概念介绍
主要通过以下几个方面介绍USB:1. USB概念2. USB枚举过程3. USB传输类型原创 2022-09-17 16:36:46 · 3421 阅读 · 1 评论 -
蓝牙BQB PTS工具的安装
蓝牙BQB工具必备工具PTS安装以及避坑指南原创 2022-08-20 11:28:38 · 3465 阅读 · 1 评论 -
CSR8311/CSR8811 HCI vendor command说明
一. 声明本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下:第一篇:蓝牙综合介绍 ,主要介绍蓝牙的一些概念,产生背景,发展轨迹,市面蓝牙介绍,以及蓝牙开发板介绍。第二篇:Transport层介绍,主要介绍蓝牙协议栈跟蓝牙芯片之前的硬件传输协议,比如基于UART的H4,H5,BCSP,基于USB的H2等第三篇:传统蓝牙controller介绍,主要介绍传统蓝牙芯片的介绍,包括射频层(RF),基带层(baseband),链路管理层(LMP)等第四篇:传统蓝牙host介绍,主原创 2021-08-14 09:56:31 · 3136 阅读 · 0 评论 -
我不是蓝牙大神,但还是斗胆对蓝牙学习路线给点建议!
可能大家对庞大的蓝牙系统很困扰,也不知道从何学起,别急,我来了!我会分别给蓝牙协议栈的从业者和蓝牙SoC从业者或者蓝牙APP整合者一个建议,我给不了蓝牙Controller学习的建议,希望大家能给我点学习蓝牙Controller的建议,我自己也想学Controller,得不到的总是在骚动嘛!好啦,回归正题,当然这个建议也只是参考,找到自己适合的方法才是最高效的,我只是结合我认为我自己最高效的方法供大家参考!-----------------------------------------------原创 2021-04-07 07:25:35 · 8274 阅读 · 1 评论 -
蓝牙基带 音频
9 Audio在天线接口上,可使用64kb/s log PCM(脉冲编码调制)格式(A-law or μ-law),或64kb/s CVSD(连续可变斜率增量调制)。后一种格式使用扩压自适应增量调制算法。有线的语音编码被设计成质量高于或等于64kb/s log PCM。表9.1概述了空中接口支持的语音编码机制。适当的语音编码机制由链接管理器协商后选定。 9.转载 2016-08-09 15:21:15 · 4332 阅读 · 0 评论 -
蓝牙基带 链接控制器操作
8 链接控制器操作这章节描述了如何建立微微网,以及如何将设备加入或退出微微网。设备定义了多种状态以支持这些功能。此外,也描述了分布网,其在多个微微网内操作一个或多个共同成员。8.1 状态概览图8.1展示了链接控制不同状态的状态图。这里有三个主要状态:待机,连接和停泊;此外,有9个子状态,呼叫,呼叫扫描,询问,询问扫描,同步顺序,同步扫描,主设备应答,从设备应答,和询问应答。注意主设备应转载 2016-08-09 15:20:01 · 4813 阅读 · 0 评论 -
蓝牙基带 比特流处理
7 比特流处理蓝牙设备可使用下面段落定义的比特流处理机制。在净荷从空中接口被发送之前,在发送器内会完成许多位操作以增强可靠性和安全性。一个HEC被加入到包头部,头部位以一个白化字扰码,且应用FEC码。在接收器内,相反的操作被实施。图7.1展示了在发送侧和接收侧的包头部处理过程。所有的头部位处理都是强制的,除了白化和去白化可以不用在同步行列包中被完成。在图7.1中,不是在所有类型的包中完转载 2016-08-09 14:50:15 · 3572 阅读 · 0 评论 -
蓝牙基带 包结构
6 包蓝牙设备可使用如下部分设定的包。6.1 通用格式6.1.1 基本速率基本速率的通用包格式如下: 一个包可包含:只包含截短的访问码(ID包)访问码和包头部访问码,包头部和净荷6.1.2 增强数据速率访问码和包头部的格式和调制方式与基本速率包相同。增强数据速率包有一个看守时间和同步序列跟随着包头部。随后是净荷和两个结尾负号。看守时间,同步序列和结尾在6转载 2016-08-09 14:36:35 · 6589 阅读 · 1 评论 -
蓝牙基带 逻辑链接
5 逻辑链接定义了6种逻辑链接链接控制(LC)ACL控制(ACL-C)用户异步/同步(ACL-U)用户同步(SCO-S)用户扩展同步(eSCO-S)profile广播数据(PBD)控制逻辑链接LC和ACL-C分别被用在链接控制等级和链接管理等级。ACL-U逻辑链接用在搭载异步或同步用户信息。SCO-S和eSCO-S逻辑链接用于搭载同步用户信息。PBD逻辑链接用在搭载prof转载 2016-08-09 14:18:04 · 1877 阅读 · 0 评论 -
蓝牙基带 逻辑传输
4 LOGICAL TRANSPORTS4.1 一般原则在主设备和从设备(一个或多个),可建立不同类型的逻辑传送。逻辑传送被定义为以下六种:同步链接方向(SCO)逻辑传送增强同步链接方向(eSCO)逻辑传送异步链接方向(ACL)逻辑传送活跃从广播(ASB)逻辑传送停泊从广播(PSB)逻辑传送非连接从广播(CSB)逻辑传送在微微网中,主设备和一个从设备之间的同步逻转载 2016-08-09 13:55:41 · 2943 阅读 · 0 评论 -
蓝牙基带 物理连接
3 物理链接一个物理连接代表两个设备之间的连接。一个物理链接总是与真实的物理通道相关联。逻辑链路有同样的特性以应用在其上的逻辑传送。不同于connectionless slave broadcast物理连接,物理链接的通用特性是:功耗控制链接管理加密通道质量影响数据率变化多slot packet控制connectionless slave broadcast物理链接转载 2016-08-09 13:39:12 · 2180 阅读 · 0 评论 -
蓝牙基带 物理信道
2 物理通道蓝牙系统的最底层结构是物理通道。所有蓝牙物理通道的特征是一个伪随机频率跳变序列的联合体,传输时间缝隙的特性,access code和packet header的编码。basic 和 adapted piconet 物理通道频率跳变是周期性改变频率以减小干扰,且满足局部的可调需求。两个想要互相连接的设备需要分享同一个物理通道。他们的收发器必须同时转到同样的RF频率转载 2016-08-09 13:27:21 · 6745 阅读 · 0 评论 -
关于蓝牙你不可不知道的几个基础常识
今天晓东和大家一起来看看蓝牙相关的几个基础知识,这样大家在看具体的代码的时候能够做到“手里有枪,心中不慌”。一、基本概念微微网——Piconet Q1:蓝牙的网络结构是怎么样的?蓝牙是一个点对点或者点对多点的拓扑结构,他们的交互都是基于一个物理通道(Physical Channel)上的。也就是说点对点之间有一条物理通道,点对多点共享一条物理通道。我们把这些共转载 2016-07-06 21:32:36 · 3900 阅读 · 0 评论 -
蓝牙 BCSP 解析 源码分析
此系列打算做一个HCI解析工具,从最底层的BCSP开始作者:zhongjun本着互相学习的目的,来分享此一系列的文章,欢迎转载,请注明作者,尊重版权,谢谢文章有不当处请指正,共同学习博客地址:http://blog.csdn.net/xiaoxiaopengbo一.Introduction BCSP( BlueCore Serial Protoco)是CSR的一个协原创 2016-06-27 22:40:42 · 3941 阅读 · 8 评论 -
蓝牙基带分组格式
PS:这里讲的是基带物理层的分组。 当在基带里作分组和消息的详细说明时,位排序必须遵循下列规则(即:Little Endian 格式)。● b0 代表最低有效位(LSB)。● LSB 是第一个发送位。● 在例中 LSB 被放在左边位置上。 基带控制器认为来自高层软件层中的第一位是b0。即:这是经无线发送的第一位。而且,数据帧在基带电平转载 2016-04-15 16:19:51 · 3256 阅读 · 1 评论 -
蓝牙地址
以下是截取 core 4.2片段:Each Bluetooth device shall be allocated a unique 48-bit Bluetooth device address (BD_ADDR). This address shall be obtained from the IEEE Registration Authority. The address sha原创 2016-04-08 11:13:14 · 2150 阅读 · 0 评论 -
蓝牙时钟
每一个蓝牙单元都有一个内部系统时钟,它决定了收、发信机的定时和跳频。因蓝牙时钟取自一个自由运转的时钟,该时钟永不会被调整和关闭。 作为与其它单元的同步,仅有时钟补偿值对该时钟作为相互同步的临时蓝牙时钟。应当注意:蓝牙时钟与每天的时间无关,因此,它可用任何值初始化。蓝牙时钟作为蓝牙收、发信机的时钟,它的分辨度至少是TX或RX的时隙长度的一半或者312.5µs,该时钟周期约为一天原创 2016-04-08 10:17:47 · 5792 阅读 · 0 评论 -
蓝牙4.0的LM层说明
转载:http://blog.sina.com.cn/s/blog_69b5d2a50101eho4.html1.概念The Link Manager Protocol (LMP) is used to control and negotiate all aspects of the operation of the Bluetooth connection between two d转载 2016-03-18 10:50:19 · 1743 阅读 · 1 评论 -
蓝牙协议规范(主机控制接口协议 HCI)
一、主机控制接口协议 HCI蓝牙主机-主机控模型蓝牙软件协议栈堆的数据传输过程:1、蓝牙控制器接口数据分组:指令分组、事件分组、数据分组(1)、指令分组如:Accpet Connection RequestOpcode为:0x0409参数长度为: 07 参数中蓝牙地址为:00:0d:fd:5f:16:9f角色为:从设备 0x0转载 2016-03-12 11:26:09 · 5779 阅读 · 0 评论 -
电子名片-vcard(一)
一.vcard的定义:vCard: Thegeneric term for an electronic, virtual information card that can betransferred between computers, PDAs, or other electronic devices throughtelephone lines, or e-mail networks原创 2016-02-29 14:28:45 · 3860 阅读 · 0 评论 -
status_machine(用于状态管理)
一般常用于状态交互/* file name : status_machine.c author : zhongjun description : status_machine demo data : 20150630 time : AM 10:06 key(study) : 预处理器 & enum & typedef & struct & malloc & memset*/原创 2016-01-28 14:50:36 · 1481 阅读 · 0 评论 -
蓝牙配置 uart pskey
pskey:俗称点就是bt chip中的寄存器,设置pskey就是往寄存器中写一些预定的data一般配置uart pskey会用到两个:1.设置波特率:pskey:CSR_PSKEY_UART_BAUDRATE 0x01beBaud rate = pskey_value/0.004096例:38k4 baud - 157 (0x009d)57k6 baud - 2原创 2015-12-30 15:11:12 · 5311 阅读 · 9 评论 -
蓝牙结构
后续文章会针对研究结果每层更新原创 2015-12-30 13:45:53 · 1658 阅读 · 0 评论 -
开启blueZ之旅(1)-环境搭建
蓝牙结构,bluez初识,通过bluez研究Bluetooth stack原创 2015-12-15 14:00:02 · 3469 阅读 · 0 评论 -
蓝牙天线种类
1)偶极天线偶极天线的外观通常是圆柱状或是薄片状,其在天线底端有一转接头做为能量馈入的装置,而与蓝牙模块之射频前端电路所外接的转接头相互连接。另外一种 天线外接方式是使用可旋转式转接头,这种方式的优点在于天线可以依照使用需求做任意角度的旋动并藉以提高传输效果,但是其缺点在于可旋转式接头的成本较 高。 偶天线的长度与其操作频率有关,一般常用的设计是使用半波长或四分之一波长来做为天线的长度。另原创 2016-03-03 16:19:33 · 3587 阅读 · 0 评论 -
RF射频通信
RF射频---将信息源(模拟或数字的)用高频电流进行调制(调幅或调频),形成射频信号,经过天线发射到空中;远距离将射频信号接收后进行反调制,还原成电信息源。这一过程称为无线传输,其中应用的是RF射频技术。 Sunray射频模块组网方式和其他组网方式对比: 种类sunrayNetZigbee蓝牙(Wi-Fi)单点覆盖转载 2016-02-27 19:55:18 · 5342 阅读 · 0 评论 -
BlueTooth: 蓝牙协议栈实现模式分析
蓝牙协议栈实现模式分析蓝牙技术是一项新兴的技术。它的主要目的就是要在全世界范围内建立一个短距离的无线通信标准 。它使用 2.4-2.5 GHz 的 ISM( Industrion Scientifc Medical ) 频段来传送话音和数据。运用成熟、实用、先进的无线技术来代替电缆,它提供了低成本,低功耗的线接口,使所有的固定和移动设备诸如:计算机系统、家庭影院系统、无绳电话系统、通信转载 2016-02-27 19:34:01 · 3024 阅读 · 0 评论