「I2C」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(英語版から転載)
 
(→‎使い方: 同期)
 
(同じ利用者による、間の5版が非表示)
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 ==
 
   
  +
場合によっては、[[カーネルモジュール#モジュールの自動ロード|起動時にモジュールをロードする]]ことが必要になる場合があります:
In some cases it might be required to [[load the module at boot]]:
 
   
 
{{hc|/etc/modules-load.d/i2c-dev.conf|
 
{{hc|/etc/modules-load.d/i2c-dev.conf|
28行目: 28行目:
 
}}
 
}}
   
  +
これは、{{Bug|76233}} が修正された後は必要なくなります。
This will not be needed after {{Bug|76233}} is fixed.
 
   
  +
システムや使用状況によっては、{{ic|i2c_i801}} や {{ic|i2c_smbus}} などの他のハードウェア固有のモジュールもロードする必要がある場合があります。
Depending on your system and usage, other hardware-specific modules such as {{ic|i2c_i801}} or {{ic|i2c_smbus}} might have to be loaded as well.
 
   
  +
モジュールが適切にロードされている場合は、{{ic|/dev/i2c-*}} デバイスが表示されるはずです。
If the modules are properly loaded, you should see the {{ic|/dev/i2c-*}} devices.
 
   
  +
{{ic|/dev/i2c-*}} デバイスの使用許可は、ユーザーを {{ic|i2c}} [[ユーザーグループ]] に追加することで付与できます。
Permission for using the {{ic|/dev/i2c-*}} devices can be granted by adding the user to the {{ic|i2c}} [[user group]].
 
   
== Usage ==
+
== 使用方法 ==
   
{{ic|i2cdetect}} can detect all the active I2C devices:
+
{{ic|i2cdetect}} はアクティブな I2C デバイスをすべて検出できます。
   
 
{{hc|$ i2cdetect -l|
 
{{hc|$ i2cdetect -l|
52行目: 52行目:
 
}}
 
}}
   
  +
I2C デバイスが既知のバスに接続されている場合、{{ic|i2cdetect}} はアクティブなアドレスをプローブできます:
When an I2C device is connected to a known bus, {{ic|i2cdetect}} can probe it for active addresses:
 
   
 
{{hc|$ i2cdetect 1|
 
{{hc|$ i2cdetect 1|
66行目: 66行目:
 
}}
 
}}
   
  +
このプログラムは I2C バスを混乱させ、データ損失やさらに悪いことを引き起こす可能性があることに注意してください。
Be wary that this program can confuse your I2C bus, cause data loss and worse.
 
   
== See also ==
+
== 参照 ==
   
 
* https://www.i2c-bus.org/
 
* https://www.i2c-bus.org/

2024年2月9日 (金) 17:29時点における最新版

関連記事

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

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

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

インストール

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 バスを混乱させ、データ損失やさらに悪いことを引き起こす可能性があることに注意してください。

参照