8位MCU 32.768kHz晶振相关控制寄存器和代码选项说明

电子说

1.3w人已加入

描述

中颖很多8位MCU产品支持外部32.768kHz晶振,用作系统低频时钟和RTC时钟。有几个常用的控制寄存和代码选项与32.768kHz晶振电路相关,下文以SH86F7088举例逐一说明。

1、32K_SPDUP

32K_SPDUP是32.768kHz晶振加速模式控制位,位于时钟控制寄存器(CLKCON)的最高位,上电默认是使能状态。只有代码选项OP_OSC选择了32.768kHz晶体振荡器,此控制位才有效。

此寄存器位在系统发生任何形式的复位,如上电复位、看门狗复位等时,自动由硬件置1(使能),用以加速32.768kHz振荡器起振,缩短起振时间。

如果有需要,本位也可以由软件置1(使能)或者清0(关闭)。比如进入掉电模式前,可以将此位置1,掉电模式唤醒后再由软件清0。

使能此位后,会增加一点系统功耗。在低功耗应用中,可以关闭32.768kHz加速模式(此位清0)以节省系统耗电。

2、OP_32KDRIVE

OP_32KDRIVE是用户代码选项,用于使能晶振电路的强驱模式。在此模式下,晶振电路的抗湿度能力会显著增强,但功耗也会相应增加。此代码选项的初始默认设置是普通模式。

为了方便程序控制强驱模式,IC还设计了一个寄存器控制位(32K_DRIVE),功能同此代码选项相同。

备注:

(1) 使能强驱模式时,晶振匹配电容不能小于15pF;

(2)一旦使能强驱模式,即使没有使用外部32K晶振,增加的功耗也会持续存在。

3、32K_DRIVE

32K_DRIVE是32.768kHz晶振强驱模式的寄存器控制位,位于时钟控制寄存器(CLKCON)的bit 1,复位初始值由代码选项OP_32KDRIVE给出。只有代码选项OP_OSC选择了32.768kHz晶体振荡器,此控制位才有效。

寄存器控制位32K_DRIVE和代码选项OP_32KDRIVE的功能相同,都是强驱模式控制位,但是它们的有效范围有一些区别:

(1) IC复位后,OP_32KDRIVE有效,强驱模式受代码选项控制,此时32K_DRIVE的初始值同OP_32KDRIVE的值。

(2) 用户用程序修改32K_DRIVE的值后,32K_DRIVE生效,强驱模式受寄存器位控制。此时OP_32KDRIVE无效,直到发生系统复位后才再次生效。

4、OP_32KLCAP

OP_32KLCAP是用户代码选项,用于配置芯片内建的32.768kHz晶振匹配电容,初始默认设置是选择12pF内建电容。

内建匹配电容用于替代片外匹配电容,可以精简BOM。如果要使用片外匹配电容,需要用此代码选项关闭内建匹配电容。内建匹配电容有7档可选,容值范围8~25pF,容值最大偏差±15%。

为了方便程序选择内建电容值,IC还设计了寄存器控制位(LCAP[2:0]),功能同此代码选项相同。

5、 LCAP[2:0]

LCAP[2:0]是寄存器控制位,也是用来配置芯片内建的32.768kHz晶振匹配电容。位于内建电容选择寄存器(OSCLCAPS)的bit[2:0],复位初始值由代码选项OP_32KLCAP给出。只有代码选项OP_OSC选择了32.768kHz晶体振荡器,此控制位才有效。

寄存器控制位LCAP[2:0]和代码选项OP_32KLCAP的功能相同,都是配置内建匹配电容,但是它们的有效范围有一些区别:

(1) IC复位后,OP_32KLCAP有效,内建匹配电容受代码选项控制,此时LCAP[2:0]的初始值同OP_32KLCAP的值。

(2) 用户用程序修改LCAP[2:0]的值后,LCAP[2:0]生效,内建匹配电容受寄存器位控制。此时OP_32KLCAP无效,直到发生系统复位后才再次生效。

来源:中颖电子
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理


审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分