12个职位/0个新职位
最后一篇文章
乌尔里希·索伦森
离线
最后一次见到:2年2个月前
已加入:2016-09-15 07:40
DA7212 ALC问题

你好,

我遇到DA7212编解码器中ALC的周期性问题。系统运行Linux,使用Dialog-Semi提供的da7213soc驱动程序。

问题是,有时ALC在降低增益后无法恢复。这个问题似乎是由麦克风上突然出现的高输入触发的,这会导致ALC降低增益,但它从未恢复增益。

ALC\ U攻击=44/fs
ALC\ U释放=176/fs

ALC\ U积分\ U释放=1/4
ALC\ U集成攻击=1/4
自动高度保持=62/fs

ALC\u阈值\u最小值=-24 dB
ALC\U阈值\U最大值=-9 dB

ALC\ U ATEN\ U MAX=60分贝
ALC\U增益\U最大值=60 dB

ALC模拟增益最大值=36 dB
ALC \ ANA \增益\最小值=0 dB

ALC\U ANTICLIP\u EN已禁用
ALC\ U防溜水平=0

自动高度控制噪声级设置为-94.5分贝

有什么办法来解释为什么会这样吗?我可以监视DA7212中的任何寄存器,以查看ALC的内部状态/操作。

致以最诚挚的问候,
乌尔里希

设备:
ED\U对话框
离线
最后一次见到:1周14小时前
工作人员
已加入:2017-09-18 11:54
你好,乌尔里希,

你好,乌尔里希,

我来调查一下。

谨致问候,
埃利奥特德克斯特布

ED\U对话框
离线
最后一次见到:1周14小时前
工作人员
已加入:2017-09-18 11:54
你好,乌尔里希,

你好,乌尔里希,

你能给我提供一个寄存器转储吗?

谨致问候,

艾略特·德克斯特

乌尔里希·索伦森
离线
最后一次见到:2年2个月前
已加入:2016-09-15 07:40
你好,

你好,

请在流媒体期间查看下面的寄存器转储。请注意,在这种情况下,自动高度控制正常工作。


根@x:~I2C转储-f-y 2 0x1a
未指定大小(使用字节数据访问)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef公司
00: 00 00 00 05 00 00 07 07 00 00 00 00 00 00 00 00 ...?..??........
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
20: 00 10 0a 08 07 ea 1e 88 80 08 32 8b 00 00 00。?????????2?....
30:35 35 02 02 0f 0f 6f 6f 88 07 00 00 00 55????面向对象???。。。。。
40:00 88 88 08 80 6楼6楼61 39 30 00。????ooa990。。。。。
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
60:64 64 11 08 08 28 20 20 60 60 68 68 18日???(``hhh??
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
80: 00 21 89 03 00 00 00 00 00 00 00 00 00 00 00 00 .!??............
90:00 00 00 03 32 95 00 00 00 00 3楼10 06 aa。。。。?2?.....????
a0:71 00 00 d0 0f 00 00 00 85 0f 00 00 00 00 00 00 00 q。。??。。。??。。。。。。
b0:00 00 00 00 55 15 00 40 02 01 00 00…….U?。@??...
c0:00 00 00 00 00 00 00 00 00 00 00。。。。。。。。。。。。。。。。
d0:00 00 00 00 00 00 00 00 00 00 00 00。。。。。。。。。。。。。。。。
e0:01 00 00 00 00 00 00 00?。。。。。。。。。。。。。。。
f0:00 00 00 00 00 00 00 00 01 00。。。。。。。。。。。。。?。。

致以最诚挚的问候,
乌尔里希

ED\U对话框
离线
最后一次见到:1周14小时前
工作人员
已加入:2017-09-18 11:54
你好,乌尔里希,

你好,乌尔里希,

谢谢你的登记。我们设法在实验室重现了你的问题,我们找到了一个潜在的解决办法,将ALC\u增益最大值改为72dB。自从改变价值观后,我们就没有注意到这个问题。我们将进一步探讨为什么会发生这个问题。

谨致问候,
艾略特·德克斯特

乌尔里希·索伦森
离线
最后一次见到:2年2个月前
已加入:2016-09-15 07:40
你好,

你好,

谢谢你的反馈。我将检验你的建议,并向你汇报。

致以最诚挚的问候,
乌尔里希

乌尔里希·索伦森
离线
最后一次见到:2年2个月前
已加入:2016-09-15 07:40
你好,

你好,

我已经测试了提议的更改,但它并不能解决问题。尽管如此,ALC在降低增益后仍不总是恢复。另外,将ALC_Gain_Max更改为72dB会由于信号的剪裁而导致失真。

你能解释一下是什么导致了ALC的这种意外行为吗?任何其他解决问题的建议。

致以最诚挚的问候,
乌尔里希

乌尔里希·索伦森
离线
最后一次见到:2年2个月前
已加入:2016-09-15 07:40
你好,艾略特,

你好,艾略特,

另一个与ALC有关的观察结果是,我看到左、右声道的振幅有很大的差别。这仅在使用自动高度控制时可见。根据我在数据表中看到的,ALC对两个通道应用相同的增益,对吗?

使用固定增益,左右声道的振幅相等。

致以最诚挚的问候,
乌尔里希

ED\U对话框
离线
最后一次见到:1周14小时前
工作人员
已加入:2017-09-18 11:54
嗨,乌尔里希,

嗨,乌尔里希,

这很有趣,周围的工作似乎在这里的长凳上工作。我再次向团队提出了这个问题,希望我能很快得到一些答案。

谨致问候,

艾略特·德克斯特

ED\U对话框
离线
最后一次见到:1周14小时前
工作人员
已加入:2017-09-18 11:54
你好,乌尔里希,

你好,乌尔里希,

对不起,我现在不在办公室。我有几个问题和建议:

  1. 当自动高度控制降低增益时,应用的信号幅度是多少?
  2. 可以查看电路板的示意图吗?
  3. 建议:

将ALC\u SYNC\u MODE设置为enabled,假设我们已经启用了,那么我们还需要ALC\u ANTICLP\u CTRL enabled=0xA1到0x80,ALC\u ANTICLIP\u LEVEL=0xA2到0x64。这应该可以解决所观察到的问题。

谨致问候,

艾略特·德克斯特

乌尔里希·索伦森
离线
最后一次见到:2年2个月前
已加入:2016-09-15 07:40
你好,艾略特,

你好,艾略特,

回答您的问题:

1我测试时的信号幅度是正常的。然后我轻触麦克风,以激发ALC的高输入。增益当然会像预期的那样降低,但当我停止敲击麦克风时,增益有时仍然很低。
2见附件
三。我还没试过。

我尝试的是在没有自动校准的情况下使用ALC,这似乎解决了问题。我设置ALC\u SYNC\u MODE=1和ALC\u OFFSET\u EN=0。可能会有什么影响?

对我来说,它看起来像自动高度控制偏移校准没有正确完成,这导致自动高度控制有时失败。我已经附加了我的linux da7213驱动程序。你觉得有什么可疑的吗?

致以最诚挚的问候,
乌尔里希

附件:
乌尔里希·索伦森
离线
最后一次见到:2年2个月前
已加入:2016-09-15 07:40
你好,

你好,

示意图附件。

致以最诚挚的问候,
乌尔里希