欢迎来到 SiTime样品中心!

优化SiT15xx驱动器设置32 kHz晶体输入低功耗MCU程序设计细节(三)

优化SiT15xx驱动器设置32 kHz晶体输入低功耗MCU程序设计细节(三)

附录F:编程飞思卡尔Kinetis L4x和L5x系统振荡器

         编程模型

         MCU集成了管理时钟分配的两个模块。 选择和通过多功能时钟控制和编程系统时钟源的复用发电机(MCG)模块。 系统的时钟分频器和模块时钟门控的设置通过系统集成模块(SIM)编程。 系统振荡器,MCG和SIM卡寄存器控制多路复用器,分频器和时钟门。
         注意。 OSC使能并开始生成时钟后,配置如低电平功率和频率范围不得改变。
         振荡器模块具有用于连接晶体的内置负载电容器。 OSC0_CR控件低功耗模式运行和负载电容。 如果ERCLKEN和EREFSTENOSC0_CR置1,当MCU进入停止模式时,OSC处于工作状态。

表36:OSC控制寄存器(OSCx_CR)


         系统振荡器支持32 kHz振荡器以及更高频率的晶体(3至32 MHz)。 OSC模块输出三个时钟:
                  OSCCLK为MCU系统
                  用于片上外设的OSCERCLK
                  OSC32KCLK
         MGC_C2 [5:4]中的RANGE0位定义了晶体振荡器的频率范围。 你必须清除RANGE0位以选择32 kHz操作的振荡器频率范围。
         振荡器输出时钟(OSC_CLK_OUT)被关闭,直到计数器检测到4096为止其输入时钟周期(XTL_CLK)。 4096个循环完成后,计数器通过XTL_CLK放到OSC_CLK_OUT上。 这个计数超时用于保证输出时钟稳定性。

表37:MCG控制2寄存器(MCG_C2)


表38:MCG状态寄存器(MCG_S)


表39:系统选项寄存器2(SIM_SOPT2)


表40:MCG控制4寄存器(MCG_C4)


         以下是CodeWarrior Development Studio中的代码示例,显示配置在模式1中运行SiT1533AI-H4。

   

         时钟输出能力

         MCU具有RTC_CLKOUT引脚,可以使用RTC 1 Hz驱动或使用OSCERCLK片上时钟源。 该选项的控制是通过SIM_SOPT2 [4]位。SIM_SOPT2 [7:5]位控制时钟源。
下面是配置由时钟源驱动的RTC_CLKOUT引脚的代码示例:

  

附录G:对PIC18 MCU次要编程振荡器

         辅助振荡器是Timer1的一部分,可以通过定制Timer1进行配置寄存器。 Timer1可以在三种模式下工作:
                  计时器
                  同步计数器
                  异步计数器
         Timer1需要时钟进行操作。 有三个时钟源:
                  内部时钟(系统时钟从高速振荡器或内部RC振荡器发送)
                  辅助振荡器(连接32 kHz晶振)
                  外部时钟(来自T1OSO引脚)
         配置辅助振荡器时,用户必须提供软件时间延迟确保正常启动。 当Timer1使能时,RC1 / T1OSI和RC0 / T1OSO / T13CKI引脚成为投入。 这意味着TRISC的值被忽略,引脚读为0。
         PIC18 MCU是可编程的简单器件。 所有Timer1配置都可以完成一个注册。 Timer1由T1CON(Timer1控制寄存器)控制。 它也包含Timer1振荡器使能位(T1OSCEN)。 Timer1可以通过设置或禁用清零控制位TMR1ON(T1CON <0>)。

表41:Timer1控制寄存器(T1CON)



         以下是配置振荡器在模式1和模式3中运行的两个代码片段:

    



相关链接:32.768KHz低功耗有源晶振选型

相关链接:32.768KHz高精度有源晶振选型


备案号:京ICP备13034140号-2  ©北京晶圆电子有限公司 版权所有