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.

[参考译文] TLV320AIC3254:通过 I2C 更改音量时出现 PurePath Studio 问题

Guru**** 657930 points
Other Parts Discussed in Thread: CC3235MODSF, TLV320AIC3254, CC3235SF
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1289013/tlv320aic3254-purepath-studio-problem-changing-volume-over-i2c

器件型号:TLV320AIC3254
主题中讨论的其他器件:CC3235MODSF、、 CC3235SF

您好!

我们的通信模块设计 使用 CC3235MODSF MCU 来控制 TLV320AIC3254编解码器、软件基于 CC3235 i2secho 示例。

我们正在使用 PurePath Studio 对迷你 DSP 进行编程、以提供 VOX 功能。 VOX 功能可以正常工作、但我们无法再调节音频音量/增益-无论我们初始化的音量是多少、它都保持设置状态。

我们已尝试使用 i2secho 示例中的音量控制代码、还尝试调整 HPL / HPR 驱动器增益。 最后、我们尝试使用 Pure Path Studio 的组件界面概述中的设置来设置体积系数、最终结果相同:

//根据组件接口概述设置音量系数-寄存器
AudioCodec_regWrite (0x00、0x2C);
AudioCodec_regWrite (0x30 0x00);
AudioCodec_regWrite (0x31,0x7F );
AudioCodec_regWrite (0x32、0xB2);
AudioCodec_regWrite (0x33、0x60);

请有人建议- 我怀疑我们是 missng 某种明显的东西。

非常感谢

克里斯

e2e.ti.com/.../vox-test-no-i2s-in.pfw

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

    您好!

    我使用了您的流量、能够改变音量条、输出端的声音也正常输出。

    应在卷系数上写入以下格式:MSB 位于基址寄存器0中、依此类推。

    //根据组件接口概述设置音量系数-寄存器
    AudioCodec_regWrite (0x00、0x2C);
    AudioCodec_regWrite (0x30 0x7F);
    AudioCodec_regWrite (0x31,0xB2 );
    AudioCodec_regWrite (0x32、0x60);
    AudioCodec_regWrite (0x33、0x00);

    此致。

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

    您好!

    感谢您的帮助-很遗憾、这没有解决我们的问题。

    如果我在连接到 EVM-K 电路板的 PurePath Studio 中运行处理流程、我可以调整音量滑块、输出音量按照预期变化。但是、随着我们的应用在具有 Audboost BoosterPack 的 CC3235 Launchpad 上运行、音频输出始终保持恒定。 如果将音量 I2C 寄存器设置为上述不同的音量系数、不会改变输出音量?

    非常感谢

    克里斯

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

    您好!

    在更改音量滑块、写入和读取时、您能否检查 I2C 事务? 它们是否匹配?  

    此致。

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

    您好!

    很抱歉响应出现延迟。 写入和读取操作与此事务不匹配、我一直在尝试找出原因。

    无论交易如何、我似乎都得到相同的回读、包括设置页面:

    I2C 写入值= 0x2C
    I2C 回读值= 0x3B
    I2C 写入值= 0x7F
    I2C 回读值= 0x3B
    I2C 写入值= 0xB2
    I2C 回读值= 0x3B
    I2C 写入值= 0x60
    I2C 回读值= 0x3B
    I2C 写入值= 0x0
    I2C 回读值= 0x3B

    我在 CC3235SF 的 i2sEcho 示例中的 AudioCodec_regWrite 方法用于 I2C 事务。

    如果我在 PurePath Studio 中生成音量控制设置为最大值的头文件、我可以从我的应用/器件获得高音量输出、 同样、如果生成的头文件的卷设置较低、我得到的卷则较小、这看起来像是在初始化时设置的卷、当我的应用程序读取头文件并初始化编解码器时、但我无法更改它?

    非常感谢

    克里斯

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

    您好!

    这就好像 I2C 写入事务在从软件初始化后没有执行、您可以使用 Saleae 之类的数字串行分析器来探测 I2C 线路。

    我建议与  CC3235SF 支持团队进行核实。

    此致。

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

    您好!

    感谢您的建议。 我目前还没有数字串行分析仪、因此我想看看能否获取一台、并向 CC3235SF 团队进行核实。

    非常感谢

    克里斯

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

    当然可以。

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

    您好!

    我订购了 I2C 分析仪、正在等待交付、并根据建议在 WiFi 论坛中发布- 我已经确定 MCU SDK 中的 i2secho 示例表现出与 I2C 事务相同的行为、因此有望很容易解决。

    阅读应用手册、尤其是 SLAA425D (系数 RAM 访问机制)是否应该在写入新卷后切换缓冲器、然后在缓冲器切换后第二次写入该卷?

    非常感谢

    克里斯

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

    您好!

    缓冲器 适用于自适应模式、您是否指的是 PPS 流中的体积?

    在这种情况下、它是自适应模式。

    此致。

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

    大家好。

    我现在已经使用 I2C 分析器进行了测试、我觉得 I2C 通信正常、写入事务正在正确执行、并且正在从寄存器读回正确的值。 尽管如此、我在 I2C 回读中收到错误-我已相应地在 WiFi 论坛中更新了我的线程。

    我的理解是、要在运行时使用 PPS 流中的卷分量动态调整输出卷、我需要向这两个缓冲区写入数据、但我知道这不是动态设置卷的首选方式?

    根据 PPS 流程、我是否仍能够使用 DAC 数字音量控制寄存器(页0寄存器0x41和0x42)在运行时动态地更改输出音量、或者是否有更好的选择?

    非常感谢

    克里斯

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

    如果您在 PPS 中使用卷、则可以在运行时从 PPS 动态更改卷。

    这与 DAC 数字音量寄存器页0寄存器0x41不同、但 miniDSP_D 寄存器显示在下面的 PPS 元件接口视图中。

    此致。