品味樹莓派: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

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