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:TLV320ADC3001 DOUT 不输出任何内容

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/914266/tlv320adc3001-tlv320adc3001-dout-ouputs-nothing

器件型号:TLV320ADC3001

你(们)好

我在自己的板上使用 tlv320adc3001。 tlv320adc3001作为 Auio 编解码器的从器件。

我想设置采样频率48kHz、MCLK = 3.072mhz、BCLK = 3.072mhz、wclk = 0.48kHz。

在本例中、MCU 使用 i2c 和 FPGA 发送 MCLK、BCLK、wclk 以及 ADC 复位来控制 tlv320adc3001。  

启动时、FPGA 控制复位(10ns 低电平)并发送时钟(MCLK、BCLK、wclk)。  

此外、MCU 还使用 i2c 对 tlv320adc3001进行编程。  

这是我的初始代码。 我参考了数据表中的示例代码。

uint8_t i2c_txBuffer[]=

0、0x00、//页0
1、0x01、// reg 1 data 0x01:reg reset
4、0x00、// reg 4数据0x00:PLL_CLK = MCLK、CODEC _CLK = MCLK
5、0x11、// reg 5数据0x91:P = 1、R = 1
6、0x20、// reg 6数据0x20:J = 32
7、0x00、// reg 7数据0x00:D MSB = 0
8、0x00、// reg 8数据0x00:D LSB = 0
5、0x91、// reg 5数据0x91:PLL 上电
18,0x88,// reg 18数据0x88:NADC 加电,NADC = 8
19、0x82、// reg 19数据0x82:mAdc 加电、mAdc = 2
20、0x80、// reg 20数据0x80:AOSR = 128
// reg 21:miniDSP clk
27、0x20、// reg 27 data 0x21:ADC 接口 I2S、24位、WCLK、BCLK =输入
61、0x01、// reg 61数据0x01:PRB_P1
0、0x01、//页1
51、0x00、// reg 51 data 0x00:不使用微偏置
59、0x00、// reg 59 data 0x00:左 PGA 设置0dB
60、0x00、// reg 60数据0x00:右 PGA 设置0dB

52、0xFC、// reg 52数据0xFC:左 PGA = IN1L (P)作为 SINGLE_END_END-N
55、0xFC、// reg 57数据0xFC:右 PGA = IN1R (M)作为 single_ende
0、0x00、//页0
81、0xC2、// reg 81数据0xC2:左、右 ADC 加电
82、0x00、// reg 82取消数字音量静音、增益0dB
};

这是原理图。

我的代码或设置是否有误?

请提供一些详细信息。

感谢您的阅读。

再见

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

    你(们)好

    我在发送寄存器81数据0xC2后收到 NACK。 (左侧、右侧 ADC 上电)

    但示例代码相同。  

    什么是问题?  

    谢谢

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

    Minkyo、  

    是否使用 PLL?  您似乎配置了 PLL 并将其加电、但您将 MCLK 设置为 CODE_CLK。

    使用 MCLK 作为 CODE_CLK、mAdc 和 NADC 作为2和8、AGSR 作为128、您将以1.5khz 的频率运行 ADC。  

    将寄存器0x04更改为0x03以使用 PLL_CLK 作为 CODEC _CLK。  这将为您提供48kHz 的 ADC 采样率。  这是你想要的吗?

    此致、

    -Steve Wilson

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

    你(们)好

    感谢您的回答。  

    我更改为寄存器4 0x03。

    BUF DOUT 永不输出任何内容。  

    在发送 reg81 0xC2之前。 DOUT 高

    但在发送寄存器81 0x0c 后、DOUT 为低电平、从未更改。

    我的问题是什么?

    我想使用48kHz 采样。 我参考了示例代码。  

    请详细说明。

    谢谢。

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

    你(们)好  

    我测试了 dout 的 clkout。  

    我为 GPIO 以及高电平和低电平设置 DOUT。 真棒。

    但我为 clkout 设置 DOUT。

    我测试了每个时钟的 clkout。

    但 DOUT 从未改变。  

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

    你(们)好

    我没有解决问题。

    在 myboard 上、DVDD 在复位高电平之前为1.8V。

    但在 ADC 启用(reg81数据0xC2)后、DVDD 为1.1或1V。

    我想 IC 会关断。  

    什么是问题?

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

    Minkyo、  

    啊... 我现在看到了。 您的 DVDD 电源需要一个线性稳压器。  您不能使用分压器。  

    此致、

    -Steve Wilson

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

    你(们)好

    感谢您的回答。

    我用390欧姆连接了2.5V 电压、电压大约为1.8V。

    这可能是问题吗?

    我还想使用差分输入和左通道输出。  

    这是我的寄存器集。 但问题是、当我不输入任何内容时、输出数据很奇怪。  

    它只是输出负值。 我认为噪声可以+- val。 为什么它仅输出-var? (例如) fffaba、fffb041...)

    uint8_t i2c_txBuffer[]=

    // MCLK = 12.288MHz
    // BLCK = 3.072MHz
    // WCLK = 48kHz
    0、0x00、//页0
    1、0x01、// reg 1 data 0x01:reg reset
    4、0x00、// reg 4数据0x00:PLL_CLK = MCLK、CODEC _CLK = MCLK
    5、0x11、// reg 5数据0x91:P = 1、R = 1
    6、0x04、// reg 6数据0x20:J = 4
    7、0x00、// reg 7数据0x00:D MSB = 0
    8、0x00、// reg 8数据0x00:D LSB = 0
    5、0x11、// reg 5数据0x11:  
    18,0x81,// reg 18数据0x88:NADC 加电,NADC = 1
    19、0x82、// reg 19数据0x82:mAdc 加电、mAdc = 2
    20、0x80、// reg 20数据0x80:AOSR = 128
    // reg 21:miniDSP clk

    27、0x20、// reg 27 data 0x20:ADC 接口 I2S、24位、WCLK、BCLK =输入

    61、0x01、// reg 61数据0x01:PRB_P1
    0、0x01、//页1
    51、0x00、// reg 51 data 0x00:不使用微偏置
    59、0x00、// reg 59 data 0x00:左 PGA 设置0dB
    54、0x3f、// reg 54数据0x3f:左侧 ADC 输入差分加:IN1L(P)减:IN1R (M)
    0、0x00、//页0
    81、0x82、// reg 81数据0xC2:保持 ADC 上电
    82、0x00、// reg 82取消数字音量静音、增益0dB
    };

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

    徐敏友  

    器件未上电时、DVDD 电压是多少?  它是否超过 DVDD 的绝对最大值?  您应该始终使用稳压电源。  

    您将第1页寄存器54设置为0x3F,这将禁用差分输入(这是默认值) ,您需要将该寄存器设置为0x0F

    此致、

    -Steve Wilson

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

    你(们)好

    感谢您的回答。  

    加电前、DVDD 约为2.3V。 (在数据表中、ABS 为2.5V、建议为1.95V)

    我认为这可能是个问题。

    但我将测试 ADC。

    测试完成后、当修订电路板时、我将设置稳压器。  

    还可以吗?  

    或者由于 DVDD 不稳定、ADC 性能可能会受到影响??

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

    你(们)好

    我有另一个问题。  

    当我从 adc3001获取 I2S 数据时、我只有23位。

    要测试24位、我设置右对齐、24位始终为0 (零)。  

    这是正常现象还是我出错了?

    数据表中还提到支持24位、但为什么只有23位?

    谢谢

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

    Minkyo、  

    是的、该器件支持多达32位数据、如果您仅获得23位数据、则可能会出错。  MSB 本质上将是您的符号位、因此您肯定会看到一些切换。  您能否测试输入引脚上的直流电压?

    此致、

    -Steve Wilson