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 件のコメント:
コメントを投稿