CAN通信させてみた(BeagleBoneBlack-RaspberryPi間) - その2(2/3)

概要

BeagleBoneBlackとRaspberryPiの間でCANを利用した簡易通信実験ができるようになるまでに必要な情報をまとめた。
ほぼ先人の情報を参考にしてできたので、内容的には、その際に使用した参考にしたサイトを中心に紹介し、自分で実際にやってみて、間違えたところやうまくいかなかったところ、気づいた点などの情報を追記する形式とした。
間が空いてしまったが第2回は、RaspberryPiでのCAN利用について。

背景

CANを喋れるモーターコントローラーの話し相手に、まずは手元にあったRaspberryPiでCANをしゃべれるようにしてみた。
RaspberryPiはデフォルトではCANは話せない。
SPIの信号をCAN化する方法があったのでそれを試して通信するまでの手順について、参考にしたサイトの情報を記載した。

環境

PC: Ubuntu14.04 64bit (RasPi kernelのクロスコンパイル用)

仮想系。母艦はMacBookProのVirtualBoxWindows8.1のVMwarePlayer

リンク

    • 基本的に上記サイトを参考にさせていただき、その通り進めてCANを喋れることを確認した。
    • 主な作業は、
      • 1) CANのトランシーバ+コントローラ基盤の作成
      • 2) パッチを当ててkernel rebuild
        • 理由1) MCP2515をSPIから触れるようにするため
        • 理由2) canをデバイスとして作成するため
      • 3) ユーザ空間プログラムのbuild
        • 理由: canのsend/receiveをコマンドベースで実行するため

写真

  • 作ったものたちは以下(クリックで拡大します)
  • 全体像。RasPi B+と、CANのコントローラ(MCP2515)、トランシーバ(MCP2551)を載せた基盤。
  • CANの変換基盤(コントローラ+トランシーバ)。図中の緑と橙の線がCAN_HとCAN_L
  • RaspberryPi B+
  • 参考にした回路図+メモ。回路図は上記リンク先のもの。

次回は、BeagleBoneBlack側のCANエレキ、ソフトの準備などについて記載予定。相互通信させてみた結果など。