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.

BQ27GDK000EVM: Learning cycle discharge issue.

Part Number: BQ27GDK000EVM

I had an issue with the BQ27GDK000EVM and received the more detailed schematic in PDF form. After probing the test points I found that the output of the 4.096V voltage reference chip U4 was only 2.596. I replaced U4 with a new REF3240 and the output was still 2.596. I though maybe the DAC8560 (U10) was damaged and replaced it with a new DAC8560 but again the voltage was 2.596. After probing the TP49, TP68 and TP69 I found that CS_DAC and GDK_SCLK signals looked good but the GDK_SIMO was toggling very slowly between 0 and 1.44 volts. I believe the MSP430 is not communicating with the DAC8560 chip and the internal 2.5 voltage reference is enabled which is the default state. This is why the reference voltage is measuring 2.596 volts. I am not sure if the MSP430 is damaged or what is causing the GDK_SIMO signal to be incorrect so I ordered a second BQ27GDK000EVM.

With the second BQ27GDK000EVM I ran the GDK script for the learning cycle using the new GDK board but the process does not complete sucessfully. Initially the discharge stage ended with the status message "End Task (Unexpected): Discharge - false". I changed the discharge rate in the script from DCby5 to DCby10 with DESIGN_CAP defined as 4800. After this change the discharge completed but now the charge stage exits with the status message "End Task (Unexpected): Charge - false". I did have bqStudio recording the log of the but the only thing that changes is the current measurements. The status registers and flags do not change at the point where the End Task occurs. It appears that these events happen at or very close to the termination point. For example the "End Task (Unexpected): Dischage - false" would occur very near the point where the battery voltage reached the TERMINATE_VOLTAGE 3000. The "End Task (Unexpected): Charge - false" would occur very near the point where the taper current reached TAPER_CURRENT which is defined as 100. The EV2400 firmware is 0.18 and I am not sure what the firmware version is in the GDK section. I downloaded a version GDKFW_V1_06_INA220.txt I found linked on these forums. I had installed that verison on the first GDK board but have not installed it on the second. I am worried that possibly the firmware might have caused the issue on the first GDK board. It is possible that the GDK could be causing the unexpected condition? Alternatively is there something in the BQ27530-G1 data memory (flash) that would cause a fault and result in the GDK ending the task. I tried to adjust the Terminate Voltage and the Final Voltage but I still get the "Unexpected" message when the task reaches the TERMINATE_VOLTAGE in the GDK script. It does not seem to matter if I set TERMINATE_VOLTAGE to 3000 mV or 3200 mV the "Unexpected" event happens when the measured voltage reaches this point.

  • hi Chris,
    The second issue is something we have seen occur every now and then. Have you tried rerunning your tests after the new firmware was installed on the gdk?
    For the first issue, did you receive the board in that failed state or what actions did you perform that got it into that state? After programming the new firmware on the device is it still failing?
    thanks
    Onyx
  • I have now installed the firmware GDKFW_V1_06_INA220.txt which I found searching these forums. I don't know if there is a newer version. The script ran the discharge and relax phase but during the charge phase it exited early with "End Task (Unexpected): Charge - false" message. It appears to exit close to the point where the charge reached the TaperCurrent of 100 mA. The first attempt I had not sent the IT_ENABLE, but I sent the IT_ENABLE and ran a second attempt which resulted in the same "End Task (Unexpected): Charge - false". Attached is the status messages and GDK log from attempt 1 but I did log the registers. The second attempt I started logging the registers before running the GDK script, attach is the GDK and register logs for the second attempt I did not include the status messages since they were the same as the first.

    The first BQ27GDK000EVM was working when I received it. I initially installed the firmware to update the EV2400 to version 0.18 and attempted to update the GDK firmware. Either I had the switch in the wrong position or selected the wrong file and the GDK was not detected by bqStudio. After I found the firmware listed above I was able to flash the GDK and bqStudio was able to detect the board. I ran the GDK script a few times and then the discharge current dropped to 15mA and would never go higher no matter what the setting was in bqStudio.  It was at this point I used the schematic and found the issue with the serial interface to the DAC8560.GDKdataLog_nxg2pcb_batteryData_20180717.logGDKdataLog_nxg2pcb_batteryData_20180718.log

    Learn3_GDK_Status.txt
    Mon Jul 16 17:31:06 EDT 2018: Start Task: Define ( TEST_END_GG_FILE = C:\ti\BatteryManagementStudio\workspace\nxg2pcb_bq27530G1_v104_4800mAh_4200mV_learned_YYYYMMDD.gg.csv ) 
    Mon Jul 16 17:31:06 EDT 2018: End Task: Define completed in 00:00:00 
    Mon Jul 16 17:31:07 EDT 2018: Start Task: Define Log ( C:\ti\BatteryManagementStudio\workspace\GDKdataLog_nxg2pcb_batteryData_YYYYMMDD.log - 1000 ms ) 
    Mon Jul 16 17:31:08 EDT 2018: End Task: Define Log completed in 00:00:01 
    Mon Jul 16 17:31:08 EDT 2018: Start Task: Define ( DESIGN_CAP = 4800 ) 
    Mon Jul 16 17:31:10 EDT 2018: End Task: Define completed in 00:00:02 
    Mon Jul 16 17:31:10 EDT 2018: Start Task: Define ( TERMINATE_VOLTAGE = 3200 ) 
    Mon Jul 16 17:31:11 EDT 2018: End Task: Define completed in 00:00:00 
    Mon Jul 16 17:31:11 EDT 2018: Start Task: Define ( CHARGE_VOLTAGE = 4200 ) 
    Mon Jul 16 17:31:11 EDT 2018: End Task: Define completed in 00:00:00 
    Mon Jul 16 17:31:11 EDT 2018: Start Task: Define ( TAPER_CURRENT = 100 ) 
    Mon Jul 16 17:31:12 EDT 2018: End Task: Define completed in 00:00:00 
    Mon Jul 16 17:31:12 EDT 2018: Start Task: Define ( DCBY5 = 4800 ) 
    Mon Jul 16 17:31:14 EDT 2018: End Task: Define completed in 00:00:02 
    Mon Jul 16 17:31:14 EDT 2018: Start Task: Math ( DIVIDE - DCBY5, 5 ) 
    Mon Jul 16 17:31:15 EDT 2018: End Task: Math completed in 00:00:00 
    Mon Jul 16 17:31:15 EDT 2018: Start Task: Define ( DCBY10 = 4800 ) 
    Mon Jul 16 17:31:15 EDT 2018: End Task: Define completed in 00:00:00 
    Mon Jul 16 17:31:15 EDT 2018: Start Task: Math ( DIVIDE - DCBY10, 9 ) 
    Mon Jul 16 17:31:16 EDT 2018: End Task: Math completed in 00:00:00 
    Mon Jul 16 17:31:16 EDT 2018: Start Task: Define ( DCBY2 = 4800 ) 
    Mon Jul 16 17:31:18 EDT 2018: End Task: Define completed in 00:00:02 
    Mon Jul 16 17:31:18 EDT 2018: Start Task: Math ( DIVIDE - DCBY2, 2 ) 
    Mon Jul 16 17:31:19 EDT 2018: End Task: Math completed in 00:00:00 
    Mon Jul 16 17:31:19 EDT 2018: Start Task: Low Level Command ( GAUGE_COMMAND_GENERIC - RESET ) 
    Mon Jul 16 17:31:24 EDT 2018: End Task: LowLevel completed in 00:00:04 
    Mon Jul 16 17:31:24 EDT 2018: Start Task: Low Level Command ( GAUGE_READ_FLAGS - FLAGS ) 
    Mon Jul 16 17:31:24 EDT 2018: End Task: LowLevel completed in 00:00:00 
    Mon Jul 16 17:31:24 EDT 2018: Start Task: Math ( AND_16BIT - FLAGS, 8 ) 
    Mon Jul 16 17:31:26 EDT 2018: End Task: Math completed in 00:00:01 
    Mon Jul 16 17:31:26 EDT 2018: Start Task: Jump ( NOT_EQUAL [FALSE] -> END_TEST ) 
    Mon Jul 16 17:31:27 EDT 2018: End Task: Jump completed in 00:00:00 
    Mon Jul 16 17:31:27 EDT 2018: Start Task: Define ( COUNT = 0 ) 
    Mon Jul 16 17:31:27 EDT 2018: End Task: Define completed in 00:00:00 
    Mon Jul 16 17:31:28 EDT 2018: Start Task: Low Level Command ( GAUGE_READ_CONTROL_STATUS - CTRL_STAT ) 
    Mon Jul 16 17:31:29 EDT 2018: End Task: LowLevel completed in 00:00:00 
    Mon Jul 16 17:31:29 EDT 2018: Start Task: Math ( AND_16BIT - CTRL_STAT, 4 ) 
    Mon Jul 16 17:31:29 EDT 2018: End Task: Math completed in 00:00:00 
    Mon Jul 16 17:31:29 EDT 2018: Start Task: Math ( ADD - COUNT, 1 ) 
    Mon Jul 16 17:31:30 EDT 2018: End Task: Math completed in 00:00:00 
    Mon Jul 16 17:31:30 EDT 2018: Start Task: Jump ( EQUAL [TRUE] -> START_LC ) 
    Mon Jul 16 17:31:30 EDT 2018: Start Task: Discharge ( Terminate when TerminateVoltage = 3200 ) 
    Mon Jul 16 17:34:38 EDT 2018: End Task: Discharge completed in 00:03:08 - Termination Voltage Reached 
    Mon Jul 16 17:34:38 EDT 2018: Start Task: Relax ( Terminate when Duration = 310 ) 
    Mon Jul 16 22:44:40 EDT 2018: End Task: Relax completed in 05:10:01 
    Mon Jul 16 22:44:40 EDT 2018: Start Task: Jump ( GREATER_THAN [TRUE] -> CHARGE_AT_MAX_1 ) 
    Mon Jul 16 22:44:40 EDT 2018: Start Task: Charge ( Terminate when TaperCurrent = 100 ) 
    Tue Jul 17 06:52:06 EDT 2018: End Task (Unexpected): Charge - false 
    Tue Jul 17 06:52:06 EDT 2018: Complete! 
    
    Registers_Attempt2.log