「I2C」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(英語版から転載)
 
(一部翻訳)
6行目: 6行目:
 
{{Related articles end}}
 
{{Related articles end}}
   
  +
[[Wikipedia:I²C|I²C]] I2C (Inter-IC) は、1982 年にフィリップスセミコンダクターズによって発明された、同期、マルチコントローラー/マルチターゲット (コントローラー/ターゲット)、パケット交換式、シングルエンドのシリアル通信バスです。
[[Wikipedia:I²C|I²C]] or I2C (Inter-IC) is a synchronous, multi-controller/multi-target (controller/target), packet switched, single-ended, serial communication bus invented in 1982 by Philips Semiconductors.
 
   
  +
これは、汎用 I/O (GPIO) デバイスと通信するために多くのハードウェアボードで使用されます。
It is used by many hardware boards to communicate with general purpose I/O (GPIO) devices.
 
   
A similar extension of I2C is [http://www.smbus.org/ SMBus] which is more specifically used for hardware monitoring purposes.
+
I2C の同様の拡張子は [http://www.smbus.org/SMBus] で、より具体的にはハードウェア監視の目的で使用されます。
   
== Installation ==
+
== インストール ==
   
  +
I2C カーネルモジュールは、ほとんどのデフォルトのカーネルパッケージにすでに存在しています。
I2C kernel modules already exist in most default kernel packages.
 
   
Userspace tools can be installed from {{Pkg|i2c-tools}}. Bleeding edge is on {{AUR|i2c-tools-git}}.
+
ユーザー空間ツールは、{{Pkg|i2c-tools}} からインストールできます。最新のエッジは {{AUR|i2c-tools-git}} にあります。
   
  +
SMBus 固有のツールは、{{Pkg|lm_sensors}} からインストールできます。
SMBus-specific tools can be installed from {{Pkg|lm_sensors}}.
 
   
 
== Module loading ==
 
== Module loading ==

2024年1月13日 (土) 02:16時点における版

関連記事

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