STM32GPIO速度配置究竟改变了什么-笔记

2023-12-03 04:44

本文主要是介绍STM32GPIO速度配置究竟改变了什么-笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

STM32GPIO速度配置究竟改变了什么-笔记

  • 摘要
  • STM32引脚内部框图
  • STM32时钟树
  • 端口寄存器
  • I/O交流特性定义

摘要

一般有 Low、Medium、High,三种速度选择。速度配置变了硬件什么状态? 对 GPIO 的输入输出信号有什么影响? 编程时如何选取速度参数?或者最直接的 你以为 GPIO口的刷新频率 那么就错了,实际上情况如下解释

在这里插入图片描述

含义是什么,是书面意思的速度吗?它是像有些人理解的那样是带宽吗?

STM32引脚内部框图

在这里插入图片描述

“输出控制”首先这个频率设置是针对输出信号

STM32时钟树

在这里插入图片描述

在这里插入图片描述

GPIO 口是挂接在 AHB 总线上,输入状态的频率也已经确定了是按时钟 APB2分频时钟进行刷新的。

端口寄存器

在这里插入图片描述

这些代码实际上最终设置了寄存器,端口配置低寄存器(GPIOX_CRL)。

I/O交流特性定义

在这里插入图片描述
当信号的上升时间加下降时间小于2/3个周期并且占空比为50%左右时为最大频率

请添加图片描述

上升时间和下降时间是由负载决定的,频率提高时,周期 T 逐渐缩短而 Tr 和 Tf 保持不变。他们在一个周期内的占比会逐渐上升而使稳定高电平和稳定低电平这一段Tw 越来越短,如果要使这个输出的数字信号能有效地被接收端正确识别,Tw 就不能太短,所以定义当 Tw 缩短到1/6 T 时就不能再短了。

最大频率受制于上升沿和下降沿。

设置三种或者四种 GPIO 速度模式,实际上是上并和下降时间的设置。
在这里插入图片描述
在这里插入图片描述

请添加图片描述

那么这个频率是信号带宽吗?
请添加图片描述

因为输出最大频率时波形实际上已经接近正旋波了,其 3dB 带宽稍大于信号的频率

信号的上升时间和下降时间是由电路的驱动能力和负载电容决定的当负载电容一定时,GPIO 端口的驱动能力越大,充放电的电流也越大、上升时间就越短。

三种模式是改变那部分的是改变了芯片电路中的哪个部分。从而达到调整上升和下降时间的呢?

在这里插入图片描述
输出控制的MOS管的驱动电压,使它们有不同的导通电阻,从而控制驱动输出的电流,影响上升沿和下降沿。

尤其是多个 GPIO 端口同时输出时,在信号切换电平的瞬间会有一个很大的尖峰电流。
请添加图片描述

也就是这个尖峰电压会产生一个很大的干扰电压。

这篇关于STM32GPIO速度配置究竟改变了什么-笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/448107

相关文章

SpringBoot中HTTP连接池的配置与优化

《SpringBoot中HTTP连接池的配置与优化》这篇文章主要为大家详细介绍了SpringBoot中HTTP连接池的配置与优化的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录一、HTTP连接池的核心价值二、Spring Boot集成方案方案1:Apache HttpCl

Maven 插件配置分层架构深度解析

《Maven插件配置分层架构深度解析》:本文主要介绍Maven插件配置分层架构深度解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Maven 插件配置分层架构深度解析引言:当构建逻辑遇上复杂配置第一章 Maven插件配置的三重境界1.1 插件配置的拓扑

Spring Boot集成Logback终极指南之从基础到高级配置实战指南

《SpringBoot集成Logback终极指南之从基础到高级配置实战指南》Logback是一个可靠、通用且快速的Java日志框架,作为Log4j的继承者,由Log4j创始人设计,:本文主要介绍... 目录一、Logback简介与Spring Boot集成基础1.1 Logback是什么?1.2 Sprin

VSCode中配置node.js的实现示例

《VSCode中配置node.js的实现示例》本文主要介绍了VSCode中配置node.js的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一.node.js下载安装教程二.配置npm三.配置环境变量四.VSCode配置五.心得一.no

Gradle在国内配置镜像加速的实现步骤

《Gradle在国内配置镜像加速的实现步骤》在国内使用Gradle构建项目时,最大的痛点就是依赖下载贼慢,甚至卡死,下面教你如何配置国内镜像加速Gradle下载依赖,主要是通过改写repositori... 目录引言一、修改 build.gradle 或 settings.gradle 的 reposito

使用easy connect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题

《使用easyconnect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题》:本文主要介绍使用easyconnect之后,maven无法... 目录使用easGWowCy connect之后,maven无法使用,原来需要配置-DJava.net.pr

史上最全nginx详细参数配置

《史上最全nginx详细参数配置》Nginx是一个轻量级高性能的HTTP和反向代理服务器,同时也是一个通用代理服务器(TCP/UDP/IMAP/POP3/SMTP),最初由俄罗斯人IgorSyso... 目录基本命令默认配置搭建站点根据文件类型设置过期时间禁止文件缓存防盗链静态文件压缩指定定错误页面跨域问题

nginx负载均衡及详细配置方法

《nginx负载均衡及详细配置方法》Nginx作为一种高效的Web服务器和反向代理服务器,广泛应用于网站的负载均衡中,:本文主要介绍nginx负载均衡及详细配置,需要的朋友可以参考下... 目录一、 nginx负载均衡策略1.1 基本负载均衡策略1.2 第三方策略1.3 策略对比二、 nginx配置2.1

Android开发环境配置避坑指南

《Android开发环境配置避坑指南》本文主要介绍了Android开发环境配置过程中遇到的问题及解决方案,包括VPN注意事项、工具版本统一、Gerrit邮箱配置、Git拉取和提交代码、MergevsR... 目录网络环境:VPN 注意事项工具版本统一:android Studio & JDKGerrit的邮

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发