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

你好,

我在DA7212编解码器中遇到了ALC的定期问题。该系统正在运行Linux,并使用对话框SEMI提供的DA7213 SOC驱动程序。

问题是,有时ALC在降低增益后不会恢复。似乎这一问题是由麦克风突然的高输入引起的,这导致ALC拒绝增益,但永远不会恢复增益。

alc_attack = 44/fs
alc_release = 176/fs

alc_integ_release = 1/4
alc_integ_attack = 1/4
alc_hold = 62/fs

alc_threshold_min = -24 dB
alc_threshold_max = -9 dB

alc_atten_max = 60 dB
alc_gain_max = 60 dB

alc_ana_gain_max = 36 dB
alc_ana_gain_min = 0 db

alc_anticlip_en被禁用
alc_anticlip_level = 0

ALC噪声水平设置为-94.5 dB

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

此致,
乌尔里希

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

你好乌尔里希,

让我研究一下。

亲切的问候,
Elliott Dexterb

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

你好乌尔里希,

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

亲切的问候,

埃利奥特·德克斯特(Elliott Dexter)

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

你好,

请在流中查看下面的寄存器转储。请注意,在这种情况下,ALC的行为正常。


root@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 07 00 00 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 .....................................................................................
20:00 10 0A 08 07 EA 1E 1E 88 80 08 32 8B 00 00 00 00。???????????????
30:35 35 02 02 02 0f 0f 6f 6f 6f 88 07 07 00 00 00 00 00 00 55 ??? OO ??? ..... ..... ..... .....
40:00 88 88 08 80 6F 6F 61 39 39 39 30 00 00 00 00 00。???? OOA990 .....
50: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 ???((```hhh ??
70: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。
90:00 00 00 00 03 32 95 00 00 00 00 00 00 3F 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 00 00 00 55 15 00 40 02 01 00 00 00 00 00 ........ u?。@?? ...
C0: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 .......................................................................................................
E0:01 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 01 00 00 00 ......................................................................................................................................................................... ..

此致,
乌尔里希

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

你好乌尔里希,

感谢您的登记册。我们设法在实验室中重新创建了您的问题,我们发现了潜在的工作,将alc_gain_max更改为72DB。自从更改值以来,我们没有观察到这个问题。我们将进一步研究为什么发生这个问题。

亲切的问候,
埃利奥特·德克斯特(Elliott Dexter)

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
嗨,乌尔里希,

嗨,乌尔里希,

那很有趣,周围的工作似乎在这里的替补席上工作。我再次与团队一起提出了这一点,很希望我很快就能为您获得一些答案。

亲切的问候,

埃利奥特·德克斯特(Elliott Dexter)

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

你好乌尔里希,

对不起,我们的回复很晚,目前我不在办公室。我有一些问题和一个建议:

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

将alc_sync_mode设置为已启用,假设我们还需要ALC_ANTICLP_CTRL启用= 0xA1至0x80,而Alc_anticlip_level = 0xa2至0x64。这应该解决所观察到的问题。

亲切的问候,

埃利奥特·德克斯特(Elliott Dexter)

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

嗨,埃利奥特,

回答您的问题:

1.我测试期间信号的幅度是正常的语音。然后,我点击麦克风以引起对ALC的高输入。当然,增益是按预期的降低的,但是当我停止敲击麦克风时,增益有时会保持低。
2.请参阅附件
3.我还没有尝试过。

我尝试的是在没有自动校准的情况下使用ALC,这似乎可以解决问题。我设置了alc_sync_mode = 1和alc_offset_en = 0。

对我来说,ALC偏移校准似乎无法正确完成,这有时会导致ALC失败。我已经附上了Linux DA7213驱动程序。有什么看起来可疑的吗?

此致,
乌尔里希

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

你好,

示意图。

此致,
乌尔里希