国产32位MCU超频测试

博主对HK32F103RBT6芯片进行超频测试,发现能从原厂72MHz超频至96MHz,进一步尝试将频率提升至104MHz成功,但当尝试112MHz及以上时,芯片出现运行问题。更换12M晶振后问题依旧,推测可能为MCU本身的限制。目前最高稳定频率停留在104MHz,期待更多解决方案。
摘要由CSDN通过智能技术生成

目录

简述 

1 修改PLL

(1)打开启动文件

(2)在启动文件中找到SystemInit

(3)在SystemInit函数中找到SetSysClock函数

(4)在SetSysClock函数中找到SetSysClockTo72函数

(5)进入SetSysClockTo72函数

2 配置Flash等待周期


简述 

        型号:HK32F103RBT6

        对HK32进行超频测试,发现最大可设置为104MHz。群里有网友说可超频到120M,不知道是不是我修改的位置不对,或者是芯片的问题。只修改PLL,最大可超频至104Mhz。超频至更高频率时,需同时修改PLL和Flash延时周期

1 修改PLL

在工程中找到修改主频的位置:

(1)打开启动文件

(2)在启动文件中找到SystemInit

        该函数用于设置微控制器系统

  1. 初始化嵌入式Flash接口,锁相环和更新
  2. SystemCoreClock变量

         双击选中,按F12或右击Go To Definition进入

(3)在SystemInit函数中找到SetSysClock函数

        该函数是用来:

  1. 配置系统时钟频率、HCLK、PCLK2、PCLK1预标器
  2. 配置Flash延时周期,并开启预取缓冲区

 

(4)在SetSysClock函数中找到SetSysClockTo72函数

        为什么是SetSysClockTo72函数,不是其他那几个,因为只有 SYSCLK_FREQ_72MHz被声明了。

        双击SYSCLK_FREQ_72MHz,按F12即可看到:

        返回,双击 SetSysClockTo72,按F12:

(5)进入SetSysClockTo72函数

        可以看出原来8*9=72MHz的主频,已经被修改为8*12=96MHz。(8M是晶振的时钟)

        用定时器+GPIO反转+示波器验证一下,确实是这样。

        理论上将RCC_CFGR_PLLMULL12改为RCC_CFGR_PLLMULL13,可超频至8*13=104MHz。实测确实是104M。

        理论上将RCC_CFGR_PLLMULL12改为RCC_CFGR_PLLMULL14,可超频至8*13=112MHz。但是问题出现了,上电就卡死在时钟这里了。更改为更高的,情况也如此,最高只能到104M。将8M晶振换为12M晶振,按上述方法,依旧无法超频到112M以上。

分割线---------------------------------------------------------------------------------------------------------------------

        2023-1-11

        今天看到有个APM32超频的帖子,里面的前辈是这样说的:

超频首先考虑的是FLASH的读速度。

通常是FLASH等待周期要往向调,你可以认为超频后的主频太快,FLASH不够快,要延时来匹配一下。

FLASH等待周期越大,指令执行速度又会下降,所以超频后的执行速度还要实测一下(至少不是线性提高的)。

        另一位前辈是这样说:

1、实现超频
除了配置PLL外,还需注意依据规格书配置Flash等待周期参数。
2、实现超频后,对外设的影响
外设是挂在AHB、ABP总线上的,实现超频后,如果按照默认代码的频系数,
对应的外设频率也会提高。
(1)USB
如果有用到USB,注意超频后通过配置分频系数保证USB的频率为48MHz。
(2)Timer
注意对Timer的时基单元、死区时间时的影响,对输出的PWM的周期的影响。
(3)ADC
如果超频后,ADC的工作频率超过14MHz,有可能会降低其精度,注意ADC的降频
(4)其它的外设注意最高工作频率、通信速率的限制,以保证工作可靠。
(5)会增大运行模式、sleep模式的功耗
3、软件延时
超频时,会影响软件延时的时间,对时序要求要高的场景有用到软件延时时,得注意对时序的影响。
4、不建议超频应用,尤其是在高温且对产品可靠性要求高的应用场景

原帖链接icon-default.png?t=MBR7https://bbs.21ic.com/icview-3206930-1-1.html

之前的超频是只配置了PLL,未配置Flash等待周期。

2 配置Flash等待周期

        同样在SetSysClockTo72函数中,将2个Flash等待周期改为3个:

 

         HK32我还未来得及试,不过APM32我试了,原来的2个Flash等待周期,超频至80Mhz便会出现问题:有时候启动不了MCU(概率很高,有时候甚至达到50%)。但改为3个Flash等待周期后,APM32F103RB超频至80Mhz,96Mhz均无问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不做拖延王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值