「I2C」の版間の差分
(英語版から転載) |
(→使い方: 同期) |
||
(同じ利用者による、間の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. |
||
− | + | I2C の同様の拡張子は [http://www.smbus.org/ SMBus] で、より具体的にはハードウェア監視の目的で使用されます。 |
|
− | == |
+ | == インストール == |
+ | I2C カーネルモジュールは、ほとんどのデフォルトのカーネルパッケージにすでに存在しています。 |
||
− | I2C kernel modules already exist in most default kernel packages. |
||
− | + | ユーザー空間ツールは、{{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]]. |
||
− | == |
+ | == 使用方法 == |
− | {{ic|i2cdetect}} |
+ | {{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. |
||
− | == |
+ | == 参照 == |
* 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_i801
や i2c_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 バスを混乱させ、データ損失やさらに悪いことを引き起こす可能性があることに注意してください。