bes2300x专题

BES2300x笔记(38) -- 耳机与充电盒数据交互

哈喽大家好,这是该系列博文的第三十八篇~ 篇~ <<【系列博文索引】快速通道 >> 一、前言 蓝牙耳机的发展,从一开始的单个挂耳式耳机,到后来的颈挂式耳机,再到现在的TWS耳机,续航,一直都是个大问题,充电盒的诞生,不仅解决了TWS耳机的续航问题,也兼具了耳机收纳功能。 充电盒,伴随TWS耳机而生的产物,作为TWS耳机与用户交互的桥梁,起着至关重要的作用。这一篇,我们就来聊聊耳机与充电

BES2300x笔记(35) -- EQ调试指南

哈喽大家好,这是该系列博文的第三十五篇~ 篇~ <<【系列博文索引】快速通道 >> 一、前言 在开发音频类产品时,我们需要调试EQ,那么什么是EQ呢?EQ是均衡器的缩写。 它的基本原理是通过对声音某一个或多个频段进行增益或衰减,达到调整音色的目的。当然,EQ还有一个显著的功能——降噪。 EQ通常包括如下参数: F(requency),频率――这是用于设定你要进行调整的频率点用的参数;

BES2300x笔记(11) -- 主从数据交互

哈喽大家好,这是该系列博文的第十一篇~ 篇~ <<【系列博文索引】快速通道 >> 一、前言 对于 BES 平台来说,当 Audio source 与一只耳机建立连接后, 就称这只耳机为主耳(IBRT master),另外一只耳机为从耳(IBRT slave)。此时,主耳默认使用主从之间的ACL链路,来转发 Snoop parameters(包括加密信息、跳频信息、链路维护信息等)给从耳。

BES2300x笔记(27) -- 声道设定与声道切换

哈喽大家好,这是该系列博文的第二十七篇~ 篇~ <<【系列博文索引】快速通道 >> 一、前言 前几天,有道友私信问到:BES2300如何进行声道设定,想通过硬件进行固定~那么,这一篇我们就讲讲BES平台有关声道的设定,以及如何进行硬件固定(Ps:这里有一个坑,且往下看)。 二、声道设定 typedef enum {A2DP_AUDIO_CHANNEL_SELECT_STEREO,

BES2300x笔记(19) -- LED指示灯

哈喽大家好,这是该系列博文的第十九篇~ 篇~ <<【系列博文索引】快速通道 >> 一、前言 嵌入式开发中,最基础的操作就是按键和点灯,这一篇我们就来聊聊BES平台的点灯服务。 二、app_status_indication_set接口 LED 的控制在 app_status_ind.c 文件中的函数 app_status_indication_set 内设置,根据上层传送事件,来调用

BES2300x笔记(2) -- 如何区分左右耳

哈喽大家好,这是该系列博文的第二篇~ 篇~ <<【系列博文索引】快速通道 >> 一、前言 我们知道,TWS耳机有左耳和右耳两种角色,因此可以被定义不同的UI交互功能,常见的,区分左右耳的方法有硬件IO区分和软件蓝牙地址奇偶区分(比如高通平台默认就支持这两种)。考虑到通过硬件IO口电平区分左右耳(即左右不共板),会在生产贴片时增加额外的流程和成本,我们可以尝试通过软件进行区分。 做法有: 1

BES2300x笔记(26) -- 获取芯片的剩余空间

哈喽大家好,这是该系列博文的第二十六篇~ 篇~ <<【系列博文索引】快速通道 >> 一、前言 有时,我们添加第三方算法时,可能会遇到内存不足的问题,如图就是因为内存不足发生崩溃时输出的log; 二、查看剩余空间 通过pool_api.c文件中syspool_original_size()和syspool_total_size()接口可以获取软件的初始剩余空间。

BES2300x笔记(10) -- 扒一扒主从无缝切换

哈喽大家好,这是该系列博文的第十篇~ 篇~ <<【系列博文索引】快速通道 >> 一、前言 在这一篇文章中,我们提到过 TWS 早期的转发(Relay)技术,转发技术可分为传统的 2.4G 转发、恩智浦的 NFMI 近场磁通讯技术和恒玄的 LBRT 低频转发技术,这个技术的时间段我们称之为 TWS 1.0时代 。 相比于苹果的监听模式,早期的转发模式存在很多的不足: 1)由于需要通过左耳

BES2300x笔记(25) -- POP音的问题

哈喽大家好,这是该系列博文的第二十五篇~ 篇~ <<【系列博文索引】快速通道 >> 一、前言 项目开发阶段,通过定义宏ANC_TALK_THROUGH增加了通透模式,实现了从ANC ON —> Monitor —> ANC OFF 的循环切换,但是却发现从降噪模式切换通透模式出现了异常POP音,有些耳机声音小,但有些耳机明显不能接受!! #define ANC_TALK_THROUGH

BES2300x笔记(22) -- 强改一波IO口电压

哈喽大家好,这是该系列博文的第二十二篇~ 篇~ <<【系列博文索引】快速通道 >> 一、前言 嵌入式产品的开发,通常是基于主控平台的开发,主控芯片实现控制逻辑+外设芯片实现用户交互;常见的外设芯片都有很宽泛的供电电压范围,典型电压值为3.3V,这一篇,我们就来说说,基于BES平台,如何实现给外设芯片提供电压。 二、通过电池供电 首先,把电池的VBat脚通过MOS管连接到外设的供电脚

BES2300x笔记(3) -- 编写自动化编译脚本

哈喽大家好,这是该系列博文的第三篇~ 篇~ <<【系列博文索引】快速通道 >> 一、前言 接着上一篇,我们已经实现了通过指令来分别生成左右耳固件,但感觉上还不是很方便,第一,如果需要改回IO口区分,还是要去动代码;第二,每次想要生成OTA的bin还得分别操作,甚是繁琐;还想再偷懒一点怎么办呢??果然(懒人是推动社会进步的原动力——鲁迅)。 二、重点来了 1、一行指令生成3个bin

BES2300x笔记(31) -- ANC调试环境搭建

哈喽大家好,这是该系列博文的第三十一篇~ 篇~ <<【系列博文索引】快速通道 >> 以下内容基于原厂提供的文档整理润色 ↓↓↓ 0、前言 首先,在声学消音室环境下,使用AP搭建好如图的测试平台:

BES2300x笔记(36) -- OTA升级

哈喽大家好,这是该系列博文的第三十六篇~ 篇~ <<【系列博文索引】快速通道 >> 一、前言 BES 蓝牙方案自带 OTA(Over The Air)功能,该功能可以对蓝牙固件进行在线升级,目前该功能支持通过安卓手机(苹果手机也有对应APP,未实际测试)对蓝牙固件进行升级,以后还会支持通过 PC 端进行在线升级。在使用 OTA 功能之前,用户需安装 BES 提供的手机 apk 软件,将需

BES2300x笔记(34) -- Audio Developer工具详细使用说明

哈喽大家好,这是该系列博文的第三十四篇~ 篇~ <<【系列博文索引】快速通道 >> 一、 前言 前面讲过有关蓝牙通话相关的回声、降噪等算法的调试,有时我们需要把算法处理前后或者整个SCO链路的数据dump出来,对比算法处理前后的效果,再进行分析调试;BES的工程里有一个专用的audio_dump模块,提供了相关的接口,同时搭配Audio Developer工具即可dump出我们需要的数据。

BES2300X,BES2500X——框架解析(一)

基于BES2300系列芯片的TWS框架解析(一) 引言 BES2300X,BES2500X系列博文请点击这里 本文是BES2300X,BES2500X系列博文框架部分 目前国内市场,BES的TWS方案风生水起,写一下两年来做BES方案的心得 框图 针对BES2300系列芯片(I,Y,Z)的1402/1302内核架构如下图 一,应用层 主要内容是UI,面对生产测试以及终端用户 1,

BES2300x笔记(37) -- 信令模式与非信令模式

哈喽大家好,这是该系列博文的第三十七篇~ 篇~ <<【系列博文索引】快速通道 >> BQB测试软件使用方法下载 一、前言 蓝牙测试模式主要分为信令模式(signaling mode)和非信令模式(nosignaling mode): 1)信令模式是指通过蓝牙综测仪连接蓝牙进行射频测试,主要的综测仪有agilent n4010,RS CBT ,ANRITSU 8852; 2)非信令模式是指通

BES2300x笔记(18) -- 按键梳理

哈喽大家好,这是该系列博文的第十八篇~ 篇~ <<【系列博文索引】快速通道 >> 一、前言 作为嵌入式三剑客之一的 Button,是我们必须要熟悉的模块。当我们熟悉了 Button 之后,对于可简化为IO操作(低端触摸或入耳检测)的外设应用,那就是小菜一碟了。那么这一篇 ,我们就来学习一下 Button 吧。 二、框架及代码分析 先看一下按键的逻辑框图 然后参考大神这篇 BES23

BES2300x笔记(20) -- IIC驱动

哈喽大家好,这是该系列博文的第二十篇~ 篇~ <<【系列博文索引】快速通道 >> 一、前言 说到IIC驱动,绝对是一个老生常谈的话题,但凡入坑了嵌入式开发的道友,肯定都能说的头头是道,编写个驱动、调试个外设,那更是信手拈来,不在话下。这一篇,我们就来个冷饭新炒,一起回顾一下IIC那点东西,温故而知新嘛。 二、IIC技术性能 工作速率有100K和400K两种; 支持多机通讯; 支持

BES2300x笔记(14) -- 提示音模块

哈喽大家好,这是该系列博文的第十四篇~ 篇~ <<【系列博文索引】快速通道 >> 一、前言 提示音 的这个模块,代码量确实不小啊,这一篇,我们就来梳理一下,提示音相关接口的调用逻辑吧。 二、代码调用逻辑 app_voice_report(APP_STATUS_INDICATION_POWERON, 0);app_v

BES2300x笔记(17) -- 提示音高阶应用

哈喽大家好,这是该系列博文的第十七篇~ 篇~ <<【系列博文索引】快速通道 >> 一、前言 经过前面几篇有关提示音的介绍,我想,道友们已经很熟悉 提示音 这个模块了,这一篇,我们就整点不一样的,尝试一些提示音的高阶应用。 二、高阶应用 1、两种模式 我们知道,平台的SDK里支持两种提示音播放模式,MIX模式和非MIX模式(或叫停等模式),通过以下宏开关进行控制: export M

BES2300x笔记(16) -- 提示音制作与添加

哈喽大家好,这是该系列博文的第十六篇~ 篇~ <<【系列博文索引】快速通道 >> 一、前言 有关提示音的制作过程,道友们可以参考这篇 提示音制作秘籍 博文,这一篇,我们主要介绍一下,如何把制作好的提示音添加到项目工程中。 二、提示音添加 1、更换提示音 所有的音频数据全部放在各个 target 的 res 目录下。res 目录里包括中文语言 cn、英文语言 en 以及 eq 数据。

BES2300x笔记(5) -- 配对与回连的各场景详解

哈喽大家好,这是该系列博文的第五篇~ 篇~ <<【系列博文索引】快速通道 >> 一、前言 在这篇 TWS组对与蓝牙配对 博文里,我们提到了耳机与手机的组对和配对过程,其实就是蓝牙在不同访问模式间切换的体现。 typedef uint8_t btif_accessible_mode_t;#define