ページ

2015年4月4日土曜日

Arduinoと戯れる 10 - I2C -

I2Cについてちゃんと勉強してみる


I2C
  ・・・フィリップス社で開発されたシリアルバスである。低速な周辺機器をマザーボードへ接続したり、組み込み、携帯電話などで使われている。Inter-Integrated Circuit の略

SCL(シリアル・クロック)と、双方向のSDA(シリアル・データ)の2本の信号線(GNDは含まず)で通信する同期式のシリアル通信


ここで出てくるシリアル通信だったり、UARTだったりと混乱しそうなのでまとめ↓

■ パラレル通信
    > 複数の信号線をつなぎ、一度に数ビットづつ送信

■ シリアル通信
    > 1本の線をつなぎ、一度に1ビットづつ送信
     ・同期シリアル通信
            > コンピュータ同士で通信のタイミングを同期させるクロック線がある

     ・非同期シリアル通信
            > コンピュータ同士であらかじめ通信速度を決めておき、受信側ではスタートのタイミングから自分のコンピュータ内のクロックで受信タイミングを決める方式
           → UART

シリアル通信の種類

■ EIA232
    > 通常のシリアル通信 PCのRS232Cもこれ

■ SPI
   > 同期シリアル通信の一種で、送信線、受信線、クロック線の3本から構成され、マスタとスレーブの1対1通信で、数Mbpsで通信できる。マイコンとメモリデバイスをシリアルで高速にデータのやりとりをする場合によく使われる

■ I2C
  > 同期シリアル通信の1種で、1つのクロック線と1つのデータ線で、1つのマスタに対して8個までのスレーブを接続できる。通信速度は100kbpsか400kpbsで通信され、データ線は1つしかないが双方向で通信できる(タイミングにより送信になったり受信になったりする)。マイコンとその他のICを通信するのによく使われる

参考サイト
http://www.robotsfx.com/robot/robohow/RoboHow92/RoboHow92.html

通信プロトコル等参考サイト
http://www.picfun.com/c15.html


マルツパーツで買ってきたLCDのI2Cプロトコルの説明が難解だったのでメモ
























各コマンドのデータ(DB0〜DB1)は2バイト目、RSは1バイト目の値
RWはスレーブアドレスを送る際の値

ん〜解りにくいorz

0 件のコメント:

コメントを投稿