玩火|STM32超频求点赞!
- [导读]
- 吹客=Trick ; 这是评测频道打造地一个全新栏目,旨在用轻松活泼的方式让大家一起来分享开发板使用开发的技巧和心得。只要你的文章是原创的,并且有观点有干货,一切内容和题材都可以被我们所接受。投稿请至stitch-sk@hotmail.com(采用有惊喜!)
最后还有一个限制,按ST官方的说法,PLLMUL的输出值不要大于96MHZ以上,这一点可以在STM32CUBEMX上进行验证。
代码中主循环的任务如下
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
#define TEMP130_CAL_ADDR ((uint16_t*) ((uint32_t) 0x1FF8007E))
#define TEMP30_CAL_ADDR ((uint16_t*) ((uint32_t) 0x1FF8007A))
core_main(); //COREMARK测试代码
HAL_ADC_Start(&hadc);
adc_value = HAL_ADC_GetValue(&hadc);
temp = (130.0 - 30) * (adc_value - *TEMP30_CAL_ADDR) / (*TEMP130_CAL_ADDR - *TEMP30_CAL_ADDR) + 30;
printf("Internel Tempreture: %6.2f\r\n", temp);
HAL_Delay(2000);
}
/* USER CODE END 3 */
任务很简单,定期运行COREMARK的核心检测代码,大约每隔2秒钟运行一次。COREMARK核心代码本身运行时间至少需要10秒以上才能输出有效的结果。接下来读取ADC内部温度传感器,大致看看MCU内部的工作温度。
测试
说了一堆的闲话,终于要测试了。为了节省篇幅,就不长篇大论原始代码了。如果你有兴趣,请向本文作者索取完整工程代码文件(含已配置好COREMARK移植的相关代码)。
32MHZ频率运行
这是官方允许的最大频率值,在这种情况下,肯定一切都是正常的。下面是终端输出结果
图7:32MHZ运行输出结果
配置及运行结果表
注意编译优化标志(下文同)。在这里优化等级为3,也就是最高优化,同时指定为运行时间做优化,在终端输出的信息里均包含了这一标志。
PWM输出波形(占空比分别为10%和30%,频率为1KHZ)
图8:32MHZ下TIM2输出的PWM信号
可以看到输出的PWM波形非常漂亮。关于PWM输出的配置,请参考工程代码。
在允许的范围内,反复测试COREMARK的代码片段,会发现MCU内部温度略有升高,但是升高的幅度并不明显。如图是测试一段时间后的MCU内部温度图。
图9:高负荷运行后MCU内部温度略有升高
另外顺便看一下MCO输出的效果
图10:32MHZ下MCO输出波形
频率测出是31.99MHZ
48MHZ频率下运行
为什么直接从32MHZ下跳到48MHZ下运行?
因为STM32也许根本就没有想过你要超频,它的时钟配置相对固定,没有微调参数可供选择。啊,在PC上超频的良好感觉都哪去了?
通过查阅参考手册,有如下信息
图11:PLLMUL配置可选参数
PLLMUL的取值只能在上述列表中选择,同时注意PLLVCO的值不能超96MHZ。取PLLMUL的值为12的情况下,PLLVCO的值已达到了96MHZ,可以选择的余地实在太小了!姑且拿该值一试,虽然激进了一点。
代码能跑起来了,输出似乎是正常的。终端上输出的信息如下
图12:48MHZ下终端输出
配置及运行结果
注意到COMARK的得分比未超频之前的值也变大了!毕竟主频提高了嘛,同时注意到COREMARK的值与MCU主频的值大致呈现性关系。
PWM输出波形(占空比分别为10%和30%,频率为1KHZ)
图13:48MHZ频率下TIM2的PWM输出波形
看到波形依旧漂亮!
不过在48MHZ的频率下,MCO输出严重变形,已不具参考价值。为了验证,看一张硬件仿真得到的工作频率值。
图14:硬件仿真下的SYSTEMCORECLOCK数值
- 本文系21ic原创,未经许可禁止转载!
网友评论
- 联系人:巧克力娃娃
- 邮箱:board@21ic.com
- 我要投稿
-
欢迎入驻,开放投稿
-
人均百万?英伟达中国员工收入曝光! 2024-08-29
-
《黑神话:悟空》玩家硬盘升级攻略:提升游戏体验,畅享3A大作 2024-08-29
-
数睿数据参加《系统与软件工程 低代码开发平台通用技术要求》国家标准编制 2024-08-29
- NRF52810蓝牙数字耳机找人定制
预算:¥30005天前
- 125KW模块式PCS软硬件外包开发
预算:¥1100000015小时前
- 12V汽车启动电源项目BMS设计
预算:¥50000023小时前
- 数据可视化软件 开发
预算:¥5000023小时前
- PLC项目调试修改
预算:¥100001天前
- 起动电机控制器开发
预算:¥1100001天前