打印
[学习笔记]

AC781x外部时钟异常如何切换到内部时钟

[复制链接]
920|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 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添加到工程中编译即可。


ac78xx_clk_mon.rar

10.7 KB

使用特权

评论回复

相关帖子

沙发
zfczfc0| | 2020-7-19 14:33 | 只看该作者
默认不就是这样的吗?

使用特权

评论回复
评论
TechHolder 2020-7-20 10:52 回复TA
@zfczfc0 :是的,7801默认就做了这样的处理。 
zfczfc0 2020-7-19 14:34 回复TA
我这是7801的 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

27

主题

219

帖子

3

粉丝