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.

[参考译文] TLV320AIC3100:TLV320AIC3100

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1347673/tlv320aic3100-tlv320aic3100

器件型号:TLV320AIC3100
主题中讨论的其他器件: TLV320AIC23B

是否有完全熟悉 TLV320AIC3100的寄存器配置的人可以帮助我安装和运行该器件?

我之前有一个使用 TLV320AIC32b 的系统可以与该器件正确配合使用、需要迁移到  TLV320AIC3100。

MCLK、BCLK、WCLK 全部由我的 DSP 器件创建。  

我正在将 CodecControl.exe 应用与 TLV320AIC3100EVM-U 的仿真配合使用。

纵观时钟路由视图、如何设置选项、以便直接从 DSP 生成的时钟而不是从内部时钟生成模块对编解码器进行计时?

我发送什么寄存器设置?  更改 GUI 剂量上的时钟路由似乎不会更改应用程序生成的 Init 脚本。

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

    Bruce、您好!

    TLV320AIC3100默认设置为从外部源接收 MCLK、BCLK 和 WCLK。 无需进行任何更改。 Init 脚本只是一个被加载的 txt 文件;它对您的更改没有反应性。 不过,您可以使用 init 脚本作为要实现的目标的起始示例。

    此致、
    J·麦克弗森

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

    Jeff、

    其它哪些设置是"默认值"?
    如果我不发送初始化脚本、该器件是否会通过音频?  它会打开 D 类放大器吗? 它是否使用24位字长?

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

    在"编解码器控制"初始化创建的所有命令中,我需要让此设备将音频从麦克风输入传递到扬声器输出中的哪些命令?

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

    Bruce、您好!

    如果不发送脚本、则设备在功能上处于待机状态:设备通电、但所有音频信号链均断电。  

    默认情况下、器件设置为16位字长、如下图所示。 您可以通读寄存器映射以查找所有默认设置。 我稍后会解答您的以下问题。

    此致、
    J·麦克弗森

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

    这是我需要的配置。

    如果我同时为 MCLK、BCLK 和 LRclk 计时、我是否需要为内部生成的 BCLK 供电?  (红圈)

    如何获取这些所需设置的脚本而无需单独切换每个编辑框并在命令缓冲区窗口中记录?
    有什么方法可以缩短这个过程吗?

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

    Bruce、您好!

    不需要、如果您在外部提供时钟、则无需为内部 BCLK 或 PLL 上电。

    获得麦克风输入->扬声器输出的最简单步骤是使用第1页寄存器35使用模拟旁路路径。  

    设置旁路路径、启动扬声器驱动程序并设置音量。 除了调整时钟设置之外、您需要完成的就是这些。

    如果要浏览整个信号流、可使用环回选项(fyi 这些选项并不作为任何可单击的开关出现在 GUI 中)  

    在 ADC、DAC 上电并设置信号路径后、您可以使用这些环回选项将 DIN DOUT 引脚短接在一起、或在内部将 ADC 输出连接到 DAC 输入。  

    至于命令窗口的短切、如果您将鼠标悬停在 GUI 中的开关上、相应的寄存器(十进制)和寄存器的当前值会显示在屏幕底部靠近"EVM Activity"(EVM 活动)指示灯的位置。  

    此致、
    J·麦克弗森

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

    寄存器是否应按照任何特定的顺序进行设置?  不同子系统上电的顺序如何?

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

    Bruce、您好!

    该订单基本上可以接受您选择的任何订单。 为了实现最佳实践、我应在为任何块上电之前先设置连接(将麦克风输入设置为 ADC、DAC 输出/扬声器旁路路径等)、然后开机并最后取消扬声器的静音。 这将有助于避免爆裂声。

    此致、
    J·麦克弗森

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

    Bruce、您好!

    我有一个 EVM、可以使用它来模仿您的设置、从而尝试帮助缩小问题的范围。 看着你的脚本、没有任何东西能突出我。  

    当我进一步研究您的代码时、如果您认为 DSP 没有看到任何输入、您是从 DOUT 引脚获得任何活动还是它完全平坦? 切换时、表示已启用 ADC、很可能获得了正确的时钟。

    谢谢。
    J·麦克弗森

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

    我将检查数据线路。  

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

    Bruce、您好!

    我在下面附加了一个脚本、我用于获取模拟输入、模拟输出。 它基于 EVM 初始化脚本、只需几行附加代码。 以便提高 D 类音量并连接模拟旁路环路。 我将附加整个脚本供您参考、但您可能需要在开始时更改计时值以使它们匹配。 但至少这可以保证信号流正确无误。

    在我构建这个函数时、我注意到你没有设置寄存器 P1/R38。 这是 D 类驱动器之前的衰减器、默认设置为-78dB。 即使正确为 D 类加电并且您看到了 PWM 波、但如果不设置寄存器38、您也无法看到您的信号。 这是我要修复的第一件事、但我会向您提供我之前提到的脚本、以便您具有可正常使用的参考。

    #			--------------------------------------------------------------- page 0 is selected 
    w 30 00 00
    #			 s/w reset
    w 30 01 01
    #			 PLL_clkin = BCLK,codec_clkin = PLL_CLK
    w 30 04 07
    w 30 05 91
    w 30 06 20
    w 30 07 00
    w 30 08 00
    #			 mode is i2s,wordlength is 16
    w 30 1b 00
    #			 NDAC is powered up and set to 4
    w 30 0b 84
    #			 MDAC is powered up and set to 4
    w 30 0c 84
    w 30 12 84
    w 30 13 84
    #			 DOSR = 128, DOSR(9:8) = 0
    w 30 14 00
    #			             DOSR(7:0) = 128
    w 30 15 80
    #			 CLOCKING ENDS HERE
    #
    #			 DAC => volume control thru pin disable 
    w 30 74 00
    #			 DAC => drc disable, th and hy
    w 30 44 00
    #			 DAC => 0 db gain left
    w 30 41 00
    #			 DAC => 0 db gain right
    w 30 42 00
    #			--------------------------------------------------------------- page 1 is selected
    w 30 00 01
    #			 De-pop, Power on = 800 ms, Step time = 4 ms
    w 30 21 4e
    #			 HPL and HPR powered up
    w 30 1f c2
    #			 LDAC routed to HPL, RDAC routed to HPR
    w 30 23 44
    #			 HPL unmute and gain 1db
    w 30 28 0e
    #			 HPR unmute and gain 1db
    > 0e
    #			 No attenuation on HP
    w 30 24 00
    w 30 25 00
    
    #			 MIC BIAS = AVDD
    w 30 2e 0b
    #			 MICPGA P = MIC 10k
    w 30 30 40
    #			 MICPGA M - CM 10k
    > 40
    #			--------------------------------------------------------------- page 0 is selected
    w 30 00 00
    #			 select DAC DSP mode 11 & enable adaptive filter
    w 30 3c 0b
    w 30 00 08
    w 30 01 04
    w 30 00 00
    #			 POWERUP DAC left and right channels (soft step disable)
    w 30 3f d6
    #			 UNMUTE DAC left and right channels
    w 30 40 00
    #			 POWERUP ADC channel
    w 30 51 80
    #			 UNMUTE ADC channel
    w 30 52 00
    #			--------------------------------------------------------------- page 1 is selected
    w 30 00 01
    #			 Unmute Class-D Left
    w 30 2a 1c
    #			 Unmute Class-D Right
    w 30 2b 1c
    #			 Power-up Class-D drivers
    w 30 20 c6
    #			 Connect MIC1LP and MIC1RP to Speaker Outputs
    w 30 23 54
    w 30 23 74
    #			 Set analog attenuator to Class D output to 0dB
    #			 The GUI recorded the same write twice
    #			 Likely a bug in the gui but im leaving it incase it is necessary			 
    w 30 26 00
    w 30 26 00

    此致、
    J·麦克弗森

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

    关于: "我注意到您没有设置寄存器 P1/R38。 "


                   0x2400、                // HP 无衰减
                   0x2500、                //
                   0x2600、                // D 类 Atten = 0
                   0x2A1C、             // D 类+24dB 增益

    这在我的 init 脚本中。
                   

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

    抱歉。 我将十六进制和十进制地址混在一起、误解了您的脚本。 不管怎样、测试结果与我提供的信息是怎样的?

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

    我确认 ADC 看到音频输入、DOUT 数据随该输入而变化。  

    我认为可能需要交换数据流中的左右通道、以便我的 DSP 可以看到数据。  

    我在数据表中看到、ADC 单声道输入在 I2S 流的左右两相位上发送。 是这样吗?

    我将在 MCLK、LRclk 和 DOUT 上看到数字示波器、以确认我获得了正确的时序。  

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

    我注意到、ADCout 的逻辑电平规格为 VOH (0.8 x IOVdd)
    对于3.3V IOVdd、我测量的电压大约是2.45V

    我的 DSP 逻辑输入的最小 VIH 为2.0V

    为什么 I2S 输出电平这么低?

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

    Bruce、您好!

    是的、器件是"双单声道"、这意味着它的左右通道与单声道 ADC 的数据相同。

    3.3的0.8号(假设完美的3.3V 电源)为~2.6V、因此理由是2.45V。 如果 DSP 的最小高电平为2V、则 I2S 数据应非常容易地清除该阈值。

    当您说"输出电平为低电平"时、您还在谈论逻辑电平还是指音频音量?

    谢谢。
    J·麦克弗森

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

    逻辑电平。 我的 DSP 仍然看不到传入的数据。 由于数据速率由 DSP (主设备)控制、还有什么因素可以阻止 DSP 识别数据?  我会同时监控 I2S 流的左右通道。 我们使用 TLV320AIC23b 时、它工作正常。 同一个板。 刚才取消了 AIC23b 部分并组装了 AIC3100

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

    Bruce、您好!

    您的 DSP 是否设置为期望与编解码器设置的格式相同? 这可能是标准 I2S 格式。 如果您担心逻辑电平、阈值是可以调整还是固定的?

    我在示波器上看到数据是交流耦合的。 如果您对它进行直流耦合、是否存在可能导致违反逻辑阈值的任何失调电压?

    另外、我不确定 AIC23B 和 AIC3100是引脚对引脚兼容的。 观察引脚排列、会发现它们有很大不同。

    (AIC23B)

    (AIC3100)

    我不确定您是如何使器件在不更改任何布局的情况下工作的、所以您能否确认 DOUT 引脚已连接到正确的 DSP 端口?

    谢谢。
    J·麦克弗森

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

    2种不同的器件在电路板上具有完全独立的区域。  

    我只是在评论逻辑水平和寻找一些线索,为什么我不能从3100检测到 ADCData

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

    Bruce、您好!

    明白了。 我不是 DSP 专家、但如果是 TI 器件、我可以将您指给该团队。

    正如我之前提到的、我将使用直流耦合来测量 DOUT、以确保准确的逻辑电平、而不是相对逻辑电平。  我还会再次检查编解码器和 DSP 上的 I2S 格式设置以确保它们匹配。 有时、如果意外接收到格式、则输入会被忽略。  

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

    我可以看到、在使用3.3V 系统时、AIC3100的 DOUT 引脚仅上拉至~2.4V 以实现高数据。

    是否可以添加一个外部 上拉电阻器来使 VOH 接近3.3V?

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

    Bruce、您好!

    我之前被弄错了、该器件在3.3V 时的最小输出电平应为2.6、因此2.4V 超出规格。 如何测量 DOUT 引脚? 您是否能够将其与 DSP 断开并在进行测量时让其浮动(直流耦合)?

    谢谢。
    J·麦克弗森

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

    将其与 DSP 断开可使其达到 VOH = 3.3V

    我将通过查看 DSP 的设置来了解为什么会出现这种情况。

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

    我不明白的一点是、使用 AIC23b 的电路板和使用 AIC3100的电路板之间的 DSP 主代码库是相同的。  

    23b 工作正常、DOUT 信号电平一直拉至3.3V。

    这只是3100上的驱动器容量问题吗?

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

    Bruce、您好!

    我同意这可能是驱动强度问题。 我不确定确切的限制、因为数据表未根据电流明确列出确切的限制、但我会尝试提高接收 DOUT 的 DSP 引脚的输入阻抗。 AIC3100提供的电流可能不足以使负载按照您设置的阻抗保持在3.3V 附近。

    此致、
    J·麦克弗森

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

    Jeff、

    非常感谢您在这次调试之旅中来到这里。

    当我仔细看时、我发现 DOUT 和 Din 总线在 PCB 布局上互换了。

    该器件现在可以传输音频。

    任务仍然是使增益结构正确平衡并修复 PCB 布局。

    再次感谢。