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.

[参考译文] TLV320AIC3104EVM-K:VDCC 问题及获取滤波器和麦克风时遇到的问题

Guru**** 2694485 points

Other Parts Discussed in Thread: TLV320AIC3104

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1588621/tlv320aic3104evm-k-vdcc-issue-and-problems-getting-filters-and-microphone

器件型号: TLV320AIC3104EVM-K
主题: TLV320AIC3104 中讨论的其他器件

我要使用 TLV32AIC3104EVM-K

我能够播放 USB 音频、并调整 DAC 和 HP 音量设置。  我还可以使用空间立体声功能。

问题:

  1.  EVK 默认将 DVDD 设置为 3.3V。  但是、TLV320AIC3104 数据表指出最大电压为 1.95V(见图) 哪一个正确?  我正在完成电路布局、这是重要的信息。
  2. 我无法获得任何滤波效果。  预设,用户,架子等--它们似乎都不起作用(除了立体声定位器)。  是否需要事先设置一些混频器设置? (我确实禁用了立体定位器)。
  3. 我无法通过内置麦克风录制或监听任何音频。  我启用了偏置、设置 ADC、混频器、PGA、没有任何成功。  USB 音频接口是否可以实现这一点?

谢谢您、

Brad Stewart、E.E.

image.png

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

    好的。  我得到了滤波器才起作用。  不确定为什么它开始工作、但我手动写入寄存器 12 (0x0C) 并强制执行一些位。  GUI 似乎有一些错误。

    处理麦克风。  我可能明白了。

    仍需要了解 EVM 上的 DVDD 为什么为 3.3V?

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

    您好、

    DVDD 应该是 1.8V、您测量的是 3.3V 吗? 我在连接到 AIC3104 芯片的 EVM 用户指南原理图中看到了这一点:

    这是 TAS1020B 的 DVDD、TAS1020B 是 EVM 上的 USB 控制器、可在 DVDD 中获取 3.3V 电压:

    内置麦克风操作需要连接跳线 JMP3 和 JMP4、并且 J8 未插入任何信号。  

    如果这对麦克风操作没有帮助、请告诉我更多的细节。

    此致、
    Mir

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

    感谢您指出这一点。  

    原理图意味着 JMP16 连接了引脚 1 和 2、这将使 DVDD 和 IOVDD = 1.8V。  但实际上是引脚 2 和 3 已连接、这使得 IOVDD = 3.3V。

    在 JMP5 上测得的电压为 IOVDD = 3.3V
    JMP16 引脚 2 和 3 上测得的电压= 3.3V(默认)
    JMP6 上测得的电压 A 为 DVDD = 1.8V。

    现在我感觉好多了

    未来的建议: 将 1.8V 和 3.3V 稳压器放置在 EVM 上、以便无需外部稳压电源即可独立使用。  

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

    下一步是连接一个小型 MCU 板、如 ESP32 S3。  我假设我将外部 I2S 引脚连接到 J10、并且 GUI 应用程序必须发送 I2C 命令。  这是正确的吗?  我会问、因为   TLV320AIC3104EVM 和 TLV320AIC3104EVM-PDK 用户指南 SLAU2118A 中的原理图不是我电路板上提供的原理图。  例如、没有 J10 或 SW2。  看起来是 2007 版本。

    我的电路板标记为“AC-MODEVM LPA001B“。  您能给我发送正确的原理图吗?  我在您的网站上找不到它。

    再次感谢...

    Brad Stewart、E.E.

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

    尊敬的 Brad:

    是的、在过去几年中、我们将 USB-MODEVM 替换为 AC-MODEVM。 它具有一个 XMOS 而不是 TAS1020B、用于与 AIC310x GUI 连接的 USB I2S 和 I2C 控制器。 您可在此处找到原理图: https://www.ti.com/lit/ug/slau855a/slau855a.pdf

    您可以通过连接到 AC=MODEVM 右下角的 J10、并在其上方开关上选择“OFF"以“以使用外部 ASI、从而将外部 I2S 与 EVM 配合使用。 您还应该能够通过连接到 SCL 和 SDA 测试点之一来发送外部 I2C、但 GUI 允许您通过 USB 发送 I2C、这是 EVM 的预期操作。

    此致、
    Mir

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

    太棒了!  我会试一试。

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

    我注意到在独立模式下、采样率为 12kHz。   BCLK 和 wclk 与此一致。   是这样吗?

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

    您好、

    如果您使用的是 USB 源模式(请在 AC-MODEVM 的右下角切换)、采样率可能基于计算机音频驱动程序期望的器件。

    我插入了桌面上的 AIC3109EVM、它使用 AC-MODEVM、并默认为 44.1kHz 采样率。 您可以通过转到 Windows 设置中的声音设置来更改速率、或者转到“高级“选项卡、然后转到“更多声音设置“来转到我在这里显示的第二个屏幕截图。  

    如果 12k 不是来自此、请告诉我。 12k 似乎很奇怪、因为我甚至没有看到 12k 作为此(其他)EVM 的选项、并且它不是标准的音频采样率。

    此致、
    Mir

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

    非常好奇。

    PC 上的设置现在是 44.1kHz 24 位(是 48kHz 24 位)

     我现在测量:

    BLCK = 44.1kHz、

    Wclk = 2.822MHz、

    但 EVM 现在以 11.025kHz 的频率进行采样。 使用 音调发生器应用 (https://www.szynalski.com/tone-generator/) 时、得到的混叠频率高于 5.5KHz、并在 11.025kHz 时为空。   如果 EVM 以 44.1kHz 采样、我不应该听到这些别名。

    如果我重新启动、EVM 采样频率默认为 32 位 48kHz、而不是 44.1kHz。  尽管如此、采样率在 wclk 处显示为 48K Hz、在 BCLK 处显示为 3.072MHz、我仍然听到 6kHz 以上的强混叠、这意味着 EVM 系统实际上在 12kHz 处采样。

    但为什么在 6kHz 以上我会听到如此强的混叠呢?   例如、如果将音调发生器设置为 12kHz、则可以获得 0Hz、这是当采样率与输入样本的频率相同时的预测值。

    如果它确实是在 48kHz 时进行采样、那么在 24kHz 之前我不应该看到明显的混叠。  因此、也许编解码器的采样频率为 48kHz、但编解码器输出和 USB 子系统之间的某个值在 12kHz 处重新采样。

    我运行的是 Win10。

    亲自试一试。

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

    尊敬的 Bradley:

    如何初始化器件? 是否正在使用 AIC310x GUI? 您可以提供寄存器转储或脚本吗? 在 GUI 中运行 HP 播放选项时、我的 EVM 没有出现这种行为。  

    此致、
    Mir

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

    该脚本与 您尝试使用基于 Web 的音调发生器的默认脚本(如下所示)相同?  当您超过 6kHz 时、由于奈奎斯特定理、俯仰会降低。

    下一个问题。  则在较低的采样率下会产生过多的噪声。  我使用外部时钟: 位时钟、LR 时钟和数据。  在 48kHz 时工作正常、但在 11.025kHz 或 12kHz 时、背景噪声(嘶嘶声)非常明显。  即使左右通道 i 输出 0x0000、也会出现嘶嘶声。   有什么建议吗?

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

    您好、

    您是否一直使用外部时钟来解决基于网络的音调发生器问题以及这些低采样率? 如果是、您能否确保 AC-MODEVM 右下角的开关对外部时钟设置为 OFF? 此外、您是否在该开关下方的右下连接点上提供了时钟? 确保在那里提供时钟。

    不同采样率下的噪声可能是由于未为此采样率配置脚本。 GUI 应该有一个采样率部分、如果无法正常工作、我也可以通过手动为 12k 案例编写脚本来提供帮助。 您使用的是什么 BCLK? (请求时钟计算)

    此外、您是否可以在运行这些命令之前进行软件复位、甚至是默认脚本? 我想知道 GUI 是否没有从干净的石板启动、而是会扰乱默认时钟。 这看起来像是添加到脚本的开头:

    w 30 00 00 #页 0
    W 30 01 80 #软件复位

    此致、
    Mir

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

    基于网络的音频应用与 PC 上的任何其他音频一样。  无论我使用 Spotify、Wave 播放器还是其他产品、都不重要。

    独立应用程序开箱即可运行。 我只需将音调发生器用作任何其他音频 PC 源。

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

    尊敬的 Bradley:

    今天、星期五是在美国度假、请期待收到延迟的回复。

    感谢您的耐心、
    Jeff McPherson

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

    在较低的样品池中、我听到嘶嘶声。  即使向左右通道都发送一个值也是如此。  在 11.025kHz 时、情况相当糟糕。  这是正常的吗?

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

    更改 DAC 增益对降低嘶嘶声电平没有影响、除非我将其静音、在这种情况下、嘶声小得多、大约为–12dB。  嘶嘶声是非常宽的频带、听起来像高斯噪声。  

    对左右数据 (DC) 使用固定值仍会生成嘶嘶声。  我尝试更改了 2 个 16 位值的 MSB 和 LSB、但没有效果。

    我使用外部 ESP32-S3 电路板提供信号。  我尝试使用电池代替 USB 为 ESP32 通电、即未连接到 PC。  没有区别的嘶嘶声水平。

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

    更新: 如果我使用另一个编解码器 (Nuvoton NAU88C22)、则在较低的采样率下不会出现任何嘶嘶声。  NAU88C22 是一款很好的器件、但 TI 具有更好的 S/N 并具有双二阶滤波器。  即使您不使用它而是使用 BCLK、它还需要内部逻辑的外部 MCLK 源。

    那么、TI 器件有什么问题呢?  我想用它,但嘶嘶声是一个炫耀的塞子。

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

    您好、

    我浏览了脚本、发现您将其设置为 44.1kHz 模式、BCLK 是器件的输入时钟。 同样、默认情况下、PLL 关闭且 Q=2(来自寄存器 3)。  因此、您正在使用这条路径。  

    这给出了 BCLK/256 的假设 FS。 如果您的 BCLK 只有 16*2* FS 并且您预计 FS 为 48kHz、则需要启用 PLL 以允许内部时钟达到 12.288MHz。 在其他情况下、根据您的计算结果、采样率为 6k。 要关注的寄存器为 3、7 和 0x66 (102)。 如果您想为您编写脚本、请告诉我。

    此致、
    Mir

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

    在评估板上、处于“独立“模式: lrclk = 48kHz (fs) 且 BCLK = 3.072MHz。  MCLK = 0。  我似乎需要将 PLL 乘以 4 以获得 12.288MHz。   

    当外部 CPU 驱动时钟时、在 fS = 11025 时、BCLK = 2*16*fS = 353KHz、因此将该值乘以 4 可得到 1.4112MHz、即 4*353KHz。  同样需要乘以 4。

    现在、我了解了噪声可能来自哪里。

    请发送我的脚本、以便使用外部音频接口(即,将 BCLK 乘以 4)执行此操作。  我尝试在 GUI 应用程序中设置 PLL 但没有成功。 将 PLL 设置为较高的 12.288MHz 是否会以较低的采样率提高质量?

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

    另一个问题: 如果我不使用 MIC1LM、MIC1RM、LEFT_LOM 或 RIGHT_LOM、我是否可以将它们保持未连接状态?  或者需要某种终端吗?

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

    您好、

    很抱歉耽误你的时间。 如果您不使用 MIC 输入、则可以通过一些小型电容器理想地将其连接到 GND、并且未使用的输出可以保持未连接状态。 如果您已经设计了电路板、也可以将未使用的输入保持悬空、这样只会消除其他输入噪声耦合的任何可能性。

    我为 3.072MHz 的 48K 用例编写了脚本。 由于我们需要 CODEC_CLK 为 256*FS、这意味着 CODEC_CLK 需要为 12.288MHz、但 PLL 路径还有一个除数 8、因此我们需要 PLL 的输出为 98.304kHz。 除以 3.072MHz 的输入时钟得到 J.D = 32。

    # for 48khz mode, 3.072Mhz bclk.
    w 30 01 80 #sw reset
    w 30 03 91 #PLL enabled, Q=2, P=1
    w 30 04 80 #J=32 
    w 30 05 00 #D=0
    w 30 06 00 #D=0
    w 30 07 0a #48k, ldac and rdac paths are on
    w 30 65 00 #codec_clkin uses plldiv_out
    w 30 66 a0 #clkdiv_in uses bclk, pllclk_in uses bclk
    w 30 29 02 #dac_l1 and dac_r1 paths
    w 30 2b 00 #ldac not muted, gain=0db
    w 30 25 d0 #l+r dac powered up, hplcom is constant vcm output
    w 30 26 20 #hprcom is external feedback with hplcom as constant vcm
    w 30 40 80 #dac_r1 is routed to hprout
    w 30 2f 80 #dac_l1 is routed to hplout
    w 30 33 0d #hplout =0db, not muted, fully powered up
    w 30 41 0d #same for hprout

    对于外部 CPU 情况、11.025kHz 的采样率为 44.1kHz、因此我们将器件设置为 44.1k 模式、并且我们可以将 fs (ref)=44.1kHz 设置为 fs = fs (ref)/4。 此处的数学方法略有不同:

    44.1kHz * 256*8 = PLL_OUT = 90.3168MHz
    PLL_OUT/BCLK = 256
    J.D=32.0、R=8

    # for 44.1khz mode, wclk=11.025k, bclk=352.8khz (16 bit 2 channel)
    w 30 01 80 #sw reset
    w 30 02 66 #adc and dac fs = fs(ref)/4
    w 30 03 91 #PLL enabled, Q=2, P=1
    w 30 04 80 #J=32 
    w 30 05 00 #D=0
    w 30 06 00 #D=0
    w 30 07 8a #fs(ref) = 44.1k, ldac and rdac paths are on
    w 30 0b 08 #R=8
    w 30 65 00 #codec_clkin uses plldiv_out
    w 30 66 a0 #clkdiv_in uses bclk, pllclk_in uses bclk
    w 30 29 02 #dac_l1 and dac_r1 paths
    w 30 2b 00 #ldac not muted, gain=0db
    w 30 25 d0 #l+r dac powered up, hplcom is constant vcm output
    w 30 26 20 #hprcom is external feedback with hplcom as constant vcm
    w 30 40 80 #dac_r1 is routed to hprout
    w 30 2f 80 #dac_l1 is routed to hplout
    w 30 33 0d #hplout =0db, not muted, fully powered up
    w 30 41 0d #same for hprout

    如果您还有其他问题、请告诉我。

    此致、
    Mir

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

    您发送给我的脚本看起来是正确的、但我听不到任何声音。   

    时钟树图 10-8 中的“1/8"是“是什么意思?

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

    仍然没有声音。   

    您发送给我的脚本中缺少一些内容。

    以下是适用于 hiss 的默认脚本 (wclk = 11025Hz、BCLK = 352,600Hz)

    W 30 07 8A
    W 30 66 A0
    W 30 29 02
    W 30 2B 00
    W 30 25 D0
    W30 26 20
    W 30 40 80
    W 30 2F 80
    W 30 33 0D
    W 30 41 0D

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

    您发送给我的第一个独立脚本也不起作用。  实际上、它会产生非常响亮和烦人的声音

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

    1/8 是内置分频器、因此 PLL_OUT 输出时钟在进入 CODEC_CLKIN 之前被 8 分频、然后被 256 分频以获得内部生成的采样率 fs (ref)。

    您现在没有声音、但您以前没有声音、只是采样率更低? 您能否在示波器上将时钟与 I2S 音频数据线一起共享?

    此致、
    Mir

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

    我根本听不到声音。  波形由 MCU 的 I2S 外设生成、并与之前一样: wclk = 11.025、BCLK = 352800。 MCLK = 0。  我无法测量 PLL_OUT、因为它是器件内部的、

    请注意、这些波形与 EVM 的设置无关。  它完全由 MCU 的 I2S 外设生成。

    它们的计时是有效的,因为我可以在 44100 播放,没有声音嘶嘶声。

    您发送的生成的脚本应该使用 BCLK 来使  PLL_OUT = 90.3168MHz、因此 PLLDIV_OUT = 11.2896MHz。  并且 Fs = 44100Hz。  但我希望 FS=11025Hz。   

     

    这是 wclk 和 BCLK

    这是数据和 wclk

    这是通过 DMA 和中断驱动 I2S 的 MicroPython 代码。 它会产生两个相距八倍频程的正弦波、并将它们分别发送到左右声道。

    请注意、即使我写入 0x0000_0000、也会在 FS=11025 时出现嘶嘶声。

    我一直在努力让这个工作三个星期了。  我对 Nuvoton 器件有一个可行的解决方案、但仍然更喜欢使用 TI 器件。   

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

    我在数据表中找到了这个信息(见下文)。  BCLK 必须为 512KHz 或更高才能使 PLL 正常工作。

    这将我限制为最低 16KHz 采样率。

    为了实现 11025Hz 频率、我可能需要使用外部 MCLK = 11.2896MHz

    评论?

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

    是否有办法将 EVM MCLK 信号发送到编解码器、以便我可以尝试使用 PLL 并在较低的 FS 值下进行测试?  现在、它设置为 0Hz。

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

    因此、我将 fs 设置为 16KHz。  这意味着 BCLK = 512KHz、只要 D=0000 就满足 PLL 要求。 (参见参考资料第 27 页 男。

    48Hz*256*8 = PLL_OUT = 99.304MHz
    PLL_OUT/BCLK = 192  
    J.D=24.0、R=16、K=24

    运行这个脚本时、根本没有音频。


    # for 48khz mode, wclk=16khz, bclk=512khz (16 bit 2 channel)
    w 30 01 80 #sw reset
    w 30 07 80 #sw reset
    w 30 02 66 #adc and dac fs = fs(ref)/4
    w 30 03 92 #PLL enabled, Q=2, P=2
    w 30 04 60 #J=24
    w 30 05 00 #D=0
    w 30 06 00 #D=0
    w 30 07 0a #fs(ref) = 48k, ldac and rdac paths are on
    w 30 0b 00 #R=16
    w 30 65 00 #codec_clkin uses plldiv_out
    w 30 66 a0 #clkdiv_in uses bclk, pllclk_in uses bclk
    w 30 29 02 #dac_l1 and dac_r1 paths
    w 30 2b 00 #ldac not muted, gain=0db
    w 30 25 d0 #l+r dac powered up, hplcom is constant vcm output
    w 30 26 20 #hprcom is external feedback with hplcom as constant vcm
    w 30 40 80 #dac_r1 is routed to hprout
    w 30 2f 80 #dac_l1 is routed to hplout
    w 30 33 0d #hplout =0db, not muted, fully powered up
    w 30 41 0d #same for hprout

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

    此处续:  TLV320AIC3104:无法在 TLV320AIC3104 上使用具有错误的 PLL