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.

[参考译文] TLV320DAC3100:TLV320DAC3100的寄存器设置

Guru**** 2513185 points
Other Parts Discussed in Thread: TLV320DAC3100

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/935017/tlv320dac3100-registers-settings-for-the-tlv320dac3100

器件型号:TLV320DAC3100
您好!
我只是想简单地激活 I2S 以输出到扬声器。
该芯片有很多寄存器、我不知道我需要设置哪些寄存器才能使用 I2S 模式。
我能够使用 I2C 成功地与芯片通信并设置 MICBIAS。
我将 I2S 信号应用于芯片、想知道我需要设置哪些寄存器才能在耳机和扬声器上获得输出。
1 -复位时、这是我需要更改的最小寄存器设置、以便处理从处理器到扬声器的 I2S 输入。 我迫切需要尽快得到答案
谢谢你
Miohammad Karaki

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

    您好、Mohammad、

    欢迎使用 E2E、感谢您关注我们的产品!

    请查找随附的寄存器配置脚本、该脚本可用作寄存器配置的基础。 您只需确保 PLL 和时钟设置与您将在应用中使用的时钟正确配置。 此脚本包含 MCLK = 11.2896MHz 或12.288MHz (这分别导致44.1kHz 和48kHz 采样率)的配置。 在这个脚本中、BCLK 和 WCLK 被配置为输入。

    e2e.ti.com/.../2318.TLV320DAC3100_5F00_Script.txt

    如果您有其他问题或意见、请告诉我。

    此致、
    Luis Fernando Rodríguez S.

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

    您好、Luis、

    脚本位于数据表中。 真的很糟糕! 我不知道是谁写的。

    我需要了解芯片复位模式、以及我需要设置哪些寄存器才能简单地接受 I2S 输入和输出到扬声器。

    谢谢你。

    Mohammad

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

    您好、Mohammad、

    在复位模式中、所有寄存器被置于缺省状态(在每个寄存器上指定的缺省状态值)。

    我准备了一个新脚本、其中包含将 I2S 数据路由到扬声器输出所需的最小值。 为了实现正确的行为、I2S 时钟必须配置为 BCLK = 2.8224MHz (或3.072MHz)和 WCLK = 44.1kHz (或48kHz)。 本示例还必须提供 MCLK。 MCLK = 11.2896MHz (或12.288MHz)。

    e2e.ti.com/.../TLV320DAC3100_5F00_I2S_5F00_SPK_5F00_44_5F00_1KHz_5F00_Script.txt

    请告诉我、它是否适合您、或者您是否需要我们的额外支持。

    此致、
    Luis Fernando Rodríguez S.

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

    您好、Luis、

    干得不错。 我现在看到输出。

    但是、我对控制以下项的音量感到困惑:

    耳机、左右声道

    2:扬声器

    您是否会为我提供调节音量所需的寄存器?

    谢谢你。

    Mohammad

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

    您好、Mohammad、

    我很高兴看到您通过脚本获得了良好的结果。 关于输出增益、下面列出了与该音量相关的寄存器:

    扬声器衰减块(0.5dB 步长):第1页/寄存器38
    扬声器增益块(6dB 步长):第1页/寄存器42
    左耳机衰减块(0.5dB 步长):第1页/寄存器36
    左耳机增益块(1dB 步长):第1页/寄存器40
    右耳机衰减块(0.5dB 步长):第1页/寄存器37
    右耳机增益块(1dB 步长):第1页/寄存器41

    有关更多详细信息、请参阅下图:

    此致、
    Luis Fernando Rodríguez S.

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

    您好、Luis、

    我很抱歉。 它仍然无法正常工作。

    另一项测试用于验证我正在做的事情是否正确:

    芯片可以生成正弦波形。 我试图这样做但没有成功。

    我是否需要提供 MCLK 以获得正弦波形?

    谢谢你。

    Mohammad

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

    您好、Mohammad、

    正确、TLV320DAC3100需要 MCLK 来从蜂鸣器生成正弦波形。 此外、只能从处理块 PRB_P25生成蜂鸣声。 您是否详细了解了如何配置 TLV320DAC3100来获取正弦波形?

    谢谢你。

    此致、
    Luis Fernando Rodríguez S.

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

    您好、Luis、

    下面是我要使用的内容:

    /********
    示例:1kHz 音调的蜂鸣音设置:
    蜂鸣声长度= 0、0、0xf0
    Sine = 0x10B5
    余弦= 0x7EE8
    (二 /
    void GenerateSinWave (int channel、int frequency、int length)

    SetPage (0);
    ///--------
    I2C.beginTransmission(TLV320Address);
    I2C.write (channel);
    //---- 哔声长度
    I2C.WRITE (73);
    I2C.WRITE (0);
    I2C.WRITE (74);
    I2C.WRITE (0);
    I2C.WRITE (75);
    I2C.WRITE (0xf0);
    //---- 正弦
    I2C.WRITE (76);
    I2C.WRITE (0x10);
    I2C.WRITE (77);
    I2C.WRITE (0xB5);
    //---- 余弦
    I2C.WRITE (78);
    I2C.WRITE (0x7E);
    I2C.WRITE (79);
    I2C.WRITE (0xE8);
    //----
    I2C.endTransmission ();}

    谢谢你。

    Mohammad

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

    这是我使用的原理图。 如果您发现任何问题、请告诉我。

    谢谢你

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

    您好、Mohammad、

    感谢您提供有关测试和原理图的详细信息。

    关于原理图、我看不到任何需要修改的东西。 我建议移除输出电容器 C6和 C9。 扬声器输出不需要它们。

    关于蜂鸣音配置、是否是您使用的所有设置? 您还有剩余的代码吗? 特别是、我看不到第0页/寄存器71/位 D7启用了蜂鸣音。 这是发出蜂鸣音的位。

    此致、
    Luis Fernando Rodríguez S.

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

    您好、Luis、

    我启用了寄存器71位7、但仍然没有输出!

    由于我尝试了您的代码、数据表中的示例代码、并尝试修改这些代码、我感到非常沮丧、但没有成功。

    我能够使 MICBIAS 正常工作、这意味着 I2C 接口正在工作。

    下面是我正在使用的脚本(其中 TLV320Address = 0x18):

    //********
    //********
    空 I2C_SetRegister (字节寄存器、字节值)

    I2C.beginTransmission(TLV320Address);
    I2C.write (reg);
    I2C.write (value);
    I2C.endTransmission ();

    //
    //
    void TLV320DAC3100_I2S_SPK_44_1KHz 脚本()

    //--page 0:
    I2C_SetRegister (0x00、0x00);//设置为 PAGE 0
    //--Reset
    I2C_SetRegister (0x01、0x01);

    //时钟设置、MCLK = 11.2896MHz、BCLK = 2.8224MHz、WCLK = 44.1kHz
    I2C_SetRegister (0x04、0x00);//CODEC CLKIN = MCLK、未使用 PLL
    I2C_SetRegister (0x0B、0x88);//NDAC = 8
    I2C_SetRegister (0x0c、0x82);//MDAC = 2

    //Left/Right 通道 DAC 加电并路由至左/右数据
    I2C_SetRegister (0x3f、0xd4);

    //Left/Right DAC 未静音
    I2C_SetRegister (0x40、0x00);

    已选择//page 1
    I2C_SetRegister (0x00、0x01);

    //D 类扬声器放大器已通电
    I2C_SetRegister (0x20、0x86);

    路由到混合放大器的//DAC 通道
    I2C_SetRegister (0x23、0x44);

    //D 类扬声器放大器取消静音
    I2C_SetRegister (0x2A、0x04);

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

    您好、Mohammad、

     您是否在寄存器设置中选择了处理块 PRB_P25? 蜂鸣器的产生只能由这个处理块完成(第0页/寄存器0x3c /值0x19)。

    此致
    Luis Fernando Rodríguez S.