ラズパイのGPIOの初期状態を調べる

初期状態はGPIOのピンによっていろいろ

 I2C-1のSDAとSCL信号は1.8kΩのプルアップ抵抗が入っているのでHighです。I2C-0はプルアップ抵抗は入っていないので、HighかLowかはわかりません。SPIのCE0、CE1は負論理なので、初期状態ではHighです。

 特別なI/Oになっていない普通のGPIOは初期状態ではHighでしょうかそれともLowでしょうか。負論理のリレーをつなぐと、初期状態がLowのリレーだと電源が入った時点でONになってしまいます。

GPIOの状態を表示

 gpio readallでGPIOの状態を読み出せます。2017年1月現在、カーネルのバージョンは4.4.38-v7+です。ラズパイ3を使っています。

電源が入って約90秒、端子電圧をロギングした

 縦軸のスケールはオートです。ロギングにはKeysight 34461AとBenchVueソフトウェアを使いました。

ロギング 名称 物理ピン
番号
物理ピン
番号
名称 ロギング
   3.3V 1 2  5V  
 High

GPIO2

I2C-1-SDA

3 4  5V  省略
 High

GPIO3

I2C-1-SCL

5 6  GND  省略
 High->Low

GPIO4

1-Wire

7 8

GPIO14

UART TxD

 High
 
 GND 9 10

GPIO15

UART RxD

 High
 Low GPIO17 11 12

GPIO18

I2S BLK

 Low
 Low GPIO27 13 14  GND  
 Low GPIO22 15 16 GPIO23  Low
   3.3V 17 18 GPIO24  Low
 Low

GPIO10

SPI-MOSI

19 20  GND  
 Low

GPIO9

SPI-MISO

21 22 GPIO25  Low
 Low

GPIO11

SPI-CLK

23 24

GPIO8

SPI-CE0

 High
   GND 25 26

GPIO7

SPI-CE1

 High
 High I2C-0 SDA 27 28

I2C-0
SCL

 High
 High GPIO5 29 30  GND  
 High GPIO6 31 32 GPIO12  Low
 Low GPIO13 33 34  GND  
 Low

GPIO19

I2S LRCK

35 36 GPIO16  Low
 Low GPIO26 37 38 GPIO20   Low
   GND 39 40

GPIO21

I2S DATA

 Low

http://elinux.org/RPi_BCM2835_GPIOsの情報と比較する

 公開されている情報と測定したデータを比べました。1-WireとUARTのデータは異なりましたが、GPIOはいずれも同じロジック・レベルでした。

eLinux-ロギング 名称 物理ピン
番号
物理ピン
番号
名称 eLinux-ロギング
   3.3V 1 2  5V  
High-High

GPIO2

I2C-1-SDA

3 4  5V  省略
High-High

GPIO3

I2C-1-SCL

5 6  GND  省略
High-[High->Low]

GPIO4

1-Wire

7 8

GPIO14

UART TxD

Low-High
   GND 9 10

GPIO15

UART RxD

Low-High
Low-Low GPIO17 11 12

GPIO18

I2S BLK

Low-Low
Low-Low GPIO27 13 14  GND  
Low-Low GPIO22 15 16 GPIO23 Low-Low
   3.3V 17 18 GPIO24 Low-Low
Low-Low

GPIO10

SPI-MOSI

19 20  GND  
Low-Low

GPIO9

SPI-MISO

21 22 GPIO25 Low-Low
Low-Low

GPIO11

SPI-CLK

23 24

GPIO8

SPI-CE0

High-High
   GND 25 26

GPIO7

SPI-CE1

High-High
High-High I2C-0 SDA 27 28

I2C-0
SCL

High-High
High-High GPIO5 29 30  GND  
High-High GPIO6 31 32 GPIO12 Low-Low
Low-Low GPIO13 33 34  GND  
Low-Low

GPIO19

I2S LRCK

35 36 GPIO16 Low-Low
Low-Low GPIO26 37 38 GPIO20  Low-Low
   GND 39 40

GPIO21

I2S DATA

Low-Low