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

相关文章

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

springboot security之前后端分离配置方式

《springbootsecurity之前后端分离配置方式》:本文主要介绍springbootsecurity之前后端分离配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录前言自定义配置认证失败自定义处理登录相关接口匿名访问前置文章总结前言spring boot secu

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties

Spring Boot结成MyBatis-Plus最全配置指南

《SpringBoot结成MyBatis-Plus最全配置指南》本文主要介绍了SpringBoot结成MyBatis-Plus最全配置指南,包括依赖引入、配置数据源、Mapper扫描、基本CRUD操... 目录前言详细操作一.创建项目并引入相关依赖二.配置数据源信息三.编写相关代码查zsRArly询数据库数

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技

如何自定义Nginx JSON日志格式配置

《如何自定义NginxJSON日志格式配置》Nginx作为最流行的Web服务器之一,其灵活的日志配置能力允许我们根据需求定制日志格式,本文将详细介绍如何配置Nginx以JSON格式记录访问日志,这种... 目录前言为什么选择jsON格式日志?配置步骤详解1. 安装Nginx服务2. 自定义JSON日志格式各

使用Python实现网络设备配置备份与恢复

《使用Python实现网络设备配置备份与恢复》网络设备配置备份与恢复在网络安全管理中起着至关重要的作用,本文为大家介绍了如何通过Python实现网络设备配置备份与恢复,需要的可以参考下... 目录一、网络设备配置备份与恢复的概念与重要性二、网络设备配置备份与恢复的分类三、python网络设备配置备份与恢复实