MPC5748 EOUT for FCCU

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

MPC5748 EOUT for FCCU

ソリューションへジャンプ
1,567件の閲覧回数
yuehedeng
Contributor III

Hello,

 

   I'm working on FCCU development with MPC5748. I want to use EOUT with Bi-stable protocol to inform external IC. Now I can inject fake faults to trigger FCCU alarm, but nothing happen to EOUT[1.0].

   As written in datasheet, if configured as Bi-stable protocol, when in fault mode, EOUT0 = 0, EOUT1 = 1. When normal, EOUT0 = 1, EOUT1 = 0. However, no matter in which state, the pins are always: EOUT0 = 0 and EOUT1 = 1.

 

Also I haven't try to set EOUT0 and clear EOUT1 manually, but it didn't take effect.

 

My EOUT0 is PF10, EOUT1 is PF12. The source code is shown as follows:

 

void FCCU_CONFIG (void)
{
/* Unlock configuration */
FCCU.TRANS_LOCK.R = 0xBC;

/* provide Config state key */
FCCU.CTRLK.R = 0x913756AF; //key for OP1

/* enter config state - OP1 */
FCCU.CTRL.R = 0x1; //set OP1 - set up FCCU into the CONFIG mode
/* wait for successful state transition */
while (FCCU.CTRL.B.OPS != 0x3); //operation status succesful

/**************************************/
/* Insert the FCCU configuration here*/
/**************************************/
/* FCCU pin configure: EOUT0 -->PF10, EOUT1 -->PF12 */
SIUL2.MSCR[90].B.SSS = 5; /* Pad PF10-->EOUT0 */
SIUL2.MSCR[90].B.OBE = 1; /* Pad PF10: OBE=1. */
SIUL2.MSCR[90].B.SRC = 3; /* Pad PF10: Full strength slew rate */

SIUL2.MSCR[92].B.SSS = 4; /* Pad PF12-->EOUT1 */
//SIUL2.MSCR[92].B.OBE = 1; /* Pad PF12: OBE=1. */
SIUL2.MSCR[92].B.SRC = 3; /* Pad PF12: Full strength slew rate */

//GPIO_Set(EOUT0_PIN);
//GPIO_Clear(EOUT1_PIN);

/* FS6502 only support Bi-stable Protocol */
/* ___________ ____________ */
/*EOUT0__| |_______________| */
/* _______________ */
/*EOUT1______________| | */
/* |Normal |error or config| */
FCCU.CFG.B.FOM = 2u;
FCCU.CFG.B.PS = 0u;

/* FCCU moves into the ALARM state if the respective fault is enabled */
FCCU.NCF_TOE[0].R = 0xFFFFFFFF; //ALARM Timeout Enable

FCCU.NCF_E[0].B.NCFE7 = 0x1; //Enable reaction on fault NCF[7]

FCCU.IRQ_ALARM_EN[0].R = 0x80; //Enable ALARM interrupt on fault NCF[7]
INTC.PSR[488].R = 0x8000 | FCCU_ALARM_PRIORITY;

/* set up the NOMAL mode of FCCU */
FCCU.CTRLK.R = 0x825A132B; //key for OP2
FCCU.CTRL.R = 0x2; //set the OP2 - set up FCCU into the NORMAL mode
while (FCCU.CTRL.B.OPS != 0x3); //operational status succesful
}/* FCCU_CONFIG */

ラベル(1)
0 件の賞賛
1 解決策
1,016件の閲覧回数
petervlna
NXP TechSupport
NXP TechSupport

Your cannot see output EOUT because your FCCU is not configured to signal out faults.

You are missing:

FCCU.CFG.B.FCCU_SET_AFTER_RESET = 0x1;// Write to start FCCU functioning.  

See my example in attachment.

Also when FCCU is in config mode do not configure any other modules, just FCCU, until you exit FCCU config mode.

I also recommend to read relevant documentation for FCCU:

http://cache.nxp.com/assets/documents/data/en/application-notes/AN5284.pdf?fsrch=1&sr=3&pageNum=1 

Peter

元の投稿で解決策を見る

0 件の賞賛
5 返答(返信)
1,017件の閲覧回数
petervlna
NXP TechSupport
NXP TechSupport

Your cannot see output EOUT because your FCCU is not configured to signal out faults.

You are missing:

FCCU.CFG.B.FCCU_SET_AFTER_RESET = 0x1;// Write to start FCCU functioning.  

See my example in attachment.

Also when FCCU is in config mode do not configure any other modules, just FCCU, until you exit FCCU config mode.

I also recommend to read relevant documentation for FCCU:

http://cache.nxp.com/assets/documents/data/en/application-notes/AN5284.pdf?fsrch=1&sr=3&pageNum=1 

Peter

0 件の賞賛
1,016件の閲覧回数
yuehedeng
Contributor III

Thanks very much. Now it works.

0 件の賞賛
1,016件の閲覧回数
李丽丽
Contributor I

I have some confuse about eout,can help?

when i configure the register,the eout is configured to fault status,but there is no NCF fault,why?

and how to exit the fault status?

0 件の賞賛
1,016件の閲覧回数
petervlna
NXP TechSupport
NXP TechSupport

Hi,

I do not expect there is any issue. Did you configured SIUL2 properly?

I can test it on EVB and let you know.

Peter

0 件の賞賛
1,016件の閲覧回数
yuehedeng
Contributor III

I configure them as below:

/* FCCU pin configure: EOUT0 -->PF10, EOUT1 -->PF12 */
SIUL2.MSCR[90].B.SSS = 5; /* Pad PF10-->EOUT0 */
SIUL2.MSCR[90].B.SRC = 3; /* Pad PF10: Full strength slew rate */

SIUL2.MSCR[92].B.SSS = 4; /* Pad PF12-->EOUT1 */
SIUL2.MSCR[92].B.SRC = 3; /* Pad PF12: Full strength slew rate */

0 件の賞賛