[学习笔记] AC781x外部时钟异常如何切换到内部时钟

[复制链接]
1091|3
 楼主| TechHolder 发表于 2020-7-18 13:56 | 显示全部楼层 |阅读模式
本帖最后由 TechHolder 于 2020-7-21 11:26 编辑

多数场合都会采用外部晶振产生时钟,但如果外部晶振短路或者晶振损坏等导致不能产生外部时钟时,怎么办?
AC781x具有自动识别到这种情况并产生NMI中断,CPU需要在中断中快速切换到可供使用的时钟源(内部时钟),以保证系统正常运行。
2020-7-18_1.png
2020-7-18_2.png
使能XOSC监测器,CPU时刻监测晶振运行是否正常。

两种情况我们需要考虑,一种是在上电时XOSC就异常,一种是在正常运行过程中XOSC突然产生异常。
对应上电XOSC异常,在切换到外部时钟时需要判断切换是否成功,如果切换到外部XOSC失败,则需立马切换到内部8M晶振。
2020-7-18_3.png
对于正常运行过程XOSC突然异常,需要在NMI中断中去将时钟切换到内部8M晶振时钟。
2020-7-18_4.png

需要将附件system_ac78xx.h和system_ac78xx.c替换到工程目下的同名文件,将ac78xx_clk_mon.h和ac78xx_clk_mon.c添加到工程中编译即可。
2020-7-18_5.png

ac78xx_clk_mon.rar

10.7 KB, 下载次数: 16

zfczfc0 发表于 2020-7-19 14:33 | 显示全部楼层
默认不就是这样的吗?

评论

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

本版积分规则

27

主题

219

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部