菱沃铂MCU的时钟配置

控制/MCU

1882人已加入

描述

01 MCU的时钟

对于单片机来说,时钟是必不可少的模块,如果将MCU比作是人,那时钟就是人的心脏。没有时钟,MCU是动不起来的,所以时钟是非常重要的。时钟单元是MCU工作的基础单元。今天就来分享一下菱沃铂MCU芯片上不同时钟源的配置方法。

02 时钟电路

时钟信号产生的过程其实很简单,只需要一个振荡电路就可以了,如下图所示。

时钟电路

03 芯片内部常见的时钟单元

菱沃铂MCU内部都会有不同的时钟单元可供我们选择。(以Rb58F175A系列为例)

1、配置IHRC为MCLK

void ihrc()
{
  SPKEY = 0X36;      //解密
  CKEN |= 0X01;      //开启内部高频 IHRC
  while(!(CKSS & 0X08))  //等待内部高频起振稳定
  { 
  }
  SPKEY = 0X36;   
  CKSS = 0X00;          //选择系统时钟源 IHRC/2
  while(CKSS & 0X80)    //确保时钟切换不出错
  {
  }
  SPKEY = 0X36;
  CKEN &= 0XC0;   //关闭不使用的时钟源
}

2、配置ILRC为MCLK

void ilrc()
{
  SPKEY = 0X36;      //解密
  CKEN |= 0X02;      //开启内部低频 ILR
  while(!(CKSS & 0X10))  //等待内部低频起振稳定
  {
  }
  SPKEY = 0X36;
  CKSS = 0X02;          //选择系统时钟源 ILRC
  while(CKSS & 0X80)    //确保时钟切换不出错,否则一直等待,可以进中断处理
  {
  }
  SPKEY = 0X36;
  CKEN &= 0XC0;     //关闭不使用的时钟源
}

3、配置LCRY为MCLK

void lcry()
{
  if(!P06)                //选择不同的外部低频输入方式
  {
    SPKEY = 0X36;
    CKEN |= 0X10; //P5.3用作IO端口,P5.2的IO输入功能失效,开启外部低频晶振LXOUT端时钟输入功能。
  }
  else
  {
    SPKEY = 0X36;
    CKEN |= 0X30; //P5.3/P5.2用作LXIN/LXOUT端口,开启外部低频晶振。
  }
  while(!(CKSS & 0X20)) //等待外部低频起振稳定
  {
  }
  SPKEY = 0X36;
  CKSS = 0X03;     //选择系统时钟源 LCRY
  while(CKSS & 0X80) //确保时钟切换不出错,否则一直等待,可以进中断处理
  {
  }
  SPKEY = 0X36;
  CKEN &= 0XC0;  //关闭不使用的时钟源
}

4、配置HCRY为MCLK

void hcry()
{
  if(!P05)          //选择不同的外部高频输入方式
  {
    SPKEY = 0X36;
    CKEN |= 0X04; //P5.0 用作IO端口,P5.1的IO 输入功能失效,开启外部高频晶振 HXOUT 端时钟输入功能。
  }
  else
  {
    SPKEY = 0X36;
    CKEN |= 0X0c;// P5.0/P5.1 用作 HXIN/HXOUT 端口,开启外部高频晶振。
  }
  while(!(CKSS & 0X40)) //等待外部高频起振稳定
  {
  }
  SPKEY = 0X36;
  CKSS = 0X01;         //选择系统时钟源 HCRY
  while(CKSS & 0X80)   //确保时钟切换不出错,否则一直等待,可以进中断处理
  {
  }
  SPKEY = 0X36;
  CKEN &= 0XC0;    //关闭不使用的时钟源
}

说明:不同的时钟选择可以针对于不同的情况,相对于一些需要低功耗待机应用的场景,就可以使用内部低频时钟保证芯片在PD模式下也可以进行WT钟表计数器计数。

04 时钟切换

在同一程序内,也可以进行时钟源切换得到,来选择不同的时钟频率进行工作。

高频切换低频:

时钟电路

低频切换高频:

时钟电路

1分频切换4分频:

时钟电路

由于篇幅有限,本文只介绍了一些菱沃铂MCU时钟的基础内容,更多介绍内容和Demo,请详细参考产品的用户手册。

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

全部0条评论

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

×
20
完善资料,
赚取积分