Feedforward ANC mode 如下所示:
Feedback ANC mode: 模式如下:
Hybrid ANC mode:
合并 FF 和 FB两种模式
在ADK6.4.0.43 的Earbud上配置ANC功能,只需要配置相应的MIC的分配,然后打开TurnMode模式就可以了。
由技术文档80-CF827-1 可知“对于ANC用例,在instances 0和instances 1之间,必须至少有一个instances未使用。未使用的instances用于收集ANC硬件中的录音,并且不需要连接物理mic硬件。这意味着,如果ANC使用数字mics,请避免使用instances 0。如果ANC使用模拟mics,instances 1请避免使用数字mics。”
意思就是我们在配置MIC的分配时,只能用到instances 0和instances 1的其中一组。
以下是Earbud 工程上配置Hybrid ANC mode 模式的软体配置,FF和FB模式的都可以仿照如下的方式实现。
如下是配置MIC0、MIC1为模拟MIC,MIC2为数字MIC。
MIC 0为CVC的主MIC。
MIC 1为CVC的副MIC和FF的MIC复用。
MIC2为FB的MIC。
在av_headset_config.h 文件里面配置如下:
Mic 0 \ Mic 1(模拟)的参数配置:
MIC 2\MIC 3(数字)的参数配置:
双MIC 的CVC MIC设定:
FF和FB的MIC设定:
备注:
如果是hybrid模式,appConfigAncPathEnable() 需要配置为hybrid_mode_left_only
如果是FB模式,appConfigAncPathEnable() 需要配置为feed_back_mode_left_only
如果是FF模式,appConfigAncPathEnable() 需要配置为feed_forward_mode_left_only
调试模式设定:
在subsys3_config1.htf文件中配置:
配置instances 0\1\2的数字MIC的PIO设置,由于instances 0采用的是模拟MIC,所以不需要配置instances 0数字MIC的pin.
备注:
由于我测试时,设定的MIC 2为数字MIC,其PIO配置为 clk->pio3
Data -> pio5
在user_ps_filesystem -> anc_tuning_config.htf文件里,释放hybrid ANC mode 的默认参数设置
备注:
如果是FF ANC mode,就释放feedforward ANC mode 的默认参数;
如果是FB ANC mode,就释放feedback ANC mode 的默认参数;
由于上面默认是anc_mode_1 模式,所以上面只有0x204100的参数生效。
ANC 的Enable和Disable功能实现:
在av_headset_ui.c文件里面就有实现ANC的开启和关闭的功能:
ANC模式的切换实现:
可以参考如下函数实现。
配置完成之后就可以BUILD 工程代码,将系统烧录到耳机里面。
在两只耳机配上后,会进入手机配对模式。
将手机连接耳机(主耳)。
将主耳通过USB连接电脑,打开QACT,耳机就会自动进入Tuning Mode.
在QACT上就会看到ANC的调试信息:
评论