This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TLV320DAC3203:使用数字麦克风进行动态音量控制

Guru**** 2466550 points
Other Parts Discussed in Thread: TLV320DAC3203

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1260937/tlv320dac3203-dynamic-volume-control-on-the-fly-with-digital-mics

器件型号:TLV320DAC3203

亲爱的人们,

我又有一个愚蠢的问题,我找不到答案。

如何  在使用数字麦克风作为输入的 TLV320DAC3203 (HPL HPR)上动态控制输出音量?

数据表中显示:
"可以使用 DAC 的数字音量控制来控制 DAC 信号的电平。 为了控制耳机驱动器的输出电压摆幅、数字音量控制提供了-6.0dB 至+29.0dB (1)范围(步长为1dB)。 这些电平控制不打算用作动态音量控制、 但需要在初始器件配置期间设置输出电平。 有关使用耳机音量控制的建议、请参阅 用于在各种配置下通过 DAC 通道实现0dB 增益。"

但我在任何地方都看不到这些建议。

我也知道、dig 麦克风有数字音量控制、但据我所知、这适用于 ADC、我不会使用它。

您能帮助我吗?

此致!

古斯塔沃

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Gustavo、

    数据表建议涉及使用 DAC 增益配置、而不是耳机放大器增益。 我在下图中突出显示了这些增益控制块:

    您应该为以下每个增益控件使用页0寄存器0x41和0x42: www.ti.com/.../slau434a.pdf

    此致、
    -Ivan Salazar
    应用工程师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    伊凡、您好!
    感谢您向我介绍 HP 驱动器增益的寄存器。

    只是为了确保:我需要动态地改变输出的音量。 这将是一个乐器、因此播放器应该能够实时控制音量。 毫无疑问、您为我指明了很好的方向、但仍然是我读了应用参考指南:  

    "为了控制耳机驱动器的输出电压摆幅、数字音量控制在-6.0dB 至+29.0dB (1)范围内以1dB 为步长。 这些电平控制不用作动态音量控制、而更多地用于在初始器件配置期间设置输出电平。 有关使用耳机音量控制通过具有不同配置的 DAC 通道实现0dB 增益的建议、请参阅。

     这种实时变化是可能的吗?
    我可以在这种实时情况下实现软步进吗? 在
    页1寄存器20位 D7-D6上 ?  

    最后一个问题、系统运行后、我可以遵循是否有脚本作为发送到 DAC3203的必要命令的示例?

    此致、

    古斯塔沃

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Gustavo、

    感谢您的评论、我实际上注意到了我在上一篇文章中需要编辑的几件事、并在下面为您的问题添加了更多详细信息:

    • 根据说明、您实际上应该将驱动器增益用作固定值、并使用 DAC 滤波器进行动态调节。 (与我最初的描述相反、很抱歉混淆了)
    • DAC 增益提供了几个有利特性:
      • 可以使用软步进来逐渐调整增益、即使是在设置具有相当大差异的新增益值时也是如此。 此功能由页0寄存器63控制。 第1页寄存器20是一个不同的特性。
      • 左右通道的 DAC 音量可以连接在一起、这样、您就可以通过单个寄存器写入来控制两个通道的增益。 这由页0寄存器64控制。

    我将对上一篇文章进行编辑、以显示正确的信息。

    此致、
    -Ivan Salazar
    应用工程师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    伊凡、您好!

    感谢您的澄清。

    我不确定在器件已配置并运行后需要哪些命令来动态进行这些更改。
    您会不会带我去指一个我可以开始使用的示例脚本代码? 我可以找到的所有示例都适用于首次设置、但不适用于动态更改。

    再次感谢、

    古斯塔沃

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    伊凡、您好!

    为了澄清我的问题:

    我已经 通过 EVAL 对此进行了测试。 在命令缓冲区中、我看到以下命令:


    W 30 00 00 00
    W 30 3F D5 //软步进1步进/2fs
    W 30 00 00 00
    W 30 41 02 // DAC 增益 L
    W 30 00 00 00
    W 30 42 02 // DAC 增益 R

    这在运行时是否足够? 或者我应该在"现实生活程序"中添加一些其他命令吗?

    另一个问题:

    GUI 中的 I2C 地址为0x30
    但是、数据表显示"TLV320DAC3203……  将响应 I2C 地址0011000。"
    这是一个拼写错误。 我在这里缺少一个零点...


    此致、
    古斯塔沃

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Gustavo、

    您可以写入寄存器0x3f 以在初始化期间设置软步进配置。
    然后、当卷动态变化时、您只能写入寄存器0x41和0x42。 或者、您也可以写入寄存器0x40以将两个通道的音量控制绑定在一起、您可以在初始化期间执行此操作。 然后、您可以写入0x41或0x42、而不是这两个写入。

    关于 I2C 地址、数据表使用7位表示法、它在 LSB 处添加0用于写入、或在读取时添加1。 GUI 使用8位表示法、在 LSB 时考虑0。

    此致、
    -Ivan Salazar
    应用工程师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    伊凡、您好!

    感谢您的快速回答、我将按照此操作。
    也感谢大家对 符号的解释。
    祝你度过愉快的一天!

    古斯塔沃