スポンサーリンク
こんにちは。
ヘーシロー。です。
今回は、I2Cバスについて。
スポンサーリンク
I2C busとは
$I^2C bus$ (アイスクエアシーバス: 以下(I2C))は、
双方向通信の2線のバスです。
このバスに接続されているICは、
バス上のマスターと通信し、
マスターの制御を受けます。
2線のバス線は、両方とも、
プルアップ抵抗を介して、
電源に接続されています。
I2Cのシステム構成
文章だけだと分かりずらいので、
I2C busで構成されるシステムの
代表例を図示します。

CPU(あるいはマイコン)からの
制御信号はGPIO等のパラレル信号で
送り出されます。
そのパラレル信号を、
2線のI2C bus信号にして、
各デバイスに送り出すのが
Bus controller(バスコントローラ)です。
LED driverやmotor controller等、
複数のデバイスが、
I2C bus上に並列に接続されます。
各デバイスには、
I2C bus上のアドレスが
定められており、
各デバイスは、
自分のアドレスへの命令のみ
受け取ります。
この例では、
LED driverやmotor contolloer等を
どう動かすか
CPUにプログラミングしておく事により、
システムを動作させることが出来ます。
SCL/SDAは双方向バッファ
I2Cは、
双方向通信しますので、
SCL/SDAは、双方向バッファです。
出力のドライバは、
オープンドレイン型なので、
I2C busは、
プルアップ抵抗により、
VDDへ接続されます。
これも簡単な図にしてみました。

今日はここまで。
気まぐれに続きを書きますので、
気長にお待ちいただければと思います。
ABOUT ME
スポンサーリンク
スポンサーリンク