LoginSignup
0
0

More than 1 year has passed since last update.

I2Cセンサ値をCANに流すI2CtoCANinterfaceを開発した話

Posted at

今回使っている「CANdino」は前回の記事CAN搭載Arduino互換ボード「CANdino」作った話をご覧ください。

CANを搭載したArduino互換機なら動作するはずです。

目的

直接CAN通信を行えるセンサってなかなか販売してないし、販売していたとしてもとても高価になってしまいます。

なら、センサ値を読んでCANにデータを流してくれるインターフェイスを開発すればいいじゃん!ってなったので開発しました。

I2CtoCANinterfaceのI2Cとは?

I2Cというのは、安価で一般的に使われる通信です。秋月電子でセンサを調べてみるとI2C通信センサが見つかると思います。

図1.png

I2C通信は二本の線だけで複数のセンサと通信できます。

マイコンに取り付ける線が少なくて済むので便利な通信方式です。

I2CtoCANinterfaceのCANとは?

車載関係でよく使われる通信です。
二本の線で通信ができます。
二本の線の電位差で0と1を表しているので、ノイズに強いという特徴があります。
図2.png

I2CtoCANinterfaceメリット

直接CANを使用できるセンサがあまり無いため、電子制御ユニットに直接線を繋げる必要が出てきます。

I2C通信とCAN通信を接続することで接続する線を少なくできます。
図3.png

EEPROMからI2CとCAN設定を読み込む

CANdinoには決まったフォーマットで書き込まれたDIPのEEPROMが搭載されていて、EEPROMからI2Cセンサ用の設定とCAN通信用の設定を読み込むことで接続されているI2Cセンサと通信し、CAN BUSにI2Cのセンサデータを流すことが出来ます。

ソースコード

詳しくは、別の資料.pdfを用意しています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0