找回密码
 立即注册
查看: 410|回复: 2

有了倚天剑,何须杀猪刀

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:514
  • 最近打卡:2025-05-02 10:18:47

24

主题

515

回帖

990

积分

荣誉版主

积分
990
发表于 2024-10-31 16:08:48 | 显示全部楼层 |阅读模式
通常中高档MCU,使用6--12M晶振 + PLL ,倍频到需要的频率。
AI32也配置了PLL,可惜只有固定12x的倍率。强烈建议STC将PLL升级都可变倍率!
HPLL就是可变倍率,说明STC有这个技术!!!

用12M的外部晶振,通过PLL倍频到32M用于系统时钟:

void OSC_SET(void)
{
    u16 j;

   // P_SW2 = 0x80;

    P5IE = ~0xc0;         //P5.6 P5.7关闭数字输入功能
    //XOSCCR = 0x80;          //启动外部有源时钟, 此时P1.6固定为高阻, 仅能用于数字输入或ADC输入.
    XOSCCR = 0xc0 + 0x08;   //启动外部晶振(8051U系列),12M以下+0x08, 24M以下+0x04, 48M以下+0x00.

    for(j = 0;j < 32766;j ++)
    {
        if(XOSCCR & 1)   //等待时钟稳定
        {
            CLKSEL = 0x01; //切换到外部晶振
            CLKDIV = 0x03;   //对主时钟 MCLK 进行 4 分频--> 96/3 = 32
         //   HIRCCR   = 0x00;        //关闭内部高速时钟-----用了USB,就不要关闭内部IRC
            break;
        }
    }
}



void PLL_Init()
{
    CLKSEL &= ~0x80;        //选择PLL的96M(*8)作为PLL的输出时钟
// CLKSEL |= 0x80;         //选择PLL的144M(*12)作为PLL的输出时钟

    USBCLK &= ~PCKI_MSK;  //PLL 输入时钟 不 分频  默认 2分频
//  USBCLK |= 0x00;         //PLL输入时钟为12M则选择1分频
//  USBCLK |= 0x20;         //PLL输入时钟为24M则选择2分频
//  USBCLK |= 0x40;         //PLL输入时钟为48M则选择4分频
//  USBCLK |= 0x60;         //PLL输入时钟为96M则选择8分频

    //启动PLL
    USBCLK |= 0x80;         //使能PLL倍频
    delay();                //等待PLL锁频,建议50us以上

   
//    CLKDIV = 0x03;  //对主时钟 MCLK 进行 4 分频--> 96/3 = 32
    CLKSEL |= 0x04; //主时钟源选择内部 PLL 输出
}



用32.768K的外部晶振, 用内部锁频,用于系统时钟 . 频率稳定度为+-0.5%,这样的指标太低。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:425
  • 最近打卡:2025-05-03 00:09:43
已绑定手机

77

主题

4850

回帖

8388

积分

超级版主

DebugLab

积分
8388
发表于 2024-10-31 16:21:39 | 显示全部楼层
12M是中心频率,理论上可以输入8~16M到PLL,可以变频
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:424
  • 最近打卡:2025-05-03 00:02:01
已绑定手机

19

主题

3191

回帖

4876

积分

论坛元老

积分
4876
发表于 2024-10-31 18:04:00 来自手机 | 显示全部楼层
stm32可以通过外部8m晶振倍频到72m及以上,不知道stc什么时候能支持
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-3 00:30 , Processed in 0.107980 second(s), 63 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表