FCCU on MPC5744P

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

FCCU on MPC5744P

Jump to solution
2,833 Views
Pat
Contributor III

Hi all,

 

 

I configured the FCCU to make a long functional reset on Watchdog timeout. During my test, I didn't refresh the watchdog in order to trigg the fault. Once the reset executed, I see that the FCCU status is in FAULT state and the MCU is not in SAFE mode. Why the MCU doesn't enter in SAFE mode when FCCU has fault latched ? Only hardware failure trigg the SAFE mode ?

 

 

Best regards,

 

Pat

Labels (1)
Tags (1)
0 Kudos
1 Solution
1,789 Views
petervlna
NXP TechSupport
NXP TechSupport

Hi Pat,

There is no direct connection from FCCU to ME module like it was on MPC56xx devices.

In RM there is only written SAFE state - but this is not a SAFE MODE.

SAFE state mean RESET.

And if you want on SWT expire trigger a reset or interrupt you have to configure it in FCCU.

To get into SAFE MODE you need to trigger mode transition by SW in ME module.

Have a nice day,

Peter

View solution in original post

0 Kudos
16 Replies
1,790 Views
petervlna
NXP TechSupport
NXP TechSupport

Hi Pat,

There is no direct connection from FCCU to ME module like it was on MPC56xx devices.

In RM there is only written SAFE state - but this is not a SAFE MODE.

SAFE state mean RESET.

And if you want on SWT expire trigger a reset or interrupt you have to configure it in FCCU.

To get into SAFE MODE you need to trigger mode transition by SW in ME module.

Have a nice day,

Peter

0 Kudos
1,789 Views
Pat
Contributor III

Hi Peter,

Thank you for your answer. Yes, I come from Leopard MCU.

I need to test the FCCU status in the init sequence in order to clear the non-critical fault (NCF) like this :

if(FCCU.STAT.B.STATUS == FCCU_STATUS_FAULT) fccu_clear_NCF()    

Do you know if a FCCU driver is available for the Panther ?

Best regards,

Pat

0 Kudos
1,789 Views
petervlna
NXP TechSupport
NXP TechSupport

Hi Pat,

The FCCU peripheral is strongly application specific.

There is no general driver (can't be) as every customer need to catch a report a different faults in different ways.

This is a system dependent stuff.

Peter

0 Kudos
1,789 Views
Pat
Contributor III

Hi Peter,

Thank you for answer.

After some test, I have 2 behaviors after the short functional reset upon a Watchdog timeout. Depending if I read the FCCU status or not, the FCCU output pins don't indicate the same state.

Behavior 1 :

1. If the FCCU Status in Normal state during Init, I configure the FCCU to trigg reset on Watchdog timeout and output in dual-rail.

2. I don't refresh the Watchdog.

3. The FCCU trigg a short functional reset

4. The FCCU output pins indicate a faulty state and a normal state.

ScreenDump_10.png

Behavior 2 :

Same as 1, except the following code was added if FCCU Status in Fault state during Init.

   /* Read the FCCU state (FCCU_STAT register) [OP3] */

   FCCU.CTRL.R = 0x3;

   while(FCCU.CTRL.B.OPS != 0x3){

      ; /* wait for the completion of the operation */

   }

   FccuStatus = FCCU.STAT.B.STATUS;

ScreenDump1.png

Do you know where this behavior is described iin the Reference Manual ?

Best regards,

Pat

0 Kudos
1,789 Views
Pat
Contributor III

Hi Peter,

In the RM rev5 p.2738, it is mentioned that :" Resets except the power on reset or destructive reset or pin reset(RESET_b) should not influence the state of the failure indication pins.". But it's not my case.

Best regards,

Pat

0 Kudos
1,789 Views
petervlna
NXP TechSupport
NXP TechSupport

Hi Pat,

Try to disable SWT during reading of the faults in your second case.

When the faults are read enable SWT again.

Let me know if any change in output occurred.

Peter

1,789 Views
Pat
Contributor III

Hi Peter,

Thank you, it's working.

I use the NCF[72] (First timeout interrupt request from SWT of Safety Core) and set the bit ITR = 1 of SWT Control register in order to generate a short functional reset by the FCCU. It's working but I guess that the NCF[14] is better because I don't need the SWT interruption. Have you a little example with the use of NCF[14] ?

If the bit ITR = 0 (Generate a reset on a timeout) of SWT Control register, what kind of reset is it ?

Pat

0 Kudos
1,789 Views
petervlna
NXP TechSupport
NXP TechSupport

Hi Pat,

Attached is example for FCCU triggering short functional reset on NCF[14] after SWT expires.

If ITR is 0 then NCF[14] is set -> so reset reaction is defined in FCCU_NCFS_CFG[14] register.

There is no direct connection between SWT and RGM... so SWT cannot directly trigger reset.

Ciao,

Peter

1,789 Views
Pat
Contributor III

Hi Peter,

I modified a little bit your demo project as following :

- in the main(), I added a software counter in order to blink the port A0 connected to the LED D2 on MMB

- in SWT_Init(), I added a check on FCCU status. If the status is in FAULT state then the SWT is disabled.

Do you know why once the FCCU triggered a short functional reset after the SWT timeout, the LED doesn't blink ?

Of course, if the SWT_Init() is commented (= SWT disabled) then the LED is blinking.

Pat

0 Kudos
1,789 Views
petervlna
NXP TechSupport
NXP TechSupport

Hi Pat,

I have checked your SW. Your state transition in FCCU failed (was aborted) because you have active FCCU fault from SWT [fault 14].

I made some tests and this fault cannot be cleared by software. In case of shot functional reset - your case - this fault will remain active in FCCU NCFS register.

I suggest you to set long functional reset reaction in NCF[14].

Peter

0 Kudos
1,789 Views
Pat
Contributor III

Hi Peter,

With the MPC5744P.h rev1.1.0, I can clear the NCF[14] by software then no need to set a long functional reset on NCF[14]. It's just to clarifiy the situation.

Pat

0 Kudos
1,789 Views
Pat
Contributor III

Hi Peter,

I have found the issue. The problem is in the MPC5744P.h rev5.0.3 16-Mar-15 because the FCCU has wrong register address definitions.

With the MPC5744P.h rev1.1.0 10-jan-14, the application is working well. The app reset from short functionnal reset then the check based on reset event status doesn't enable the SWT so the main loop is reached and the LED is blinking.

MPC5744P.h rev5.0.3 :

0xFBF6_0000 - 0x8000 = 0xFBF5_8000 + 0x5C => wrong address for FCCU.NCFS_CFG[0]

Capture2.PNG

MPC5744P.h rev1.1.0 :

0xFBF6_0000 - 0x7FB4 = 0xFBF5_804C => right address for FCCU.NCFS_CFG[0]

Capture.PNG

I have an old one version but yours is new but seems corrupted. Do you know if a new version is available of MPC5744P.h ?

Pat

0 Kudos
1,789 Views
petervlna
NXP TechSupport
NXP TechSupport

Hi Pat,

Yes I see this issue. I have already discussed it with apps team and they will fix it.

Here is the fixed header file.

Peter

0 Kudos
1,789 Views
Pat
Contributor III

Hi Peter,

Thank you for the fixed one.

Do you know when the "official" release will be available ? I'm very interested to have this one.

Pat

0 Kudos
1,789 Views
Pat
Contributor III

Hi Peter,

To avoid FCCU state transition failure, I changed the check of FCCU_STAT by the reset status from RGM. When the reset source is the FCCU SOFT then I don't configure the FCCU. (see attached demo project based on SWT_test_1.zip).

The application doesn't work (LED is not blinking). Why the application doesn't work even if the FCCU is not the cause of the failure due to the new check ?

I am also interested in the steps to debug an application after a short functional reset because my probe lose the connection. How do you debug the application after a functional reset ? I use GHS probe,but I guess it will be very similar steps.

Pat

0 Kudos
1,789 Views
Pat
Contributor III

Hi Peter,

Thank you very much. Now, It's clear.

I will try your example.

Pat

0 Kudos