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.

MSP430FR5972: Fram cancellation problem

Part Number: MSP430FR5972

Hi Everybody 

I have big problem with MSP430FR5972, Problems are given by electrostatic discharges,
when happen that one electrostatic discharges,is applied on the body of the machine
some times the Fram of main program, is changed on some location, so the instraction

code is modified and the system goes in block. In this case need to reprogram the board with firmware.

This is a very big problem.

to avoid this I tried to protect the program memory range by the MPU register 

I program only in assembler. 

FLASH_Block:

MOV.B #0A5H,MPUCTHIGH 
MOV.W #0400H,MPUSEGB1
MOV.W #01300H,MPUSEGB2
MOV.W #0FFFFH,MPUSAM /
BIC.W    #(MPUSEGIXE+MPUSEG3WE+MPUSEG2WE+MPUSEG1WE),MPUSAM /
MOV.B #(MPUENA+MPULOCK),MPUCTL0W 
MOV.B #010H,MPUCTHIGH 
JMP  $

after this I tried to write the protect sector and this cause a reset, this can be acceptable compromise 

but if apply the electrostatic discharge the situation it seems even worse.

so I don't know how I can fix this problem, for me is unbielivable that the program memory can be 

modified like a ram, and that the program memory section is not protect from default. 

 have you some solution to really protect the program memory from undesiderable changing   

regards 

Luigi 

  • Hello Luigi,

    You are not going to be able to fix this issue through the MPU as this is FRAM memory corruption as compared to write access violation. As the changed FRAM cells can be fixed through re-programming I also believe the ECC will not be of much use. Most ESD considerations are from a system level and must be addressed as such, please refer to the following app report: www.ti.com/.../slaa530.pdf

    It therefore follows that your PCB design likely needs to be evaluated. What type of ESD event are you subjecting the MSP430 to? Please note the ESD ratings on Section 5.2 of the datasheet, TI does not guarantee normal operation under circumstances outside those specified.

    Regards,
    Ryan
  • Hi Ryan 

    this is not good news, but I would like to know if the Fram is most sensitive than the standard flash, in order

    to the electrostatic discharges? 

    because I understand that the probelm is only on the location memory (Fram cells) 

    where the programm counter is in the moment when the discharges happens
    only this location is cancelled normally are one or 2 cells that are value changed 

    I will try to fix this problem by firmware.

    Regards 

    Luigi 

  • Hi Luigi,

    FRAM is slightly more sensitive to ESD events as compared to flash memory, however there are system-level implementations that can help reduce the effects of ESD on your MCU. To this end I once again highly recommend that you review SLAA530, it is not likely that you will be able to address this issue through a code workaround. What effect does the ESD event have on your VCC rail? Is the device experiencing a reset during this time?

    Regards,
    Ryan
  • Hi Ryan
    I don't see the events particulary events on the Vcc rail, the components don't broken
    and don't have bad signal or bad functionality on all board

    I don't see the particulary events on the Vcc rail, the components don't broken
    and don't have bad signal or bad functionality on all board, also after intensive
    electrostatic disharge, to simulate this event I use piezoelectric ignition.

    some times during the event the processore reset but often are delete one or more
    location memory. I think are the location where is the Programm counter when the events happens, example :

    05000h: mov.w #2,edi
    05002h mov.w #4,edi+1 etcc..
    if the event happens when the controller execut line #05000h this location and the following are cancelled or modified to undefinible value, I saw that are modified no more one or 2 memory cells normally 2 words

    Ho I will fix this problem:

    I have space in memory so I will try to copy a firmware in other section and when the checksum don't match
    I will try to copy reload the firmware on the basic address. I hope this can be good solution

    Best Regards
    Luigi

**Attention** This is a public forum