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

你好,

我遇到了在DA7212编解码器ALC周期性的问题。该系统运行Linux和使用由半对话框提供的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分贝
ALC_THRESHOLD_MAX = -9分贝

ALC_ATTEN_MAX = 60 dB
ALC_GAIN_MAX = 60 dB

ALC_ANA_GAIN_MAX =36分贝
ALC_ANA_GAIN_MIN =0分贝

ALC_ANTICLIP_EN被禁用
ALC_ANTICLIP_LEVEL = 0.

ALC噪声水平设置为-94.5 dB

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

此致,
乌尔里希

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

你好乌尔里希,

让我看看这个。

亲切的问候,
埃利奥特Dexterb

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

你好乌尔里希,

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

亲切的问候,

埃利奥特·德克斯特

ulrich.sorensen
离线
最后一次露面:2年10个月前
加入:2016年9月15日07:40
你好,

你好,

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


根@ X:〜i2cdump -f -y 2 0X1A
未指定大小(使用字节数据访问)
0 1 2 3 4 5 6 7 8 9 B C d电子网0123456789ABCDEF
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 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 1207 1207 88 07 07 00 00 00 00 00 55 ???? OO ??? .....
40:00 88 88 08 80 6F 61 6F 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 00 00 ................
60:64 64 11 08 08 28 28 20 20 60 60 68 68 68 18 18 18 18 18 DD ???((`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 00 03 32 95 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提问.. ?? ... ?? ......
B0:00 00 00 00 00 00 00 55 15 00 40 02 01 00 00 00 .......ü@ ?? ...
C0: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 ................
E0:01 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 01 00 00 ............. ..

此致,
乌尔里希

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

你好乌尔里希,

谢谢你的寄存器转储。我们设法重新创建问题在实验室里,我们发现了一个潜在的解决办法,改变ALC_Gain_Max到72分贝。因为改变的价值我们没有观察到的问题。我们将看得更远了为什么这个问题发生。

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

ulrich.sorensen
离线
最后一次露面:2年10个月前
加入:2016年9月15日07:40
你好,

你好,

感谢您的反馈意见。我将考验你的建议,并汇报。

此致,
乌尔里希

ulrich.sorensen
离线
最后一次露面:2年10个月前
加入:2016年9月15日07:40
你好,

你好,

我已经测试了提议的变更,并没有解决问题。仍然是ALC仍然并不总是它已经降低了增益后恢复。也改变ALC_Gain_Max到72分贝导致失真由于信号的削波。

你能解释一下是什么原因造成的ALC这个意外的行为?任何其他建议来解决这个问题。

此致,
乌尔里希

ulrich.sorensen
离线
最后一次露面:2年10个月前
加入:2016年9月15日07:40
嗨埃利奥特,

嗨埃利奥特,

与ALC的另一种看法是,我看到了左端右声道的幅度之间有很大的区别。使用ALC时,这是只看到。从我在数据表中读取时,ALC应用相同的增益,以两个通道吗?

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

此致,
乌尔里希

ed_dialog.
离线
最后一次露面:3个月1周前
职员
加入:2017年9月18日11:54
嗨乌尔里希,

嗨乌尔里希,

这是有趣的,周围的工作似乎在这里工作。我再次向球队提出了这个,我可以尽快给你答复一些答案。

亲切的问候,

埃利奥特·德克斯特

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

你好乌尔里希,

对不起,我迟到的反应,我走出办公室的那一刻。我有几个问题和建议:

  1. 什么是当ALC已经降低的增益,其被施加的信号的幅度?
  2. 是否可以查看板原理图?
  3. 建议:

设置ALC_SYNC_MODE为启用,即假定我们有那么我们还需要ALC_ANTICLP_CTRL启用= 0xA1为0x80和ALC_ANTICLIP_LEVEL = 0xA2到0x64.This应该解决那些被观察的问题。

亲切的问候,

埃利奥特·德克斯特

ulrich.sorensen
离线
最后一次露面:2年10个月前
加入:2016年9月15日07:40
嗨埃利奥特

嗨埃利奥特

回答您的问题:

1.信号的我的测试过程中的振幅是正常语音。然后我点击麦克风挑起高输入到ALC。增益当然是降低预期,但是当我停止拍打麦克风的增益有时仍然很低。
2.见附件
我还没有尝试过。

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

对我而言,看起来alc偏移校准不是正确完成的,这导致ALC有时会失败。我附上了我的Linux DA7213驱动程序。对你有什么看法吗?

此致,
乌尔里希

依恋:
ulrich.sorensen
离线
最后一次露面:2年10个月前
加入:2016年9月15日07:40
你好,

你好,

概略附件。

此致,
乌尔里希