DRC动态范围控制这个是调节音频的输出幅度吗?还有就是TAS57XX GDE在TI的官网上的下载地址是什么,找了好久没找到下载点。。。麻烦TI的工程师指点江山,不胜感激!
Flora Wang:
你好:
1.DRC可以设置当输入达到一个门限的时候,改变输入的幅值,同时信号不失真。例如,我们用来做压缩。下图就是输入信号一直增大,当增大到门限值时,就被压缩为某一固定的值。这个就是DRC应用的典型范例。
更多信息:
1)请阅读app note
2)关于DRC的帖子:http://www.deyisupport.com/question_answer/analog/audio/f/42/p/62267/139770.aspx#139770
2.TAS57X1 GDE下载地址:http://www.ti.com/tool/tas5711phpevm
陈琰:
回复 Flora Wang:
Hello Flora,感谢你的解答,还有一事,我现在把5711配置为2.1 BD MODE,在写寄存器之前把0X05寄存器写0X40 SHUTDOWN,然后下面采用一结构体数组的形式,初始化5711的相关寄存器,最后再把0X05寄存器写0X0,在此过程后,开机时会有碰的一声,如果不写0X05寄存器进行SHUTDOWN的话,似乎开机没有碰的一声,以下是我初始化寄存器的表值,麻烦你给看看有什么问题没有?///////////////////////////////////////////////////////////////////////////////////////////////////////////////////code TAS5711_REGMAP DrvTas5711InitTbl1[] = {// AddrCountDataArrary //wait 50ms here to let part acquiring lock //01 (Below)DRC energy time(2ms) {0x3A,0x08,{0x00, 0x01, 0x53,0x8F, 0x00, 0x7D, 0x2F ,0xD2}}, //01 (Below)DRC attack time(1ms) {0x3B,0x08,{0x00, 0x02, 0xA3, 0x9A, 0x00, 0x7D, 0x2F, 0xD2}}, //01 (Below)DRC decay time(100ms) {0x3C,0x08,{0x00, 0x00, 0x06, 0xD3, 0x00, 0x7F, 0xF9, 0x2B}}, #if 0 /* chenyan marked*///01 (Below)DRC threshold 1(-9.5dB,8.8W,THD+N=8.747%) {0x40,0x04,{0xFD, 0xB5, 0x36, 0xF2}}, #else {0x40,0x04,{0xFD, 0xA2, 0x14, 0x90}}, #endif /* chenyan marked */ //01 (Below)DRC compression ratio(100) {0x41,0x04,{0x03, 0x81, 0x47, 0xAF}}, //01 (Below)DRC offset(0) {0x42,0x04,{0x00, 0x08, 0x42, 0x10}}, //01 (Below)DRC control {0x46,0x04,{0x00, 0x00, 0x00, 0x01}}, #if 0 /* chenyan marked*///01 (Below)Bank switch control (no automatic bank switching) {0x50,0x04,{0x0F, 0x70, 0x80, 0x00}}, #else //Auto Bank switch. {0x50,0x04,{0x0F, 0x70, 0x80, 0x04}}, #endif /* chenyan marked */#if 1 /* chenyan marked*///01 (Below)Input Mux Register(BD mode) {0x20,0x04,{0x00, 0x89, 0x77, 0x72}}, #else //01 (Below)Input Mux Register(AD mode) {0x20,0x04,{0x00, 0x01, 0x77, 0x72}}, #endif /* chenyan marked */#if 0 /* chenyan marked*///01 (Below) PWM Output MUX Register (Note: Writes to this register affect Inter-Channel Delay) {0x25,0x04,{0x01, 0x02, 0x13, 0x45}}, #else {0x25,0x04,{0x01, 0x01, 0x23, 0x45}}, #endif /* chenyan marked */#if 0 /* chenyan marked*/{0x07,0x01,{0x10}}, //Master Volume Register (0xFF = Mute) #else {0x07, 0x01, {0x1A}}, //Master Volume Register (0xFF = Mute) #endif /* chenyan marked */ {0x08,0x01,{0x30}}, //Channel 1 Volume {0x09,0x01,{0x30}}, //Channel 2 Volume {0x0A, 0x01, {0x30}}, //Channel 3 Volume {0x06,0x01,{0x00}}, //Soft Mute Register (mute off) {0x02, 0x01, {0x00}}, //error status register /write 0 to clear the register. {0x03,0x01,{0xA0}}, //System Control Register 1(opt.) {0x04,0x01,{0x05}}, //Serial Data Interface Register //{0x05,0x01,{0x8C}}, //System Control Register 2(exit hard mute)//chenyan 2.1SE+BTL mode {0x0E,0x01,{0x91}}, //Micro Register(opt.) {0x10,0x01,{0x02}}, //Modulation Limit(opt.) {0x19, 0x01, {0x30}}, //PWM channels are all active.//chenyan add for 5711. {0x1A,0x01,{0x0A}}, //Split Capacitor Charge Period(opt.)//chenyan modified 0x0A to default value 0x0F. {0x1C,0x01,{0x02}}, //Back-end Error Register(opt.)#if 1 /* chenyan marked*/ //BD mode default value.{0x11,0x01,{0xB8}}, //Inter-Channel Delay Channel 1 {0x12,0x01,{0x60}}, //Inter-Channel Delay Channel 2 {0x13,0x01,{0xA0}}, //Inter-Channel Delay Channel 3 {0x14,0x01,{0x48}}, //Inter-Channel Delay Channel 4 #else//AD mode default value. {0x11,0x01,{0xAC}}, //Inter-Channel Delay Channel 1 {0x12,0x01,{0x54}}, //Inter-Channel Delay Channel 2 {0x13,0x01,{0xAC}}, //Inter-Channel Delay Channel 3 {0x14,0x01,{0x54}}, //Inter-Channel Delay Channel 4 #endif /* chenyan marked */{__ENDTBL__,0x00,{0x00}},};
陈琰:
回复 陈琰:
另外还有一个问题,我现在电路接的是2.1MODE,也就是OUTA接一8欧10W的SPEAKER,OUTB接一个8欧10W的SPEAKER,OUTC和OUTD之间接一SPEAKER,但我们暂时没接这个负载,也就是现在只有OUTA,OUTB接了SPEAKER,然后PVDD供电用的是12V,按现在这种情况,我具体是应该配置成AD,还是BD MODE,另外根据芯片手册的说明,SSTIMER处的电容我去掉了
Flora Wang:
回复 陈琰:
你好:
2.1MODE请配置成AD mode.
Flora Wang:
回复 陈琰:
你好:
开关机的时候确实会造成POP,这个帖子里提到了POP产生的原因,你可以看一下,虽然是器件不同,但是产生的原因是相同的,请参考。
http://www.deyisupport.com/question_answer/analog/audio/f/42/p/63428/143921.aspx#143921
初始化,请参照我们datasheet中提到的。
陈琰:
回复 Flora Wang:
Hello Flora,
我们现在的TV板子在上电时是先初始化了一堆硬件,包含IIC,IIS等,然后是等到播放开机音乐之前才开始初始化TAS5711,也就是说并不是上电时产生的POP音,而是在初始化5711,即在播放开机音乐之前会有扑的一声,此时上电已经稳定一段时间了,有可能是你提到的IIS输出到5711信号不匹配造成的,但
有什么办法可以解决呢,我们IIS到5711的信号线上只串有一33R的电阻和一下接到地的22PF的贴片电容。。。
陈琰:
回复 Flora Wang:
Hello Flora,
我们现在的TV板子在上电时是先初始化了一堆硬件,包含IIC,IIS等,然后是等到播放开机音乐之前才开始初始化TAS5711,也就是说并不是上电时产生的POP音,而是在初始化5711,即在播放开机音乐之前会有扑的一声,此时上电已经稳定一段时间了,有可能是你提到的IIS输出到5711信号不匹配造成的,但
有什么办法可以解决呢,我们IIS到5711的信号线上只串有一33R的电阻和一下接到地的22PF的贴片电容。。。
陈琰:
回复 陈琰:
还有另外一个问题,上次问过TI的工程师,我使用0X05寄存器写0X40SHUTDOWN之后,必须要写0X0才能恢复声音输出,而只把D6位写0无法恢复声音输出,
上次你们的工程师说在你们的EVM板上试只写D6是可以恢复声音的,请问这是什么原因造成的,另外是PDN引脚拉低再拉高,需要重新复位5711并重写寄存器
才能正常输出,这些是否跟芯片型号有关系?5711是否有不同后缀的型号呢?
Flora Wang:
回复 陈琰:
你好:
shutdown的时候是也会出现Clik或POP声的。我的建议是先mute,在shutdown。
I2S 上的电阻和电容,通常是用来滤除PWM波形上的尖峰,不会造成开机的POP。
陈琰:
回复 Flora Wang:
Hello Flora,
你提到的先MUTE,再SHUTDOWN中MUTE是写0X06寄存器软件MUTE,还是设置主音量为0,另外我按你们EVM板的一个示例代码进行配置寄存器后,现在整个
板子开机没声了,我现在设置为2.1 AD MODE,SSTIMER处的电容是否要焊上呢,芯片手册中说在AD MODE下要有一2.2NF的电容,但又提到说在2.1MODE下需
要悬容SSTIMER脚,这两处是否有矛盾?
TI中文支持网



