![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Bluetooth
文章平均质量分 58
小积跬步至千里
这个作者很懒,什么都没留下…
展开
-
BT 射频天线电路设计对信号的影响
目前遇到的问题是在BT Controller发现有较高的重传率,重传率包含各种各样的err,包括crc、hec、sync、mic等error。但是将问题反馈给射频设计的单位,给出的反馈意见是由于射频电路设计与他们原版设计有出入,高频信号可能会受到干扰,进而导致重传率的上升。最新的修改与射频设计单位保持一致,新过来的开发板子经过验证,重传率有了较大的提升。...原创 2019-11-11 11:13:47 · 719 阅读 · 0 评论 -
BT Controller EDR2/EDR3的调试总结
由于SPI连接了Baseband的硬件部分和RF,所以Baseband通过SPI来直接控制RF的收发。 RF在这个过程需要准确完成调制解调,并将发送数据发送给通信对等实体或者将接收的数据反馈给Baseband。关于调制解调,Baseband能做的就是通过SPI(或者其它手段,也许没有总线,就看厂家有没有自己同时设计baseband和rf的能力,这的确不是一件容易的事情)去控制RF...原创 2020-10-10 10:02:08 · 1163 阅读 · 0 评论 -
BT TWS方案开发感悟
最近一直在开发TWS方案,要从无到有,绕过很多专利壁垒是一件不太容易的事情。 幸好在于原理不是那么复杂,经过一番钻研与探索,基本上成功开发出来了TWS。其中的感悟是,一些事情并不复杂,但是要是加上压力与很短的时间,事情就会变复杂起来,一切问题都会感到头大。今后,需要做到波澜不惊,以免影响到正常的开发流程 另外是,所有的事情都是由基本知识组成,分析事物需要使用这些知识,所...原创 2019-09-29 19:57:04 · 1531 阅读 · 0 评论 -
Bluetooth Controller 断线分析(四)
Bluetooth Controller的断线真是有很多因素,相比于有线的总线传输,它总会遇到各种各样的问题,比如在干扰情况下导致的异常断线。 今天要说的就是由于强干扰导致的断线问题,比方在一个较强信号的传输会导致RX Quality太高。也就是说会最终导致信号不能正常解调。比方说在干扰情况下,解调器会lock住这个干扰信号,导致最终系统挂掉。在将来的SPI sig...原创 2019-09-03 11:09:52 · 315 阅读 · 0 评论 -
Bluetooth Controller 断线分析(三)
蓝牙的link异常断线真是特别多,以前不太理解Controller的同仁,知道自己跳入这个火坑之后才明白,同一类型的问题可以有各种不同的异常导致,它不同于BT Host,协议栈的问题只需要去认真分析log,就能够去做一个patch或者去做一个交互性的workround。而Controller确不一样,它分为软件部分和硬件部分,硬件部分又通过总线和RF 打交道,所以引起断线的问题可以...原创 2019-09-03 10:50:13 · 543 阅读 · 0 评论 -
BLE Controller ADV fail分析
最近要调通BLE相关的内容,今天将应用程序加上去之后,发现adv的packet打不出去。由于只能通过添加log来定位,所以分析的范围就扩大到Host,Controller两块,在ADV的通路上添加一些关键log,发现APP在调用GATT,ATT等相关协议栈都没有出现问题。后来去Controller定位,也在Controller对应的通路上添加一些关键log,发现也有正确设置数据。 ...原创 2019-08-20 17:23:55 · 290 阅读 · 0 评论 -
Bluetooth Controller 断线分析(二)
最近分析Controller断线问题,情景是在播放音乐过程中,播放一会就会发生Connection timeout的情况,这一般都会被认为是Controller的问题,所以第一时间去看Ellisys log,发现在从某个时序开始,Sink device就不会在发送ACK给 source device,最后会异常触发断线。 目前只能通过Ellisys,也只能分析一个大...原创 2019-08-19 10:50:22 · 369 阅读 · 0 评论 -
Ble Adv不能正常打包的分析
最近这一阶段有开发Ble 协议的相关内容,发现code好写,但是难调。第一个问题就很残酷,由于IP是国外的,已经过了支持的时间,没有办法,很多东西都只能自己做。但是问题还是主要存在于Ble Controller,因为从整个流程分析,已经将Adv的packet送到了Controller,还设置了Ble 的paramter和data,以及enable。而从实际的测试结果看,测试app就...原创 2020-10-10 10:04:08 · 377 阅读 · 0 评论 -
Bluetooth Controller断线分析(一)
一款通信设备的质量不是取决于上层的ap有多么的出色,而是在于底层的射频设备工作是否够稳定,毕竟这玩意门槛比较高。当然调试起来也就异常的耗时。 第一眼看到Connection timeout的时候,简单的认为是phy的时序参数设置的不合理,忽视了逻辑方面的问题,结果就经常调试射频参数,还是解决不了问题,最后在Controller里面修改了一个时序的逻辑后,问题就得以解...原创 2019-08-13 18:00:16 · 340 阅读 · 0 评论 -
Bluetooth A2DP卡音调试(一)
前面记录了在bluetooth RF参数配置不当导致重传过高问题,从而导致音频流断断续续。当RF参数调整到合适的时候,从Ellisys log看到重传已经有非常大的改善,重传率也可以控制在正常水准。但是音乐还是有卡顿,这个时候去看BT Host收到的data 流,发现其实也很正常,每隔固定的间歇传输相同大小的packet。关注的重点是时候转移到Audio part,由于最近在调试A...原创 2019-07-31 11:11:13 · 902 阅读 · 0 评论 -
蓝牙核心协议栈知识总结
最近终于静下心来总结一下蓝牙相关的知识了。从事蓝牙开发以来,从刚开始学习就为自己设置了将蓝牙核心协议和profile分开来的限制。在后面的开发中,这个限制越来越成为前进的障碍,现在是将它打破的时候了。 追根溯源,蓝牙就是一种无线传输介质。为了通过这种传输介质实现互联互通,又订立了Core Spec和各个profile。由于是一个整体,所以学习和开发中,就应该首先从整体出发去学习和思...原创 2020-10-10 10:04:46 · 311 阅读 · 0 评论 -
BLE快速开发入门之Controller
最近一段时间在调试BR/EDR Controller和对应的射频,真正的感受到,不对基础知识理解,很难将蓝牙做好,在这里先抹一把眼泪。各种频偏、各种射频敏感性的矫正,已经将之前那颗傲娇的心碾压的粉粹。好了,现在开始BLE Controller的学习吧。 相比起BR/EDR的Controller,BLE确实是另外一套通信机制。 区别一:BD Adres...原创 2019-07-09 11:59:26 · 1190 阅读 · 0 评论 -
Bluetooth Controller BB Phsical Channel相关基础知识整理
最近需要做一些BT Controller相关的新功能开发,于是将Controller的Phsical Channel的知识点重新复习一遍,为了检讨已经忘却或者现在或者将来的忘却,做个忘却的纪念。 Phsical Channel 是为了描述Baseband层的连接而抽象的概念,那什么才可以叫做Phsical Channel 的连接呢?首先有三个基本要素,调频序列、pa...原创 2019-05-13 10:50:40 · 510 阅读 · 0 评论 -
关于Bluetooth Controller新功能开发的一些记录和感悟
最近在调试BT controller开发的新功能,由于承载新功能的IP是买的国外的,所以在Controller层面的代码开发完成之后,需要在FPGA上去验证该功能是否齐全。 第一步,首先要计算将新功能添加进来之后,编译完成之后的bin文件比之前的bin文件大多少,然后需要去bootloader里面的分区中修改对应的分区的大小,要能够容纳当前的bin文件,将新的boo...原创 2019-05-07 16:02:38 · 572 阅读 · 0 评论 -
BLE 快速开发入门
如上图所述,要实现一个BLE应用,首先需要一个支持BLE射频的芯片,然后还需要提供一个与此芯片配套的BLE协议栈,最后在协议栈上开发自己的应用。可以看出BLE协议栈是连接芯片和应用的桥梁,是实现整个BLE应用的关键。那BLE协议栈具体包含哪些功能呢?简单来说,BLE协议栈主要用来对你的应用数据进行层层封包,以生成一个满足BLE协议的空中数据包,也就是说,把应用数据包裹在一系列的帧头(head...原创 2019-04-17 19:46:46 · 2439 阅读 · 0 评论 -
蓝牙的sniff mode
https://blog.csdn.net/z497544849/article/details/84143224在解析蓝牙的sniff mode之前,我们先来回顾一下蓝牙有哪些连接状态。一、 蓝牙的连接状态转换图如下: http://blog.chinaunix.net/attachment/201605/6/21411227_1462520395149C.pngCon...转载 2019-03-12 15:02:51 · 4776 阅读 · 1 评论 -
蓝牙HCI学习总结
主要内容:(1)什么是HCI(2)为什么有HCI(3)HCI怎么用什么是HCI HCI是介于BT Host和BT Controller之间的一层通信接口,完成Host 和Controller之间的command、event、data之间的交换。为什么有HCI 由于BT Host和Controller运行于上下层,为了完成他们之间的信息交换,需要规定Host访问...原创 2018-12-14 11:33:41 · 1375 阅读 · 0 评论 -
BT MESH学习系列一
最近开始学习BT MESH系列协议与传统的BR/EDR和BLE相比,MESH core stack还是采用BLE,但是协议层却是大变样,具体架构如下:BLE Core Spec将不会做为主要介绍,主要介绍Mesh自身所定义的各个layer,由于翻译水平有限,直接摘录原文(1)Model layer: defines models that are used to standardiz...原创 2018-10-10 10:58:48 · 3519 阅读 · 0 评论 -
蓝牙协议AVRCP的学习
最近又重新读了一遍蓝牙AVRCP的协议,相比于之前的学习。这次有如下几点需要总结:(1)对等实体的AVRCPP交互过程中,get capability这个功能非常重要,因为Notify cmd基本上通过该cmd获取到对方支持的event,根据对方支持的event来register(2)另外,在coding过程中,timer的使用也非常灵活,需要根据不同的场景去设置不同的timer(3)根...原创 2018-09-21 12:00:47 · 4389 阅读 · 0 评论