ARM32开发--GPIO输入模式

知不足而奋进 望远山而前行


目录

文章目录

前言

浮空输入

上拉输入

下拉输入

模拟输入

总结


前言

在数字电路设计和嵌入式系统开发中,理解输入信号的处理方式对确保系统稳定性和可靠性至关重要。不同的输入处理方式包括上拉输入、下拉输入、浮空输入和模拟输入,它们在不同场景下具有各自的应用特点和作用。而TTL施密特触发器则是常用于去除噪声和提供稳定输出信号的重要元件。通过适当选择和配置输入方式,可以有效地管理输入信号的稳定性和准确性,使系统在各种情况下都能正常工作。


上图为GPIO输入的基本示意图,其中包含了上拉电路,下拉电路,模拟信号处理,数字逻辑信号接收。

TTL(Transistor-Transistor Logic)施密特触发器是一种数字电路元件,常用于去除输入信号的噪声和抖动,并提供稳定的输出信号。它的作用在于消除输入信号的不稳定性,确保在输入信号发生变化时,输出信号能够产生可靠的、干净的转换。

TTL施密特触发器的主要作用有以下几个方面:

  1. 消除噪声和抖动:在数字电路中,输入信号可能受到噪声的干扰或产生抖动(快速的信号变化)。这可能导致触发器在边沿变化时产生不稳定的输出。TTL施密特触发器使用了一个双阈值比较器,只有当输入信号超过一定的阈值范围时,才会引发输出状态变化。这样可以防止在噪声或抖动情况下触发误动作。
  2. 提供干净的信号转换:TTL施密特触发器能够确保输入信号的干净转换,即使输入信号存在一些不稳定性或较慢的上升/下降时间。它的阈值范围内,输入信号的微小变化都不会引起输出变化,从而产生更加可靠的输出信号。
  3. 信号整形:TTL施密特触发器可用于整形输入信号的波形。如果输入信号具有不规则的上升和下降时间,触发器可以将其整形为规整的方波信号,以便后续电路处理。
  4. 边沿检测器:由于TTL施密特触发器对输入信号的变化非常敏感,它常被用作边沿检测器。当输入信号的上升沿或下降沿发生变化时,触发器可以产生输出脉冲,用于触发其他数字电路中的特定操作。

总之,我们简单的理解就是,输入的电压值被转化为了逻辑的0和1.

浮空输入

浮空输入,就是将模拟信号,上拉,下拉全部断开。只接收外部电路的输入信号。

这里会存在一个问题,如果外部没有输入信号,那么这个逻辑信号是未知的,不确定的。

上拉输入

上拉输入,就是将模拟信号,下拉全部断开,同时将上拉开关闭合。然后接收外部电路的输入信号。

此时如果外部引脚不接任何VCC或GND,等同于接了空气(电阻无限大),那么测试引脚得到的电压也就等同于VCC,即起到了VCC上拉到高电平的作用。

当外部输入高电平时,如下图:

当外部接入地时,如下图:

上拉输入的一些总结:

当输入信号未连接时,上拉电阻将确保输入信号保持在高电平状态,从而避免浮空输入。

当外部信号连接到输入引脚时,外部信号为GND时,寄存器得到的电平也是低电平。

下拉输入

下拉输入,就是将模拟信号,上拉全部断开,同时将下拉开关闭合。然后接收外部电路的输入信号。

当外部输入高电平时,如下图:

当外部接入地时,如下图:

下拉输入的一些总结:

当输入信号未连接时,下拉电阻将确保输入信号保持在低电平状态,从而避免浮空输入。当外部信号连接到输入引脚时,外部信号可以通过下拉电阻的电流被拉高到高电平。

模拟输入

模拟输入的内部结构如上图。

在真实的物理世界中,我们外部输入的是电压值,这个属于模拟信号。其他的几种输入就是把模拟信号变为逻辑的0和1。通常输入的电压在1v以下我们认为是逻辑的0,1v以上是逻辑的1。(不同的芯片处理信号方式不同,这里简单的举例为1v上下)。

模拟输入的是物理世界中的真实电压,模拟信号的处理不同与逻辑电路的转换,逻辑转换只有两种值。模拟信号则是线性的值,电压多大,就转换一个数字值,也就是将物理世界中的模拟数据转换为数字值,这个值是线性,有范围的。


总结

不同的输入处理方式(上拉输入、下拉输入、浮空输入、模拟输入)在数字电路设计中扮演着重要角色,用于管理外部信号传输和处理。上拉输入和下拉输入通过内部电阻的设置来确保输入信号的稳定性,避免浮空输入导致的不确定性。浮空输入允许系统接收外部电路的信号,但存在着未知逻辑状态的风险。模拟输入则是将真实世界中的模拟信号转换为数字值的重要环节,在处理各种物理电压值时具有线性和范围性的特点。而TTL施密特触发器在消除噪声、提供稳定输出、信号整形和边沿检测等方面发挥着关键作用,帮助确保系统输入信号的可靠性和准确性。深入理解和运用这些输入处理方式,将有助于优化电路设计和提升系统性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/683802.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C#学习笔记】属性和字段

文章目录 前言属性和字段的区别字段访问修饰符和关键字定义变量类型的定义变量命名变量的赋值 属性 不同的使用情况 前言 最近在工作的过程中常常会觉得自己在程序设计方面的能力还是有欠缺。例如一直对于变量的声明感到不足,在工作中为了图方便总是直接public定义…

Nvidia Jetson/Orin +FPGA+AI大算力边缘计算盒子:无人机自主飞行软件平台

案例简介 北京泛化智能科技有限公司(gi)所主导开发的 Generalized Autonomy Aviation System (GAAS) 是为无人机以及城市空中交通 (UAM, Urban Air Mobility) 所设计的开源无人机自主飞行框架。通过 SLAM、路径规划和 Global Optimization Graph 等功能…

骨传导耳机有哪些是值得入手的?看完这篇推荐就懂了!

骨传导耳机在运动圈非常的受欢迎,因为佩戴运动的时候,骨传导耳机能够稳固佩戴,无论是跳跃或者是摇晃身体等,耳机都不会轻易掉落!而很多朋友对于骨传导耳机总是想尝试却又害怕掉坑!于是为了给大家提供更多的…

分布式事务Seata中XA和AT模式介绍

Seata中XA和AT模式介绍 分布式事务介绍分布式解决方案解决分布式事务的思路Seata的架构Seata中的XA模式Seata的XA模型流程XA模式优缺点实现XA模式 Seata中的AT模式Seata中的AT模式流程实现AT模式AT模式优缺点 AT模式与XA模式的区别 分布式事务介绍 分布式事务,就是…

HCIA-RS基础-VLAN配置

目录 前言创建拓扑创建VLAN查看创建的VLAN配置trunk口并放行VLAN配置access接口查看所有vlan基本信息测试网络连通性命令合集 前言 VLAN定义:VLAN是一种将局域网内的设备从逻辑上划分成一个个网段,从而实现虚拟工作组的新兴数据交换技术。VLAN优点&…

移动硬盘读不出来?5个解决技巧公开!

“不知道为什么,我的移动硬盘突然就读不出来了,大家有什么方法可以更好的读取移动硬盘吗?希望大家帮帮我!” 在数字化日益盛行的今天,移动硬盘已成为我们存储和携带大量数据的重要工具。然而,当这个“数据仓…

HashMap第2讲——put方法源码及细节

上篇文章介绍了HashMap在JDK 1.8前后的四大变化,今天就进入到put方法的源码解析。HashMap的设计非常巧妙,细节也很多,今天来看看部分细节,后续的文章会一一介绍。 ps:学习源码的目的不仅仅是为了了解它的运行机制&…

idea的代码没有提交到仓库怎么撤回到本地?

代码已经提交到变更列表但是还没有push推送到仓库上,可以用这个方法 点击日志-右键要撤回的记录-选择撤销提交 撤销的又回到本地变更 当然你只能撤销自己提交的,别人的你撤销不了

AI基础设施是AI落地赋能的核心关键

AI基础设施内涵与特性 以深度落地赋能为导向,AI供给侧持续推进技术要素全面融合、技术能力自主可控、技术服务普惠低成本,AI供给“基建 化”势在必行,AI基础设施正成为AI的关键供给形态。算法、算力、数据是AI技术应用的三大核心支撑要素&am…

SpringBoot+Vue在线视频课程网站(前后端分离)

技术栈 JavaSpringBootMavenMySQLMyBatisVueShiroElement-UI 角色对应功能 用户教师管理员 系统功能截图

Gradio.NET:一个快速制作演示demo网页的利器

Gradio介绍 Gradio是一个用于创建机器学习模型交互界面的Python库。它允许开发者快速为他们的模型创建一个简单的web界面,以便于非技术用户和其他开发者进行交互和测试。 Gradio的主要优点是易用性和灵活性。你只需要几行代码就可以为你的模型创建一个交互界面。你…

【Python数据挖掘实战案例】机器学习LightGBM算法原理、特点、应用---基于鸢尾花iris数据集分类实战

一、引言 1、简要介绍数据挖掘的重要性和应用 在数字化时代,数据已经成为企业和社会决策的重要依据。数据挖掘作为一门交叉学科,结合了统计学、机器学习、数据库技术和可视化等多个领域的知识,旨在从海量数据中提取有价值的信息&#xff0c…

Marvelous Designer中一些棉质布料预设

Marvelous Designer中一些棉质布料预设的解释: Cotton_14_Wale_Corduroy:14条细鲸鱼纹的灯芯绒,适合制作温暖且有质感的服装。Cotton_40s_Chambray:40支精梳针织的府绸布,通常用于制作休闲衬衫。Cotton_40s_Poplin&am…

echars饼图、柱状图 java返回的数据格式

1、echars饼状图返回的数据格式 [ { "name": "A", "value": 3 }, { "name": "B", "value": 2 }, { "name": "C", "value": 2 } ] java代码Demo 为例:根据名字分组&…

vuInhub靶场实战系列--prime:1

免责声明 本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关。 目录 免责声明前言一、环境配置1.1 靶场信息1.2 靶场配置 二、信息收集2.1 主机发现2.1.1 netdiscover2.1.2 nmap主机扫描2.1.3 arp-scan主机扫描 2.2 端口扫描…

【CMake系列】06-项目结构与输出路径管理

为了对大型项目实现更好的管理【模块化协作开发等等】,cmake 提供了很多指令,可以对项目的结构进行调整、管理,便于项目的合理规划。本文我们要学习的就是 项目结构的设置,以及 构建程序等 输出路径的设置 本专栏的实践代码全部放…

倾斜侧壁增强光提取效率相关机制的建模仿真研究

较低的光提取效率(LEE)是制约深紫外发光二极管(LED)快速发展的一个重要因素,倾斜侧壁结构可以直接将横向传播的横向磁场(TM)偏振光散射到c面逃逸锥,从而提高器件的LEE,因…

review of c++

友元关系是单向的。 指针

什么是数字化转型?

作者: 峡山老曹 数字神化 ”企业如何实现数字化转型“是摆在现代企业面前一个无法回避的问题,数字化转型的重要性不容忽视,它不仅是企业适应数字化时代的必然要求,更是提升竞争力、实现可持续发展的关键。随着科技的飞速发展和市场…

MFTCoder论文被KDD 2024接收,开源v0.4.2版发布

1. MFTCoder 简介 CodeFuse在2023年9月开源了一种多任务微调框架——MFTCoder,它可以实现在多个任务上同时并行地进行微调。通过结合多种损失函数,我们有效地解决了多任务学习中常见的任务间数据量不平衡、难易不一和收敛速度不一致等挑战。大量实验结果…