Hardware reset failed in D2D isr

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

Hardware reset failed in D2D isr

571 Views
gumu
Contributor IV

Dear Sir,

interrupt VectorNumber_Vd2di_err void isrD2DErr(void)
{
	while(1)  {
		if(D2DSTAT0_ERRIF)  {
			D2DSTAT0_ERRIF = 1;											// clear flag
		}else{
			PCRReset();													// issue an analog die reset 
		}
	}
}

 

I have encountered a problem that system run into isrD2DErr and always do PCRReset, but I used oscilloscope to monitor RESET pin, did't see any change,meaning that PCRReset() can't reset device.

For comparison, I tried to use PCRReset() in normal mode, PCRReset()  workd well.

Questions are:

1. What are the factors that trigger this interrupt.

2.Why PCRReset() can't do hardware reset

Thanks!

Tags (1)
0 Kudos
3 Replies

548 Views
Q_man
NXP Employee
NXP Employee

Hi,

1. The D2DErr Interrupt is caused by errors detected by the D2D Initiator, which is the D2D module on the uC side. The detected errors are signaled in the D2DSTAT0 register.

Q_man_1-1691567132264.jpeg

 

Q_man_0-1691565874093.png

This error could e.g. be caused if the analog die is in STOP mode and the uC tries to access the analog die. As the analog die does not correctly react to the D2D Initiator request, this will generate the D2DErr Interrupt.

2. The PCRReset() is trying to perform a write to a register on the analog die, which is using the D2D interface, as this interface seems to have an issue the write fails here.

Rgds
W.

 

0 Kudos

540 Views
gumu
Contributor IV

Hi @Q_man ,

Thanks!

If enable analog die watch dog can fix above abnormal case?

0 Kudos

535 Views
Q_man
NXP Employee
NXP Employee

Yes, the analog watchdog (system reset) would recover from such a problem. BUT this kind of issue should never occur under normal operation, so I strongly recommend to find out how your setup could have this problem and fix the root cause.

W.

0 Kudos