Biu~笔记:高通蓝牙ADK(10)--Earbud ANC Tuning使能

       Ladies and 乡亲们,男的们 and女的们。欢迎收看好久没更新还以为挂掉的Bui~笔记系列博文,我是你们的老伙计Biu~,又好久没见,不知道大家有没有想念   的博文

       太久没更新了,被客户催更了,(#^.^#)谢谢大家的认可。最近也经常有查看博文下方的提问啦。在博文下方提问的,我都有回复,只是目前回复功能只能用评论方式,所以关注的小伙伴,辛苦一下,留意一下评论。那么这一期将会和大家聊聊最近很火又很难搞的ANC配置问题。

       首先,本篇只带大家了解Earbud软件配置,想要了解调试方面的小伙伴,请移步到以下两位大佬的博文区:

了解行业大佬,点我!点我!

了解行业精英,点我!点我!

另外Qualcomm ANC热点有更精彩丰富的宝藏方案博文:宝藏入口


       我们知道3040和3046是带有ANC功能的,٩(๑❛ᴗ❛๑)۶真香~ 低价格的TWM芯片(True Wireless Mirroring),还带有ANC功能,还是FF,FB,Hybrid模式都支持的,还能自适应,还可以在通话中使用,太棒了,搞它搞它。但梦想往往和现实有那么一点点,就那么一点点差距,就是这点距离里多了一点点,就一点点的弯路。

                 
o( ̄▽ ̄)d 

       现在小编就为大家梳理出最近路过的一点点小坑,教大家使能ANC tuning功能。在r000128.1版本的ADK中,ANC的license key是已经包含到默认工程中了,使用评估地址(ff00~ff0f)就可使用,所以想先玩玩的小伙伴也可以上手弄弄了。

       第一步:在工程中先把ENABLE_ANC这个宏给加上

这里如果想要hybrid的话,也可以直接加上QCC5141_FF_HYBRID_ANC_AA这个宏。但是加上这个编译会出错,因为appPioInit这个函数里有个宏定义RDP_PIO_LDO1V8,这个是使能一个PIO输出,如果不需要可以将这部分注释掉。

       第二步:修改subsysy3_config2.htf

这里面先加入两个参数,可降低底噪

Codec0UseClassABAmplifier = true

Codec0OutAmpQualityMode = true

再修改数字mic的参数,因为tuning需要留一个虚拟数字mic,所以需要分配和定义一个虚拟mic。这里面用instance 1去做比较好,这样不管anc的mic是模拟还是数字都不需要改动这个参数。

注:DigMic1PioConfig里面配置的IO需要是真实存在的,并且是要没有被占用的,否则将无法正常进入tuning mode

那怎么知道IO是否被占用呢?目前发现默认代码PIO0,PIO3,PIO15是被占用的,同时也可以用PioGetMapPins32Bank函数去获取当前IO的状态,如果IO为1就表示该IO已被占用。

       第三步:修改microphones_config.h

这里面要给mic设定参数,给到代码使用的。设置大类分三种,一种是数字mic,一种是模拟mic,还有一种是虚拟mic。如果没有特殊要求,这几种mic的设定都可以用默认参数。对于所有mic的设置,基本关注四个参数:

appConfigMicxBias:都可以设置为BIAS_CONFIG_MIC_BIAS_0,设别的要更改相关参数。

appConfigMicxIsDigital:数字mic为TRUE,模拟mic为FALSE

appConfigMicxAudioInstance:如果是模拟mic必须用AUDIO_INSTANCE_0;如果是虚拟mic可以用AUDIO_INSTANCE_0或AUDIO_INSTANCE_1;数字mic三个instance都可以

appConfigMicxAudioChannel: 表示一个instance中的声道,每个声道只能被使用一次


按照需求设置对应参数即可,无顺序要求,只要参数类型正确就可以。这些参数都会映射到microphone_1~ microphone_6,调用的时候使用正确的映射mic就好了,这里要注意的是,配置的mic是从0~5,而映射的是从1~6,也就是appConfigMic0Bias是microphone_1的配置。

       第四步:修改Kymera_config.h

这里面会将映射mic重定义,相当于改了个名字,如果嫌麻烦可以直接使用映射mic

将映射mic设置到对应anc配置上

注:在tuning的时候,需要用到人工耳mic,而人工耳mic需要设置到FB mic。但是代码中同时使用FF mic和FB mic的只有hybrid模式,换句话说配置了FF 模式,就永远不会使用FB mic的配置(╮(╯▽╰)╭代码就是这样写的)。所以在tuning时,直接用hybrid 模式去调FF mode的参数,tuning完等到参数之后,再把模式改回来

设置tuning mic和tuning功能使能,因为我之前设置的是instance1为虚拟mic,参数放在了mic2,映射到microphone_3

        第五步,接好硬件,peer配好对,插上usb到电脑就可以进入tuning mode了,不需要任何按键进入anc 或tuning mode,不需要连接手机,但一定要peer配对好。

        以上是本期博文的全部内容,如有疑问请在博文下方评论留言,或者有什么想了解的都可以留言,我会尽量安排上(o´ω`o)و。谢谢大家浏览,我们下期再见。

 

 

多看文档,多上官网

多看文档,多上官网

多看文档,多上官网

 

参考文档:80-cf827-1_am_active_noise_cancellation_user_guide

 

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论

一路向北

一路向北

8 个月前
到处都没找到你们销售的联系方式,关于高通(CSR)BLE,推一个给我吧
Jeffrey_AA

Jeffrey_AA

2021年2月4日
比如pd通道,左右channel都是FF mic 信号,error mic信号没有出现。
Jeffrey_AA

Jeffrey_AA

2021年2月4日
完全按照要求来做了,不过最后无论pd 还是sd通道,录出来的两路通道都是同一个信号,这是怎么回事呢?