ARM32开发--GPIO输入模式

news2024/11/15 23:58:40

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


目录

文章目录

前言

浮空输入

上拉输入

下拉输入

模拟输入

总结


前言

在数字电路设计和嵌入式系统开发中,理解输入信号的处理方式对确保系统稳定性和可靠性至关重要。不同的输入处理方式包括上拉输入、下拉输入、浮空输入和模拟输入,它们在不同场景下具有各自的应用特点和作用。而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施密特触发器在消除噪声、提供稳定输出、信号整形和边沿检测等方面发挥着关键作用,帮助确保系统输入信号的可靠性和准确性。深入理解和运用这些输入处理方式,将有助于优化电路设计和提升系统性能。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VSCode界面Outline只显示类名和函数名,隐藏变量名

参考链接 https://blog.csdn.net/Zjhao666/article/details/120523879https://blog.csdn.net/Williamcsj/article/details/122401996 VSCode中界面左下角的Outline能够方便快速跳转到文件的某个类或函数,但默认同时显示变量,导致找某个函数时很不方便。…

62、 忠北国立大学计算机科学系:FingerNet-专门用于细致MI分类的神经网络模型

本文由泡菜国高校于2024年3月6日发表于arXiv,做了一个专门处理运动想象信号的CNN模型,融合了EEGNet和DeepConvNet。 FingerNet是一种专门用于细致MI分类的网络,利用了时间特征,在相同手部分类任务中表现出比EEGNet和DeepConvNet更…

NetworkX网络分析综合指南

在这个信息过载的世界,我向你保证,本指南是你掌握 NetworkX 强大功能所需的一切。其全面的内容和循序渐进的方法将为你提供宝贵的见解和理解。 在当今互联互通的世界中,了解网络及其结构已成为从社交网络分析到交通系统优化等无数应用的必备…

揭秘VVIC API:开启高效数据交互的密钥,你的项目就差这一步

VVIC API接口概述 VVIC API提供了对VVIC服务的数据访问和操作功能。通过此API,开发者可以集成VVIC服务到他们的应用程序中,实现数据同步、用户认证、资源管理等功能。 点击获取key和secret API端点示例 用户认证 方法:POSTURL:/…

Unity DOTS技术(十) ChunkComponent块组件

文章目录 一.简介二.例子 一.简介 块组件(ChunkComponent),与共享组件类似,但在共用组件时并不会将组件移动到新的块里面去. 当将块组件的值进行修改时.将会把组件中的值进行一个统一的变化,不会产生一个新的组件 二.例子 1.创建ChunkComponent public struct ChunkCompone…

C#操作MySQL从入门到精通(11)——对查询数据使用正则表达式过滤

前言 对于之前提到的使用匹配、比较、通配符等过滤方式能解决大部分的项目问题,但是有时候也会遇到一些比较复杂的过滤需求,这时候就需要正则表达式来实现了,正则表达式使用regexp这个关键字来实现。 本次测试的数据库表的内容如下: 1、基本字符匹配(包含某些字符) 匹…

粒子群+用户舒适度!考虑用户舒适度的楼宇微网改进粒子群优化调度程序代码!

前言 综合能源系统在独立规划运行的模式下,能源利用率低、环境污染高,且当不同种类的能源大规模接入到综合能源网络时,系统难以在经济性和环保性之间取得平衡。因此,如何实现经济性和环保性的双重优化,是当前综合能源…

vulnhub靶机实战_DC-4

下载 靶机下载链接汇总:https://download.vulnhub.com/使用搜索功能,搜索dc类型的靶机即可。本次实战使用的靶机是:DC-4系统:Debian下载链接:https://download.vulnhub.com/dc/DC-4.zip 启动 下载完成后,…

Marvelous Designer中一些棉质布料预设

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

f-stack和DPDK

GPT-4 (OpenAI) f-stack和DPDK(数据平面开发套件)都是与高性能网络处理相关的技术。它们的目的是提高数据包的处理速度,优化网络I/O的性能。以下是对这两者的简要解释: 1. **DPDK (Data Plane Development Kit):** DPDK 是一个…

SAP PP学习笔记17 - MTS(Make-to-Stock) 按库存生产(策略70)

上几章讲了几种策略,策略10,11,30,40。 SAP PP学习笔记14 - MTS(Make-to-Stock) 按库存生产(策略10),以及生产计划的概要-CSDN博客 SAP PP学习笔记15 - MTS(Make-to-St…

tkinter+火山引擎+python实现语音识别聊天机器人

想要做一款能通过语音识别来聊天的智能机器人,首先需要能通过麦克风录制语音进行识别转换成文字,将文字发送给机器人得到聊天结果,并能将返回的文字转换成语音进行合成,之后再通过本地播放语音实现语音交互。 架构: 实现步骤 一、本地录音 本地录音可以通过pyAudio库实…

外企跨国大数据迁移的注意事项

跨国数据迁移,对汽车行业来说,是一桩大事。跨国公司在进行这一操作时,会遇到不少挑战,比如网络延迟、数据安全、成本控制等等。今天,咱们就聊聊跨国大数据迁移中,跨国车企需要留意的几个关键点。 跨国大数据…

vue3-调用API实操-调用开源头像接口

文档部分 这边使用是开源的API 请求地址: :https://api.uomg.com/api/rand.avatar 返回格式 : json/images 请求方式: get/post 请求实例: https://api.uomg.com/api/rand.avatar?sort男&formatjson 请求参数 请求参数说明 名称必填类型说明sort否strin…

Web3的应用场景分析

Web3,即基于区块链技术的去中心化互联网,正逐渐改变我们与数字世界的互动方式。以下是Web3的一些主要应用场景。Web3技术正在各个领域推动创新,创造更多透明、开放和去中心化的解决方案,为用户带来更高的自主权和安全性。北京木奇…

【QGIS】加载在线地图(天地图)

QGIS添加天地图 注册天地图用户 想使用天地图必须申请tk 天地图官方注册用户地址 https://uums.tianditu.gov.cn/register 申请key key管理页面 https://console.tianditu.gov.cn/api/key 链接说明 https://t6.tianditu.gov.cn/DataServer?Tcva_w&x{x}&y{y}&…

场外个股期权交易最新指南

场外个股期权交易最新指南 场外个股期权作为一种灵活的衍生品工具,允许投资者在特定条件下对交易所指定的股票进行买卖。相较于标准化的场内个股期权,场外个股期权为投资者提供了更大的自由度。以下是关于场外个股期权交易的基本步骤和要点:…

[vue2项目]vue2+supermap[mapboxgl]+天地图之地图的基础操作(画线+自定义打点)

二、地图的基础操作 1、画线 案例(1) this.map.on("load", () > {let geometryLine {type: "Feature",geometry: {// 定义类型type: "LineString",coordinates: [[113.39793764, 34.05675322],[113.35187554, 32.43…

文件传输基础——Java IO流

系列文章目录 文章目录 系列文章目录前言一、文件的编码二、File类的使用三、RandomAccessFile类的使用 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用…

TPM仿真环境搭建

文章目录 背景及注意事项一、CMake二、m4三、GNU MP Library四、TPM_Emulator五、TSS协议栈(trousers-0.3.14.tar.gz)六、 tpm-tools七、查看是否安装成功八、测试 TPM环境(需要开三个终端分别运行)8.1 启动TPM (第一个…