Why FCCU is not disable the Output PINs by cleared SIUL2[SMC]?

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

Why FCCU is not disable the Output PINs by cleared SIUL2[SMC]?

2,319 Views
rolanddorn
Contributor II

  Hi,

I want to use FCCU in test mode 0 (FCCU_F0 = Intput and FCCU_F0 = Output) in order to deactivate some output PINs.

Used state transition: Normal -> Fault. Used controller: S32V234

According to the capital "3.6.1 Disabling of communication controllers" of the "Safety Manual for S32V234 (Rev. 3, 10/2017)" :

"When the FCCU intends to drive
FCCU_F0 to a fault condition, the SIUL2 disables the output buffer of such pins for
which SIUL2_MSCRn[SMC] is cleared and thus disables transmission of erroneous
messages until FCCU intends to drive FCCU_F0 to a non-fault condition. After a
communication controller transmission port is disabled, it remains in the same state as
long as the FCCU drives FCCU_F0 to a non-fault condition. During this mode, the state
of weak pull-up/pull-down remain unchanged."

Well, I can put FCCU into fault state, but after FCCU is in fault state the configured output PORTs will be not disabled. 

Maybe I forgot to configure some bits needed to the PORT deactivation.

Do you have maybe some idea which bits shall I check?

PORT - configuration:

- I use PB6 as Output. Output buffer is enabled. Input buffer is disabled. SMC bit is cleared ("To drive pad in hi-z state using OBE = 0, when FCCU in fault state. The OBE will be driven by IP/SIUL when FCCU leaves the fault state." ). Bit OBE is set to 0.

I am able to drive the output from the debugger.

FCCU - configuration:

FCCU.CTRL = 0x800000c0

FCCU.CFG[0-3] = 0xFFFFFFFF

FCCU.NCF_CFG

FCCU.NCFS_CFG[0-7] = 0

FCCU.NCF_S[0-3] = 0 in case any error is present

FCCU.NCF_E[1] = 0x00101000

FCCU.NCF_E[0,2,3] = 0

FCCU.NCF_TOE[1] = 0

FCCU.NCF_TOE[0,2,3] = 0xFFFFFFFF

FCCU.NMI_EN[1] = 0xFFFFFFFF

FCCU.NMI_EN[0,2,3] = 0

FCCU.IRQ_ALARM_EN[0-3] = 0

FCCU.EOUT_SIG_EN[0-3] = 0

Labels (1)
Tags (3)
0 Kudos
Reply
2 Replies

1,923 Views
rolanddorn
Contributor II

 I have also tried to activate the noncritical fault-state EOUT signaling by enabling the corresponding bit position.

EOUT_SIG_EN[1] |= 0x1000;  // for alarm 44

 

I use FCCU in test mode 0. So I use EOUT0 as input and EOUT1 as output. Needed transition: normal -> fault.

After triggering the EOUT0 FCCU goes into fault state. In debugger I can also see the correct status of FCCU.

FCCU_STAT[ESTAT] ->In fault state

FCCU_STAT[STATUS]->Fault

 

I want to deactivate some Pin if FCCU is in fault state. SMC (Safe Mode Control) bits of the corresponding SIUL2 registers are selected.

 

According to the capital "3.6.1 Disabling of communication controllers" of the "Safety Manual for S32V234 (Rev. 3, 10/2017)" :

"When the FCCU intends to drive
FCCU_F0 to a fault condition, the SIUL2 disables the output buffer of such pins for
which SIUL2_MSCRn[SMC] is cleared and thus disables transmission of erroneous
messages until FCCU intends to drive FCCU_F0 to a non-fault condition. After a
communication controller transmission port is disabled, it remains in the same state as
long as the FCCU drives FCCU_F0 to a non-fault condition. During this mode, the state
of weak pull-up/pull-down remain unchanged."

I also tried test mode 2 (EOUT0 output and EOUT1 input but i got the same effect. 

Do anybody have an idea what is wrong?

0 Kudos
Reply

1,923 Views
PhilipPesses
NXP Employee
NXP Employee

Hi Rolanddorn,

Please submit service request ticket to www.nxp.com/support<http://www.nxp.com/support>;

Tickets are routed to S32V application engineers that can address your issue. We have deactivated the S32V community.

Regards,

NXP

0 Kudos
Reply