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.

[参考译文] TLV320ADC3001:参考代码

Guru**** 2445440 points


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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/716288/tlv320adc3001-reference-code

器件型号:TLV320ADC3001

当前正在调试 TLV320ADC3001IYZHR 芯片、是否有参考代码?
纯 Linux 或 MCU 代码、谢谢!

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

    您好、Piero、

    ADC3001的数据表在 section11.2.1.3中提供了 ADC 配置的参考代码。 该代码是在 TI 标准中设置的、用于我们拥有的所有音频转换器工具。 遗憾的是、我们没有针对该器件的 Linux 或 MCU 代码的特定参考。 我在网络上看到了 ADC3101的一些代码、ADC3101是一种与 ADC3001具有相同寄存器映射的音频 ADC、因此您可能需要查找它们作为参考。

    此致、

     Diego Melendez López í a
      音频应用工程师

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

    我们测量了外设电路、电源1.8V 和3.3V 可用、数据正确(以下波形、地址0x30)、但9thbit 中的器件 ADC3001没有 ACK。

    请提出建议

    初始代码如下所示:

    静态 int TLVADC_RESET (void)

           printf ("%s" enter\n"、__func__);

     

           GpioSetDirection (30、GPIO_DIRECion_OUTPUT);

     

           GpioSetLevel (30、GPIO_LEVEL_HIGH);

           mdelay (10);

           GpioSetLevel (30、GPIO_LEVEL_LOW);

           mdelay (10);

    //        拉高,拉低都试过 SetLevel (30、GPIO_LEVEL_HIGH);//μ s

    //       mdelay (10);

     

           返回0;

     

    #define TLVADC_I2C_BUS 0

    #define TLVADC_I2C_CLIENT (0x18)//(0x18)

     

    静态 int TLVADC_WRITE (unsigned char reg_addr、unsigned char reg_data)

           RET = GX_i2c_TX (TLVADC_I2C_BUS、TLVADC_I2C_CLIENT、REG_addr、Registered_value、1);

     

    int TLVADC_init (void)

           //加电可附加的外部硬件电源

           while (1){

           TLVADC_RESET ();

     

           //将寄存器页设置为0

           TLVADC_WRITE (0x00、0x00);

           //启动 SW 复位

           TLVADC_WRITE (0x01、0x01);

     

           mdelay (1000);

           }

     

           //时钟设置

           TLVADC_WRITE (0x04、0x00);

           TLVADC_WRITE (0x05、0x11);

           TLVADC_WRITE (0x06、0x04);

           TLVADC_WRITE (0x07、0x00);

           TLVADC_WRITE (0x08、0x00);

    日志文件如下所示:

    TLVADC_RESET 进入

    gx_i2c_open ()、查找活动 i2c 器件、i2c_devid = 0

    ++++++ gx_i2c_transaction、总线:0、客户端:0x18、宽度:1、地址:0、 计数:1、标志:0

    ++++++ GX_i2c_transfer、bus:0、client:0x18、width:1

    I2C_dw_xfer:msgs:2.

    I2C_dw_handle_TX_abort:从器件地址未应答(7位模式)

    TLVADC_WRITE:I2C_WRITE cnt=0 ERROR=-1

    gx_i2c_open ()、查找活动 i2c 器件、i2c_devid = 0

    ++++++ gx_i2c_transaction、总线:0、客户端:0x18、宽度:1、地址:1、 计数:1、标志:0

    ++++++ GX_i2c_transfer、bus:0、client:0x18、width:1

    I2C_dw_xfer:msgs:2.

    I2C_dw_handle_TX_abort:从器件地址未应答(7位模式)

    TLVADC_WRITE:I2C_WRITE cnt=0 ERROR=-1

    TLVADC_RESET 进入

    gx_i2c_open ()、查找活动 i2c 器件、i2c_devid = 0

    ++++++ gx_i2c_transaction、总线:0、客户端:0x18、宽度:1、地址:0、 计数:1、标志:0

    ++++++ GX_i2c_transfer、bus:0、client:0x18、width:1

    I2C_dw_xfer:msgs:2.

    I2C_dw_handle_TX_abort:从器件地址未应答(7位模式)

    TLVADC_WRITE:I2C_WRITE cnt=0 ERROR=-1

    gx_i2c_open ()、查找活动 i2c 器件、i2c_devid = 0

    ++++++ gx_i2c_transaction、总线:0、客户端:0x18、宽度:1、地址:1、 计数:1、标志:0

    ++++++ GX_i2c_transfer、bus:0、client:0x18、width:1

    I2C_dw_xfer:msgs:2.

    I2C_dw_handle_TX_abort:从器件地址未应答(7位模式)

    TLVADC_WRITE:I2C_WRITE cnt=0 ERROR=-1

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

    我们测量了外设电路、电源1.8V 和3.3V 可用、数据正确(以下波形、地址0x30)、但第9位中的器件 ADC3001没有 ACK。

    请建议。 顺便说一下、我不能将初始代码粘贴到此页中。

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

    您好、Piero、

    如前所述、发送的 μ I²C 数据正确、因此如果 ADC3001 si 没有响应、则器件很可能处于复位模式或电源未正确连接到器件。 您能否验证硬件复位是否为高电平、以及连接到器件的电源是否正确? 您能否在不同的电路板上重复此行为?

    此致、

     Diego Melendez López í a
      音频应用工程师

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

    复位为高电平、电源正常。  

    I2C 可以正确操作到另一个器件。

    在不同电路板上重复此行为、同样的问题。

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

    皮埃罗

    感谢您的反馈。 如果复位为高电平且提供的电源正确、则 ADC3001无法通信、这一点尚不清楚。 这不是器件的正常行为、您的电路中可能有其他东西会干扰 ADC。 您能否共享原理图以便我查找任何问题?

    此致、

     Diego Melendez López í a
      音频应用工程师

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

    请查看图片以了解相关的 sch。 sch 的另一侧有用于 I2C 接口的上拉电阻器。

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

    皮埃罗

    原理图看起来不错、器件没有明显的原因无法响应 μ I²C 命令。 您是否有不同的 μ I²C 主器件来连接 ADC 并查看其是否响应?  

    此致、

     Diego Melendez López í a
      音频应用工程师