.\" Copyright (c) 1998, Nicolas Souchu .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" .\" $FreeBSD$ .Dd August 6, 1998 .Dt IICBUS 4 .Os FreeBSD .Sh 名称 .Nm iicbus .Nd I2C バスシステム .Sh 書式 .Cd "controller iicbus0" .Cd "controller iicbb0" .Pp .Cd "device iic0 at iicbus?" .Cd "device ic0 at iicbus?" .Cd "device iicsmb0 at iicbus?" .Sh 解説 様々な I2C デバイスを制御し種々の I2C コントローラを利用する ドライバを実装するため、 .Em iicbus システムは、 単一形態で、モジュール化された、 アーキテクチャに依存しないシステムを提供します。 .Sh I2C I2C は相互統合回路バス (Inter Integrated Circuit bus) の略称です。 I2C バスは Philips semiconductors によって 1980 年代の初期に開発されました。 その目的は TV セットにおいて CPU と周辺チップの接続を容易にするためのものでした。 .Pp バスは物理的には、 2 つのアクティブワイヤと 1 つのグランドへの接続から構成されます。 アクティブワイヤである SDA と SCL はどちらも双方向のものです。 SDA は シリアルデータラインであり、SCL はシリアルクロックラインです。 バスに接続されるすべてのコンポーネントは、 それが CPU、LCD ドライバ、メモリもしくは複雑な機能を持ったチップであれば、 ユニークなアドレスを持ちます。 これらの各々のチップは、その機能に応じて、 受信側としても送信側としても (またその両方としても) 動作することができます。 明らかに LCD ドライバは受信側だけでしょうし、 メモリや I/O チップは送信側と受信側の両方になるでしょう。 さらに 1 つ以上のバスマスタが存在します。 バスマスタはバス上に命令を発行するチップです。 I2C プロトコル仕様では、 バス上のデータ転送を開始させる IC がバスマスタであるとされています。 その時点では、全ての他のコンポーネントはバススレーブとみなされます。 すでに述べたように、IC バスはマルチマスタバスです。 これはデータ転送を開始させることのできる IC を 1 つ以上接続することができることを意味しています。 .Sh デバイス いくつかの I2C デバイスドライバが使用可能です。 .Pp .Bl -column "デバイス" -compact .It Em デバイス Ta Em 説明 .It Sy iic Ta "一般の I/O 操作" .It Sy ic Ta "ネットワーク IP インタフェース" .It Sy iicsmb Ta "I2C から SMB へのソフトウェアブリッジ" .El .Sh インタフェース I2C プロトコルはハードウェアによってもソフトウェアによっても 実装することができます。 ソフトウェアインタフェースは、 通常は 2 つの抵抗によって駆動される 2 本の信号線からなる 非常に単純なハードウェアにのみ依存しています。 ハードウェアインタフェースはもっとインテリジェントなものであり、 I2C プロトコルにしたがってバスに書かれた 8 ビット文字データを受け取ります。 I2C インタフェースはバス上でスレーブデバイスとして振る舞うことができ、 I2C プロトコルのマルチマスタ能力のおかげで 自動的に双方向通信を行うことができます。 いくつかの I2C インタフェースが使用可能です。 .Pp .Bl -column "インタフェース" -compact .It Em インタフェース Ta Em 説明 .It Sy pcf Ta "Philips PCF8584 マスタ/スレーブインタフェース" .It Sy iicbb Ta "汎用ビット操作マスタ専用ドライバ" .It Sy lpbb Ta "パラレルポート専用ビット操作インタフェース" .It Sy bktr Ta "Brooktree848 ビデオチップセット, ハードウェアおよびソフトウェアマスタ専用インタフェース" .El .Sh 関連項目 .Xr pcf 4 , .Xr iicbb 4 , .Xr lpbb 4 .Sh 歴史 .Nm マニュアルページは .Fx 3.0 で最初に登場しました。 .Sh 作者 このマニュアルページは .An Nicolas Souchu が書きました。