ちょっとTea Time!? 【備忘録】バックプレーンの信号配置 2025.7.25
カードエンジ基板やバックプレーンなどを製作したので、さっそくなので使ってみましょう。

製作したバックプレーン。カードエッジコネクタを取りつけてみました。
まずはPICO用に

アクリルプレートに固定です。PICO用なのでWVGA(800x480)のモニターが取りつけられるようにしました。

入力はタッチパネルをつかうので、とくにスイッチ類は取りつけない予定です。

基板を差し込んでみました。
カードエッジ基板のピン番号
これについては、なんでもいいのですが、今回はこのような番号配置にしました。

部品面:左から1→49(奇数番号)

半田面:右から2→50(偶数番号)
PICO用のピンアサイン案
PICOをつかう場合のピンアサインを検討です。
PICOから何枚も基板と信号のやりとりを行うために、
I/OのチップセレクトをGPIO26〜GPIO29に割り当てます。
本来は、これらピンはPICOのADC入力ピンなのですが、
PICOのADCの精度が悪いので使わない予定です。
ADCを使う場合は、別途用意しましょう。
| POWER | 5V | 1 | 2 | 5V | POWER |
| POWER | 3.3V | 3 | 4 | 3.3V | POWER |
| GND | 5 | 6 | GND | ||
| GPIO IN/OUT | G00 | 7 | 8 | G01 | GPIO IN/OUT |
| GPIO IN/OUT | G02 | 9 | 10 | G03 | GPIO IN/OUT |
| GPIO IN/OUT | G04 | 11 | 12 | G05 | GPIO IN/OUT |
| GPIO IN/OUT | G06 | 13 | 14 | G07 | GPIO IN/OUT |
| GPIO OUT | G08 | 15 | 16 | G09 | GPIO OUT |
| GPIO OUT | G10 | 17 | 18 | G11 | GPIO OUT |
| GPIO OUT | G12 | 19 | 20 | G13 | GPIO OUT |
| GPIO OUT | G14 | 21 | 22 | G15 | GPIO OUT |
| GND | 23 | 24 | GND | ||
| SERIAL TX | G16 | 25 | 26 | G17 | SERIAL RX |
| I2C(SDA) | G18 | 27 | 28 | G19 | I2C(SCL) |
| GPIO IN | G20 | 29 | 30 | G21 | GPIO IN |
| GPIO IN | G22 | 31 | 32 | G23 | GPIO IN |
| GPIO IN | G24 | 33 | 34 | G25 | GPIO IN |
| CHIP SELECT0 | G26 | 35 | 36 | G27 | CHIP SELECT1 |
| CHIP SELECT2 | G28 | 37 | 38 | G29 | I/O ENABLE |
| RESERVED | N.C | 39 | 40 | N.C | RESERVED |
| RESERVED | N.C | 41 | 42 | N.C | RESERVED |
| RESERVED | N.C | 43 | 44 | N.C | RESERVED |
| GND | 45 | 46 | GND | ||
| POWER | +15V | 47 | 48 | +15V | POWER |
| POWER | -15V | 49 | 50 | -15V | POWER |
Pasphberry Pi4B用のピンアサイン案 2025.7.27
Pi4BはPICOに比べるとI/Oが2個すくないのでシリアル(UART)に
割り当てずに、それをCHIP SELECTに流用です。
| POWER | 5V | 1 | 2 | 5V | POWER |
| POWER | 3.3V | 3 | 4 | 3.3V | POWER |
| GND | 5 | 6 | GND | ||
| GPIO IN/OUT | G00 | 7 | 8 | G01 | GPIO IN/OUT |
| GPIO IN/OUT | G02 | 9 | 10 | G03 | GPIO IN/OUT |
| GPIO IN/OUT | G04 | 11 | 12 | G05 | GPIO IN/OUT |
| GPIO IN/OUT | G06 | 13 | 14 | G07 | GPIO IN/OUT |
| GPIO OUT | G08 | 15 | 16 | G09 | GPIO OUT |
| GPIO OUT | G10 | 17 | 18 | G11 | GPIO OUT |
| GPIO OUT | G12 | 19 | 20 | G13 | GPIO OUT |
| GPIO OUT | G14 | 21 | 22 | G15 | GPIO OUT |
| GND | 23 | 24 | GND | ||
| NC | 25 | 26 | NC | ||
| I2C(SDA) | G18 | 27 | 28 | G19 | I2C(SCL) |
| GPIO IN | G20 | 29 | 30 | G21 | GPIO IN |
| GPIO IN | G22 | 31 | 32 | G23 | GPIO IN |
| GPIO IN | G24 | 33 | 34 | G25 | GPIO IN |
| CHIP SELECT0 | G26 | 35 | 36 | G27 | CHIP SELECT1 |
| CHIP SELECT2 | G16 | 37 | 38 | G17 | I/O ENABLE |
| RESERVED | N.C | 39 | 40 | N.C | RESERVED |
| RESERVED | N.C | 41 | 42 | N.C | RESERVED |
| RESERVED | N.C | 43 | 44 | N.C | RESERVED |
| GND | 45 | 46 | GND | ||
| POWER | +15V | 47 | 48 | +15V | POWER |
| POWER | -15V | 49 | 50 | -15V | POWER |

Raspberry Pi 4B用とバックプレーンです。

PiのGPIOは、かなりランダムは配列なので、バックプレーンとの接続はラッピングワイヤをつかって配線です。

各GPIOのレベルが分かるように、LEDを点灯させえるようにしました。これをつかって配線の確認も行います。

どのコネクタに差し込んでも使えるのがバックプレーンのいいとろですね。
これで、PICOでもRasPiでもつかえるI/O基板の環境が整いました。
ついでに、Pi3Bも 2025.7.30
Pi3Bもバックプレーン基板をとりつけました。

Pi3BもI/O基板が取り付けられるようにしました。

こちらは、連結基板で接続です。こうすれば、Pi5との交換も可能になります。

色々と揃いました。左からPi4B、Pi3B、RP2040(秋月PICOです)。
【備忘録】 2025.10.23
ピン使用の考え方について
| GPIO0〜GPIO7 | 基本的にはホスト(PICO/Pi)からの垂れ流しの出力。 したがってスレーブ(差し込み基板)は入力ピンのみを配置すること。 垂れ流しの出力であることから、このピンの変化でスレーブ側の動作には影響がないようにすること。 すなわちデータストローブ信号などはGPIO8〜GPIO15に配置すること。 ホストを入力ピンとして扱う場合も可ではあるが、スレーブは1個のみ出力可能となることに注意が必要。 |
| GPIO7〜GPIO15 | ホスト(PICO/Pi)からの出力。 通常はチップセレクト(CS0〜CS2,CS-ALL)で選択された場合のみ、バッファーを介して出力を得るようにすること。 バッファー出力はチップセレクトがDisableの場合は、出力がNegate状態になるようにプルアップあるいはプルダウンしておくこと。 たとえばクロックピンがアップエッジでデータを入力する場合、クロックピンはプルダウンにしておくこと(CSがDisableになった場合に LOWレベルになるように) |
| GPIO16,17 | PICOの場合: UART接続用(GPIO16:TX、GPIO17:RX) Piの場合:チップセレクト(CS)接続用 |
| GPIO18,19 | I2Cデバイス接続用: GPIO18:SDA、 GPIO19:SCL |
| GPIO20-25 | ホスト(PICO/Pi)の入力専用。 通常はチップセレクト(CS0〜CS2,CS-ALL)で選択された場合のみ、バッファーを介して差し込み基板の入力を得るようにすること。 |
| GPIO26-28(PICO) GPIO26,27,16(Pi) |
CS0〜CS2 入出力(0〜7)の選択。これにより差し込み基板はバックプレーンをバスとして最大8種類のI/Oを接続することが可能。 なお、PICOのバックプレーンではCS=0はWVGA基板に割り当てている。 |
| GPIO29(PICO) GPIO17(Pi) |
CS-ALL 入出力の許可(Low:active)を行う。CS0〜CS2が、PICO/PiのGPIOがビット毎の変更となることから、 最初にCS-ALL(HIGH)で全てをDisableにしたのちに、CS0〜2を変更し、CS-ALLをEnableに設定する。 CS-ALL: HIGH (I./O Disable) CS0〜CS2:LOW/HIGH設定 (0〜7を設定) CS-ALL: LOW (I./O Enable) |
PICOの場合の回路図: WVGAをCS=0で使用

pico_commo_base.pdf へのリンク
PSG基板の回路図:CS=2で使用

pico_psg.pdf へのリンク
(つづく?)