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.

BQ25890H: 无法启动充电

Part Number: BQ25890H
Other Parts Discussed in Thread: BQ25890, BQ25970

项目中使用BQ25890H作为充电IC,电路图如图所示。调试时,没有接电池,连接的直流电源。TS pin有一个到地的10K电阻。

不能进入充电状态(直流电源上也看不到充电电流):

在不插充电器时,STAT为1Hz波形;REGN为1Hz波形,电平为3.24V;TS pin也为1Hz波形,电平2V。见图1,图2。

在插电脑USB口充电时,STAT为HIGH;REGN为高电平,5.07V;TS pin也为高电平,3V。见图3,图4。

请问一下,这可能是什么原因?还需要check什么地方?TS的电压范围要求是多少?

  • 您好,电路正在查看,稍后回复。TS 电压范围请参考下面的图

  • 谢谢!

      再补充一些今天测量到的现象,希望能更容易定位:

    • 插充电器时,VSYS测量电压为3.65VVBAT端接直流电源3.7V);当把直流电源调为3.8V时,VSYS测得3.75V。感觉此时充电的BUCK没有工作。
    • 此时,软件读到的几个寄存器值为

    当充电器为插在电脑USB口时,无法充电:

    CHG_CONFIG:1

    VBUS_GD:1

    IINLIM:8

    VBUS_STAT: 1

    当充电器更换为手机充电器时,无法充电:

    CHG_CONFIG:1

    VBUS_GD:1

    IINLIM:28

    VBUS_STAT: 4

    NTC_FAULT: 0 

    多谢!

  • 您好,请参考下面的内容

    Please refer to this link for a schematic review checklist for the BQ25890. 8103.BQ25890_SchematicChecklist V1p0.pdf

    Taking a quick look I would double check the connections at a few pins, such as DSEL, but nothing stands out as preventing the device from charging. 

    Based on the additional information it appears the power supply at BAT is powering SYS, which is consistent with battery only mode operation. In charge mode Vsys should be larger than Vbat. Is the customer truly using a DC power supply for BAT? They need to use something such as a sourcemeter, which can sink current, as a battery simulator. 

    Can you please have the customer provide a full register reading so I can review all settings and statuses. Based on what is provided the device does correctly detect a good power supply with both "mobile phone charger" and "USB port" and sets the IINLIM accordingly (500mA for USB and 1.5A for charger adapter), but seeing the full status and fault registers would be helpful to conclude why no charge current is observed. 

  • 您好,寄存器数值参见附件。

    我们在BAT管脚是连的直流电源,Agilent 66319D,一般在充电的时候能看到负的电流。电池刚收到,我们会试一下连接电池的情况。

    另外附上了充电相关的原理图。图中的U804(FUSB302B)和U805(bq25970)是没有贴的,后期也不会使用,可以忽略。charger sch.pdf

    charging register-0714.txt
     													USB charge    DC charge                                            
        /* REG00 */                                           
    	[F_EN_HIZ]		= REG_FIELD(0x00, 7, 7),            0            0      
    	[F_EN_ILIM]		= REG_FIELD(0x00, 6, 6),            1            1      
    	[F_IILIM]		= REG_FIELD(0x00, 0, 5),            8            28     
    	/* REG01 */                                                           
    	[F_BHOT]		= REG_FIELD(0x01, 6, 7),            0            0      
    	[F_BCOLD]		= REG_FIELD(0x01, 5, 5),            0            0      
    	[F_VINDPM_OFS]		= REG_FIELD(0x01, 0, 4),        1            1      
    	/* REG02 */                                                           
    	[F_CONV_START]		= REG_FIELD(0x02, 7, 7),        0            0      
    	[F_CONV_RATE]		= REG_FIELD(0x02, 6, 6),        1            1      
    	[F_BOOSTF]		= REG_FIELD(0x02, 5, 5),            0            0      
    	[F_ICO_EN]		= REG_FIELD(0x02, 4, 4),            1            1      
    	[F_HVDCP_EN]		= REG_FIELD(0x02, 3, 3),        1            1     
    	[F_MAXC_EN]		= REG_FIELD(0x02, 2, 2),            1            1     
    	[F_FORCE_DPM]		= REG_FIELD(0x02, 1, 1),        0            0     
    	[F_AUTO_DPDM_EN]	= REG_FIELD(0x02, 0, 0),        1            1     
    	/* REG03 */                                                          
    	[F_BAT_LOAD_EN]		= REG_FIELD(0x03, 7, 7),        0            0     
    	[F_WD_RST]		= REG_FIELD(0x03, 6, 6),            0            0     
    	[F_OTG_CFG]		= REG_FIELD(0x03, 5, 5),            0            0     
    	[F_CHG_CFG]		= REG_FIELD(0x03, 4, 4),            1            1     
    	[F_SYSVMIN]		= REG_FIELD(0x03, 1, 3),            6            6     
    	/* REG04 */                                                          
    	[F_PUMPX_EN]		= REG_FIELD(0x04, 7, 7),        0            0     
    	[F_ICHG]		= REG_FIELD(0x04, 0, 6),            1            15    
    	/* REG05 */                                                          
    	[F_IPRECHG]		= REG_FIELD(0x05, 4, 7),            1            1     
    	[F_ITERM]		= REG_FIELD(0x05, 0, 3),            0            0     
    	/* REG06 */                                                          
    	[F_VREG]		= REG_FIELD(0x06, 2, 7),            2            22    
    	[F_BATLOWV]		= REG_FIELD(0x06, 1, 1),            1            1     
    	[F_VRECHG]		= REG_FIELD(0x06, 0, 0),            0            0     
    	/* REG07 */                                                          
    	[F_TERM_EN]		= REG_FIELD(0x07, 7, 7),            1            1     
    	[F_STAT_DIS]		= REG_FIELD(0x07, 6, 6),        0            0     
    	[F_WD]			= REG_FIELD(0x07, 4, 5),            0            0     
    	[F_TMR_EN]		= REG_FIELD(0x07, 3, 3),            1            1     
    	[F_CHG_TMR]		= REG_FIELD(0x07, 1, 2),            2            2     
    	[F_JEITA_ISET]		= REG_FIELD(0x07, 0, 0),        1            1     
    	/* REG08 */                                                          
    	[F_BATCMP]		= REG_FIELD(0x08, 6, 7),            0            0     
    	[F_VCLAMP]		= REG_FIELD(0x08, 2, 4),            0            0     
    	[F_TREG]		= REG_FIELD(0x08, 0, 1),            3            3     
    	/* REG09 */                                                          
    	[F_FORCE_ICO]		= REG_FIELD(0x09, 7, 7),        0            0     
    	[F_TMR2X_EN]		= REG_FIELD(0x09, 6, 6),        1            1     
    	[F_BATFET_DIS]		= REG_FIELD(0x09, 5, 5),        0            0     
    	[F_JEITA_VSET]		= REG_FIELD(0x09, 4, 4),        0            0     
    	[F_BATFET_DLY]		= REG_FIELD(0x09, 3, 3),        0            0     
    	[F_BATFET_RST_EN]	= REG_FIELD(0x09, 2, 2),        1            1     
    	[F_PUMPX_UP]		= REG_FIELD(0x09, 1, 1),        0            0     
    	[F_PUMPX_DN]		= REG_FIELD(0x09, 0, 0),        0            0     
    	/* REG0A */                                                          
    	[F_BOOSTV]		= REG_FIELD(0x0A, 4, 7),            7            7     
    	[F_BOOSTI]		= REG_FIELD(0x0A, 0, 2),            1            1     
    	/* REG0B */                                                          
    	[F_VBUS_STAT]		= REG_FIELD(0x0B, 5, 7),        1            4     
    	[F_CHG_STAT]		= REG_FIELD(0x0B, 3, 4),        0            0     
    	[F_PG_STAT]		= REG_FIELD(0x0B, 2, 2),            1            1     
    	[F_SDP_STAT]		= REG_FIELD(0x0B, 1, 1),        1            1     
    	[F_VSYS_STAT]		= REG_FIELD(0x0B, 0, 0),        0            0     
    	/* REG0C */                                                          
    	[F_WD_FAULT]		= REG_FIELD(0x0C, 7, 7),        0            0     
    	[F_BOOST_FAULT]		= REG_FIELD(0x0C, 6, 6),        0            0     
    	[F_CHG_FAULT]		= REG_FIELD(0x0C, 4, 5),        0            0     
    	[F_BAT_FAULT]		= REG_FIELD(0x0C, 3, 3),        0            0     
    	[F_NTC_FAULT]		= REG_FIELD(0x0C, 0, 2),        0            0     
    	/* REG0D */                                                          
    	[F_FORCE_VINDPM]	= REG_FIELD(0x0D, 7, 7),        0            0     
    	[F_VINDPM]		= REG_FIELD(0x0D, 0, 6),            1            18    
    	/* REG0E */                                                          
    	[F_THERM_STAT]		= REG_FIELD(0x0E, 7, 7),        0            0     
    	[F_BATV]		= REG_FIELD(0x0E, 0, 6),            7            0     
    	/* REG0F */                                                          
    	[F_SYSV]		= REG_FIELD(0x0F, 0, 6),            7            0     
    	/* REG10 */                                                          
    	[F_TSPCT]		= REG_FIELD(0x10, 0, 6),            8            0     
    	/* REG11 */                                                          
    	[F_VBUS_GD]		= REG_FIELD(0x11, 7, 7),            1            1     
    	[F_VBUSV]		= REG_FIELD(0x11, 0, 6),            2            67    
    	/* REG12 */                                                          
    	[F_ICHGR]		= REG_FIELD(0x12, 0, 6),            0            0     
    	/* REG13 */                                                          
    	[F_VDPM_STAT]		= REG_FIELD(0x13, 7, 7),        0            0     
    	[F_IDPM_STAT]		= REG_FIELD(0x13, 6, 6),        0            0     
    	[F_IDPM_LIM]		= REG_FIELD(0x13, 0, 5),        8            28    
    	/* REG14 */                                                          
    	[F_REG_RST]		= REG_FIELD(0x14, 7, 7),            0            0     
    	[F_ICO_OPTIMIZED]	= REG_FIELD(0x14, 6, 6),        0            0     
    	[F_PN]			= REG_FIELD(0x14, 3, 5),            3            3     
    	[F_TS_PROFILE]		= REG_FIELD(0x14, 2, 2),        1            1     
    	[F_DEV_REV]		= REG_FIELD(0x14, 0, 1)             3            3     
    

  • 您好,正在查看,稍后回复。

  • 您好。又试了一下接电池的测试情况,如下

    电池连接器J1001接电池,去掉板子上电池therm接地的10K电阻R1007。进行充电时,

    Vregn=5.08V,Vsys=3.99V,Vbat=3.93V,Vts=2.95V。

    所有寄存器值如附件。这两个文件是一样的,只是不同的格式。

    另外有个疑问,测量出来VSYS电压是高于VBAT的,但看到0x0B寄存器bit0 VSYS-STAT还是为0,这是为什么?

    bq25890寄存器0718.xlsx

    bq25890寄存器0718.txt
     Register No.	 Register Field	 Register Field & Bit		 Register Field value when using battery
        /* REG00 */    	[F_EN_HIZ]	REG_FIELD(0x00, 7, 7),		[  207.130275] ------bq25890_fields[0]:0
    			[F_EN_ILIM]	REG_FIELD(0x00, 6, 6),		[  207.130763] ------bq25890_fields[1]:1
    			[F_IILIM]	REG_FIELD(0x00, 0, 5),		[  207.131253] ------bq25890_fields[2]:28
    /* REG01 */      	[F_BHOT]	REG_FIELD(0x01, 6, 7),		[  207.131264] ------bq25890_fields[3]:0
    			[F_BCOLD]	REG_FIELD(0x01, 5, 5),		[  207.131274] ------bq25890_fields[4]:0
    			[F_VINDPM_OFS]	REG_FIELD(0x01, 0, 4),		[  207.131285] ------bq25890_fields[5]:1
    /* REG02 */     	[F_CONV_START]	REG_FIELD(0x02, 7, 7),		[  207.131295] ------bq25890_fields[6]:0
    			[F_CONV_RATE]	REG_FIELD(0x02, 6, 6),		[  207.131305] ------bq25890_fields[7]:1
    			[F_BOOSTF]	REG_FIELD(0x02, 5, 5),		[  207.131315] ------bq25890_fields[8]:0
    			[F_ICO_EN]	REG_FIELD(0x02, 4, 4),		[  207.131325] ------bq25890_fields[9]:1
    			[F_HVDCP_EN]	REG_FIELD(0x02, 3, 3),		[  207.131335] ------bq25890_fields[10]:1
    			[F_MAXC_EN]	REG_FIELD(0x02, 2, 2),		[  207.131345] ------bq25890_fields[11]:1
    			[F_FORCE_DPM]	REG_FIELD(0x02, 1, 1),		[  207.131355] ------bq25890_fields[12]:0
    			[F_AUTO_DPDM_EN]	REG_FIELD(0x02, 0, 0),		[  207.131365] ------bq25890_fields[13]:1
    /* REG03 */     	[F_BAT_LOAD_EN]	REG_FIELD(0x03, 7, 7),		[  207.131375] ------bq25890_fields[14]:0
    			[F_WD_RST]	REG_FIELD(0x03, 6, 6),		[  207.131385] ------bq25890_fields[15]:0
    			[F_OTG_CFG]	REG_FIELD(0x03, 5, 5),		[  207.131395] ------bq25890_fields[16]:0
    			[F_CHG_CFG]	REG_FIELD(0x03, 4, 4),		[  207.131405] ------bq25890_fields[17]:1
    			[F_SYSVMIN]	REG_FIELD(0x03, 1, 3),		[  207.131415] ------bq25890_fields[18]:6
    /* REG04 */  	 	[F_PUMPX_EN]	REG_FIELD(0x04, 7, 7),		[  207.131425] ------bq25890_fields[19]:0
    			[F_ICHG]	REG_FIELD(0x04, 0, 6),		[  207.131435] ------bq25890_fields[20]:15
    /* REG05 */          	[F_IPRECHG]	REG_FIELD(0x05, 4, 7),		[  207.131446] ------bq25890_fields[21]:1
    			[F_ITERM]	REG_FIELD(0x05, 0, 3),		[  207.131455] ------bq25890_fields[22]:0
    /* REG06 */   		[F_VREG]	REG_FIELD(0x06, 2, 7),		[  207.131465] ------bq25890_fields[23]:22
    			[F_BATLOWV]	REG_FIELD(0x06, 1, 1),		[  207.131475] ------bq25890_fields[24]:1
    			[F_VRECHG]	REG_FIELD(0x06, 0, 0),		[  207.131485] ------bq25890_fields[25]:0
    /* REG07 */     	[F_TERM_EN]	REG_FIELD(0x07, 7, 7),		[  207.131495] ------bq25890_fields[26]:1
    			[F_STAT_DIS]	REG_FIELD(0x07, 6, 6),		[  207.131505] ------bq25890_fields[27]:0
    			[F_WD]	REG_FIELD(0x07, 4, 5),		[  207.131515] ------bq25890_fields[28]:0
    			[F_TMR_EN]	REG_FIELD(0x07, 3, 3),		[  207.131525] ------bq25890_fields[29]:1
    			[F_CHG_TMR]	REG_FIELD(0x07, 1, 2),		[  207.131535] ------bq25890_fields[30]:2
    			[F_JEITA_ISET]	REG_FIELD(0x07, 0, 0),		[  207.131545] ------bq25890_fields[31]:1
    /* REG08 */  	  	[F_BATCMP]	REG_FIELD(0x08, 6, 7),		[  207.131555] ------bq25890_fields[32]:0
    			[F_VCLAMP]	REG_FIELD(0x08, 2, 4),		[  207.131565] ------bq25890_fields[33]:0
    			[F_TREG]	REG_FIELD(0x08, 0, 1),		[  207.131575] ------bq25890_fields[34]:3
    /* REG09 */       	[F_FORCE_ICO]	REG_FIELD(0x09, 7, 7),		[  207.132231] ------bq25890_fields[35]:0
    			[F_TMR2X_EN]	REG_FIELD(0x09, 6, 6),		[  207.132756] ------bq25890_fields[36]:1
    			[F_BATFET_DIS]	REG_FIELD(0x09, 5, 5),		[  207.133281] ------bq25890_fields[37]:0
    			[F_JEITA_VSET]	REG_FIELD(0x09, 4, 4),		[  207.133771] ------bq25890_fields[38]:0
    			[F_BATFET_DLY]	REG_FIELD(0x09, 3, 3),		[  207.134261] ------bq25890_fields[39]:0
    			[F_BATFET_RST_EN]	REG_FIELD(0x09, 2, 2),		[  207.134751] ------bq25890_fields[40]:1
    			[F_PUMPX_UP]	REG_FIELD(0x09, 1, 1),		[  207.135239] ------bq25890_fields[41]:0
    			[F_PUMPX_DN]	REG_FIELD(0x09, 0, 0),		[  207.135955] ------bq25890_fields[42]:0
    /* REG0A */      	[F_BOOSTV]	REG_FIELD(0x0A, 4, 7),		[  207.135969] ------bq25890_fields[43]:7
    			[F_BOOSTI]	REG_FIELD(0x0A, 0, 2),		[  207.136018] ------bq25890_fields[44]:1
    /* REG0B */   	 	[F_VBUS_STAT]	REG_FIELD(0x0B, 5, 7),		[  207.136590] ------bq25890_fields[45]:4
    			[F_CHG_STAT]	REG_FIELD(0x0B, 3, 4),		[  207.137102] ------bq25890_fields[46]:0
    			[F_PG_STAT]	REG_FIELD(0x0B, 2, 2),		[  207.137611] ------bq25890_fields[47]:1
    			[F_SDP_STAT]	REG_FIELD(0x0B, 1, 1),		[  207.138120] ------bq25890_fields[48]:1
    			[F_VSYS_STAT]	REG_FIELD(0x0B, 0, 0),		[  207.138630] ------bq25890_fields[49]:0
    /* REG0C */      	[F_WD_FAULT]	REG_FIELD(0x0C, 7, 7),		[  207.139149] ------bq25890_fields[50]:0
    			[F_BOOST_FAULT]	REG_FIELD(0x0C, 6, 6),		[  207.139857] ------bq25890_fields[51]:0
    			[F_CHG_FAULT]	REG_FIELD(0x0C, 4, 5),		[  207.140454] ------bq25890_fields[52]:0
    			[F_BAT_FAULT]	REG_FIELD(0x0C, 3, 3),		[  207.140979] ------bq25890_fields[53]:0
    			[F_NTC_FAULT]	REG_FIELD(0x0C, 0, 2),		[  207.141513] ------bq25890_fields[54]:0
    /* REG0D */  	 	[F_FORCE_VINDPM]	REG_FIELD(0x0D, 7, 7),		[  207.141528] ------bq25890_fields[55]:0
    			[F_VINDPM]	REG_FIELD(0x0D, 0, 6),		[  207.141542] ------bq25890_fields[56]:18
    /* REG0E */   	 	[F_THERM_STAT]	REG_FIELD(0x0E, 7, 7),		[  207.142057] ------bq25890_fields[57]:0
    			[F_BATV]	REG_FIELD(0x0E, 0, 6),		[  207.142574] ------bq25890_fields[58]:81
    /* REG0F */     	[F_SYSV]	REG_FIELD(0x0F, 0, 6),		[  207.143090] ------bq25890_fields[59]:81
    /* REG10 */   		[F_TSPCT]	REG_FIELD(0x10, 0, 6),		[  207.143851] ------bq25890_fields[60]:57
    /* REG11 */      	[F_VBUS_GD]	REG_FIELD(0x11, 7, 7),		[  207.144411] ------bq25890_fields[61]:1
    			[F_VBUSV]	REG_FIELD(0x11, 0, 6),		[  207.144978] ------bq25890_fields[62]:66
    /* REG12 */        	[F_ICHGR]	REG_FIELD(0x12, 0, 6),		[  207.145545] ------bq25890_fields[63]:0
    /* REG13 */    		[F_VDPM_STAT]	REG_FIELD(0x13, 7, 7),		[  207.146060] ------bq25890_fields[64]:0
    			[F_IDPM_STAT]	REG_FIELD(0x13, 6, 6),		[  207.146578] ------bq25890_fields[65]:0
    			[F_IDPM_LIM]	REG_FIELD(0x13, 0, 5),		[  207.147105] ------bq25890_fields[66]:8
    /* REG14 */        	[F_REG_RST]	REG_FIELD(0x14, 7, 7),		[  207.147804] ------bq25890_fields[67]:0
    			[F_ICO_OPTIMIZED]	REG_FIELD(0x14, 6, 6),		[  207.148357] ------bq25890_fields[68]:0
    			[F_PN]	REG_FIELD(0x14, 3, 5),		[  207.148932] ------bq25890_fields[69]:3
    			[F_TS_PROFILE]	REG_FIELD(0x14, 2, 2),		[  207.149448] ------bq25890_fields[70]:1
    			[F_DEV_REV]	REG_FIELD(0x14, 0, 1)		[  207.149956] ------bq25890_fields[71]:3
    

  • 您好,充电状态下系统不是处于minimum system voltage regulation所以 VSYS-STAT不为0,详细请参考下面文档说明。

    When the battery is below minimum system voltage setting, the BATFET operates in linear mode (LDO mode), and the system is regulated above the minimum system voltage setting. As the battery voltage rises above the minimum system voltage, BATFET is fully on and the voltage difference between the system and battery is the VDS of BATFET. The status register VSYS_STAT bit goes high when the system is in minimum system voltage regulation