I2C

提供: ArchWiki
2024年1月13日 (土) 02:20時点におけるKgx (トーク | 投稿記録)による版 (→‎Usage: 翻訳)
ナビゲーションに移動 検索に移動

関連記事

I²C I2C (Inter-IC) は、1982 年にフィリップスセミコンダクターズによって発明された、同期、マルチコントローラー/マルチターゲット (コントローラー/ターゲット)、パケット交換式、シングルエンドのシリアル通信バスです。

これは、汎用 I/O (GPIO) デバイスと通信するために多くのハードウェアボードで使用されます。

I2C の同様の拡張子は [1] で、より具体的にはハードウェア監視の目的で使用されます。

インストール

I2C カーネルモジュールは、ほとんどのデフォルトのカーネルパッケージにすでに存在しています。

ユーザー空間ツールは、i2c-tools からインストールできます。最新のエッジは i2c-tools-gitAUR にあります。

SMBus 固有のツールは、lm_sensors からインストールできます。

モジュールのロード

場合によっては、起動時にモジュールをロードすることが必要になる場合があります:

/etc/modules-load.d/i2c-dev.conf
i2c-dev

これは、FS#76233 が修正された後は必要なくなります。

システムや使用状況によっては、i2c_i801i2c_smbus などの他のハードウェア固有のモジュールもロードする必要がある場合があります。

モジュールが適切にロードされている場合は、/dev/i2c-* デバイスが表示されるはずです。

/dev/i2c-* デバイスの使用許可は、ユーザーを i2c ユーザーグループ に追加することで付与できます。

使い方

i2cdetect はアクティブな I2C デバイスをすべて検出できます。

$ i2cdetect -l
i2c-0	i2c       	Synopsys DesignWare I2C adapter 	I2C adapter
i2c-1	i2c       	Synopsys DesignWare I2C adapter 	I2C adapter
i2c-2	i2c       	Synopsys DesignWare I2C adapter 	I2C adapter
i2c-3	i2c       	Synopsys DesignWare I2C adapter 	I2C adapter
i2c-4	smbus     	SMBus I801 adapter at f040      	SMBus adapter
i2c-5	i2c       	i915 gmbus dpb                  	I2C adapter
i2c-6	i2c       	i915 gmbus dpc                  	I2C adapter
i2c-7	i2c       	i915 gmbus misc                 	I2C adapter
i2c-8	i2c       	AUX B/DDI B/PHY B               	I2C adapter

I2C デバイスが既知のバスに接続されている場合、i2cdetect はアクティブなアドレスをプローブできます:

$ i2cdetect 1
    0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: 60 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- 76 --

このプログラムは I2C バスを混乱させ、データ損失やさらに悪いことを引き起こす可能性があることに注意してください。

See also