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

目录

树莓派相比成品化的电脑来说有很多独立的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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章