7025
ラズベリーパイのGPIOの配置が以下の画像のように入り組んでいるのにはどのような理由があるのでしょうか？

素人考えですと、同じ種類の物は同じ場所に固めてしまったほうがわかりやすいと思うのですが。

画像は[公式サイトのドキュメント](http://www.raspberrypi.org/documentation/usage/gpio/)のものです。

![ラズベリーパイGPIO](https://i.stack.imgur.com/kFMsT.png)
CC BY-SA 3.0
2015-02-24T09:01:40.457
7022
2018-05-11T03:50:25.460
2018-05-11T03:50:25.460
3060
3271
question
raspberry-pi gpio
ラズベリーパイのGPIOやGroundの配置が入り組んでいる理由
ＧＰＩＯのレイアウトの設計の意図を文書として見つけることはできなかったので、推測ですが以下の利点があると思いました。

**ＧＰＩＯと接続する基盤の配線パターンが単純になる**

Ａｒｄｕｉｎｏシールドのように、ＧＰＩＯに直接接続する基盤を設計するとします。

ブレッドボードなどでは気になりませんが、基板上の平面の回路だと配線の問題があります。  
例えば、22番から遠くの6番に配線すると、その内側にある12番16番のピンなどは平面上の配線に制限がかかってしまいます。

20番のようにGNDが近くにあれば回路の内側にあるピンが少なくなるので、このような問題が起きにくいと考えられます。

**複数のコネクタを接続できる**

ＧＮＤが固まっていると、ＧＰＩＯの一区画にコネクタを接続しただけでＧＮＤや電源を占有してしまうため、他のコネクタを接続する余地がなくなってしまいます。

(追記)  
例えば２つの([2x5ピンのコネクタ](http://akizukidenshi.com/catalog/g/gC-00168/))を接続するときＧＮＤが片側にしかないと、一方のコネクタはＧＮＤにアクセスできなくなります。
CC BY-SA 3.0
2015-02-24T09:58:43.020
7025
2015-02-24T10:58:57.477
2015-02-24T10:58:57.477
3639
3639
7022
answer
あまりおもしろくない説明になりますが、配置は「成り行き」でしょう。

当初、 Raspberry Pi の 26ピン でグラウンド(GND) は１つだけとされていました。

_Rev1:[Pins](http://elinux.org/images/archive/2/2a/20120928185221%21GPIOs.png)
| [Image](http://elinux.org/images/a/a1/RPi-Front-JPB.jpg)_

```

    RPi AB 1.0 26-pin P1 header
    --------------------------------
            +3V3 1  2   +5V
    GPIO0    SDA 3  4   DNC
    GPIO1    SCL 5  6   GND
    GPIO4   GCLK 7  8   TXD0  GPIO14
             DNC 9  10  RXD0  GPIO15
    GPIO17  GEN0 11 12  GEN1  GPIO18
    GPIO27  GEN2 13 14  DNC
    GPIO22  GEN3 15 16  GEN4  GPIO23
             DNC 17 18  GEN5  GPIO24
    GPIO10  MOSI 19 20  DNC
    GPIO9   MISO 21 22  GEN6  GPIO25
    GPIO11  SCLK 23 24  CE0_N GPIO8
             DNC 25 26  CE1_N GPIO7
    --------------------------------
    
```

Rev1 までは [将来の拡張用](http://www.raspberrypi.org/pinout-for-gpio-connectors/)に、
DNC ("--", 使用禁止) Pin が用意されていました。 ( 4, 9, 14, 17, 20, 25 )

その後、 Rev2 では、以下のように規定されました。

_Rev2:[Pins](http://elinux.org/images/2/2a/GPIOs.png) |
[Image](http://www.raspberrypi.org/wp-content/uploads/2012/09/sony-rasp-
pi.jpg)_

```

    RPi AB 2.0 26-pin P1 header
    --------------------------------
            +3V3 1  2   +5V
    GPIO2   SDA1 3  4   +5V
    GPIO3   SCL1 5  6   GND
    GPIO4   GCLK 7  8   TXD0  GPIO14
             GND 9  10  RXD0  GPIO15
    GPIO17  GEN0 11 12  GEN1  GPIO18
    GPIO27  GEN2 13 14  GND
    GPIO22  GEN3 15 16  GEN4  GPIO23
            +3V3 17 18  GEN5  GPIO24
    GPIO10  MOSI 19 20  GND
    GPIO9   MISO 21 22  GEN6  GPIO25
    GPIO11  SCLK 23 24  CE0_N GPIO8
             GND 25 26  CE1_N GPIO7
    --------------------------------
    
```

未使用ピンを特殊な信号ピンに利用するような改造はされず、結局、 Model A/B Rev.2 にて、 DNC
ピンが、グラウンドと電源への割り当てで固定されています。

  * Pin 4 → 5V
  * Pin 9 → Ground
  * Pin 14 → Ground
  * Pin 17 → 3.3V
  * Pin 20 → Ground
  * Pin 25 → Ground

これから見えるのは、GND 配置には最初から配慮があったわけではなく、信号 Pin に使う予定であった DNC Pin が GND
で埋められ、現在のレイアウトになったということです。理由があるとすれば、 「 電源は多ければ多いほどいい 」 という単純なものでしょう。

※ 40 Pin 版(B+)の新規追加 Pin については、 h2so5 の推測通りでしょうね。

参考:

  * [RPi, MODEL B REVISION 2.0 SCHEMATICS](http://www.raspberrypi.org/model-b-revision-2-0-schematics/)
  * [RPi schematics breakdown](http://elinux.org/RPi_schematics_breakdown)
  * [RPi Low-level peripherals](http://elinux.org/RPi_Low-level_peripherals#General_Purpose_Input.2FOutput_.28GPIO.29)
CC BY-SA 3.0
2015-02-25T07:20:23.937
7067
2015-02-25T07:20:23.937
4978
7022
answer