TI论坛
直播中

汪潇潇

7年用户 821经验值
私信 关注
[问答]

为什么TLV3254电流会有30多毫安?


  • 我的3254只提供一个MCLK,BCLK和WCLK OUTPUT,采用44.1K的采样率,GDE里面如下

  • CS里面设置生成的的文件如下
    { 0,0x00},
    // # reg[ 0][ 1] = 0x01 ; Initialize the device through software reset
    { 1,0x01},
    {254,0x0A},
    { 0,0x01},
    // # reg[ 1][ 1] = 0x08 ; Power up AVDD LDO; Disable weak AVDD to DVDD connection; Enable Master Analog Power Control, AVDD LDO Powered; Disable weak AVDD to DVDD connection
    { 1,0x08},
    // # reg[ 1][ 2] = 0x00 ; Enable Master Analog Power Control
    { 2,0x00},
    // # reg[ 1][ 71] = 0x32 ; Set the input power-up time to 3.1ms
    { 71,0x32},
    // # reg[ 1][123] = 0x01 ; Set REF charging time to 40ms (automatic)
    {123,0x01},
    {255,0x00},
    {255,0x01},
    { 0,0x00},
    // # reg[ 0][ 60] = 0x00 ; DAC prog Mode: miniDSP_A and miniDSP_D NOT powered up together, miniDSP_A used for signal processing
    { 60,0x00},
    // # reg[ 0][ 61] = 0x00 ; Use miniDSP_A for signal processing
    { 61,0x00},
    // # reg[ 0][ 17] = 0x08 ; 8x Interpolation
    { 17,0x08},
    // # reg[ 0][ 23] = 0x04 ; 4x Decimation
    { 23,0x04},
    { 15,0x03},
    //
    { 16,0x88},
    //
    { 21,0x03},
    //
    { 22,0x88},
    { 0,0x08},
    // # reg[ 8][ 1] = 0x04 ; adaptive mode for ADC
    { 1,0x04},
    { 0,0x2C},
    // # reg[ 44][ 1] = 0x04 ; adaptive mode for DAC
    { 1,0x04},
    //
    { 0,0x00},
    //reg[ 0][ 5] = 0x91 ; P=1, R=1, J=8
    { 5,0x91},
    //reg[ 0][ 6] = 0x08 ; P=1, R=1, J=8
    { 6,0x08},
    // reg[ 0][ 7] = 0x00 ; D=0000 (MSB)
    { 7,0x00},
    //reg[ 0][ 8] = 0x00 ; D=0000 (LSB)
    { 8,0x00},
    // reg[ 0][ 4] = 0x03 ; PLL_clkin = MCLK, codec_clkin = PLL_CLK, PLL on
    { 4,0x03},
    // reg[ 0][ 12] = 0x88 ; MDAC = 8, divider powered on
    { 12,0x88},
    // reg[ 0][ 13] = 0x00 ; DOSR = 32 (MSB)
    { 13,0x00},
    // reg[ 0][ 14] = 0x20 ; DOSR = 32 (LSB)
    { 14,0x80},
    // reg[ 0][ 18] = 0x02 ; NADC = 2, divider powered off
    { 18,0x02},
    // reg[ 0][ 19] = 0x88 ; MADC = 8, divider powered on
    { 19,0x08},
    // reg[ 0][ 20] = 0x20 ; AOSR = 32
    { 20,0x80},
    // reg[ 0][ 11] = 0x82 ; NDAC = 2, divider powered on
    { 11,0x82},

    // # reg[ 0][ 27] = 0x0C ; BCLK WCLK OUTPUT
    {27,0x0c},
    // # reg[ 0][ 30] = 0x81 ; BCLK OUTPUT DACCLK
    {30,0x81},
    {27,0x4c},

    { 0,0x01},
    // ADC POWER TUNE //# reg[ 1][ 61] = 0xff ; PTM_R1
    {61,0xFF},
    // LEFT DAC POWER TUNE //# reg[ 1][ 03] = 0x08 ; PTM_P1
    {03,0x08},
    // RIGHT DAC POWER TUNE //# reg[ 1][ 04] = 0x08 ; PTM_P1
    {04,0x08},

    { 0,0x01},
    // # reg[ 1][ 51] = 0x40 ; Mic Bias enabled, Source = Avdd, 1.25V
    { 51,0x40},
    // # reg[ 1][ 52] = 0x44 ;input routing
    { 52,0x44},
    // # reg[ 1][ 54] = 0x40 ;
    { 54,0x40},
    // # reg[ 1][ 55] = 0x44 ;
    { 55,0x44},
    // # reg[ 1][ 57] = 0x40 ;
    { 57,0x40},
    // # reg[ 1][ 59] = 0x00 ; Enable MicPGA_L Gain Control, 30dB rage (0~0x5f)
    { 59,0x10},
    // # reg[ 1][ 60] = 0x00 ; Enable MicPGA_R Gain Control, 30dB
    { 60,0x10},
    { 0,0x00},
    // # reg[ 0][ 81] = 0xc0 ; Power up LADC/RADC
    { 81,0xC0},
    // # reg[ 0][ 82] = 0x00 ; Unmute LADC/RADC
    { 82,0x00},

    { 0,0x01},
    // # reg[ 1][ 20] = 0x25 ; De-pop: 5 time constants, 6k resistance
    { 20,0x25},
    // # reg[ 1][ 12] = 0x08 ; Route LDAC to HPL
    { 12,0x08},
    // # reg[ 1][ 13] = 0x08 ; Route RDAC to HPR
    { 13,0x08},
    // # reg[ 1][ 14] = 0x08 ; Route LDAC to LOL
    { 14,0x08},
    // # reg[ 1][ 15] = 0x08 ; Route LDAC to LOR
    { 15,0x08},
    { 0,0x00},
    // # reg[ 0][ 63] = 0xd4 ; Power up LDAC/RDAC w/ soft stepping
    { 63,0xD4},
    {64,0x00},
    {65,0x00}, //DAC 24dB Gain
    {66,0x00},

    { 0,0x01},
    // # reg[ 1][ 16] = 0x00 ; Unmute HPL driver, 0dB Gain
    { 16,0x00},
    // # reg[ 1][ 17] = 0x00 ; Unmute HPR driver, 0dB Gain
    { 17,0x00},
    // # reg[ 1][ 18] = 0x00 ; Unmute LOL driver, 0dB Gain
    { 18,0x00},
    // # reg[ 1][ 19] = 0x00 ; Unmute LOR driver, 0dB Gain
    { 19,0x00},
    // # reg[ 1][ 9] = 0x3c ; Power up HPL/HPR and LOL/LOR drivers
    { 9,0x30},
    { 0,0x00},
    // # reg[ 0][ 64] = 0x00 ; Unmute LDAC/RDAC
    { 64,0x00},
    // # reg[0][82] = 0
    { 82,0x00},
    // # reg[0][83] = 0
    { 83,0x00},
    // # reg[0][86] = 32
    { 86,0x20},
    // # reg[0][87] = 254
    { 87,0xFE},
    // # reg[0][88] = 0
    { 88,0x00},
    // # reg[0][89] = 104
    { 89,0x68},
    // # reg[0][90] = 168
    { 90,0xA8},
    // # reg[0][91] = 6
    { 91,0x06},
    // # reg[0][92] = 0
    { 92,0x00},
    // # reg[0][84] = 0
    { 84,0x00},
    // # reg[0][94] = 32
    { 94,0x20},
    // # reg[0][95] = 254
    { 95,0xFE},
    // # reg[0][96] = 0
    { 96,0x00},
    // # reg[0][97] = 104
    { 97,0x68},
    // # reg[0][98] = 168
    { 98,0xA8},
    // # reg[0][99] = 6
    { 99,0x06},
    // # reg[0][100] = 0
    {100,0x00},
    };
    请问大神们,这个配置哪里有问题?为什么电流会有30多毫安?而且启动时间(由IIC写完初始化寄存器到出声音)需要1秒多?

回帖(3)

曹光辉

2024-11-6 16:22:05
 你好:
      {254,0A}并不是真正的写254寄存器写0A,而是一个延迟指令。
      (255,0)也不是写255寄存器0,而是写MiniDSPA的配置。同理(255,01)是写MINIDSPD的数据。你用GDE生成的配置文件中会有写。
举报

翁靠庭

2024-11-6 16:22:25
  要减少等待时间只能增加你I2C的写的数据,比如多个Byte写。你的输出启动了耳放吗?并且接着负载?
举报

杨海清

2024-11-7 09:25:06
TLV3254是一个音频编解码器,其电流消耗可能受到多种因素的影响,包括电源电压、工作模式、负载和配置设置。在您的情况下,TLV3254的电流消耗为30多毫安,这可能是由以下几个原因造成的:

1. 电源电压:TLV3254的电源电压范围为2.5V至5.5V。如果电源电压较高,可能会导致电流消耗增加。

2. 工作模式:TLV3254有多种工作模式,包括正常工作模式、待机模式和关闭模式。在正常工作模式下,电流消耗会更高。

3. 负载:TLV3254的输出负载也会影响电流消耗。如果负载较重,可能会导致电流消耗增加。

4. 配置设置:TLV3254的配置设置也会影响电流消耗。例如,如果启用了某些功能(如模拟输出缓冲器、数字滤波器等),可能会导致电流消耗增加。

根据您提供的GDE配置文件,以下是一些可能影响电流消耗的设置:

- reg[0][1] = 0x01:软件复位设备。这个设置不会导致电流消耗增加。
- reg[1][1] = 0x08:启用主模拟电源控制,AVDD LDO供电,禁用弱AVDD到DVDD连接。这个设置可能会导致电流消耗增加,因为它启用了AVDD LDO。
- reg[1][2] = 0x00:启用主模拟电源控制。这个设置可能会导致电流消耗增加,因为它启用了主模拟电源控制。

为了降低TLV3254的电流消耗,您可以尝试以下方法:

1. 降低电源电压:如果可能的话,降低电源电压可以降低电流消耗。
2. 切换到待机模式或关闭模式:在不需要音频处理时,将TLV3254切换到待机模式或关闭模式可以降低电流消耗。
3. 优化负载:减少输出负载可以降低电流消耗。
4. 调整配置设置:根据您的应用需求,禁用不必要的功能,如模拟输出缓冲器、数字滤波器等,以降低电流消耗。

请注意,降低电流消耗可能会影响TLV3254的性能。因此,在进行调整时,请确保您的应用需求得到满足。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分