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.

WEBENCH® Tools/TIDM-THREEPHASEMETER-F67641: Retain kWh

Part Number: TIDM-THREEPHASEMETER-F67641
Other Parts Discussed in Thread: EVM430-F67641, MSP430F67641

Tool/software: WEBENCH® Design Tools

Hi,

We have designed Energy meter using TIDM-THREEPHASEMETER-F67641 reference. And we have used Source code from http://www.ti.com/lit/zip/slaa621 . We are facing issue in retaining Active kWh, We are trying to store the kWh in external eeprom, But the flow is getting hanged during EEPROM write (Value of energy_consumed[FAKE_PHASE_TOTAL][ACTIVE_ENERGY_IMPORTED] ). Can you please let us know which routine we have to use to write to eeprom without hanging.

Thanks

  • Hello,

    I'm assuming the EEPROM communication works correctly on the EVM430-F67641 board, correct? It sounds like your design isn't communicating with the external EEPROM. Perhaps the EEPROM is from a different manufacture, the address is different, the connections are wrong, etc.

    I would suggest monitoring the communication with a logic analyzer or scope to determine why the communication isn't working. Combining that information with where the code is hanging should give you a good idea what's wrong. You can power your board using a bench supply rather than high voltage for safer debugging.

    Regards,

    James

  • Hi  

    I able to read and write to EEPROM from MSP430F67641 with Basic read and write program. But the problem is when I am using with http://www.ti.com/lit/zip/slaa621 

     if ((phase_state & PHASE_STATUS_NEW_LOG))
                {
                    /* The background activity has informed us that it is time to
                       perform a block processing operation. */
                    /* We can only do real power assessment in full operating mode */
                    calculate_phase_readings(ph);
                    x = active_power(ph);
    
                     *((uint64_t *) &ener[0]) = energy_consumed[FAKE_PHASE_TOTAL][APP_ACTIVE_ENERGY_IMPORTED]
                      EEPROM_PageWrite(address , ener , sizeof(ener));
                   
    

    Even I am not able to write to internal eeprom like flash_write_int32 in emeter-main.c

    Thanks

    KarthiG

  • Hello,

    I found this note in the 'emeter-template.h' file. It seems to indicate that you'll need to implement the communication piece, specifically the store and retrieve (e.g. writes). I did find several EEPROM functions defined in the 'iiceeprom.c' file. You may need to search through the code and enable the appropriate defines to call some of these functions.

    If the flow is hanging during EEPROM write and you're in debug mode, is it hanging in one of the 'iiceeprom.c' functions?

    /* Many data logging requirements can be met by using only the MSP430's
    info memory. If an external serial EEPROM is needed for more
    complex requirements, this switch will enable an interface to
    I2C type serial EEPROMs. Basic routines to driver these EEPROMs are
    included in the toolkit. Routines to actually store and retrieve
    information are left to the meter designer. */
    #undef EXTERNAL_EEPROM_SUPPORT

    Regards,

    James

**Attention** This is a public forum