I2C

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

関連記事

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

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

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

インストール

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

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

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

Module loading

In some cases it might be required to load the module at boot:

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

This will not be needed after FS#76233 is fixed.

Depending on your system and usage, other hardware-specific modules such as i2c_i801 or i2c_smbus might have to be loaded as well.

If the modules are properly loaded, you should see the /dev/i2c-* devices.

Permission for using the /dev/i2c-* devices can be granted by adding the user to the i2c user group.

Usage

i2cdetect can detect all the active I2C devices:

$ 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

When an I2C device is connected to a known bus, i2cdetect can probe it for active addresses:

$ 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 --

Be wary that this program can confuse your I2C bus, cause data loss and worse.

See also