EN
43
0
[FAQ0101314]如何将SKT工具调试好的音效生成参数并合入整机?
2024年02月

A:1. 在SKT工具上方菜单栏中选择Tool-Export Data导出参数

2. 如该项目为MTK或展讯平台则按照下图进行设置,生成参数命名为awinic_params.bin,将生成好的bin文件使用adb指令push进对应路径中并重启机器,整机合入参数完成

3. 如该项目为高通平台则按照下图进行设置,并生成txt参数,将参数以acdb方式集成后,push进对应路径中并重启机器,整机合入参数完成

注:MTK和展讯参数的参考路径为:vendor/firmware

高通平台将配置的txt参数以acdb方式集成,参考路径为vendor/etc/acdbdata/..

可以使用如下adb指令查找参数文件对应路径

adb shell

find . -iname xxx

27
1
[FAQ0101309]二阶滤波器、四阶滤波器衰减速率是多少?
2024年02月

我们在应用高低通滤波器时,为了到达截止频率的效果,会选择不同阶数的滤波器,不同阶数的滤波器衰减速率是不同的,阶数越高,增益曲线越陡峭。

我们定义,每一个倍频程(oct)增益衰减1倍(-6dB)为1阶。(oct解释详见FAQ0101308)

所以一阶滤波器对应-6dB/oct,二阶滤波器对应-12dB/oct,四阶滤波器对应-24dB/oct。

如下图,原增益为0dB,二阶滤波器(-12dB/oct),截止频率为1kHz,1 oct频点为2kHz,2kHz处增益为-12dB。2 oct频点为4kHz,4kHz处增益为-24dB。

二阶滤波器

四阶滤波器

知识点1:

-6dB/oct、-12dB/oct等表述我们是以一倍程的衰减dB数来描述的滤波器特征,还有一种描述方式是以10倍频来表述,表述每10倍频衰减的dB数。

-20dB/decade(对应-6dB/octave)  -40dB/decade(对应-12dB/octave)

如-12dB/oct,1kHz截止频率的滤波器,10倍频处为10kHz,此处增益-40dB。

知识点2:

二阶低通滤波器和四阶低通滤波器都是常见的模拟和数字信号处理中的滤波器类型,它们的主要区别在于其滤波器阶数不同。

二阶低通滤波器的传递函数为:H(s) = 1 / (s^2 + s/Q + 1)

其中,s为拉普拉斯变量,Q为品质因数。二阶低通滤波器的截止频率可以通过调整Q值来改变。

阶低通滤波器由两个二阶低通滤波器级联而成,其传递函数为:

H(s) = 1 / [(s^2 + s/Q1 + 1)(s^2 + s/Q2 + 1)]

其中,Q1和Q2分别为两个二阶滤波器的品质因数。

相比于二阶低通滤波器,四阶低通滤波器具有更为陡峭的滤波特性,在截止频率处有更好的抑制效果。但是滤波阶数越高,耗费的资源会越多。

18
2
[FAQ0101308]OCT名词解释,告诉你什么是倍频程
2024年02月

OCT全称Octave,Octave在音乐领域翻译为八度”、“八度音阶”,熟悉乐理知识的朋友们都比较清楚,每升一个八度,实际对应的物理频率实际翻了一倍。

同理,在音频技术领域,我们将OCT俗称为“倍频程”,顾名思义,倍频程就是频率升高一倍量程。 比如从20Hz到40Hz,频率就增加了1 oct.,同样的从40Hz到80Hz也是1 oct.。

比如我们熟悉的AP测试扫频,20Hz-20kHz 1/1 oct. 意思就是,从20Hz开始扫频,每1 oct. 扫一个点,所扫描的频率点分别为20Hz、40Hz、80Hz……,共计11个频点。

那比如说我想扫描的更细一些呢,那就选 1/3 oct.、1/6 oct.。

我们以1/3 oct.为例,计算一下步进分别是多少。

我们知道 1 oct. 增加了1倍,也就2的1次方倍。同理那1/3 oct. 也就是2的倍。

所以20Hz的下一个点就是

下一个点是,其实就是

再下一点就是

大家发现没有,1/3 oct. 也就是把原本的1 oct.细分成3段。

16
0
[FAQ0101305]MTK DSP Aurisy API V1.4&V1.8算法有何差异?
2024年01月

Aurisys API V1.8相对Aurisys API V1.4,主要变化包括3处接口定义上的差异如下:


对于aw_skt_arsi_query_working_buf_size:

(1)p_working_buf_size变为p_work_buf_size,含义上从一个size变为一组size。对于老接口,只需要将算法运行所需内存大小赋值给p_working_buf_size。对于新接口,需要将算法运行所需内存大小赋值给p_work_buf_size[DRAM_BUF];

(2)新增p_avail_memeory_size,用于判断要申请内存大小是否在要求范围内。在将算法运行所需内存大小赋值给p_work_buf_size[DRAM_BUF]后,还需要判断改大小是否在p_avail_memeory_size[DRAM_BUF]的大小范围内;


对于aw_skt_arsi_create_handler:

(3)p_working_buf变为p_work_buf,含义从一块工作内存指针变为一组工作内存指针。类似于p_working_buf_size的变化,算法需要使用p_work_buf[DRAM_BUF];


11
0
[FAQ0101306]如何确认所需MTK DSP Aurisys算法的API版本?
2024年01月

方法1:检索宏控“MTK_ARSI_API_VERSION”。若检索结果为“ARSI_1.8.0”,则使用awinic_dsp_lib_V1.8_API的算法进行集成。若版本低于1.8.0,则使用awinic_dsp_lib_V1.4_API的算法进行集成。检索结果示例如下:


方法2:根据安卓版本确认。对于Android U(MTK Aurisys V1.8.0)及之后的版本,使用awinic_dsp_lib_V1.8_API的算法,对于Android U(MTK Aurisys V1.8.0)之前的版本,使用awinic_dsp_lib_V1.4_API的算法。

7
0
[FAQ0101307]使用错误API版本MTK DSP Aurisys算法会有什么问题?
2024年01月


A:当客户端使用和平台Aurisys API版本不匹配的算法库时,可能会出现集成算法后无声的现象。对应AP log正常,但是DSP log运行到create_aurisys_lib_manager时,由于接口不匹配会导致运行异常,从log看会直接停止打印,如下示例log


10
0
[FAQ0101288]为什么样机通过Echo寄存器配置数字增益后生效几秒又失效
2023年12月

A:检查机器内AW参数是否含有低温低电保护参数,当低温低电参数按照Volume Flag配置时,低温低电算法每隔固定时间会读取一次PA的电压和温度值,当获取到的值与设置值进行对比,如果在设置值范围内,则会将对应的Volume设置值写入对应的寄存器。而通过Echo寄存器的方式来配置数字增益,其修改方式也是修改Volume值,所以当有低温低电保护参数时,会导致设置volume值后又被低温低电参数重置,从而生效几秒又失效。

25
0
[FAQ0101273]如何在PA配置文件中增加场景参数
2023年12月

A1. ACF工具,选择7项解bin文件,将需要增加场景的bin文件拖拽到该方框中,下方点OK

img1 

2. bin文件后可以在左侧看dev0/1/2/3,一dev对应一PA,选dev0后单击增加新场景按钮,选择需要添加的场景,下图voice为例。

img2 

3. 保存对应bin文件Voice文件夹下,并在左侧选REG,工具将自动bin文件进行命名,PA的场景添加完成,后依次de1/de2/de3进行相同操作(更改项目对PA

img3 

img4 

4. 选择工具上方merge将更改好的参数合成为一acf.bin文件

11
0
[FAQ0201281]AW20108的CLKIO作为时钟输出时,频率范围是多少?
2023年12月

AAW20108CLKIO引脚作为时钟输出时,时钟频率跟随芯片内部晶振该内部晶振频type4MHz频率上下限范围3.8MHz~4.2MHz

img1 

img2 

26
0
[FAQ0101260]如何进行AW88166小板飞线调试?
2023年12月

A:

一、飞线调试说明:

1、主板的电源VBAT、1.8V接口(连接DVDD和VDDIO)、I2S-DATA0、I2S-DATAI、I2S-BCK、I2S-WCK、GND、I2C-SDA和I2C-SCL ,GPIO口(拉高芯片工作)飞线接到DEMO上。

2、DEMO板的VOP和VON接喇叭。

3、DEMO板的VBAT和VDD短接。

4、DEMO板的DVDD和VDDIO短接。

注1:I2S-DATAO和I2S-DATAI连接注意相反,不可同向,即SOC I2S-DATAO连接DEMO板I2S-DATAI, SOC I2S-DATAI连接DEMO板I2S-DATAO。

注2:此飞线方法适用于驱动调试,如调试最大音量播放音乐,需注意VBAT和GND的飞线要尽量短而粗。

注3:DEMO的VDDIO 电压要与平台I2S电压阀保持一致。

具体飞线方法见下图:

二、调试地址选择:

I2C地址选择可通过改变外部电阻状态来确定 ,小板默认贴R2为10K电阻,地址为0X34,如有调整I2C地址需求,可按照表中的电阻调整来改变。

14
0
[FAQ0201261] AW21012如何修改BR和COL的更新策略?
2023年11月

可以通过UDMD去更新策略,如下图所示

img1 

0x 和 1x的区别(高位控制,x表示任意值)
0x :写完BR/SL寄存器,Update(0x45写0x00)后,PWM在当前完整周期完成之后再更新新配置的值

1x :写完BR/SL寄存器,Update(0x45写0x00)后,立即更新到新的寄存器配置

 

x0和x1的区别(低位控制,x表示任意值)
x0 :更新SL寄存器值后,不需要Update

x1 :更新BR或者SL寄存器,都需要Update

79
50
[FAQ0101229]MTK6789平台,数字双PA输出不是立体声,左右混音时怎么办?
2023年11月

A

当碰到数字PA项目,播放左声道音源时,左右喇叭都会响,同理播放右声道音源时,左右喇叭也会响问题时,请按照如下排查:

1、寄存器排查,检PA是否区分了左右声道

在播放音乐时,读取寄存器,检查PA是否配置成左右声道。

参考路径sys/bus/i2c/drivers/aw883xx_smartpa/*-00xx,其中*i2c bus numberxxi2c address

进入目录后,Cat reg并获PA所有寄存器。

检查对应的寄存器,看两PA是否已经区分了左右声道。(AW88394对应寄存器示例)

img1 

2、平台配置排查,检查平台是否做了混音

如有集成艾为SKT音效,请先删掉音效。MTK平台可直接删掉vendor/firmware目录下awinic_params.bin

删除后还是输出不了左右声道查看vendor/etc/audio_param/AudioParamOptions_vext.xml

并修改<Param name="MTK_AUDIO_NUMBER_OF_SPEAKER" value="2" />

(默认1,即左右混音)

66
43
[FAQ0101231]AW88394 DSP里包含什么模块?
2023年11月

A

AW88394 DSP里包括三段分DRC,一段全DRC10EQ,振幅保护,温度保护和低温低压保护;

52
1
[FAQ0101226]AW83118等无电池应用,如何通过掉电检测电路控制POP音?
2023年11月

A

若产品为无电池产品,当直接拨掉电源时,软件无法有效地控制功放ICENMUTE的使能、关闭时序时,此时可能会POP音产生,就需要用到外部的上电掉电检测电路。

1、若ENMUTE是高电平关闭功IC,低电平使能功IC。那么检测电路的目标是在上电和掉电的瞬间EN迅速变为高电平并且保持或者维持一段时间,等待音IC和功IC上电完毕后IO去控制或者变为低电平。如下图所示电路。

img1 

有几个细节需要注意:

1)检测电路电源的上电速度尽量比功放或音IC电源的上电速度快。

2)检测电路的电源可以选择大一点的,这样保D2在导通时的电流更大C2在掉电时的放电速度更快。

3)基极电R2不能太大,否则会影Q1的驱动能力。

2ENMUTE是低电平关闭功IC,高电平使能功IC,那么逻辑正好和上面相反。可以在上述电路后增加一个三极管反向电路

img2 

3如果需要用到以上检测电路,建议将上述电路的输出与控IO做成一定的逻辑,两个不同的电平逻辑分别对应以下电路:

img3 

4、某客户MUTE引脚的掉电检测实例:

img4 

28
1
[FAQ0101217]AW83118 AVCC引脚为何必须与PVCC引脚接同一电源?
2023年11月

A

AW83118的三角波产生是根AVCC电压进行调节的,AVCC电压比较小的时候,三角波幅度就会比较小AVCCPVCC压差比较大,环路就会不稳定。

AVCCPVCC是按照同电压设计的。好处AVCC电源PVCC干净,三角波不会有抖动。

img1 

TXX3128的三角波产生是根PVCC电压进行调节,这样三角波幅度跟PVCC电压进行变化不会存在环路稳定性的问题。缺点PVCC纹波比较大,三角波会抖动。

TXX3128AVCC5VPVCC12VAW83118AVCCPVCC都接同样电源12V