品味树莓派:GPIO口定义、电气特性、启动状态等基础说明

2023-10-30

目录

树莓派相比成品化的电脑来说有很多独立的GPIO口可供开发使用,可以方便的实现很多实物相关的功能。本文将对树莓派开放给用户的GPIO口的针脚定义、电气特性、启动状态等基础内容做个说明。

GPIO口定义

目前主流的树莓派型号通常都有40针GPIO口可供使用,通常定义如下图:
在这里插入图片描述
从图上可以看到树莓派的GPIO主要分为5V、3.3V、接地以及通用GPIO口,其中通用的GPIO口大多又可以复用为其它外设使用(注意GPIO 0和1有特殊作用,一般不要操作)。

对于有桌面环境的Raspbian系统还可以在终端中输入 pinout 来获取针脚定义:
在这里插入图片描述
更多IO口定义查询可以参考下面链接:
https://pinout.xyz
https://github.com/splitbrain/rpibplusleaf

电气特性

树莓派上可供编程使用的GPIO口的电气特性基础的如下:

Symbol Parameter Conditions Min Typical Max Unit
VIL Input Low Voltage VDD IO = 3.3V 0.9 V
VIH Input high voltage VDD IO = 3.3V 1.6 V
IIL Input leakage current TA = +85◦C 5 µA
CIN Input capacitance TA = +85◦C 5 pF
VOL Output low voltage VDD IO = 3.3V, IOL = -2mA 0.14 V
VOH Output high voltage VDD IO = 3.3V, IOH = 2mA 3.0 V
IOL Output low current mA
IOH Output high current mA
RPU Pullup resistor 50 65 kΩ
RPD Pulldown resistor 50 65 kΩ

上面表格中我没有填写输出电流参数,树莓派主控芯片的GPIO口输出电流强度是可以配置的(最小2mA,最大16mA,默认为8mA)。这里强度并不是指只能输出设定值的电流,而是能力,比如设定为8mA时也可以输出到16mA,只不过输出电压会下降的比较厉害:
在这里插入图片描述
上面是一方面的电流相关因素,另一方面树莓派17个用户IO口总共可以输出实际电流为51mA,即如果各个IO口同时输出的话平均每个IO口输出电流为3mA。
总之输出电流这一项还是需要综合来考虑。

更多内容可以参考下面链接:
https://www.raspberrypi.org/documentation/hardware/raspberrypi/gpio/README.md
https://www.raspberrypi.org/documentation/hardware/raspberrypi/gpio/gpio_pads_control.md

启动状态

树莓派在上电运行进入系统前GPIO会尽经历好几个阶段:

  1. 芯片上电时GPIO口会处于带上下拉电阻的输入状态;
  2. 由bootrom控制;
  3. 由bootcode.bin控制;
  4. 由dt-blob.bin控制;
  5. 由config.txt文件中的GPIO command设置(根据需求自行编写);
  6. 特定功能针脚初始化(如UART);
  7. 内核/设备树;

对于大部分针脚而言在进入系统后的GPIO口状态其实就是芯片上电时的 带有上下拉电阻的输入状态 ,下面是树莓派4B的IO口功能复用表其中 Default Pull 列即为上电时默认的上下拉状态:
在这里插入图片描述
目前其它的同为40Pin的树莓派默认状态基本都是一样的。

更多内容可以参考下面文档:
《Raspberry Pi 4 Model B Datasheet》

总结

树莓派GPIO口的基础说明主要就是上面那些内容了,更多内容可以参考官方说明:
https://www.raspberrypi.org/documentation/usage/gpio/README.md

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

品味树莓派:GPIO口定义、电气特性、启动状态等基础说明 的相关文章

  • LeetCode-动态规划

    文章目录 一 前言 二 动态规划 什么是动态规划 动态规划的求解过程 三 LeetCode 198 打家劫舍 四 LeetCode 213 打家劫舍 五 LeetCode 64 最小路径和 六 LeetCode 62 不同路径 七 Leet

随机推荐

  • SpringBoot去掉Druid监控页底部广告

    默认 Druid 的监控页面底部会有一块儿广告位 如图 我们如果不想显示这一块的话 可以对其进行过滤掉 具体配置如下 import com alibaba druid spring boot autoconfigure DruidDataS
  • coco数据集的评价指标

    Average Precision AP IoU 0 50 0 95 area all maxDets 100 0 000 Average Precision AP IoU 0 50 area all maxDets 100 0 000 A
  • 西瓜书 第6章、支持向量机 6.1-6.5

    支持向量机 一 间隔与支持向量 分类学习的基本思想就是基于训练集在样本空间找到一个划分超平面 将不同类别的样本分开 但是能将样本分开的有很多应该找那个最中间的超平面 因为其容忍度最好 如下图所示应该用最中间的红色面 线性超平面 超平面分为线
  • 华为OD机试 C++ 计算误码率

    题目 有时 当信息通过某种方式传输时 它会受到干扰 造成信息失真 现在 您需要帮助计算这种信息失真的程度 我们称之为误码率 简单地说 误码率就是传输过程中出错的信息部分所占的比例 具体内容 我们使用简化的方式表示信息 如 2A3B4D 指的
  • C#基础语法————变量

    1 变量的存储 一个变量只不过是一个供程序操作的存储区的名字 在 C 中 每个变量都有一个特定的类型 类型决定了变量的内存大小和布局 范围内的值可以存储在内存中 可以对变量进行一系列操作 存储变量的语法 变量类型 变量名 变量名 值 号 在
  • Spring IoC Bean-生命周期源码梳理分享

    Spring IoC Bean 生命周期 一 什么是Spring 1 Spring IoC a Dependency Injection DI 依赖注入 b Dependency Lookup DL 依赖查找 c Spring容器管理的对象
  • HBase宕机的多种场景

    异常导致的退出会通过接口Abortable定义的abort 方法实现 Abortable实现类如下 由以上类图可以看出HBaseAdmin的abort由于是client的访问 因此终止服务只需抛出异常即可 HConnection也是用于cl
  • BUUCTF Rabbit

    学习关于Rabbit加密的密文特征 AES DES RC4 Rabbit Triple DES 3DES 这些算法都可以引入密钥 密文特征与Base64类似 明显区别是秘文里 比较多 并且经常出现 且Rabbit开头部分通常为U2FsdGV
  • aiohttp 异步http请求-3.异步批量下载图片

    前言 当我们需要批量下载图片的时候 requests 库会比较慢 如果一个个下载 出现阻塞的时候 后面的都会阻塞卡住 假死状态 当然你用多线程也能提高效率 这里介绍用aiohttp 异步批量下载图片 异步批量下载图片 话不多说 直接看代码
  • DDT数据驱动

    一 DDT介绍 数据驱动思想 数据和用例进行分离 通过外部数据去生成测试用例 适用场景 进行接口测试时 每个接口的传参都不止一种情况 一般会考虑正向 逆向等多种组合 所以在测试一个接口时通常会编写多条case 而这些case除了传参不同外
  • IMU-Allan方差分析

    使用Allan方差来确定MEMS陀螺仪的噪声参数 陀螺仪测量模型为 使用长时间静止的陀螺仪数据对陀螺仪噪声参数进行分析 上式中 三个噪声参数N 角度随机游走 K 速率随机游走 和B 偏差不稳定性 背景 Allan方差最初由David W A
  • Visual Studio(VS)的基本使用

    Visual Studio VS 的基本使用 本文中1 10章节是我观看黄强老师视频所记录的笔记 详细内容请观看视频 30分钟学会Visual Studio 2017 文章目录 Visual Studio VS 的基本使用 1 VS下载 2
  • 贪心+回溯(磁带长度)

    题目内容 设有n个程序 1 2 n 要存放在长度为L的磁带上 程序i存放在磁带上的长度是li 1 lt i lt n 程序存储问题要求确定这n个程序在磁带上的一个存储方案 使得能够在磁带上存储尽可能多的程序 在保证存储最多程序的前提下 要求
  • (SRMD)CVPR-2018:Learning a Single Convolutional Super-Resolution Network for Multiple Degradations

    学习用于多种退化的单个的卷积超分辨率网络 代码地址 GitHub cszn SRMD Learning a Single Convolutional Super Resolution Network for Multiple Degrada
  • 题目78:日志排序

    运维工程师采集到某产品线网运行一天产生的日志n条 现需根据日志时间先后顺序对日志进行排序 日志时间格式为H M S N H表示小时 0 23 M表示分钟 0 59 S表示秒 0 59 N表示毫秒 0 999 时间可能并没有补全 也就是说 0
  • qml的focus问题

    这是应用中令人头痛的焦点问题 如果没有焦点项 键事件就不能被处理 它就不能在一个屏幕中做任何事情 应用程序会挂起 基本上 qml中的基本元素是 item item有两个属性 焦点和活动焦点 activeFocus是只读的 当将焦点设置为一个
  • ubuntu 中 :dpkg 被中断,您必须手工运行 sudo dpkg --configure -a 解决此问题

    E dpkg 被中断 您必须手工运行 sudo dpkg configure a 解决此问题 sudo rm var lib dpkg updates sudo apt get update 转载于 https www cnblogs co
  • Keil5关于.h文件编译时遇见报错打不开时的解决方案

    添加路径即可
  • Centos设置ssh免密登录

    查看安装的ssh软件 rpm qa查询系统安装的所有软件 对前面rpm查询结果进行搜索ssh rpm qa grep ssh 安装netstat工具查询软件进程的端口号 yum y install net tool 使用netstat查询2
  • 品味树莓派:GPIO口定义、电气特性、启动状态等基础说明

    文章目录 目录 GPIO口定义 电气特性 启动状态 总结 目录 树莓派相比成品化的电脑来说有很多独立的GPIO口可供开发使用 可以方便的实现很多实物相关的功能 本文将对树莓派开放给用户的GPIO口的针脚定义 电气特性 启动状态等基础内容做个