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.

[参考译文] TAS6424M-Q1:仅 I2S 单声道输出中的 PBTL 如何获得立体声?

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/903823/tas6424m-q1-pbtl-in-i2s-only-mono-output-how-to-get-stereo

器件型号:TAS6424M-Q1
主题中讨论的其他器件:TAS6424

您好!

在处理客户项目时、在 PBTL 模式下使用 TAS6424、一切或多或少都正常工作。 除了 CH1和2以及 CH3和4是相同的、不能单独获得 L 和 R。

我一直在本论坛上阅读有关 SDIN1和 SDIN2的所有博文、分别或一起阅读、或将 SDIN2接地... 没有什么清楚的。 对我来说什么都不起作用。

我们只有一个 I2S 数据信号、因此需要同时访问 SDIN1和 SDIN2路径。 如何在 I2S 和 PBTL 模式下分别获得左侧和右侧通道? 请任何人提供帮助吗?

谢谢!

奥里奥尔

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

    Oriol、

    感谢您使用我们的 TAS6524M-Q1放大器。  让我看看我是否可以澄清一些问题。

    根据数据表、器件必须处于待机模式(/STANDBY 引脚低电平)才能针对 PBTL 对其进行编程。  只需要 SDIN1、因为左通道映射到由通道1和2组成的 PBTL 通道、右通道映射到通道3和4。  

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

    您好、Gregg、

    感谢您的回答。

    数据表实际上并不那么清晰。 我目前在发送命令之前以待机模式进入器件、这不是问题。  

    初始设计将 SDIN1和 SDIN2结合在一起、因此只获得1/2和3/4上的左通道。 如果仅使用 SDIN1、而不连接 SDIN2、则在1/2和3/4上具有相同的左通道。 如果我将 SDIN2接地、则没有声音。

    我在这个论坛上看到有人说不可能在 PBTL 模式下使用立体声模式、所以请澄清一下、我真的很希望这种模式是可能的、因为如果不是、会浪费很多时间和金钱。

    谢谢!

    奥里奥尔

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

    Oriol、

    感谢您快速返回并提供 详细的响应。  我进行了搜索并与回复帖子的工程师交谈。  

    我之前的回答不正确。  您的测量值是正确的。

    您的设计中是否有 DSP?  如果是、我们建议使用 TDM 模式或重新格式化 I2S。

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

    您好、Gregg、

    那么、PBTL 中没有立体声模式? 遗憾的是、我没有任何 DSP 在 TDM 模式下运行、我只能使用 I2S。 那么、没有办法让它正常工作? 因为是的。。。 我真的很震惊! 或任何其他引脚兼容的解决方案?

    这是我的初始化代码、它看起来是正确的吗?

    void tas6424_init (void)
    {
    
    ioport_set_pin_level (GPIO27、IOPORT_PIN_level_low);//芯片
    
    
    复位 write_byte_ms (10)进入待机模式;write_byte_data (TAS6424_ADDR、0x00、0x80);// tas6424_write
    
    _data (0x6424_byte
    
    );0x6424
    
    
    
    、tas6424_byte、0xADDR (0x24、tas_data)、0x24
    
    、0xADDR (tas_byte、0x64_byte、0x24)、0xADDR //将增益设置为2级(15V)
    
    WRITE_BYTE_DATA (TAS6424_ADDR、0x02、0x62);//为44x FS
    
    WRITE_BYTE_DATA (TAS6424_ADDR、0x03、0x04)设置 PWM;// 44100 I2S
    
    Delay_cycles (100000);
    
    WRITE_BYTE_DATA (TAS6424_ADDR、0x05、0x00);// CH1 Volume 0xCF 0dB 0.5dB/ Step
    WRITE_BYTE_DATA (TAS6424_ADDR、0x06、0x00);// CH2 Volume 0xCF 0dB 0.5dB/ Step WRITE_BYTE_DATA (TAS64dB
    、0x20dB)/ TAS6424
    、0x000dB、0x000dB、0x000dB、0x0004、0x64dB、0x000dB、0dB AUD 卷0x24 dB、0x000dB、0dB、0x000dB、0DB_ADDR_DATA (TACF、0x64dB)
    
    WRITE_BYTE_DATA (TAS6424_ADDR、0x04、0x00);//取消静音输出
    
    WRITE_BYTE_DATA (TAS6424_ADDR、0x05、0xB0);// CH1 Volume 0x0dB 0.5dB/ Step
    WRITE_BYCF_DATA (TAS6424_ADDR、0x06、0xB0dB、0xB0dB、0xB0dB、0xB0dB)
    
    ;STEPOST_0dB
    
    
    、0x24_PHY_0dB、0xB0dB、0xB0DB_VEST_VEL 0x20_RE/ PHY/ PHY_0DB_020_RET (0x20D/ TO_REN) //芯片存在 MCU
    delay_ms (10)的待机模式;
    
    
    
    } 

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

    您好 Oriol、

    在您的代码中查看我的笔记

    voidtas6424_init(void)
    {
        ioport_set_pin_level(GPIO27, IOPORT_PIN_LEVEL_LOW);  //CHIP enter standby mode by MCU
        delay_ms(10);
        
        write_byte_data(TAS6424_ADDR, 0x00, 0x80); // Chip reset
        write_byte_data(TAS6424_ADDR, 0x00, 0x30); // PBTL MODE
        write_byte_data(TAS6424_ADDR, 0x04, 0x55); // Mute Output  Actually Hi-Z mode
        write_byte_data(TAS6424_ADDR, 0x21, 0x80); // Clear all faults
        
        write_byte_data(TAS6424_ADDR, 0xff, 0x64); // Clear all faults  This is not a register in the 6424, remove
        
        write_byte_data(TAS6424_ADDR, 0x01, 0x31); // Set Gain to Level 2 (15V)
        
        write_byte_data(TAS6424_ADDR, 0x02, 0x62); // Set PWM for 44x FS
        
        write_byte_data(TAS6424_ADDR, 0x03, 0x04); // 44100 I2S
        
            delay_cycles(100000);
    // 此处更容易将您的增益设置为0x80。
        write_byte_data(TAS6424_ADDR, 0x05, 0x00); // CH1 Volume 0xCF 0dB 0.5dB/Step
        write_byte_data(TAS6424_ADDR, 0x06, 0x00); // CH2 Volume 0xCF 0dB 0.5dB/Step
        write_byte_data(TAS6424_ADDR, 0x07, 0x00); // CH3 Volume 0xCF 0dB 0.5dB/Step
        write_byte_data(TAS6424_ADDR, 0x08, 0x00); // CH4 Volume 0xCF 0dB 0.5dB/Step
    //Since the gain is set to 0x80, it will ramp from low gain to your setting of 0x80 int he next step
            write_byte_data(TAS6424_ADDR, 0x04, 0x00); // Un-mute outputs
    //删除接下来的四个步骤,因为您不需要这些步骤。
        write_byte_data(TAS6424_ADDR, 0x05, 0xB0); // CH1 Volume 0xCF 0dB 0.5dB/Step
        write_byte_data(TAS6424_ADDR, 0x06, 0xB0); // CH2 Volume 0xCF 0dB 0.5dB/Step
        write_byte_data(TAS6424_ADDR, 0x07, 0xB0); // CH3 Volume 0xCF 0dB 0.5dB/Step
        write_byte_data(TAS6424_ADDR, 0x08, 0xB0); // CH4 Volume 0xCF 0dB 0.5dB/Step
        ioport_set_pin_level(GPIO27, IOPORT_PIN_LEVEL_HIGH);  //CHIP exists standby mode by MCU
        delay_ms(10);
    现在、我们只需要针对您的 PBTL 模式构建 I2S。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的更正 Gregg、我将进行这些更改。

    请继续关注 PBTL 的立体声模式、希望有一个解决方案。 一旦您获得一些信息、请立即告知。

    谢谢!

    奥里奥尔