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.

[参考译文] TLV320DAC3203:编程审查

Guru**** 2523830 points


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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1082091/tlv320dac3203-programming-review

部件号:TLV320DAC3203

您好,

我使用 DAC3203替换产品中使用 AKM 作为主 DAC 的部件,以在 USB 音频设备中驱动耳机。 该芯片的 ADC 部分未被使用。

当我在自己的定制硬件上启动并运行时,一切似乎都运行正常,我想验证我的方法是否正确。

首先,我正在通过 I2C 设置具有以下寄存器的 DAC3203:

typedef struct {
    unsigned char command;
    unsigned char param;
} dac3203_reg;


dac3203_reg DAC3203_REGISTERS[] =
{
        {0x00, 0x00},       // Initialize to page 0
        {0x01, 0x01},       // Initialize device through software reset
        {0x0b, 0x81},       // Power up the NDAC divider with value 1
        {0x0c, 0x82},       // Power up the MDAC divider with value 2
        {0x0d, 0x00},       // Program the OSR of DAC to 128
        {0x0e, 0x80},
        {0x1b, 0x30},       // Set word length of audio interface to 32 bits
        {0x3c, 0x08},       // Set the DAC mode to PRB_P8

        {0x00, 0x01},       // Select Page 1
        {0x01, 0x08},       // Disable weak AVDD to DVDD connection
        {0x02, 0x01},       // Power up AVDD LDO
        {0x7b, 0x01},       // Set the REF charging time to 40ms
        {0x0a, 0x00},       // Set input common mode to 0.9v and output common mode for HP to input common mode
        {0x0c, 0x08},       // Route L DAC to HPL
        {0x0d, 0x08},       // Route R DAC to HPR
        {0x03, 0x00},       // Set the DAC PTM mode to PTM_P3/4
        {0x04, 0x00},
        {0x10, 0x16},       // Set HPL gain to 22dB
        {0x11, 0x16},       // Set HPR gain to 22dB
        {0x14, 0x29},       // HP soft stepping settings for optimal pop performance at power up. Rpop used is 6k with N = 6 & soft step = 20usec.
        {0x09, 0x30},       // Power up HPL and HPR drivers

        {0x00, 0x00},       // Select page 0
        {0x3f, 0xd4},       // Power up the left and right DAC channels and route I2S data, soft step enabled
        {0x40, 0x01},       // Unmute the DAC digital volume control, Left Channel Volume is controlled by Right Channel Volume Control setting
        {0x42, 0xD8}        // Set default HP level
};


接下来,我通过写入值来更改增益,使其在 第0页上注册0x42。  

这基本上就是我所做的一切。 我可以根据需要更改输出级别,当我更改采样率时,音频将继续播放,并且没有错误。

本设备支持以下采样率和时钟。 同样,我也没有对采样率变化做任何特别的事情-正如我所提到的,一切似乎都正常工作,听起来不错。

44.1 kHz

MCLK = 22.57 MHz

BCLK = 2.8 MHz

LRCLK = 44.1 kHz

48 kHz

MCLK = 24.57 MHz

BCLK = 3.07 MHz

LRCLK = 48.0 kHz

88.2 kHz

MCLK = 22.57 MHz

BCLK = 5.64 MHz

LRCLK = 88.2 kHz

96 kHz

MCLK = 24.57 MHz

BCLK = 6.14 MHz

LRCLK = 96.0 kHz

 此设计中是否遗漏了任何内容,或者在采样率发生变化时应注意到这些内容? 我不想发现路上错过的东西...


谢谢,
科林

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

    你好,科林,

    我将根据您使用的采样率来了解您的配置。 似乎所有情况下时钟的比率都相同,因此使用相同的配置时,我不会有任何问题。
    下周我会再发表更多评论。

    此致,
    伊万·萨拉扎尔
    应用工程师

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

    只是想跟进一下,看看是否发现了任何问题。 谢谢!

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

    你好,科林,

    时钟的比率是一样的,所以我不会期待这方面有任何问题。
    只要仔细检查,更改采样率,您是否意味着您正在播放音频并在播放期间更改采样率? 或者,当设备未处于活动状态时,采样率是否会发生变化?
    播放期间更改采样率可能会导致输出中出现音频伪影,因此我建议先禁用设备,然后再更改采样率。

    此致,
    伊万·萨拉扎尔
    应用工程师

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

    谢谢伊凡。 更改采样率时,回放可能处于活动状态。 我可以在采样率变化过程中降低/重置引脚。 这是一个可以接受的解决方案吗? 如果这样做,我是否需要重新编程寄存器?

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

    科林,

    如果切换了/reset pin,您需要重新编程设备。  
    在飞行中更改 FS 速率是有效的,只是要提到在这一更改期间可能会听到伪差。

    此致,
    伊万·萨拉扎尔
    应用工程师

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

    我明白了。 那么,在更改生效之前将音频静音可能是一种解决方案吗?

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

    是的,这将是一个好的解决方案。

    此致,
    伊万·萨拉扎尔
    应用工程师