CANを複数チャンネル使用したい場合、自作系ですとかなり選択肢が減ってきます。8bit系だとなくて16bitとか32bitだとお手軽度合いが下がってきます。ましてや3chとなるともっと少なくなる中、Teensy4.0なら何とかなりそうです。
ただし3ch目は普通のピンヘッダではなく基板の裏側に半田付けせねばなりません。
ソフトはライブラリが強力なので、案外あっさり動いてくれました。
FlexCAN_T4はすごく良く出来ています。素晴らしい。これなら具体的にやりたい事に早く着手出来そう
CAN3は裏側です。ピンヘッダでないのが残念。
動作確認は下記リンクのものを使わせて頂きました。ただし、リンク先のデモの場合には3ch目がCANFDになっているのですが、500kbpsのCAN2.0に設定は変更して動かしました。
動画でなくてすいませんが、3ch CAN動作中。
過去のログを見ていただければTeensy4.0とmcp2562fdを使ってCAN通信させる基本的な事については書いてます。Teensy4.0は3.3V駆動のマイコンですが、CANトランシーバーは5Vで動作してます。よってmcp2562fdを選択する事になります。従来のArduino UNOとかでしたらmcp2515とmcp2551を使用するのが定番ですが、これは5Vシステム用です。また処理能力やメモリバッファ的に3ch CANや複数IDの受信など負荷の高いことをする場合には8bitシステムは向いていません。
Teensy4.0は小さいのに速いのが良いところですがポートは少ないので、手足が沢山欲しい場合には色々と工夫が必要です。
次はポートを処理的に増やすことを検討します。
zweisteinjpのmy Pick