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.

BQ25601: BQ25601

Part Number: BQ25601
Other Parts Discussed in Thread: BQSTUDIO

Hi

I just bought an evaluation board of bq25601 for charger application. I tried to program in with external controller using I2C interace but i got stuck at a point.

During communication i am able to write the data to the registers but when i read those registers just after writing i always get the default value from the registers.

i don't know what i am doing wrong. I had read the registers and there is no fault and everything is fine.

On evaluation board pullup is connected to SYS and load is also connected to the board.

the configuration for the registers are as follows :- 

REG00    0x97


REG01    0x54


REG02    0xe8


REG04    0x58


REG05    0x8b


REG06    0x56


REG07    0xd4


REG0B    0x00

And during read i get the following data :-

REG08   0x74

REG09   0x80

REG0B   0x11

I hope with this info you can help.

  • Not every resistor is programmable. Most of bits in REG08, REG09 and REG0B are read only registers. Please check the bit type, if it is R/W type, then you can write and read.
  • i didn't write any value in REG08,REG09 registers. I was asking about REG00, REG01......REG07.

  • Can you check if the watchdog timer is turned off or not? Do you have adapter plugged in?
    You may write REG00 [3:1] and read right after, check if the bit has been wrote in.
  • Can you check if the watchdog timer is turned off or not?

    WATCHDOG TIMER NOT GETTING DISABLED.

    Do you have adapter plugged in?

    NO  I AM USING EXTERNAL CONTROLLER STM32-LI52RE FOR PROGRAMMING.

    You may write REG00 [3:1] and read right after.

    TRIED BUT IT ALWAYS SHOWS DEFAULT VALUE.

    PROTOCOL I FOLLOWED IS:-

    1. WRITE WD_RST BIT TO 1.

    2. THE WRITE WATCHDOG[1:0]=00

    RESULT :-

    1. Registers remains to default value even after I2C write.

    2. Reg09 shows 80h means Watchdog timer expiration is HIGH even i read the register after every 1sec when default value of WATCHDOG TIMER is 40 sec.

  • The communication seems not successful. I would suggest you use our bqStudio GUI. You can download the GUI from the link below. I suggest you have an adaptor plug-in because some register bits cannot be written without adaptor present.

    www.ti.com/.../toolssoftware
  • The communication seems not successful. I would suggest you use our bqStudio GUI. You can download the GUI from the link below. I suggest you have an adaptor plug-in because some register bits cannot be written without adaptor present.

    IN THAT CASE I HAD FEW QUERIES:-
    1. Should this issue will be same if i use only IC and design PCB accordingly and then program it using external controller through I2C.
    2. IF not why i use this IC for my application.
    3. Is there any replacement with same configuration.

  • We have a lot of customers using the IC with their own MCU to program the chip, there is no issue. The reason I recommend bqStudio is to make sure the EVM you have is working with TI's GUI and then you debug your own I2C communication with your controller.
  • is there any protocol or rules to be followed from configuration purpose?

  • Standard I2C protocol, please check the AN:
    www.ti.com/.../slva704.pdf
  • I am not asking about i2c protocol i am asking about, configuration protocol like these registers need to program first or a series of registers, for proper functioning.

    i hope you got it.

  • The configuration is described in
    8.3.5.1 Host Mode and Default Mode in bq25601
    The flow chart is shown in Figure 10.
    I believe you have followed the steps
  • Here is what to do to get into host mode:
    Writing a 1 to the WD_RST bit transitions the charger from default mode to host mode. All the device parameters
    can be programmed by the host. To keep the device in host mode, the host has to reset the watchdog timer by
    writing 1 to WD_RST bit before the watchdog timer expires (WATCHDOG_FAULT bit is set), or disable watchdog
    timer by setting WATCHDOG bits = 00.