IICBUS(4)

名称
iicbus - I2C バスシステム

書式
controller iicbus0 controller iicbb0

device iic0 at iicbus? device ic0 at iicbus? device iicsmb0 at iicbus?

解説
様々な I2C デバイスを制御し種々の I2C コントローラを利用する ドライバを実装するため、 iicbus システムは、 単一形態で、モジュール化された、 アーキテクチャに依存しないシステムを提供します。

I2C
I2C は相互統合回路バス (Inter Integrated Circuit bus) の略称です。 I2C バスは Philips semiconductors によって 1980 年代の初期に開発されました。 その目的は TV セットにおいて CPU と周辺チップの接続を容易にするためのものでした。

バスは物理的には、 2 つのアクティブワイヤと 1 つのグランドへの接続から構成されます。 アクティブワイヤである SDA と SCL はどちらも双方向のものです。 SDA は シリアルデータラインであり、SCL はシリアルクロックラインです。 バスに接続されるすべてのコンポーネントは、 それが CPU、LCD ドライバ、メモリもしくは複雑な機能を持ったチップであれば、 ユニークなアドレスを持ちます。 これらの各々のチップは、その機能に応じて、 受信側としても送信側としても (またその両方としても) 動作することができます。 明らかに LCD ドライバは受信側だけでしょうし、 メモリや I/O チップは送信側と受信側の両方になるでしょう。 さらに 1 つ以上のバスマスタが存在します。 バスマスタはバス上に命令を発行するチップです。 I2C プロトコル仕様では、 バス上のデータ転送を開始させる IC がバスマスタであるとされています。 その時点では、全ての他のコンポーネントはバススレーブとみなされます。 すでに述べたように、IC バスはマルチマスタバスです。 これはデータ転送を開始させることのできる IC を 1 つ以上接続することができることを意味しています。

デバイス
いくつかの I2C デバイスドライバが使用可能です。

デバイス | 説明
iic | 一般の I/O 操作
ic | ネットワーク IP インタフェース
iicsmb | I2C から SMB へのソフトウェアブリッジ

インタフェース
I2C プロトコルはハードウェアによってもソフトウェアによっても 実装することができます。 ソフトウェアインタフェースは、 通常は 2 つの抵抗によって駆動される 2 本の信号線からなる 非常に単純なハードウェアにのみ依存しています。 ハードウェアインタフェースはもっとインテリジェントなものであり、 I2C プロトコルにしたがってバスに書かれた 8 ビット文字データを受け取ります。 I2C インタフェースはバス上でスレーブデバイスとして振る舞うことができ、 I2C プロトコルのマルチマスタ能力のおかげで 自動的に双方向通信を行うことができます。 いくつかの I2C インタフェースが使用可能です。

インタフェース | 説明
pcf | Philips PCF8584 マスタ/スレーブインタフェース
iicbb | 汎用ビット操作マスタ専用ドライバ
lpbb | パラレルポート専用ビット操作インタフェース
bktr | Brooktree848 ビデオチップセット, ハードウェアおよびソフトウェアマスタ専用インタフェース

関連項目
pcf(4), iicbb(4), lpbb(4)

歴史
iicbus マニュアルページは FreeBSD 3.0 で最初に登場しました。

作者
このマニュアルページは Nicolas Souchu が書きました。