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.

[参考译文] TAS2505:用于将 TDM 与 TAS2505的通道选择一同使用的寄存器设置

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1375271/tas2505-register-settings-for-using-tdm-with-channel-selection-for-tas2505

器件型号:TAS2505
主题中讨论的其他器件:TAS2781TLV320AIC3120EVM-U

工具与软件:

您好!

根据应用参考指南的第71页、似乎可以通过为寄存器27 (第0页)设置音频接口= DSP 来启用 TDM 模式。

(https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1366311/tas2505-tas2505-tdm-clocks/5217488)

但是、当我初始化编解码器时、HP 输出似乎会混合所有 TDM 输入、并且仅在数据偏移= 0 (且偏移= 16或32无输出)时有效、而我希望能够使用数据偏移设置(寄存器28第0页)从1到8选择通道。

您能否说明要使用数据偏移(16位音频)选择通道、TDM 需要哪些设置?

以下是我的初始化设置、根据应用参考指南进行了调整:

cfg_reg tas2505InitCfg[] = {
    {0x00, 0x00}, // Page switch to Page 0
    {0x01, 0x01}, // Assert Software reset (P0, R1, D0=1)
    {0x00, 0x01}, // Page Switch to Page 1
    {0x02, 0x00}, // LDO output programmed as 1.8V and Level shifters powered up. (P1, R2, D5-D4=00, D3=0)
    {0x00, 0x00}, // Page switch to Page 0
    {0x04, 0x05}, // PLL_clkin = BCLK, codec_clkin = PLL_CLK, MCLK should be 11.2896MHz (P0, R4, D1-D0=03)
    {0x05, 0x11}, // Power up PLL, set P=1, R=1, (Page-0, Reg-5)
    {0x06, 0x04}, // Set J=4, (Page-0, Reg-6)
    {0x07, 0x00}, // D = 0000, D(13:8) = 0, (Page-0, Reg-7)
    {0x08, 0x00}, // D(7:0) = 0, (Page-0, Reg-8)
    {CFG_META_DELAY, 15}, // add delay of 15 ms for PLL to lock
    {0x0B, 0x84}, // DAC NDAC Powered up, NDAC=4 (P0, R11, D7=1, D6-D0=0000100)
    {0x0C, 0x82}, // DAC MDAC Powered up, MDAC=2 (P0, R12, D7=1, D6-D0=0000010)
    {0x0D, 0x00}, //  DAC OSR(9:0)-> DOSR=128 (P0, R12, D1-D0=00)
    {0x0E, 0x80}, // DAC OSR(9:0)-> DOSR=128 (P0, R13, D7-D0=10000000)
    {0x1B, 0x40}, // Codec Interface control Word length = 16bits, BCLK&WCLK inputs, DSP mode. (P0, R27, D7-D6=01, D5-D4=00, D3-D2=00)
    {0x1C, 0x00}, // Data slot offset 00 (P0, R28, D7-D0=0000)
    {0x3C, 0x02}, // Dac Instruction programming PRB #2 for Mono routing. Type interpolation (x8) and 3 programmable Biquads. (P0, R60, D4-D0=0010)
    {0x00, 0x00}, // Page switch to Page 0
    {0x3F, 0x90}, // DAC powered up, Soft step 1 per Fs. (P0, R63, D7=1, D5-D4=01, D3-D2=00, D1-D0=00)
    {0x41, 0x00}, // DAC digital gain 0dB (P0, R65, D7-D0=00000000) BEN WAS 0x00 
    {0x40, 0x04}, // DAC volume not muted. (P0, R64, D3=0, D2=1)
    {0x00, 0x01}, // Page Switch to Page 1
    {0x01, 0x10}, // Master Reference Powered on (P1, R1, D4=1)
    {0x0A, 0x00}, // Output common mode for DAC set to 0.9V (default) (P1, R10)
    {0x0C, 0x04}, // Mixer P output is connected to HP Out Mixer (P1, R12, D2=1)
    {0x16, 0x00}, // HP Voulme, 0dB Gain (P1, R22, D6-D0=0000000)
    {0x18, 0x00}, // No need to enable Mixer M and Mixer P, AINL Voulme, 0dB Gain (P1, R24, D7=1, D6-D0=0000000)
    {0x09, 0x20}, // Power up HP (P1, R9, D5=1)
    {0x10, 0x00}, // Unmute HP with 0dB gain (P1, R16, D4=1)
    {0x2E, 0x00}, // SPK attn. Gain =0dB (P1, R46, D6-D0=000000)
    {0x30, 0x10}, // SPK driver Gain=6.0dB (P1, R48, D6-D4=001)
    {0x2D, 0x02} // SPK powered up (P1, R45, D1=1)
};

谢谢!

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

    尊敬的 Ben:  

    通常支持此 IC 的工程师目前正在出差。 请允许我有一天为您检查此内容

    此致、
    Arthur

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

    感谢 Arthur、我希望我们能尽快地完成这项工作。

    如果您可以为我们尝试实现的目标提供寄存器配置(我们以前使用过 TAS2781、现在要简单得多)、那会令人惊叹、因为我发现时钟/ PLL 相关设置令人困惑。 我尝试使用 Audio_CODEC_ADC_PLL_Calculator.xlsx 工具但没有成功、不确定是否已针对此编解码器进行了更新。

    我们具有的是:BCLK = 11.2896Mhz 时的 TDM 输入(我们未连接 MCLK)、WCLK=44.1kHz、DIN 获取 TDM 数据(8个通道、每通道16位)。 我们提供所有外部电源。

    我们需要使用数据偏移来输出我们选择的通道(1至8)。

    希望这是可能的,我们以前被告知过。

    谢谢 Ben

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

    尊敬的 Ben:  

    44.1kHz 和11.2896MHz 和8通道提供每通道32位、支持16位数据。

    由于输入时钟11.2896 MHz 是所需帧时钟的倍数、因此不需要 PLL。 它可以保持断电状态、CODEC_CLKIN 可以直接是 BCLK。 NDAC= 1、MDAC=2、DOSR=128。 我与前面提到的 支持这一点的同事讨论过、在计算 PLL/分频器值时、他将使用 TLV320AIC3120EVM-U 软件来计算这些值

    此致、

    Arthur

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

    谢谢 Arthur、这很有用。

    然而、我相信编解码器可能不支持从 TDM 选择通道、您能向您的同事咨询一下吗?

    如果是这种情况、TDM 的重点是什么、因为数据表中说它支持多通道操作?

    谢谢

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

    尊敬的 Ben:  

    您将能够 通过页0寄存器0x1C 中的偏移选择回放通道。

    此致、
    Arthur

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

    您好、Arthur、有关信道选择的好消息、现在似乎在工作、因此有一些进展。

    我将在通道1、2、3上获取3个不同频率的正弦波、并设法通过偏移0x1C 分别选择它们。

    但是、有很多噪声(白噪声和 tremolo 的混合)、甚至认为 TDM 信号(BCLK、WCLK 和 DIN)非常干净。

    我已经完成了所有设置并将混音器更新为仅输出到 HP。

    请参阅下面的寄存器配置和原理图(TAS HP 输出连接到另一个编解码器作为模拟输入)。

    再次感谢您的建议。

    {0x00, 0x00}, // Page switch to Page 0
        {0x01, 0x01}, // Assert Software reset (P0, R1, D0=1)
        {0x00, 0x01}, // Page Switch to Page 1
        {0x02, 0x00}, // LDO output programmed as 1.8V and Level shifters powered up. (P1, R2, D5-D4=00, D3=0)
        {0x00, 0x00}, // Page switch to Page 0
        {0x04, 0x01}, // codec_clkin = BCLK
        {0x05, 0x01}, // No PLL required
        {0x0B, 0x81}, // DAC NDAC Powered up, NDAC=1
        {0x0C, 0x82}, // DAC MDAC Powered up, MDAC=2
        {0x0D, 0x00}, //  DAC OSR(9:0)-> DOSR=128 (P0, R12, D1-D0=00) 
        {0x0E, 0x80}, // DAC OSR(9:0)-> DOSR=128 (P0, R13, D7-D0=10000000)
        {0x1B, 0x40}, // Codec Interface control Word length = 16bits, BCLK input, DSP mode (0x40 / i2s=0x00)
        {0x1C, 0x00}, // Data slot offset
        {0x3C, 0x02}, // Dac Instruction programming PRB #2 for Mono routing. Type interpolation (x8) and 3 programmable Biquads. (P0, R60, D4-D0=0010)
        {0x00, 0x00}, // Page switch to Page 0
        {0x3F, 0x90}, // DAC powered up, Soft step 1 per Fs. (P0, R63, D7=1, D5-D4=01, D3-D2=00, D1-D0=00) BEN WAS 0x90
        {0x41, 0x00}, // DAC digital gain 0dB 
        {0x40, 0x04}, // DAC volume not muted. (P0, R64, D3=0, D2=1)
        {0x00, 0x01}, // Page Switch to Page 1
        {0x01, 0x10}, // Master Reference Powered on (P1, R1, D4=1)
        {0x0A, 0x00}, // Output common mode for DAC set to 0.9V (default) (P1, R10)
        {0x0C, 0x08}, // Mixers: No analog routing to SPK driver and HP drive, DAC output is routed directly to HP driver
        {0x16, 0x28}, // HP Volume, dB Gain -20db
        {0x18, 0x75}, // No need to enable Mixer M and Mixer P, AINL Voulme, 0dB Gain (P1, R24, D7=1, D6-D0=0000000)
        {0x09, 0x20}, // Power up HP (P1, R9, D5=1), AINR/L disabed
        {0x10, 0x00} // Unmute HP with 0dB gain

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

    你(Ben)好

    我检查了您的配置、但我没有看到任何严重的失真、您是否听到来自 TAS 器件输出的这种噪声?  还是在  PCM 设备的输出上?

    以下已选中的 TDM 设置。

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

    您好、Arthur、

    我们检查了 TAS 的输出结果、结果完全相同、我们在多个板上进行了测试、但它们都有相同的问题。

    如果您有任何其他想法、请告知我们。

    谢谢 Ben

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

    尊敬的 Ben:  

    好的、明白了、我将与团队讨论、看看可能是什么问题。

    我会在今天或明天晚些时候给您回复。  

    此致、
    Arthur

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

    谢谢 Arthur、

    另外、是否还值得尝试移除 AVDD 和 DVDD 的外部电源(来自1.8V AP61102Z6稳压器)并改用内部电源?

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

    尊敬的 Ben:  

    好主意、我们以前实际上确实遇到了一些 LDO 问题。 我会检查一下。

    此致、
    Arthur

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

    你好、亚瑟、任何关于这一点的消息、我们已经尝试了所有的东西、仍然在正弦波上得到 trammolo、我们停留在这一点。

    如果您的团队可以再次检查我们的设置并确认 LDO、这将非常有帮助。

    谢谢

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

    尊敬的 Ben:  

    我设置此设置并再次检查为 AVDD 和 DVDD 供电的 LDO、但它没有产生影响、  

    我能够通过从 TDM 源更改 BCLK 极性来非法一些奇怪的失真。

    您能评论一下 BCLK 极性吗、您能否确认每个数据位都在 BCLK 的下降沿设置并在 BCLK 的上升沿随时钟传入?

    此外、FSYNC 上的帧起始是否同时在 BCLK 上有下降沿?

    此致、

    Arthur

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

    您好、Arthur、

    很遗憾、我们对此问题感到非常沮丧!

    我们购买了 EVM、但发现我们无法使用 TDM 进行测试、因为微控制器会生成自己的信号以通过 USB 进行播放。

    播放 I2S 时效果非常好。 我们不了解多通道 TDM 为何会出现问题、并想知道是否曾对其进行过测试?

    看到信号的2个屏幕截图、第一个是 BCLK/WCLK、第二个是 BCLK/DATA (我们只有2个探头)、您可以看到 WCLK 和 DATA 随着 BCLK 下降而上升(我们也尝试了 BCLK 极性反转、还尝试了数据偏移=1或2等、以及这些设置的所有不同组合)。

    您能告诉我们您如何测试终端吗? 您使用的是仿真还是实际的硬件?

    非常感谢、如果您不能帮助我们、我们将最终放弃。

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

    尊敬的 Ben:  

    我在 TAS2505EVM 上进行了测试、但我切断了布线并添加了一个100mil 接头、从而允许连接 TDM 源。 -所以它不是模拟的。

    当您使用 I2S 进行测试时、您的 BCLK 频率在正确的频率上会低得多? 我怀疑、当您在 DSP/TDM 模式下使用11MHZ BCLK 时、时序可能微不足道、也可能不满足数据表中的要求。  

    将 BCLK 从11.2896MHz 降低到5.6448MHz 是否可行? 如果您的 MCU 支持、您仍然能够实现8个通道的16位数据。

    您能否从 HP 输出中捕获波形并进行共享? 它可以给出一些关于我们所拥有的失真类型的线索。

    此致、
    Arthur

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

    您好、Arthur、

    是的、您是对的、I2S 时钟约为2.82Mhz。

    遗憾的是、我们无法控制 TDM 源、因此我们无法将其降低到5.6Mhz。

    我不太熟悉时钟的时序要求、但是这似乎确实是个问题。

    然而、在11.3MHz 时、BCLK 周期约为88ns (这可以从我们的屏幕截图中看到)、因此35ns 应该会提供足够的时间。 但是、这是否会导致上升和下降时间存在问题、如果它们超过4ns 会发生什么情况?

    需要注意的2件事:

    -您是否使用 MCLK 进行测试? 如前所述、我们仅接收 BCLK

    -我们之前使用的编解码器(TAS2781不幸的是,我们不能用于这个项目)没有问题与相同的 TDM 源,时序要求是相似的,但有一个更低的 tH 和 TL 的 BCLK (20ns)可以解释差异:

    我们从 HP 输出获取了几张波形的屏幕截图(如果有帮助的话)(原始是正弦波)

    和放大图:

    再次感谢您的帮助、非常感谢!

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

    尊敬的 Ben:  

    是的、我在没有来自 TDM 源的 MCLK 输入的情况下使用 BLK。 此外、与您相同的脚本、无需任何修改。  

    您是否可以共享正在播放到设备的数据? 它是.wav 文件、数据数组还是其它类型的文件?

    从您共享的波形来看、它看起来类似于解释为有符号二进制补码的无符号数据。

    您看到的失真是否与第二幅图像类似? 这个波形是常数吗?

    此致、
    Arthur   

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

    您好、Arthur、

    我们将通过 TEENSIS 板获取 TDM、请参阅 https://www.pjrc.com/teensy/gui/?info=AudioOutputTDM。

    关于波形、这并不是不稳定的、它会像您在第一幅图像上看到的那样波动。

    谢谢您、我们计划像您一样切割轨道、以使用 EVM 进行更多测试。

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

    尊敬的 Ben:  

    好的、有趣的、有一个问题、如果你捕获一个 FSYNC 时钟和数据信号的帧、它看起来是什么样子的? 该捕获会持续存在。 数据的位置是否似乎在变化?

    在本例中、对于每帧256BCLK、我们预计数据将 在前16个时钟周期进行切换、在下16个时钟周期不进行切换、依此类推。 您看到这种行为吗?

    此致、
    Arthur

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

    您好、Arthur、

    好消息是、这最终是由于 TDM 数据不正确。

    我们正在使用第二条 TDM 线(teensy 支持2)、并且仅检查了第一条线上的数据是否正确。 TDM2存在错误、这意味着一些随机数据已添加到 TDM 流中。

    我们现在已经成功通过反相 BCLK 极性和添加1位偏移获得了完美的音质。

    非常感谢您的帮助,坚持不懈和时间,我们非常欣慰,编解码器工作如预期!

    很抱歉未能尽快发现此问题。