0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32H7时钟I/O响应频率和定时器最高频率的测试方法

CHANBAEK 来源:1ST-LABS 作者:王译 2023-10-24 14:51 次阅读

针对常规STM32系列性能测试所引起的准确度低、可靠性差、操作困难等问题,文中提出了一种关于I/O响应频率以及定时器最高频率的极限性能测试方法。通过对STM32H7时钟频率进行最高频率配置,分别对需要测试的引脚进行电平翻转并输出波形,从示波器显示的波形结果来看,验证结果表明I/O响应的时钟频率受时钟源最高频率的限制,能够达到时钟源所规定的最高频率。文中给出了STM32CubeMX配置时钟频率的方法。

近年来,随着科学技术的不断创新和发展,嵌入式计算机行业迎来了翻天覆地的变化,随之而来,嵌入式计算机对于人类的生产活动和社会活动产生了极其重要的影响,它的应用领域从最初的军事科研应用扩展到社会的各个领域,从而带动了全球范围的技术进步,由此引发了深刻的社会变革。

在嵌入式计算机中,单片机作为一种体积小、质量轻、价格便宜的嵌入式计算机,它的应用领域也十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。而STM32系列芯片作为32bit单片机类型的代表,在实际的开发应用中,需要对它的性能做测试,进而验证其保持在最高的频率下,系统能否正常运行。

1. 系统架构框图

图片

图片

2. 系统时钟树架构

图片

图片

3. 验证系统时钟频率

3.1 原理方案

本文硬件采用的是STM32H723ZGT6开发板,通过对时钟输出引脚MCO2进行配置,用示波器抓取引脚的波形,从波形中验证时钟频率是否达到要求。MCO2可输出的时钟源都有SYSCLK、HSE、LLCLK、LL2PCLK、SICLK、SICLK。根据需求通过HAL_RCC_MCOConfig(RCC_MCO2, RCC_MCO2SOURCE_SYSCLK, RCC_MCODIV_10);函数进行配置时钟输出源以及分频。

3.2 STM32CubeMX配置时钟频率

图片

3.3 MCO2引脚配置

图片

需要注意的是,MCO2引脚的最大输出速度应配置为Very High,否则输出速度将受到限制。

3.4 示波器抓取引脚波形变化

图片

由于系统时钟配置的是500MHz,时钟输出的是10分频后的结果,从图中可以看到波形正好是主频10分频后的波形,即50MHz,所以推断出系统实际时钟频率跟理论时钟频率相符。

4. 验证TIM定时器最高时钟频率

官方给出的TIM时钟源的时钟频率理论值为275MHz,为了方便计算,本文配置的系统时钟频率为500MHz,分到TIM时钟频率的时候为250MHz。也就是说每一个TIM的计数值为1 s /250 MHz =4ns ,所以,当计数值为25 count时,TIM的输出周期100 ns,而当计数值为26 count时,TIM的输出周期104 ns,验证实际输出的波形可得出TIM的实际时钟频率。

4.1 配置TIM工作模式

图片

图片

图片

4.2 代码修改

开启定时器输出比较功能,使其引脚输出波形。使用函数接口HAL_TIM_OC_ Start(&htim1, TIM_CHANNEL_1); 进行开启。

图片

4.3 示波器抓取引脚波形

图片

当count为25时输出的波形

图片

当count为26时输出的波形

4.4 结论

从上文的波形中可以看出,每个count的时间为4ns,从而得出TIM的实际输出时钟频率为1 s /4 ns =250 MHz 。也就是说每个I/O的引脚响应频率受I/O所在时钟源的限制,如主频输出的时钟频率能够到达500MHz,而TIM的输出引脚的响应频率能够到达250MHz。

文章来源:上海凝睿电子科技有限公司西安分公司

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

    关注

    4982

    文章

    18281

    浏览量

    288442
  • STM32
    +关注

    关注

    2239

    文章

    10671

    浏览量

    348743
  • 定时器
    +关注

    关注

    23

    文章

    3147

    浏览量

    112037
  • 时钟频率
    +关注

    关注

    0

    文章

    48

    浏览量

    20188
  • stm32cubemx
    +关注

    关注

    5

    文章

    260

    浏览量

    14447
收藏 人收藏

    评论

    相关推荐

    STM32H7 MCO可以设置输出频率为4.096Mhz的时钟吗?

    想有STM32H7 MCO 可以设置输出频率为4.096Mhz给外部ADC提供时钟,请问下MCO 可以设置输出为4.096Mhz?如何配置?
    发表于 03-14 06:19

    最高频率分量的频率

    请问什么叫最高频率分量的频率??新人一枚 ,请大家指教!!谢谢
    发表于 08-28 10:58

    EP3C25E144I7工作最高频率是多少

    EP3C25E144I7工作的最高频率是多少,也就是PLL设置最高输出为多少,求大神们帮忙解答下
    发表于 03-21 09:41

    请问STM32时钟配置为72Mhz时可以输出的脉冲的最高频率是多少?

    STM32时钟配置为72Mhz时可以输出的脉冲的最高频率是多少?我有点糊涂了,谁能说说?
    发表于 12-07 08:54

    stm32定时器时钟频率的计算问题相关资料分享

    stm32定时器基本简介f4:stm32定时器时钟频率系统
    发表于 07-01 09:25

    怎样计算stm32定时器的时间

    嗯~~~ 在stm32中经常使用定时器,但是一直没有学会怎样计算定时器的时间,近期简单学习了一下做一下总结记录首先我们会在主函数里边定义时钟最高频
    发表于 08-13 08:50

    stm32定时器时钟是多少

    软件工程想要配置定时器首先的明白定时器时钟是多少。计数原理首先我们来看时钟图APB1 预分频,分频因数按照/1、2、4、8、16,能得到五
    发表于 08-18 07:04

    STM32H7的TIM定时器基础知识和HAL库

    第32章 STM32H7的TIM定时器基础知识和HAL库API本章节为大家讲解TIM1 – TIM17(STM32H7没有TIM9,TIM10和TIM11)共计14个定时器的基础知识和
    发表于 08-19 06:53

    怎样去计算stm32定时器外部信号的周期呢

    怎样去计算stm32定时器外部信号的周期呢?stm32外部信号的最高频率与内部时钟频率有何关系?
    发表于 11-22 06:11

    STM32H745定时器频率问题求解

    我知道它工作正常。似乎定时器时钟不是 240MHz,而是其他东西。如果有人了解 stm32h7 定时器时钟
    发表于 01-06 08:49

    51单片机pwm最高频率能到多少?

    at89c51的io输出pwm,级数256级,用定时器实现那么它的最高频率能到多少
    发表于 10-08 07:16

    STM32H7移植freertos能不能直接用通用定时器作为系统时钟基准?

    STM32H7移植freertos,能不能直接用通用定时器作为系统时钟基准
    发表于 10-10 06:30

    图像信号最高频率

    图像信号最高频率
    发表于 07-31 12:26 2620次阅读

    如何依据电源线共模骚扰的最高频率来选择滤波器插损的最高频率呢?

    如何依据电源线共模骚扰的最高频率来选择滤波器插损的最高频率呢? 电器设备中的电源线共模骚扰是导致电力系统电磁干扰和错误操作的主要原因之一。解决这个问题的方法之一是使用适当的滤波器。但是,选择正确
    的头像 发表于 09-12 11:48 454次阅读

    晶振标称频率是什么?如何区分高频率晶振和低频率晶振?

    晶振标称频率是什么?如何区分高频率晶振和低频率晶振? 晶振标称频率是指晶振器在设计和生产过程中设定的频率,通常以赫兹(Hz)为单位表示。它表
    的头像 发表于 12-18 14:30 478次阅读