
オープンソースのRaspberry Pi HATで、4つのCANインターフェースを提供し、自動車バステスト、CAN中間者攻撃、およびsocketcanによるマルチバス同時トラフィック監視を可能にします。
4CAN は、4つのCANインターフェースを提供するRaspberry Pi HATです。4CAN は socketcan および can-utils と100%互換性があり、非常に簡単に起動して使用できます。Raspberry Pi のトラブルシューティングを容易にするためにマイクロUSB-UARTシリアルアダプタが含まれており、ボード上には4つのLED(うち2つは双方向の緑/赤)があります。そして一番のニュースは、4CAN はオープンソースなので、自分で作ることができることです!
安価で4つのCANインターフェースを提供し、socketcanと互換性があり、小型でコンパクト、Raspberry Piにぴったり合うデバイスは多くありません。4つのCANバスを持つことで、4つのCANバスを同時にテストできるだけでなく、2つのバスでCAN-in-the-middleを同時に行うこともできます。
以下のraspbianイメージでpi3b+を使用してテスト済みです
4can は Raspberry Pi 4 でも動作します
4can は pi0w でも動作するはずですが、少なくとも pi3b を使用することをお勧めします。また、Raspberry Pi にヒートシンクを使用することをお勧めします。4つのCANインターフェースを実行すると、Raspberry Pi が少し熱くなることがあります。
install.sh スクリプトを実行してください(sudo が必要です)。これにより自動的にすべてがインストールされ、その後再起動します。
インストールスクリプトは以下を行います:
sudo mkdir /boot/overlays/bak
sudo cp /boot/overlays/mcp2515* /boot/overlays/bak
sudo cp ./dtbo/*.dtbo /boot/overlays
sudo cp /boot/config.txt /boot/config.txt.bak
cat << EOF >> /boot/config.txt
# 4CAN setup
# the order of the interfaces matter
# ie can3,can2,can1,can0 must be preserved
# otherwise can0 will not REALLY be can0
dtparam=spi=on
dtoverlay=spi1-2cs
dtoverlay=mcp2515-can3,oscillator=16000000,interrupt=24
dtoverlay=mcp2515-can2,oscillator=16000000,interrupt=23
dtoverlay=mcp2515-can1,oscillator=16000000,interrupt=25
dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=22
# enable uart
enable_uart=1
EOF
4can を使用する前に、sudo modprobe can_dev で socketcan カーネルモジュールがロードされていることを確認してください。Raspberry Pi はデバイスツリーに基づいて適切なカーネルモジュールをロードするため、通常は必要ありませんが、確認しても問題はありません。
インストール後、4can.sh を実行してCANインターフェースを起動します
./4can.sh
CANインターフェースを配線し、candump -acc any を実行して動作を確認します。
注:can-utils が必要です
インストールするには sudo apt install can-utils
注:インターフェースが順不同で起動することがあります。Raspberry Pi を再起動すると修正されるはずです。 それでもダメな場合は、/boot/config.txt を修正する必要があるかもしれません。
4can は Raspberry Pi の複数のGPIOを使用します。使用可能なGPIOピンは次のとおりです:
3, 5, 8, 10, 27, 28, 32, 36(物理ピン番号)
すべてのグランドピンは共通接続されており、グランド接続として使用できます。3.3Vと5Vのピンは電圧供給にも使用できます。
詳細は回路図を参照してください。
外部のCANグランドを4canのグランド(ネジ端子の"C"接続)に接続することを忘れないでください。これにより、グランドの完全性が確保され、tx/rxエラーが最小限に抑えられます。
![]() | ![]() |
4can を HyenaPlate と一緒に使用する場合、CANワイヤーをRaspberry Piの下に配線し、ブレッドボードに接続することができます。これは主に外観のためですが、他にもネジ端子を頻繁に締めたり緩めたりする必要がなく、新しい接続が容易になり、トラブルシューティングが簡単になり、接続がより安定するという利点があります。
さらに美観を高めるために、抵抗カラーコード を使用して信号に色を割り当てることができます。例えば、上の画像では:
| インターフェース | CAN-L | CAN-H |
|---|
黒はグランドに使用できます。
4can は、IndustrialBerry QUAD CAN BUS adapter for Raspberry CanBerry に触発され、おおまかに基づいています。当社はニーズに合わせて設計を変更しましたが、IndustrialBerry による素晴らしい仕事に感謝の意を表します。4CAN および IndustrialBerry は、クリエイティブ・コモンズ 表示 - 継承 ライセンスの下でライセンスされています。
回路図、レイアウト、組み立て、検証を行った George Tarnovsky にも感謝の意を表します!
| CAN0 | 茶色 | 赤 |
| CAN1 | オレンジ | 黄色 |
| CAN2 | 青 | 紫 |
| CAN3 | 緑 | 白 |