⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
12个帖子/ 0新
最后一篇
Ulrich.Sorensen.
离线
最后一次露面:2年7个月前
加入:2016-09-15 07:40
DA7212 ALC问题

你好,

我正在使用DA7212编解码器中的ALC遇到周期性问题。系统正在运行Linux,并使用DA7213 SEC驱动程序进行半系统。

问题是,有时ALC在降低收益后不会恢复。似乎这个问题是由麦克风上突然的高输入触发的,导致ALC缩短增益,但它永远不会备份增益。

ALC_ATTACK = 44 / FS
ALC_RELEASE = 176 / FS

ALC_INTEG_RELEASE = 1/4
ALC\ U集成攻击=1/4
ALC_HOLD = 62 / FS

ALC_THRESHOLD_MIN = -24 dB
ALC_THRESHOLD_MAX = -9 dB

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

ALC_ANA_GAIN_MAX = 36 dB
ALC_ANA_GAIN_MIN = 0 dB

alc_anticlip_en被禁用了
ALC\ U防溜水平=0

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

任何更接近为什么发生这种情况的想法?DA7212中的任何寄存器,我可以监视以查看ALC的内部状态/操作。

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

设备:
ed_dialog.
离线
最后一次露面:1个月3周前
职员
加入:2017-09-18 11:54
你好ulrich,

你好ulrich,

让我看看这个。

亲切的问候,
艾略特德克斯特布

ed_dialog.
离线
最后一次露面:1个月3周前
职员
加入:2017-09-18 11:54
你好ulrich,

你好ulrich,

您是否能够向我提供注册转储?

亲切的问候,

艾略特德克斯特

Ulrich.Sorensen.
离线
最后一次露面:2年7个月前
加入:2016-09-15 07:40
你好,

你好,

在流中,请参阅下面的注册转储。请注意,ALC在这种情况下正常行为。


根@ x:〜i2cdump -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 00 00 00 ................
20:00 10 0a 08 07 ea 1e 88 80 08 32 8b 00 00.???????2?。。。。
30:35 35 02 02 0F 0F 6F 6F 88 07 07 07 00 00 00 00 00 00 5 55 ????????????????????????
40:00 88 88 08 80 6F 6F 61 39 39 30 00 00 00 00 00 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 60 60 68 68 18日??
70:00 00 00 00 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 00 00 00 00 00 00。!?? ............
90:00 00 00 00 00 00 03 32 95 00 00 00 00 00 00 3F 10 06 AA ....?2?..... ????
A0:71 00 00 00 D0 0F 00 00 00 00 00 00 00 00 q .. ...... ?? ......
B0:00 00 00 00 00 00 00 00 00 00 55 15 00 40 02 01 00 00 00 ....... U?。@ ?? ...
C0: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 ......
e0:01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00?...............
F0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 ...........?。

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

ed_dialog.
离线
最后一次露面:1个月3周前
职员
加入:2017-09-18 11:54
你好ulrich,

你好ulrich,

谢谢你的注册转储。我们设法在实验室中重新创建问题,我们发现了一个潜在的工作,将Alc_gain_max更改为72dB。自从改变价值以来,我们没有观察到这个问题。我们将进一步介绍为什么出现此问题。

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

Ulrich.Sorensen.
离线
最后一次露面:2年7个月前
加入:2016-09-15 07:40
你好,

你好,

感谢您的反馈意见。我将测试您的建议并报告。

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

Ulrich.Sorensen.
离线
最后一次露面:2年7个月前
加入:2016-09-15 07:40
你好,

你好,

我已经测试了建议的变化,它没有解决问题。降低收益后,ALC仍然并不总是恢复。由于信号的剪辑,还将ALC_Gain_max更改为72dB导致失真。

你能解释一下原因在ALC中的这种意外行为吗?任何其他解决问题的建议。

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

Ulrich.Sorensen.
离线
最后一次露面:2年7个月前
加入:2016-09-15 07:40
嗨艾略特,

嗨艾略特,

与ALC有关的另一个观察是我看到左端右声道的幅度之间的差异很大。仅在使用ALC时才看到这一点。从数据表中读取的内容,ALC对两个频道都适用相同的增益呢?

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

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

ed_dialog.
离线
最后一次露面:1个月3周前
职员
加入:2017-09-18 11:54
嗨Ulrich,

嗨Ulrich,

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

亲切的问候,

艾略特德克斯特

ed_dialog.
离线
最后一次露面:1个月3周前
职员
加入:2017-09-18 11:54
你好ulrich,

你好ulrich,

抱歉迟到的回复,我现在不在办公室。我有几个问题和建议:

  1. 当ALC降低增益时,应用的信号的幅度是多少?
  2. 是否有可能查看板的原理图?
  3. 建议:

将ALC_SYNC_MODE设置为已启用,假设我们已经需要ALC_ANCELLP_CTRL启用= 0xA1至0x80,并且ALC_ANTICLIP_LEVEL = 0xA2至0x64。这应该解决所观察到的问题。

亲切的问候,

艾略特德克斯特

Ulrich.Sorensen.
离线
最后一次露面:2年7个月前
加入:2016-09-15 07:40
嗨艾略特,

嗨艾略特,

回答您的问题:

1.我测试期间信号的幅度是正常的语音。然后,我点击麦克风以激发ALC的高输入。当然,增益当然被预期降低,但当我停止点击麦克风时,增益有时会保持低位。
2.见附件
3.我还没试过。

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

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

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

附件:
Ulrich.Sorensen.
离线
最后一次露面:2年7个月前
加入:2016-09-15 07:40
你好,

你好,

原理图附着。

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