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.

[参考译文] TAS5548:Tas5548

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1508071/tas5548-tas5548

部件号:TAS5548
主题: PCM1808中讨论的其他器件

工具/软件:

最好的问候,我使用的是 TAS5548评估板,但我得到了噪音在输出,主音量设置为+17.75db,但在数据表7.4.17 THD 管理器会话中,他们提到了前置和后置,如果我禁用它们 ,它产生了大量的噪音在最大音量,但如果我调整后置为-36db,它降低了噪音,但输出的音量帮助,我希望你。  

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

    尊敬的 Teobaldo:

    您使用的输入信号幅度是多少? 此外、您为器件设置的具体增益级别是什么?
    我们将根据这些信息再次进行检查。

    此致、
    -伊凡·萨拉扎尔
    应用工程师

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

    不超过120mV、我使用的是 PCM1808、日志通过 esp32发送。

    #include <Wire.h>
    
    #define TAS5548_ADDR 0x1A  // Dirección I2C del TAS5548
    
    void writeReg(uint8_t reg, uint8_t val) {
      Wire.beginTransmission(TAS5548_ADDR);
      Wire.write(reg);
      Wire.write(val);
      Wire.endTransmission();
    }
    
    void writeReg4(uint8_t reg, uint8_t b0, uint8_t b1, uint8_t b2, uint8_t b3) {
      Wire.beginTransmission(TAS5548_ADDR);
      Wire.write(reg);
      Wire.write(b0);
      Wire.write(b1);
      Wire.write(b2);
      Wire.write(b3);
      Wire.endTransmission();
    }
    
    void setup() {
      Wire.begin(21, 22); // SDA, SCL
      delay(500);
    
      // ==== Configuración inicial del TAS5548 ====
      writeReg(0x03, 0xA0); // PWM high pass activado, MidZ habilitado, canales activos
      writeReg(0x04, 0x03); // SDOUT activo
      writeReg(0x0E, 0x14); // I2S, 24 bits
      writeReg(0x0F, 0x00); // Mute suave desactivado
      writeReg(0x10, 0x0A); // Energy manager
      writeReg(0x14, 0x01); // Umbral de automute -60dBFS
      writeReg(0x15, 0x00); // PWM min threshold
      writeReg(0x16, 0x01); // Modulación 98.43% CH1/2
      writeReg(0x17, 0x01); // Modulación 98.43% CH3/4
      writeReg(0x24, 0x0F);  // Tiempo de secuencia PWM
      writeReg(0x25, 0x00);  // BD Mode (D5 = 0)
    
      // ==== Configurar BD Mode en canales ====
      writeReg(0x30, 0x11); // CH1/CH2 en BD
      writeReg(0x31, 0x11); // CH3/CH4 en BD
    
      // ==== Asignación de canales a salidas PWM ====
      writeReg(0x34, 0x01);  // PWM1 = canal 1, PWM2 = canal 2
      writeReg(0x35, 0x23);  // PWM3 = canal 3, PWM4 = canal 4
    
      // ==== Enrutamiento SDIN1 a canales ====
      writeReg(0x36, 0x00); // Canal 1 → SDIN1
      writeReg(0x37, 0x00); // Canal 2 → SDIN1
      writeReg(0x38, 0x00); // Canal 3 → SDIN1
      writeReg(0x39, 0x00); // Canal 4 → SDIN1
    
     
    
      // ==== Retardo entre canales (si se desea) ====
      writeReg(0x38, 0x10);  // Canal 0: +16 DCLK
      writeReg(0x39, 0x10);  // Canal 1: +16 DCLK
      writeReg(0x3A, 0x10);  // Canal 2: +16 DCLK
      writeReg(0x3B, 0x10);  // Canal 3: +16 DCLK
    
      // ==== Volumen maestro ====
      writeReg4(0xD9, 0x00, 0x00, 0x00, 0x01); // +17.75 dB
      //writeReg4(0xD9, 0x00, 0x00, 0x00, 0x0C); // +15dB
    
      // ==== THD Manager ====
      //writeReg4(0xE9, 0x03, 0x80, 0x00, 0x00); // THD Pre +20 dB
      writeReg4(0xE9, 0x03, 0x40, 0x00, 0x00); // THD Pre +17 dB
      writeReg4(0xEA, 0x00, 0x08, 0x00, 0x00); // THD Post -36 dB
    
      // ==== Configuración de umbrales alto y bajo para los canales ====
      // Umbral alto para satélite (en formato 5.23
      writeReg4(0xBB, 0x00, 0x00, 0x1F, 0x40);  // 1.5 
      // Umbral bajo para satélite (en formato 5.23
      writeReg4(0xBC, 0x00, 0x00, 0x10, 0x00);  // 1.0 
      // Umbral alto para subwoofer (en formato 5.23
      writeReg4(0xBD, 0x00, 0x00, 0x20, 0x00);  // 2.0 
      // Umbral bajo para subwoofer (en formato 5.23
      writeReg4(0xBE, 0x00, 0x00, 0x10, 0x00);  // 1.0 
    }
    
    void loop() {
      // Lógica opcional
    }

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

    感谢您提供的额外信息、我们将在本周稍后查看并提供进一步评论。

    此致、
    -伊凡·萨拉扎尔
    应用工程师

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

    谨致问候、已经10天了、没有帮助

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

    尊敬的 Teobaldo:

    很抱歉耽误你的时间。

    我已经完成了您的脚本、并记下以下几项:

    • 寄存器0x0E 设置为0x14、但根据内联注释、显示为"I2S、24位"、因此您可以改用默认值0x55
    • 寄存器0x14设置为0x01、这是-90dBFS 的阈值、但您的内联注释显示"-60dBFS "、只需仔细检查您期望的结果
    • 寄存器0x16 为 CH1和 CH2设置不同的调制指数、请注意、MSB 对应于 CH2、LSB 对应于 CH1
    • 寄存器0x17与上述0x16具有相同的问题
    • 寄存器0x31为 CH3和 CH4设置与 CH1和 CH2相同的输入多路复用器设置、另外全部4个选择通道2、只需仔细检查其是否符合预期
    • 寄存器0x36、0x37、0x38和0x39有一个部分引用了 SDIN1、请注意、这些寄存器用于其他目的、因此该段可能不正确
    • 寄存器0x38、0x39、0x3a 和0x3b 均设置为相同的值。 根据第7.6.2.19节中的说明、每个通道具有不同的延迟可能有助于降低由于 PSU 过载或通道互调而导致的 THD。 最好使用默认值进行测试。

    除此之外、最好开始使用大多数默认设置、一次只对设置进行少量更改、从 THD 管理器开始、因为此功能可能会引入削波、从而影响 THD 性能。

    此致、
    -伊凡·萨拉扎尔
    应用工程师

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

    默认设置涉及以下内容:7.6寄存器映射?

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

    我在查看数据表、但我没有找到任何有关死区的信息、因为 PWM 输出+和-没有偏移。

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

    是寄存器映射中的那些值;这些应与下电上电后器件存储器的内容相同。

    此致、
    -伊凡·萨拉扎尔
    应用工程师