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.

CCS/BQ2970: msp430g2553 Emulate BQ2970

Part Number: BQ2970

Tool/software: Code Composer Studio

Hi,

I'm on a project that uses, MSP430 and I need to reduce costs and I would like to emulate the operation of the BQ2970 to control the MOSFET to charge a lithium battery.


As my firmware can correctly control MOSFET like BQ2970 under the conditions of: OVERCHARGE OVERDISCHARGE Do I need to put a delay between MOSFET triggers?

  • There is the Timing Charts on  BQ2970 DS. Please consider debug the MSP I/O timing according to BQ2970 timing on overchange. Thanks!

  • Hi Xiaodong,

    vBat = readBateria(); 

    if(vbat > 4.1)// OVERCHARGE

    {

    FET_CHARGE      (0);
    FET_DISCHARGE(1);

    }

    else if( (vBat <= 4.1)&&(vBat > 2.7) )//NORMAL
    {     

            FET_CHARGE (1);

            FET_DISCHARGE(1);

    }

    else if(vBat <= 270) // OVER-DISCHARGE
    {

    FET_CHARGE (1);
    FET_DISCHARGE(0);

    }

    If I understand correctly, should I put a delay every time the battery voltage enters the OVERCHARGE and OVERDISCHARGE region?.

    This delay when entering the OVERCHARGE region is typically 1.25 seconds. And when you enter the DISCHARGE region the time is 20ms ?.
    
    This delay in MSP430 is basically a routine of wasting time _delay_ms () ?.

  • Hi Leonardo

    Sorry to be late! on around 1.25 seconds, please don't use NOP on such long-time delay and please consider using timer to set the interrupt after 1.25 seconds, in this case, MCU can be released for others task in this period. Thanks!

**Attention** This is a public forum