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.

MSP430FR2522: Critical very long uptime

Part Number: MSP430FR2522

Hello,

I need to design a system that needs to run for several years non stop. It is critical that it wakes up about once a minute (exact time is irrelevant, just the interval in itself needs to be constant) for this entire period.

So I have two problems I that I still need to think about. 

First are the firmware updates. It is ok to update the firmware in between the intervals. The current data is stored in external FRam so the processor can be reset and return to the last state. It just may not interrupt the task it does every minute. Any tips on how to do this "the good way"? I thought of putting the firmware in an external flash first an then have the MSP update itself when the task is done. Or using a custom serial bootloader that simply only answers when it has just finished the task, thus giving about a minute to update. The timeinterval is given by an external little timer that already puts out a ~1 minute pulse, so it will not fall out of sync after updating. 

The second issue is the power. I have planed a BQ2407x that would usually run from a USB mains adapter and functions as UPS with a Li Lion battery. But I need to have a sort of emergency backup CR2032 on the same PCB that would come into action if all other sources from the BQ fail. How could I do this? The application is very low power (idle 15µA, active 20mA for a very short time), so a CR2032 should last for enough time to get the main supply running again. Any tips or devices that can do that?

Thank you

Kind regards

  • Hi Rudnik,

    Looks like you have 1min in between the pulses so that should provide plenty of time to perform the update using BSL in the FR2522. this requires an another device, such as a host MCU, to download the updated firmware. On this device you can use either I2C or UART to communicate with the HOST MCU.  The BSL is not able to read new firmware from an external memory device.   Maybe the HOST can poll the FR2522 to see when the last pulse happened and issue the command for the FR2522 to enter the BSL mode.

    Regarding the backup power source, you might want to check that a CR2032 can supply 20mA (even if only for a very short time) without a significant drop in voltage, which would cause the FR2522 to go into reset.  You can probably find several ways to wire this up to do what you want by searching the web or maybe someone from the community can chime in with some suggestions.

  • Thanks for the tip with maximum current of CR2032, I honestly didn't take that in account. I can/will change my design to draw only about 3 mA max.

    For the update I thought of blocking the reset line with the MSP itself. Only when the task has finished, it is possible for one second to reset the device and update the firmware. Would it be possible to program the MSP vie a python scrip on the PC and using the UART? The detection of updateable and reset can work with the handshake lines. 

  • Rudnik,

    You won't be able to connect a PC directly to the MSP430.  You will need either some type of RS232 to 3V RXD/TXD circuit if using the UART BSL, or one of several types of MSPFET programmers if programming using the 2-wire SBY-BY-WIRE method.

    My suggestion would be to figure out how you can have the MSP430 signal the PC that it is ready for updates.

  • Thanks for the reply. Yes I was planing to use a CH340 or FT232. The handshake lines can be used for signaling. 

  • Hi Rudnik,

    I’m assuming you were able to make everything work  and move forward with your design.
    If this isn’t the case, please click the "This did NOT resolve my issue" button and reply to this thread with more information.
    If this thread locks, please click the "Ask a related question" button and in the new thread describe the current status of your issue and any additional details you may have to assist us in helping to solve your issues.

**Attention** This is a public forum