零.声明
本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下:
第一篇:蓝牙综合介绍 ,主要介绍蓝牙的一些概念,产生背景,发展轨迹,市面蓝牙介绍,以及蓝牙开发板介绍。
第二篇:Transport层介绍,主要介绍蓝牙协议栈跟蓝牙芯片之前的硬件传输协议,比如基于UART的H4,H5,BCSP,基于USB的H2等
第三篇:传统蓝牙controller介绍,主要介绍传统蓝牙芯片的介绍,包括射频层(RF),基带层(baseband),链路管理层(LMP)等
第四篇:传统蓝牙host介绍,主要介绍传统蓝牙的协议栈,比如HCI,L2CAP,SDP,RFCOMM,HFP,SPP,HID,AVDTP,AVCTP,A2DP,AVRCP,OBEX,PBAP,MAP等等一系列的协议吧。
第五篇:低功耗蓝牙controller介绍,主要介绍低功耗蓝牙芯片,包括物理层(PHY),链路层(LL)
第六篇:低功耗蓝牙host介绍,低功耗蓝牙协议栈的介绍,包括HCI,L2CAP,ATT,GATT,SM等
第七篇:蓝牙芯片介绍,主要介绍一些蓝牙芯片的初始化流程,基于HCI vendor command的扩展
第八篇:附录,主要介绍以上常用名词的介绍以及一些特殊流程的介绍等。
另外,开发板如下所示,对于想学习蓝牙协议栈的最好人手一套。以便更好的学习蓝牙协议栈,相信我,学完这一套视频你将拥有修改任何协议栈的能力(比如Linux下的bluez,Android下的bluedroid)。
-------------------------------------------------------------------------------------------------------------------------
蓝牙视频教程(跟韦东山老师合作):https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-22329603914.10.77201fc98qgCWh&id=679276693032
蓝牙交流扣扣群:970324688
Github代码:GitHub - sj15712795029/bluetooth_stack: 这是一个开源的双模蓝牙协议栈(bluetooth.stack)(btstack),可以运行在STM32,Linux.,包含HCI,L2CAP,SDP,RFCOMM,HFP,SPP,A2DP,AVRCP,AVDTP,AVCTP,OBEX,PBAP等协议,后续会继续维护,以达到商用的目的
入手开发板:https://shop220811498.taobao.com/category-1542116976.htm?spm=a1z10.5-c-s.w4010-22329603913.7.39ca7dbe2EA0K3&search=y&catName=%C0%B6%D1%C0%BF%AA%B7%A2%B0%E5#bd
蓝牙学习目录:一篇文章足够你学习蓝牙技术,提供史上最全的蓝牙技术(传统蓝牙/低功耗蓝牙)文章总结,文档下载总结(2020/12/11更新)_Wireless_Link的博客-CSDN博客_蓝牙eir
--------------------------------------------------------------------------------------------------------------------------
一.视图总览
在创建好工程后,可以看到在
a. Workspace Tool Window(创建工程添加进来的协议)
b. ICS/IXIT Tool Window(点击特定的协议出来)
分别如下图所示:
二.HFP配置
2.1. HFP版本配置
2.1.1. AG主版本配置
所以根据选择,我们选择1.8版本(我们的协议栈都要实现最新,防止过了BQB而面临短期过期)
2.1.2. HF主版本配置
所以根据选择,我们选择1.8版本(我们的协议栈都要实现最新,防止过了BQB而面临短期过期)
2.1.3. AG子版本配置
因为我们选择的是AG 1.8版本,所以我们在这里不勾选
2.1.4. HF子版本配置
因为我们选择的是HF 1.8版本,所以我们在这里不勾选
2.2. HFP角色配置
因为我们要过HFP双角色,所以AG/HF都要勾选
2.3. HFP功能配置
2.3.1. AG功能配置
我们在正式过BQB的时候其实只是过M项即可,但是为了验证我们协议栈的稳定性以及功能全面性,我们选择所有的功能都勾选。
2.3.2. HF功能配置
我们在正式过BQB的时候其实只是过M项即可,但是为了验证我们协议栈的稳定性以及功能全面性,我们选择所有的功能都勾选。
2.4. HFP Audio编码配置
我们在正式过BQB的时候其实只是过M项即可,但是为了验证我们协议栈的稳定性以及功能全面性,我们选择所有的功能都勾选。
2.5. HFP SPP配置
此部分在ICS中是强制选择,所以配置肯定也是都勾选的
2.6. HFP GAP配置
2.6.1. AG GAP配置
老规矩,我们一样都配置
2.6.2. HF GAP配置
老规矩,我们都配置
2.7. HFP core配置
2.8. HFP 补充互操作性配置
老规矩,都配置
2.9. HFP配置总结
从前面我们的勾选我们看出来我们把所有的测试case都勾选了,但是真实过BQB的时候并不是这个样子,我们之所以都勾选,我们在前面已经说过,我们是为了验证协议栈的稳定性以及功能全面性,另外,你可能有疑问,既然都勾选,还写这个多小节干嘛,直接几句话说都勾选就行,我们之所以写这些小节,是想说明ICS的配置跟PTS是怎么样对应的,对于后续真实过BQB是有帮助的!
3. HFP Test Suite
3.1. 测试结构
此结构就跟PTS中的Workspace Tool Window对应,限于截图不能太长,所以我们截取一部分
3.2. 测试缩写
在这些case中,你可能会见到很多缩写,我们整理如下:
参考文档:
HFP.ICS.p18ed3.pdf
HFP.IXIT.1.7.0.xlsx
HFP.TS.p23ed2.pdf
Profile.TCRL.2021-2.xlsx
————————————————