TI中文支持网
TI专业的中文技术问题搜集分享网站

TLV320AIC3204: speaker没有声音,寻求codec的调测方式方法,上个帖子误删回复。

Part Number:TLV320AIC3204

SOC通过I2C配置codec,audio数据链路为I2S。codec输出经过运放后连到speaker。

现在执行声音测试程序时,speaker没有任何反应。测试时I2S有数据输出,clk正确,I2C驱动程序也没有报错。示波器测量codec输出在测试前后没有变化。

我先提供这部分的原理图。此外,请支持TLV320AIC3204这款codec的调测方法。

谢谢。

4572.09audio.pdf

上一个帖子不小心将FAE的回复给删了….

————————————————————

以下更新当前测量结果:

AVDD,DVDD,reset,示波器测量正常,I2C驱动通信成功。

播放音乐时测量:MCLK 12.288MHz ,BCLK 1.536MHz,WCLK 48KHz,DIN有波形。

我将部分寄存器dump出来,结果如下:

[   83.776969] —————-register = 1, reg = 0—————-
[   83.778088] —————-register = 4, reg = 0—————-
[   83.782437] —————-register = 5, reg = 17—————-
[   83.783894] —————-register = 6, reg = 4—————-
[   83.784930] —————-register = 7, reg = 0—————-
[   83.786029] —————-register = 8, reg = 0—————-
[   83.787063] —————-register = 11, reg = 1—————-
[   83.788543] —————-register = 12, reg = 1—————-
[   83.790558] —————-register = 13, reg = 0—————-
[   83.794219] —————-register = 14, reg = 128—————-
[   83.795187] —————-register = 18, reg = 1—————-
[   83.796158] —————-register = 19, reg = 1—————-
[   83.797119] —————-register = 20, reg = 128—————-
[   83.798089] —————-register = 25, reg = 0—————-
[   83.800472] —————-register = 26, reg = 1—————-
[   83.801479] —————-register = 27, reg = 0—————-
[   83.802450] —————-register = 28, reg = 0—————-
[   83.803355] —————-register = 29, reg = 0—————-
[   83.804249] —————-register = 30, reg = 1—————-
[   83.805157] —————-register = 31, reg = 0—————-
[   83.806052] —————-register = 32, reg = 0—————-
[   83.806945] —————-register = 33, reg = 0—————-
[   83.807843] —————-register = 53, reg = 18—————-
[   83.809454] —————-register = 54, reg = 3—————-
[   83.810363] —————-register = 60, reg = 1—————-
[   83.811252] —————-register = 61, reg = 1—————-
[   83.812161] —————-register = 63, reg = 20—————-
[   83.813057] —————-register = 64, reg = 12—————-
[   83.813962] —————-register = 65, reg = 216—————-
[   83.814853] —————-register = 66, reg = 216—————-
[   83.815753] —————-register = 67, reg = 0—————-
[   83.816657] —————-register = 81, reg = 0—————-
[   83.817551] —————-register = 82, reg = 136—————-
[   83.819093] —————-register = 83, reg = 0—————-
[   83.820004] —————-register = 84, reg = 0—————-
[   83.820899] —————-register = 86, reg = 0—————-
[   83.821795] —————-register = 87, reg = 0—————-
[   83.823330] —————-register = 88, reg = 127—————-
[   83.824231] —————-register = 89, reg = 0—————-
[   83.825133] —————-register = 90, reg = 0—————-
[   83.826037] —————-register = 91, reg = 0—————-
[   83.826946] —————-register = 92, reg = 0—————-
[   83.827846] —————-register = 94, reg = 0—————-
[   83.829708] —————-register = 95, reg = 0—————-
[   83.830811] —————-register = 96, reg = 127—————-
[   83.831675] —————-register = 97, reg = 0—————-
[   83.832535] —————-register = 98, reg = 0—————-
[   83.833380] —————-register = 99, reg = 0—————-
[   83.834232] —————-register = 100, reg = 0—————-
[   83.835331] —————-register = 129, reg = 0—————-
[   83.836195] —————-register = 130, reg = 0—————-
[   83.837048] —————-register = 137, reg = 0—————-
[   83.837914] —————-register = 138, reg = 0—————-
[   83.842831] —————-register = 140, reg = 0—————-
[   83.843709] —————-register = 141, reg = 0—————-
[   83.844581] —————-register = 142, reg = 0—————-
[   83.845449] —————-register = 143, reg = 0—————-
[   83.846326] —————-register = 144, reg = 64—————-
[   83.847194] —————-register = 145, reg = 64—————-
[   83.848042] —————-register = 146, reg = 64—————-
[   83.851371] —————-register = 147, reg = 64—————-
[   83.852612] —————-register = 148, reg = 0—————-
[   83.853588] —————-register = 179, reg = 0—————-
[   83.854555] —————-register = 180, reg = 0—————-
[   83.855533] —————-register = 182, reg = 64—————-
[   83.856483] —————-register = 183, reg = 0—————-
[   83.857381] —————-register = 185, reg = 64—————-
[   83.859096] —————-register = 186, reg = 0—————-
[   83.863780] —————-register = 187, reg = 128—————-
[   83.864636] —————-register = 188, reg = 128—————-

Zhonghua Yao:

register64 dump值是之前12,改了程序現在dump出來是243,也还是没有声音。

,

Zhonghua Yao:

TI能否根据我们的设计提供一份正确的寄存器配置表?

,

Amy Luo:

您好,

未使用的输入,建议通过~0.47uF电容接GND,以防止未端接输入上的噪声拾取;模拟输入具有直流偏置,因此IN3_L不应直接接GND;原理图可参考TLV320AIC3204EVM:https://www.ti.com.cn/cn/lit/ug/slau266a/slau266a.pdf

您是想将I2S数字音频信号播放出来吗?您需要的采样率是多少?

上面寄存器配置都是page0页的吗?我看到您NDAC、MDAC都没启动

,

Zhonghua Yao:

非常感谢你提出的原理图的修改建议,我们在下一版作出修改。基于当前的硬件,我们依然想要达到出声的目的。

我上面有提到,播放音频时我们有测量I2S的各个信号,以下是测量结果:

MCLK 12.288MHz ,BCLK 1.536MHz,WCLK 48KHz,DIN有波形。采样率是48K。

上面的寄存器不只是page0的,我们是将驱动的.h文件中例举的寄存器都打印了出来。如下:

#define AIC32X4_PAGE1 128

#define AIC32X4_PSEL 0
#define AIC32X4_RESET 1
#define AIC32X4_CLKMUX 4
#define AIC32X4_PLLPR 5
#define AIC32X4_PLLJ 6
#define AIC32X4_PLLDMSB 7
#define AIC32X4_PLLDLSB 8
#define AIC32X4_NDAC 11
#define AIC32X4_MDAC 12
#define AIC32X4_DOSRMSB 13
#define AIC32X4_DOSRLSB 14
#define AIC32X4_NADC 18
#define AIC32X4_MADC 19
#define AIC32X4_AOSR 20
#define AIC32X4_CLKMUX2 25
#define AIC32X4_CLKOUTM 26
#define AIC32X4_IFACE1 27
#define AIC32X4_IFACE2 28
#define AIC32X4_IFACE3 29
#define AIC32X4_BCLKN 30
#define AIC32X4_IFACE4 31
#define AIC32X4_IFACE5 32
#define AIC32X4_IFACE6 33
#define AIC32X4_DOUTCTL 53
#define AIC32X4_DINCTL 54
#define AIC32X4_DACSPB 60
#define AIC32X4_ADCSPB 61
#define AIC32X4_DACSETUP 63
#define AIC32X4_DACMUTE 64
#define AIC32X4_LDACVOL 65
#define AIC32X4_RDACVOL 66
#define AIC32X4_RHETDET 67
#define AIC32X4_ADCSETUP 81
#define AIC32X4_ADCFGA 82
#define AIC32X4_LADCVOL 83
#define AIC32X4_RADCVOL 84
#define AIC32X4_LAGC1 86
#define AIC32X4_LAGC2 87
#define AIC32X4_LAGC3 88
#define AIC32X4_LAGC4 89
#define AIC32X4_LAGC5 90
#define AIC32X4_LAGC6 91
#define AIC32X4_LAGC7 92
#define AIC32X4_RAGC1 94
#define AIC32X4_RAGC2 95
#define AIC32X4_RAGC3 96
#define AIC32X4_RAGC4 97
#define AIC32X4_RAGC5 98
#define AIC32X4_RAGC6 99
#define AIC32X4_RAGC7 100
#define AIC32X4_PWRCFG (AIC32X4_PAGE1 + 1)
#define AIC32X4_LDOCTL (AIC32X4_PAGE1 + 2)
#define AIC32X4_OUTPWRCTL (AIC32X4_PAGE1 + 9)
#define AIC32X4_CMMODE (AIC32X4_PAGE1 + 10)
#define AIC32X4_HPLROUTE (AIC32X4_PAGE1 + 12)
#define AIC32X4_HPRROUTE (AIC32X4_PAGE1 + 13)
#define AIC32X4_LOLROUTE (AIC32X4_PAGE1 + 14)
#define AIC32X4_LORROUTE (AIC32X4_PAGE1 + 15)
#define AIC32X4_HPLGAIN (AIC32X4_PAGE1 + 16)
#define AIC32X4_HPRGAIN (AIC32X4_PAGE1 + 17)
#define AIC32X4_LOLGAIN (AIC32X4_PAGE1 + 18)
#define AIC32X4_LORGAIN (AIC32X4_PAGE1 + 19)
#define AIC32X4_HEADSTART (AIC32X4_PAGE1 + 20)
#define AIC32X4_MICBIAS (AIC32X4_PAGE1 + 51)
#define AIC32X4_LMICPGAPIN (AIC32X4_PAGE1 + 52)
#define AIC32X4_LMICPGANIN (AIC32X4_PAGE1 + 54)
#define AIC32X4_RMICPGAPIN (AIC32X4_PAGE1 + 55)
#define AIC32X4_RMICPGANIN (AIC32X4_PAGE1 + 57)
#define AIC32X4_FLOATINGINPUT (AIC32X4_PAGE1 + 58)
#define AIC32X4_LMICPGAVOL (AIC32X4_PAGE1 + 59)
#define AIC32X4_RMICPGAVOL (AIC32X4_PAGE1 + 60)

这份驱动是我们高通base里自带的,我怀疑它与我们当前的使用场景不匹配。你能提供一个与我们原理图匹配的寄存器设置吗?

,

Zhonghua Yao:

还有个问题我想请教,我们只能通过这种方式交流吗?可以加微信沟通吗?

,

Zhonghua Yao:

你好,Amy,能支持下吗?项目有点急。我们没有经验自己去改寄存器配置,还希望TI能支持下。

,

Amy Luo:

未使用的输入悬空,根据我们的经验即使有输出也会有很大噪声的;

模拟输入具有直流偏置,因此IN3_L不应直接接GND,如果IN3_L直接接GND,那么输入信号将不能被偏置在正确的电压下,也不会有正常的输出;

TLV320AIC3204产品首页,如下链接,在“设计与开发”–>"软件开发"部分,有适用于 TLV320AIC32X4 的 Linux 驱动程序,您可以下载,希望对您有用:

https://www.ti.com.cn/product/cn/TLV320AIC3204?keyMatch=TLV320AIC3204&tisearch=search-everything&usecase=GPN#design-development##software-development

TLV320AIC3204应用指南,如下链接,有示例代码,您可以参考:

https://www.ti.com/cn/lit/ml/slaa557/slaa557.pdf

,

Zhonghua Yao:

我们在AVDD与DVDD间接入一个二极管后好用了。请问如果硬件不修改,不上这个二极管,能通过软件配置实现吗?

,

Zhonghua Yao:

在调试中发现当tinymix set "LO Driver Gain Volume" 6 6时,波形就会出现失真, volume只能设置0-5吗? 还是有其他寄存器可以配合调试?

,

Amy Luo:

关于AVDD与DVDD,未接二极管时它们分别有正常的输出吗?如果没有,检查下寄存器Page 1 / Register 2的D0是否置1,即AVDD LDO Powered up;

,

Amy Luo:

您这里说“当tinymix set "LO Driver Gain Volume" 6 6时,波形就会出现失真,”是什么样的失真?是削波失真吗

,

Amy Luo:

LO实测输出幅值是多少?Page 1 / Register 10 的D3 D1 D0配置的分别是多少?配置为D3=1;D1=1;D0=1试试,同时需LDOIN供电3.3V

,

Zhonghua Yao:

是,"LO Driver Gain Volume" 设置为6时波峰被削了,0-5时是好的

,

Amy Luo:

LDOIN供电3.3V,然后Page 1 / Register 10 配置为D3=1;D1=1;D0=1,还会削波吗

您可以实测LO输出幅值吗,是多少

,

Zhonghua Yao:

削峰问题和AVDD的问题都按照您的指导解决了。十分感谢!

我还想请教下,如果客户问我音量设置的范围,我应该如何解答,这也是我的困惑。现在是只能0-6区间吗?

,

Amy Luo:

是什么音量的控制范围,下面应用手册都有说明

https://www.ti.com/cn/lit/ml/slaa557/slaa557.pdf

赞(0)
未经允许不得转载:TI中文支持网 » TLV320AIC3204: speaker没有声音,寻求codec的调测方式方法,上个帖子误删回复。
分享到: 更多 (0)