I2Cバスシステム

I2Cとは,フィリップス社の開発したシリアルバスです.
クロック線とデータ線の2線だけで, 複数機器間の双方向通信ができるようになっています.
参考:I2C - Wikipedia

I2Cバスに電源バスを加えて,コネクタを規定しました.
この規定に従ってスレーブデバイス(モジュール)を作ります.

さらにドライバソフトウェアを作り,
TPIPAquarium上でPythonオブジェクトとして操作します.

規定の詳細

  • バスは,バッテリーに直結されたパワーバスと,I2Cバス+5V電源の2種類
  • パワーバスには2ピンのVHコネクタ,I2Cバスには4ピンのEHコネクタを使用
  • モジュールは,バスに接続する場合,そのコネクタを2つ以上付ける(次に接続するモジュールのために)
  • VHコネクタの配列は,1ピン目から+,-
  • EHコネクタの配列は,1ピン目からSCL,GND,5V,SDA
  • 基板のサイズを50mm x 75mmに統一(サンハヤトの感光基板に綺麗に配置できる)
  • 固定用穴の位置を統一(スペーサで積み重ねるために)

利点

  • バス構造のため,配線が簡単になる.(配線はパワーバス用とI2Cバス用の2種類のみ)
  • 制御系の作業分担をしやすい.
  • 機能の使い回しが簡単になる.
  • TPIPAquariumと組み合わせることでプログラム開発が容易になる.

反省点

  • パワーバスのノイズ対策が不十分であった.(モーターのノイズがビデオに乗るなど)
  • 暴走時の対応策が不十分であった.
  • スレーブアドレスの表現方法を統一できていなかった.(最終的にはSLA+Wで8bitで表現することになった)
  • DIPスイッチとスレーブアドレスの対応が統一できていなかった.(SLA+Wで8bitで左詰めにすることになった)

その他

このページの下の階層にI2Cスレーブデバイスの例があります.

配線のサンプルは下図のようになります.
上がI2Cバス用のEHコネクタで,下がパワーバスようのVHコネクタです.
I2Cバスの配線は写真のようにツイストするとノイズに強くなります.

おすすめ

EHコネクタ,VHコネクタは共立エレショップ(http://eleshop.jp/)で購入できました.
圧着工具はENGINEERのPA-20がおすすめです.

AVRならTWIモジュール内蔵,PICならSSPモジュール内蔵だと,ハードウェアでI2Cを扱えます.
DRPではATmega88を使用しました.秋月で1個250円です.

プログラム開発の参考
AVR:http://www.eleki-jack.com/mycom2/avr/avri2c/
PIC:http://www.picfun.com/i2cframe.htmlhttp://www.picfun.com/i2cframe2.html

SelectionFile type iconFile nameDescriptionSizeRevisionTimeUser
ċ

ダウンロード
  20KB v. 7 2010/02/19 0:11 Robo Kirarin