Mar 06, 2019
08:18 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Mar 06, 2019
08:18 AM
I am looking into the possibility to detect when the system clock PLL loses lock.
The reference manual states: "The PLL may become unlocked, caused by a break of the crystal or the external clock line. In such a case, an NMI trap is generated if it were enabled."
But where can this be enabled to generate the NMI? I have looked at all the SCU registers but have not been able to find an enable bit. This is also not set by default.
In the default configuration I end up with a Bus Error fault if I stop the external crystal. This is not described in the reference manual.
How can this safety feature be used?
The reference manual states: "The PLL may become unlocked, caused by a break of the crystal or the external clock line. In such a case, an NMI trap is generated if it were enabled."
But where can this be enabled to generate the NMI? I have looked at all the SCU registers but have not been able to find an enable bit. This is also not set by default.
In the default configuration I end up with a Bus Error fault if I stop the external crystal. This is not described in the reference manual.
How can this safety feature be used?
- Tags:
- IFX
2 Replies
Mar 10, 2019
11:55 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Mar 10, 2019
11:55 AM
Hi,
read chapter about trap generation, enable trap associated with oscillator and maybe VCO in TRAPDIS, write your own NMI handler.
rum
read chapter about trap generation, enable trap associated with oscillator and maybe VCO in TRAPDIS, write your own NMI handler.
rum
Mar 11, 2019
02:24 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Mar 11, 2019
02:24 PM
Hi,
Using XMCLib
XMC_SCU_TRAP_ClearStatus(XMC_SCU_TRAP_VCO_LOCK);
XMC_SCU_TRAP_Enable(XMC_SCU_TRAP_VCO_LOCK);
Regards,
Jesus
Using XMCLib
XMC_SCU_TRAP_ClearStatus(XMC_SCU_TRAP_VCO_LOCK);
XMC_SCU_TRAP_Enable(XMC_SCU_TRAP_VCO_LOCK);
Regards,
Jesus