⚠️
你好。。谢谢你来到论坛。令人兴奋的消息!我们现在正在迁移到新的论坛平台,该平台将提供更好的功能,并包含在主对话网站中。所有员额和帐户都已迁移。我们现在只接受新论坛的流量-请在//www.xmece.com/support. 我们将在未来几天内修复bug/优化搜索和标记。
12个员额/0个新员额
最后一篇文章
乌尔里希·索伦森
离线
最后一次见到:2年7个月前
加入:2016-09-15 07:40
DA7212 ALC发行

你好

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

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

ALC_攻击=44/fs
自动高度控制释放=176/fs

自动高度控制积分释放=1/4
ALC_INTEG_ATTACK = 1/4
自动高度控制保持=62/fs

ALC_阈值_最小值=-24 dB
ALC_阈值_最大值=-9 dB

ALC_ATTEN_MAX = 60db
ALC_GAIN_MAX = 60db

ALC分析增益最大值=36 dB
ALC分析增益最小值=0 dB

自动高度控制防倾翻装置已禁用
ALC_ANTICLIP_LEVEL = 0

ALC噪声电平设置为-94.5 dB

有没有办法更进一步了解为什么会发生这种情况?我可以监视DA7212中的任何寄存器,以查看ALC的内部状态/操作。

最好的问候,
乌尔里希

设备:
对话
离线
最后一次见到:1个月3周前
工作人员
加入:2017-09-18 11:54
你好,乌尔里奇,

你好,乌尔里奇,

让我调查一下。

亲切问候,,
埃利奥特·德克斯特

对话
离线
最后一次见到:1个月3周前
工作人员
加入:2017-09-18 11:54
你好,乌尔里奇,

你好,乌尔里奇,

您能为我提供一个寄存器转储吗?

亲切问候,,

艾略特·德克斯特

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

你好

请查看下面的注册转储期间流。请注意ALC在这种情况下表现正常。


root@x:~i2cdump-f-y 2 0x1a
没有指定大小(使用字节数据访问)
01 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 00 .?????????2?....
30:35 35 02 02 0f 0f 6f 6f 88 07 07 00 00 00 00 55???oo???。。。。。
40:00 88 88 08 80 6f 6f 61 39 30 00 00。??ooa990。。。。。
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
60: 64 64 11 08 08 28 28 20 20 60 60 68 68 68 18 18 dd??(“终极战士? ?
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 q。。??。。。??。。。。。。
b0:00 00 00 00 55 00 40 02 01 00 00 00 00 00 00 00:00:00:00 00 00:00 00:00 00 00:00:00 00:00 00:00 00 00:00:00:00 00:00:00:00:00:00:00:00??。。。
c0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00。。。。。。。。。。。。。。。。
d0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00。。。。。。。。。。。。。。。。
e0:01 00 00 00?。。。。。。。。。。。。。。。
f0:00 00 00 00 00 01 00。。。。。。。。。。。。。?。。

最好的问候,
乌尔里希

对话
离线
最后一次见到:1个月3周前
工作人员
加入:2017-09-18 11:54
你好,乌尔里奇,

你好,乌尔里奇,

谢谢你的注册转储。我们设法在实验室里重现了您的问题,我们找到了一个潜在的解决办法,将ALC_增益_Max更改为72dB。自更改值后,我们未观察到该问题。我们将进一步探讨这一问题发生的原因。

亲切问候,,
艾略特·德克斯特

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

你好

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

最好的问候,
乌尔里希

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

你好

我已经测试了提议的更改,但它并没有解决问题。尽管如此,自动高度控制在降低增益后仍不总是恢复。另外,将ALC_增益_Max更改为72dB会由于信号的削波而导致失真。

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

最好的问候,
乌尔里希

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

你好,艾略特,

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

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

最好的问候,
乌尔里希

对话
离线
最后一次见到:1个月3周前
工作人员
加入:2017-09-18 11:54
嗨,乌尔里希,

嗨,乌尔里希,

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

亲切问候,,

艾略特·德克斯特

对话
离线
最后一次见到:1个月3周前
工作人员
加入:2017-09-18 11:54
你好,乌尔里奇,

你好,乌尔里奇,

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

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

将ALC_SYNC_MODE设置为enabled(已启用),这假设我们已经启用了ALC_ANTICLP_CTRL enabled=0xA1到0x80,并且ALC_ANTICLIP_LEVEL=0xA2到0x64。这应该可以解决所观察到的问题。

亲切问候,,

艾略特·德克斯特

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

你好,艾略特,

回答你的问题:

1.在我的测试中,信号的幅度是正常的。然后,我轻触麦克风,向自动高度控制(ALC)发出高输入。增益当然会像预期的那样降低,但当我停止敲击麦克风时,增益有时仍然很低。
2.见附件
3.我还没试过。

我尝试的是使用没有自动校准的ALC,这似乎解决了问题。我设置ALC_SYNC_MODE = 1和ALC_OFFSET_EN = 0。这可能会产生什么影响?

对我来说,它看起来像ALC偏移校准不正确,这导致ALC有时失败。我已附加我的linux da7213驱动程序。你觉得有什么可疑的吗?

最好的问候,
乌尔里希

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

你好

示意图附件。

最好的问候,
乌尔里希