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.

[参考译文] TAS2110:Rx、带 I2S/左对齐

Guru**** 2651185 points

Other Parts Discussed in Thread: TAS2110

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

https://e2e.ti.com/support/amplifiers-group/amplifiers/f/amplifiers-forum/1577810/tas2110-rx-with-i2s-left-justify

器件型号:TAS2110


您好!  
我将通过 SDIN 引脚向 TAS2110 发送数据。  
我注意到 PPC3 未导出 TDM 配置 (TDM_CG)  
我打算使用 PCM/I2S 左对齐、单通道、在每个帧周期输出 L 和 R。  

我将这些寄存器添加到列表中。  

{0x07、0x03}、// RX 左侧图形、RX_OFFSET = 1
{0x08、0x00}、// RX 立体声下混频、16 位字、16 位时隙长度
 

看一下线路、数据看起来就像正确的一样。  
音频不像声音提示音、声音乱码。  
有任何对此进行调试的建议?  

我正在使用 Zephyr 3.5.0、这里是我的设置

i2s_cfg.word_size = 16U;
i2s_cfg.channels = 2U;
i2s_cfg.format = I2S_FMT_DATA_FORMAT_PCM_SHORT | I2S_FMT_DATA_FORMAT_LEFT_JUSTIFIED;
i2s_cfg.frame_clk_freq = 48000;
i2s_cfg.block_size = BLOCK_SIZE;
i2s_cfg.timeout = 2000;
i2s_cfg.options = I2S_OPT_FRAME_CLK_MASTER | I2S_OPT_BIT_CLK_MASTER;
 

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

    您好、Michael:

    您是否启用了任何器件控制功能、例如欠压保护或低 EMI 展频? 如果器件正在接收适当的数据/时钟、或许这些特性之一可能会影响输出信号质量。  

    此致、

    Sebastian  

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

    谢谢 Sebastian。  

    看起来它们在默认情况下都处于打开状态。  
    我只是关闭它们并获得相同的结果。  

    第一次,我在我的笔记本和 windows 机器上获得了音频。  
    我会继续撒谎。



    我附加了 GUI 屏幕截图。  

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

    我注意到了。 如果使用 XMOS 作为声音设备、它仅在我从 PPC3 上电时才起作用。  
    使用带有 PPC3 的 i2c 记录器、我可以在上电->关闭->打开时获得以下 3 个序列。  

    W 98 00 00
    宽 98 7f 00
    W 98 00 00
    W 98 02 0c
    W 98 00 00
    宽 98 7f 00
    W 98 00 00
    W 98 02 0e
    W 98 00 00
    宽 98 7f 00
    W 98 00 00
    W 98 02 0c
    我用我的配置添加了该功能、但音频仍然失真。  
    我是否也应该禁用散热器?  

    我还意识到我需要 I2C 上拉、因此看起来更好。  


    当我按下完整配置时、我看到很多时钟延展


    放大的寄存器 0x5b
    这是该文件底部的配置循环、我在两次尝试之间增加了 5ms 的延迟、在重试前增加了 10ms 的延迟
    这在 while 循环中有计时器从小型状态机向 I2S 缓冲区填充后触发。  
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在线路上绘制 I2S 数据时、我可以看到我的波形以及我认为逻辑探头/导线的异常值。  
    即使存在这些偏差、我也希望能听到带有噪声的正弦波的某些部分。  

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

    您好、Michael:

    抱歉我忽略了这一点、但看起来此器件只能在 32 位时支持 2 个时隙、在 16 位、24 位或 32 位时支持 4 个或 8 个时隙。  

    我不确定您的 I2S 输入是否受支持、我会在 EVM 上查看。  

    此致、

    Sebastian

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

    谢谢 Sebastian。 我以为我在 16 位签名时只执行 2 个时隙。 我真的只想使用单个单声道、但我不确定如何使用此芯片。 我当前正在将相同的数据复制到两个通道、希望可以正常工作。  

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

    稍等、如果我更改为 32 位、我们可能会很好吗? 我会立即尝试。 谢谢。  

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

    这很有趣。 在 I2S 从模式下、nRF52 只能执行 32 位模式。  
    也许我可以用这个驱动程序在 16 或 24 时找出 4 个时隙。  

    https://devzone.nordicsemi.com/f/nordic-q-a/15713/i2s-32-bit-word-size/59992

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

    是否有人使用了 nrf52840 驱动此驱动器?

    我尝试 32 位字-  

    [00:00:00.252,410] I2S_nrfx:不受支持的字大小:32
    [00:00:00.252,410] tas2110:配置 I2S 流失败

    我尝试 4 个 16 位通道-

    [00:00:00.252,410] I2S_nrfx:不受支持的通道数:4.
    [00:00:00.252,410] tas2110:配置 I2S 流失败

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

    您好、Michael:

    32 位即可满足您的需求。 确保您具有与上一个片段中匹配的 SBLCK 与 FSYNC 的比率。

    我以前没有使用过 NRF52840。  

    此致、

    Sebastian

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

    问题就是这样。 此 MCU 不能执行 32 位!  

    我在北欧论坛上发布了这一消息,引用了一条同样令人担忧的旧消息。  
    支持工程师仅验证了 2 个通道、但漏掉了有关 32 位帧限制的详细信息。  

    devzone.nordicsemi.com/.../i2s-capabilities-on-nrf52840

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

    他们作出了反应  

    https://devzone.nordicsemi.com/f/nordic-q-a/125161/i2s-capabilities-on-nrf52840

    看起来他们可以生成一个填充为 32 位的插槽、但我担心二进制补码数不会被符号扩展。  

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

    您好、Michael:

    了解限制。 也许您可以尝试生成具有填充的 32 位插槽、看看它是否正常工作?  

    此致、

    Sebastian