×
嵌入式 > 技术百科 > 详情

STM8 时钟安全系统(CSS)

发布时间:2024-05-13 发布时间:
|

时钟安全系统用于监控HSE时钟源是否失效。当fMASTER使用HSE做为时钟源时,如果HSE时钟由于谐振器损坏、断开或其它原因而失效,时钟控制器将激活安全恢复机制,将fMASTER自动切换到辅助时钟源HSI/8。STM8系统将一直使用辅助时钟源,直至MCU被复位。


设置时钟安全系统寄存器CLK_CSSR中的CSSEN位,可使能STM8的时钟安全系统。为安全起见,CSS一旦使能就不能被关闭,直到下一次复位。


必须满足下面的条件,CSS方可检测HSE石英晶体的失效:

HSE晶体开:(外部时钟寄存器CLK_ECKR中的位HSEEN=1)

HSE振荡器被置为石英晶体(选项位EXTCLK为1)

CSS功能开:(寄存器CLK_CSSR中CSSEN=1)

如果当前的主时钟源为HSE,当失效被检测到时,CSS将执行以下操作:

寄存器CLK_CSSR中的CSSD位被置位,如果CSSIEN为1,则同时产生一个中断。

CLK_CMSR,CLK_SWR,及CLK_CKDIVR中的HSIDIV[1:0]位被置为复位值(CKM[7:0]=SWI[7:0]=E1h)。HSI/8成为主时钟。

内部时钟寄存器CLK_ICKR中的HSIEN被置位(HSI开)。

外部时钟寄存器CLK_ECKR中的HSEEN被清除(HSE关)。

AXU位被置位,用以指示辅助时钟源HSI/8被强制使用。

用户可通过软件清除CSSD位,但AXU位只能由复位清除。为了提高时钟频率,用户在清除寄存器CLK_CSSR中的CSSD位以后,可修改寄存器CLK_CKDIVR中的HSIDIV[1:0]位。


如果失效发生时HSE不是主时钟源,STM8主时钟将不会被切换到辅助时钟源,以上操作也不会发生,仅执行下面的操作:

外部时钟寄存器CLK_ECKR中的HSEEN被清除,HSE关闭。


寄存器CLK_CSSR中的位CSSD被置位,如果CSSIEN为1,则同时产生一个中断。


如果HSE不是当前主时钟源,且主时钟正在被切换至HSE,则在清除CSSD位之前,必须先清除寄存器CLK_SWCR的SWBSY位。


如果当失效被检测到时,HSE被CCOSEL选择为时钟输出模式(参见时钟输出功能(CCO)),则HSI(HSIDIV)将替代HSE,被自动强制选择为输出时钟。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
中国国产第三代核电实现并网发电