RaspberryPi Model3 B+の使用について

はじめまして。
CANDY Pi Lite +Dを使用させて頂いております。
現在、RaspberryPi 3B+にRaspbianを入れ、CANDY Pi Lite +DをスタックしてUSB拡張ボードを使用しております。
この構成では正常にRaspberryPiは起動し、LTE通信も行えていますが、
CANDY Pi Lite +DにPiCAN3(SPI接続)をスタックするとRaspberryPiが起動しなくなり原因が分からず困っております。
尚、同RaspberryPi 3B+へPiCAN3のみスタックした際は正常に起動します。
また、RaspberryPi 3BにCANDY Pi Lite+DとPiCAN3をスタックすると正常に起動します。

RaspberryPi 3Bと3B+とで何かCANDY Pi Lite+Dの設定を行う必要があるのでしょうか?
お手数ですがご教授願えればと思います。
ご対応の程、よろしくお願いいたします。

ご質問ありがとうございます。

3Bと3B+で設定については違いはありませんが、消費電力に若干の違いがあります。
このため、CANDY Pi Liteへ直接AC電源から給電する方法をお試しいただけますでしょうか。

DCジャックの仕様は下記にありますので、5V4AまでのACアダプターでお試しください。

ご回答いただき有難うございます。
ACアダプターを使用して確認してみます。

指定規格のACアダプターを使用しCANDY Pi Liteへ直接給電しましたが、やはり起動しませんでした。

CANDY Pi LiteへスタックするPiCAN3と言うモジュールはSPI0を使用するのですが、これが影響している可能性などありますでしょうか。
3Bと3B+とで症状に違いが出ているので影響している可能性は低いのかなとも思っております。

上記についてお手数をお掛け致しますが、ご教授いただければと思います。
ご対応の程、よろしくお願いいたします。

CANDY Pi Liteでは、SPI0を使用しています。CE1を使用しておりCE0は使用していません。CE0のみ使用されていれば競合は起こりません。

以下のページに使用しているGPIOピンの情報がありますので、念のため競合をお調べいただければと思います。

また、起動しないという点について、詳細な状況は分かりませんが、もしOSの起動がある程度進んで途中で起動しなくなっているということであれば、/var/log/syslogのファイルをご確認いただいたり、ディスプレイを直接繋いで表示される内容をご覧いただいたりすると何らかの情報が得られる場合もありますのでお試しいただければと思います。

ご回答頂き有難う御座います。
SPIについて確認させて頂きます。

申し訳ございません。状況のご説明が不足しておりました。
現状は、OSの起動すら行われない(ラズパイのPWR LEDは点灯するがACT LEDは消灯したまま)で
ディスプレイを繋いでいますが、何も表示されない。

ただ、3Bでは正常に起動する事からSPIの競合は関係ないのかもしれません。
これが原因であれば3Bでも起動しないと思われる為

SPIについて確認した結果をご報告いたします。

機器構成は以下になります。
3段目:CANDY Pi Lite+D
2段目:CANモジュール(SPI0 CE0を使用)
1段目:Raspberry Pi 3B+

ラズパイとCANDY Pi Lite間は拡張USBボードで接続

上記構成で以下2種類のパターンを試しました。
パターン1:2段目と3段目の間にSPI0_CE0とSPI0_CE1のピンを切断したピンヘッダを間に入れた。
結果:ラズパイが起動し、LTE通信も行われた(cURLコマンドにて確認)

パターン2:2段目と3段目の間にSPI0_CE0のピンのみを切断したピンヘッダを間に入れた。
結果:ラズパイが起動しない

上記結果から、改めて下記2点ご質問させて頂きます。

質問1:拡張USBボードを使用していてもGPIOのSPI0のピンは使用されているのでしょうか。
質問2:パターン2の結果から、CANDY Pi LiteではCE0も必要なのでしょうか。

お手数ですがご教授願えればと思います。
ご対応の程、よろしくお願いいたします。

詳細な情報を出していただきありがとうございます。

はい。拡張USBボードを使用していてもGPIOのピン接続が物理的に切断されることはないため、ラズパイ側につながったままとなります(Raspberry Pi OS内部ではSPI0のCE1として認識されたままとなります)。

CANDY Pi Liteの回路上、CE0はどの部品にも繋がっておりません(N/C)。単に、ラズパイ側のピンをそのままスルーしているだけとなります。
このため「パターン2 = 2段目と3段目をそのまま繋いだ状態」とお考えいただければと思います。


そうすると手詰まりになってしまいますが、一応念のため、CANモジュール側のCE1がどこにも繋がっていないか(ラズパイのピンをそのままスルーさせるだけの回路になっているか)ご確認いただけますか。

あるいは、今回の検証の2段目(CANモジュール)と3段目(CANDY Pi Lite)の上下を入れ替えて、CE1だけを切断したピンソケット(ヘッダー)をその間に入れるような方法でも、CANモジュールのCE1がつながらない状態を再現できるので、その状態でラズパイが起動するかどうかをお試しいただけるかと思います。

ご回答頂き有難うございます。

ご提案頂いた内容を基に以下構成で試してみました。
今回もラズパイとCANDY Pi Lite間は拡張USBボードで接続

3段目:CANモジュール
2段目:CANDY Pi Lite +D
1段目:Raspberry Pi 3B+

パターン1:2段目と3段目の間にSPI0_CE1ピンのみ切断したピンソケットを入れた。
結果:ラズパイ起動しない

尚、念の為に以下構成でも試してみました。

2段目:CANモジュール
1段目:Raspberry Pi 3B+

パターン1:SPI0_CE0ピンのみ切断したピンソケットを入れて接続。
結果:ラズパイ起動する(但し、CANモジュールの初期化は失敗(dmesgコマンドで確認))

パターン2:SPI0_CE1ピンのみ切断したピンソケットを入れて接続。
結果:ラズパイ起動する(CANモジュールの初期化成功(dmesgコマンドで確認))

上記パターン2の結果から、
SPI0_CE1ピンのみ切断したソケットをCANモジュールとCANDY Pi間に入れたら
SPI0_CE0はCANDY Pi LiteをスルーしてCANモジュールへ渡り
起動すると思ったのですが、結果は起動しませんでした。

少し手詰まりになってきている感がありますが、何か他に試す事など御座いましたら
お手数ですがご教授願えればと思います。

ご対応の程、よろしくお願いいたします。

結果をお知らせいただきありがとうございます。

とのことで、そうしますと、CANモジュールにてSPI0やGND、電力以外にも何かGPIOを使用している可能性を考えて、以下のようなことをお試ししてはいかがでしょうか。

3段目:なし
2段目:CANDY Pi Lite +D
1段目:Raspberry Pi 3B+

の状態で、GPIOピンを直接重ね合わせないでジャンパー線だけでSPI0と電力に関する部分だけを限定してCANDY Pi LiteとCANモジュールを接続してみるというものです。

具体的には以下のような接続を想定しています。

[CANDY Pi Lite]          [CANモジュール]
      GND ------------------- GND
      3V3 または5V ----------- 3V3 または5V→CANモジュールの供給電圧に応じて変更してください
     GPIO10(MOSI) ----------- GPIO10(MOSI)
     GPIO9(MISO) ------------ GPIO9(MISO)
     GPIO11(SCLK) ----------- GPIO11(SCLK)
     GPIO8(CE0) ------------- GPIO8(CE0)

PINの表記は以下の図に従ってますので必要に応じて参照してください。

必要最低限のピンを結んだ時に果たしてどう動作するのかというのを検証するという目的で考えてみました。
なお、上記に記載した通り、CANモジュールの動作電圧のところだけご注意ください。

CANモジュールの回路図などで、明らかにCANDY Pi LiteのGPIOピンと競合するようなものがあれば競合を疑えますが、もしCANモジュールのGPIOの結線状況が不明である場合はお試しいただければと思います。

アドバイス頂き、誠に有難う御座います。

ご提案頂いた内容の通り、必要最低限のピンを接続してみたところ、ラズパイが起動しました。

ではCandyPi Liteのピンマッピングとどこかが競合しているのではと思い、
以下を参考に一つ一つジャンパ線で繋いでみました。

https://candy-line.gitbooks.io/candy-pi-lite/content/hardware/gpio.html

結果としては全て(計8本)繋いでみてもラズパイが起動しました。

この結果から重ね合わせた時だけラズパイが起動しないという事象の理由が
ますます分からなくなってきている状況です。

あと実施するとすれば、残りのGPIOピンを1本1本繋いでいって、
起動しない際のピンを特定するしかなさそうです。

結果をお知らせいただきありがとうございます。
使用していないピンの結線で動かなくなるというのは、ますます原因がよくわかりませんね。

こちら、もし試されましたらお知らせいただければと思います。

ご連絡ありがとうございます。

現状試した限りについて、ご報告させていただきます。
以下パターンを試しました。分かりづらくて申し訳ありません。

尚、今回もCANDY Pi LiteとCANモジュールはジャンパ線で接続しました。

パターン1:
Pin1(3.3V)
Pin2(5V)
Pin19(MOSI)
Pin21(MISO)
Pin23(SCLK)
Pin24(CE0)
結果:起動しない

パターン2:
Pin2(5V)
Pin19(MOSI)
Pin21(MISO)
Pin23(SCLK)
Pin24(CE0)
結果:起動する

結論:
・5Vのみ接続時はMOSI、MISO、SCLK、CE0を接続しても起動する
・3.3Vと5V接続時はMOSI、MISO、SCLK、CE0を接続しても起動しない
・3.3Vと5V接続時にMOSI、MISO、SCLK、CE0を1本ずつ接続していくと、
MISOを接続した時のみ起動しない

今後:
理由は不明ですが結論から、CANDY Pi Liteに今回のCANモジュールを積む構成は動作不可のようです。
やはり下記構成での運用に変更しようと思います。
(2段目、3段目間はSPI0_CE0、SPI0_CE1のピンを切断したソケットを入れる)

3段目:CANDY Pi Lite
2段目:CANモジュール
1段目:Raspberry Pi 3B+

1 Like

結果をお知らせいただきありがとうございました。
Raspberry Pi 3B+では、3.3Vと5V接続時はMOSI、MISO、SCLK、CE0を接続しても起動しないとのことで、この事象から残念ですが対処についてはそのまま全てのピンの接続は難しいようですね。
またもし何かありましたら追記等いただければと思います。

こちらこそ長期間にわたってご対応頂き有難う御座いました。

3Bでは正常に動作した理由も含め、すこしずつ原因を調査していこうと思います。
もし少しでも他の方の参考になれば幸いです。

1 Like