I2C (Polski)

From ArchWiki

I²C lub I2C (Inter-IC) to synchroniczna, wielozadaniowa (kontroler/cel), przełączana pakietowo, jednostronna, szeregowa magistrala komunikacyjna wynaleziona w 1982 roku przez Philips Semiconductors.

Używana jest do komunikacji układów z urządzeniami wejścia/wyjścia ogólnego przeznaczenia (GPIO).

Podobnym rozszerzeniem I2C jest SMBus, który jest bardziej szczegółowo wykorzystywany do celów monitorowania sprzętu.

Instalacja

Moduły I2C zawyczaj istnieją w większości pakietów kerneli.

Narzędzia przestrzeni użytkownika można zainstalować z i2c-tools. Bleeding edge (absolutnie najnowsze wersje) znajduje się na i2c-tools-gitAUR.

Narzędzia specyficzne dla SMBus można pozyskać z lm_sensors.

Ładowanie modułów

W niektórych przypadkach konieczne może być załadowanie modułu przy starcie systemu:

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

Nie będzie to wymagane, gdy FS#76233 zostanie naprawione.

W zależności od posiadanego systemu i jego wykorzystania, konieczne może być załadowanie innych modułów, takich jak i2c_i801 lub i2c_smbus.

Jeśli moduły zostały poprawnie załadowane, powinieneś zobaczyć urządzenia /dev/i2c-*.

Uprawnienia do korzystania z urządzeń /dev/i2c-* mogą być przyznane poprzez dodanie użytkownika do grupy i2c.

Użycie

i2cdetect potrafi wykryć wszystkie aktywne urządzenia 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

Kiedy urządzenie I2C jest podłączone do znanej magistrali, i2cdetect może je zbadać, aby znaleźć aktywne adresy:

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

Należy pamiętać, że program ten może zmylić magistralę I2C, powodując utratę danych i wiele więcej.

Zobacz także