本帖最后由 TechHolder 于 2020-7-21 11:26 编辑
多数场合都会采用外部晶振产生时钟,但如果外部晶振短路或者晶振损坏等导致不能产生外部时钟时,怎么办?
AC781x具有自动识别到这种情况并产生NMI中断,CPU需要在中断中快速切换到可供使用的时钟源(内部时钟),以保证系统正常运行。
使能XOSC监测器,CPU时刻监测晶振运行是否正常。
两种情况我们需要考虑,一种是在上电时XOSC就异常,一种是在正常运行过程中XOSC突然产生异常。
对应上电XOSC异常,在切换到外部时钟时需要判断切换是否成功,如果切换到外部XOSC失败,则需立马切换到内部8M晶振。
对于正常运行过程XOSC突然异常,需要在NMI中断中去将时钟切换到内部8M晶振时钟。
需要将附件system_ac78xx.h和system_ac78xx.c替换到工程目下的同名文件,将ac78xx_clk_mon.h和ac78xx_clk_mon.c添加到工程中编译即可。
|