首页 > 其他分享 >GPIO - 介绍 【ChatGPT】

GPIO - 介绍 【ChatGPT】

时间:2023-12-11 15:46:22浏览次数:30  
标签:开漏 电平 介绍 信号 驱动 GPIO ChatGPT 活动

GPIO接口简介

什么是GPIO?

GPIO(通用目的输入/输出)是一种灵活的软件控制的数字信号。它们由许多种类型的芯片提供,并且对于使用嵌入式和定制硬件的Linux开发人员来说非常熟悉。每个GPIO代表连接到特定引脚或Ball Grid Array(BGA)封装上的一个位,或者"球"。电路板原理图显示了外部硬件连接到哪些GPIO上。驱动程序可以编写成通用的,以便板级设置代码将这些引脚配置数据传递给驱动程序。

GPIO的功能和用途

GPIO的功能因系统而异,常见的用途包括:

  • 输出值可写入(高=1,低=0)。某些芯片还具有关于如何驱动该值的选项,例如只驱动一个值,支持其他值的"或线"和类似方案(特别是"开漏"信号)。
  • 输入值同样可读取(1,0)。某些芯片支持读取配置为"输出"的引脚,这在"或线"情况下非常有用(支持双向信号传输)。GPIO控制器可能具有输入去抖动逻辑,有时具有软件控制。
  • 输入通常可以用作IRQ信号,通常是边沿触发,但有时是电平触发。这些IRQ可以配置为系统唤醒事件,以从低功耗状态唤醒系统。
  • 通常,GPIO可以根据不同的产品板需要配置为输入或输出;也存在单向的GPIO。
  • 大多数GPIO可以在持有自旋锁的情况下访问,但通过串行总线访问的GPIO通常不能。某些系统支持两种类型。

在给定的电路板上,每个GPIO用于一个特定的目的,例如监视MMC/SD卡的插入/拔出、检测卡的写保护状态、驱动LED、配置收发器、位操作串行总线、触发硬件看门狗、检测开关等等。

常见GPIO属性

以下是常见的GPIO属性:

  • 高活动和低活动:GPIO的信号在到达目的地之前可能会被反转,或者设备可能决定对"活动"的定义有不同的约定。为了让驱动程序只需要关注逻辑信号而不需要关注线路电平上发生的变化,可以将GPIO定义为高活动("1"表示"活动",默认值)或低活动("0"表示"活动")。
  • 开漏和开源:有时,共享信号需要使用"开漏"(只有低信号电平实际驱动)或"开源"(只有高信号电平驱动)信号。这些术语适用于CMOS晶体管;TTL使用"开漏"。上拉或下拉电阻引起高或低信号电平。这有时被称为"与线";或者更实际地说,从负逻辑(低=true)的角度来看,这是一个"或线"。

总结

GPIO是一种灵活的软件控制的数字信号,用于连接外部硬件和处理器。它们在嵌入式和定制硬件开发中非常常见,可以用于各种用途,如驱动LED、检测开关、配置收发器等。GPIO具有不同的属性,如高活动/低活动和开漏/开源,这些属性可以根据具体需求进行配置。

标签:开漏,电平,介绍,信号,驱动,GPIO,ChatGPT,活动
From: https://www.cnblogs.com/pengdonglin137/p/17894566.html

相关文章

  • 在Linux中使用GPIO线【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/driver-api/gpio/using-gpio.html在Linux中使用GPIO线Linux内核的存在是为了将硬件抽象化并呈现给用户。GPIO线通常不是面向用户的抽象。使用GPIO线的最明显、自然和首选方式是让内核硬件驱动程序处理它们。对于任何您想要编写的其他内......
  • ChatGPT叫你如何在centos中配置javapath变量
    当使用vim编辑器时,你可以按照以下步骤来编辑bash配置文件:打开~/.bashrc文件:bashvim~/.bashrc或者,如果你选择在系统级别配置,可以使用:bashsudovim/etc/environment在vim中编辑文件:移动光标到文件末尾,按下i进入插入模式,然后添加以下行:bashexportJ......
  • 【Lidar】Laspy库介绍+基础函数(读取、可视化、保存、旋转、筛选、创建点云数据)
    ​1Laspy库介绍        laspy是一个Python库,主要用于读取、修改和创建LAS点云文件。该库兼容Python2.6+和3.5+,并且可以处理LAS版本1.0-1.3的文件。        在laspy库中,可以使用命令行工具进行文件操作,如格式转换和验证,以及比较LAS文件。此外,laspy还支持分块......
  • 万界星空科技五金家具企业MES案例介绍
    五金家具行业MES解决方案MES系统如何与家具企业生产相匹配?相较于其它大多数工业软件,MES系统无疑是受企业欢迎的软件之一。MES系统处于制造生产企业信息化的核心领域,有着承上启下的作用。那MES系统如何与家具企业生产相匹配?五金家具行业的工艺特点:1、五金产品为机械加工件,加工......
  • free内存参数介绍
    第一部分Mem行:total内存总数:15.7Gused已经使用的内存数:15.6Gfree空闲的内存数:93Mshared当前已经废弃不用,总是0buffersBuffer缓存内存数:298McachedPage缓存内存数:14G对操作系统来讲是Mem的参数,buffers/cached都是属于被使用,所以它认为free只有93M......
  • 网络工程师-进阶提升课:华为HCIP Datacom认证介绍
    原创:厦门微思网络一、HCIP认证概述                                                                HCIP-DATACOM认证定位于中小型网络的构建和管理。HCIP-DATACOM认证包括但不限于:网络基础知识,交换机和路由......
  • 万字长文专访“AI之父”Geoffrey Hinton: 我使用ChatGPT之后,为什么也开始害怕现在AI技
     “蜻蜓的幼虫就像水下的怪兽,”Hinton说。“它就像电影《异形》中的场景,蜻蜓从这个怪兽的背部破壳而出。幼虫经历了一个变成汤的阶段,然后蜻蜓就从这种汤中诞生。”在他的比喻中,幼虫象征着用于训练现代神经网络的数据;而蜻蜓则代表了由此诞生的敏捷的人工智能。深度学习——Hinto......
  • 延迟IO 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/fb/deferred_io.html延迟IO延迟IO是一种延迟和重新分配IO的方法。它使用主机内存作为缓冲区,并使用MMU页错误作为执行设备IO的预触发器。以下示例可能是对这种设置如何工作的有用解释:用户空间应用程序(如Xfbdev)将帧缓冲区进行内存映射......
  • /proc文件系统 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/filesystems/proc.html/proc文件系统/proc/sys作者:[email protected],[email protected]日期:1999年10月7日2.4.x更新作者:[email protected]日期:2000年11月14日移动/proc/sys作......
  • lodash介绍
    目录1、简介2、字符串操作3、算术与数字4、数组操作5、对象操作6、函数操作7、通用工具1、简介安装#es-module支持tree-shakingnpmi--savelodash-es#源码阅读#柯里化#你不需要lodash:https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore#Array高......