LINUX.ORG.RU

(подключаем i2c-датчик к VGA/HDMI/DVI-порту) Можно ли подключить i2c к smbus и наоборот (при соответствии уровней напряжений)?

 , , , ,


1

2

P.S. для модераторов: действие происходит на линуксе с использованием i2c-tools.

Заранее извиняюсь за столь неприкрытое извращение, но уж очень хочется попробовать.

Думаю, абсолютно любой школьник знает об использовании чистого i2c в VGA, HDMI, DP и DVI интерфейсах. Можно разрезать провод (или подключить пустой коннектор) и подключиться прямо к видяхе своими i2c-датчиками температуры, мини-LCD-дисплеями, GPIO-расширителями или драйвером сервопривода. http://www.paintyourdragon.com/?p=43

Однако, внутри компьютера есть ещё и SMBus, основанный на i2c. К нему подключены PCIe, датчики, DIMMы (как EEPROM с данными о планке, так и датчики температуры). Иногда ряд контроллеров питания (например, батареи ноутбука) и BMC в серверах.
Но можно ли самому сесть на эту шину со своими i2c-девайсами?


Итак:
Делаем (пример использования)
apt-get install i2c-tools
modprobe i2c-dev
modprobe i2c-i801
modprobe eeprom
decode-dimms

i2cdetect -l
и видим:
i2c-13 i2c card0-DP-6 I2C adapter
i2c-14 smbus SMBus I801 adapter at 0500 SMBus adapter

Делаем i2cdetect -y 13 и i2cdetect -y 14 для показа, что на каком адресе висит.

Соответственно, i2cdetect видит smbus и i2c как разные устройства. Далее я стал гуглить и нашел: http://www.scanti.ru/bulleten.php?v=111&p=14 . Вроде как smbus и i2c - это разные вещи (smbus - это, по большому счету, расширение i2c). Однако далее я многократно натыкался на информацию о том, что можно подключить i2c-slave к smbus-master и наоборот (т.е. полная двухсторонняя совместимость).

Соответственно, используя smbus на DIMM или в других местах (в теории даже с PCIe) можно просто подключить любые i2c-устройства, если есть http://www.chipdip.ru/product/pca9306dctr/ . Но так ли это на самом деле?

В тред приглашается ncrmnt.

Перемещено JB из talks

☆☆☆

Последнее исправление: ktulhu666 (всего исправлений: 2)

Чего спросить-то хотел? С DDC на VGA/HDMI народ так делает с незапамятных времен. Разница между i2c и smbus - луркай внимательно документацию, там расписано вплоть до времянок и смотри сможешь ли ты конкретным хостом поюзать конкретный девайс.

ncrmnt ★★★★★
()
Ответ на: комментарий от ncrmnt

Я хотел спросить, можно ли к комповому (чипсет intel) smbus подключить обычный i2c-датчик через вышеуказанный преобразователь уровней.

С DDC на VGA/HDMI народ так делает с незапамятных времен.

И на винде делали?

ktulhu666 ☆☆☆
() автор топика
Ответ на: комментарий от ktulhu666

Я хотел спросить, можно ли к комповому (чипсет intel) smbus подключить обычный i2c-датчик через вышеуказанный преобразователь уровней.

Подключить можно. Будет ли работать - либо проверяй либо смотри документацию на датчик, и какие у него времянки. У некоторых датчиков от i2c одно название и они даже декодирование адреса не делают. Сравни со времянками smbus.

И на винде делали?

Да. Тот же Nicomsoft WinI2C-DDC. В гугель.

ncrmnt ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.