[原创] 【STM32H5开发板】第五篇 GPIO翻转速率测试

常见泽1   2023-5-10 22:23 楼主

第四篇 STM32H5笔记之GPIO翻转速率测试

一 选择GPIO

image-20230510222135-1.png

Nucleo板载的接口预留了这么多,可以随便找一个输出口做测试,这里就选F4吧

 

二   GPIO配置

image-20230510222135-2.png  

看下GPIO_OSPEEDR寄存器,控制GPIO速度

速度一共分为四档

 

image-20230510222135-3.png  

三 程序编写

 

  /*Configure GPIO pin : PF4 */

  GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_2;

  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;

  GPIO_InitStruct.Pull = GPIO_NOPULL;

  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;

  HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);

通过GPIO_SPEED_FREQ_LOW参数修改速度,同时配置时钟,让输出匹配到时钟的速度

 

image-20230510222135-4.png  

四 测试情况

 

翻转程序注意有几点

1不要使用库函数测试,占用时间

2不要跳转到while测试也会占用时间

 

 

image-20230510222135-5.png  

 

翻转测试,看下数据说手册 HSLV OFF见上图,是选项字节里的

image-20230510222135-6.png  

 

image-20230510222135-7.png  

 

image-20230510222135-8.png  

GPIO_SPEED_FREQ_VERY_HIGH

image-20230510222135-9.png  

HSLV OFF情况下测试

 

测试结果:

11  大概不到170MHz,GPIO_SPED_FREQ_VERY_HIGH

 

image-20230510222135-10.png  

Z image-20230510222135-11.png  

 

10 高速

 

image-20230510222135-12.png  

 

01 输出到75MHz 左右 再大 波形就完全失真了

image-20230510222135-13.png  

再增加翻转速度,波形就没了,如下图所示

image-20230510222135-14.png  

 

00 输出50 60MHZ波形完全没有 降低波形测试

 

30MHZ波形也不行 继续降低

 

20MHZ波形差不多了

image-20230510222135-15.png  

测试下来,感觉GPIO翻转速度真的很快,基本配置的速度足够快的话

回复评论 (3)

翻转的速度不应该这么测试,你应该还要测下它的上升和下降沿时间,加一起才是真正的GPIO有效翻转时间

点赞  2023-5-11 15:54

以前每次要理解这么多接口,都头大,无法精通

点赞  2023-5-11 21:55
hjl2832 发表于 2023-5-11 15:54 翻转的速度不应该这么测试,你应该还要测下它的上升和下降沿时间,加一起才是真正的GPIO有效翻转时间

是的 有效翻转速率肯定要测tf tr的

我这个只是表明翻转大致速度 你测上升和下降沿你就会发现根本测不出来手册里i的数据

本帖最后由 常见泽1 于 2023-5-11 22:26 编辑
点赞  2023-5-11 22:22
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复