Какова максимальная длина линии I2C?

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
Аватара пользователя
Chip115
Сверлит текстолит когтями
Сообщения: 1132
Зарегистрирован: Пт фев 16, 2007 14:18:20
Откуда: Новосибирск
Контактная информация:

Какова максимальная длина линии I2C?

Сообщение Chip115 »

всем привет! В интернетах нашел, что максимальная длина линии в стандартном режиме до 2 м и скорость 100 кбит/с [1].
решил разобраться и полез в доку [2], где сказано что Data on the I2C-bus can be transferred at rates of up to 100 kbit/s in the Standard-mode, up to 400 kbit/s in the Fast-mode, or up to
3.4 Mbit/s in the High-speed mode. Вот. А про длину линии я не нашел инфы (( Помогите, пожалуйста, найти информацию, в доке на интерфейс, о длине линии при разной скорости или при максимальной скорости и минимальной. Что то не по глазам.


1. источник
2. Дока IIC
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
Аватара пользователя
m.ix
Друг Кота
Сообщения: 16545
Зарегистрирован: Вт сен 07, 2010 03:01:06
Откуда: Moscow-Izmaylovo
Контактная информация:

Re: Какова максимальная длина линии I2C?

Сообщение m.ix »

Chip115
если есть автомагнитола, по поробую морду её на метр удлиннить :)))

Через опу удлиннил алпайну
Изображение
Лечу лечить WWWашу покалеченную технику.
Aleks300
Родился
Сообщения: 11
Зарегистрирован: Пн апр 25, 2011 04:05:01

Re: Какова максимальная длина линии I2C?

Сообщение Aleks300 »

Chip115 писал(а):всем привет! В интернетах нашел, что максимальная длина линии в стандартном режиме до 2 м и скорость 100 кбит/с [1].
решил разобраться и полез в доку [2], где сказано что Data on the I2C-bus can be transferred at rates of up to 100 kbit/s in the Standard-mode, up to 400 kbit/s in the Fast-mode, or up to
3.4 Mbit/s in the High-speed mode. Вот. А про длину линии я не нашел инфы (( Помогите, пожалуйста, найти информацию, в доке на интерфейс, о длине линии при разной скорости или при максимальной скорости и минимальной. Что то не по глазам.


1. источник
2. Дока IIC

вообще он придуман для внутри обмена-управления устройства поэтому об растоянии только на свой страх скорость большая а страховка от ошибок как в USB и др. не предусмотрено на сайт Philips он это создал
Аватара пользователя
Chip115
Сверлит текстолит когтями
Сообщения: 1132
Зарегистрирован: Пт фев 16, 2007 14:18:20
Откуда: Новосибирск
Контактная информация:

Re: Какова максимальная длина линии I2C?

Сообщение Chip115 »

Хм... Интересно. Но русскоязычные источники пишут про 2 м. при стандартном режиме (с потолка взяли цифру?). Кроме того, есть датчики на IIC, которые могут и быть удаленны от станции. Как тут быть с длиной линии?
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Какова максимальная длина линии I2C?

Сообщение Ser60 »

Длина линии зависит от паразитной емкости кабеля и подтягивающих резисторов. Минимальня величина последних ограничена максимальным током через порт I2C устройства, регламентируемого в его ДШ. Проще всего определить максимальную частоту экспериментально, наблюдая осциллограммы на входах устройства с подключенным кабелем.
Аватара пользователя
mickbell
Друг Кота
Сообщения: 16383
Зарегистрирован: Пт мар 30, 2012 05:17:29
Откуда: Екатеринбург

Re: Какова максимальная длина линии I2C?

Сообщение mickbell »

А вообще-то I2C считается внутридевайсовой шиной, там и защиты-то от помех особой вроде как нет, так что делать кабель длиннее полуметра, ну метра - не надо бы. Конечно, размеры девайсов могут быть и довольно большими... всё равно, лучше не злоупотреблять.
И хрюкотали зелюки,
Как мюмзики в мове.

На каждый РКН
Найдётся VPN.
Аватара пользователя
nds
Друг Кота
Сообщения: 4723
Зарегистрирован: Вс май 25, 2008 19:47:47
Откуда: РФ
Контактная информация:

Re: Какова максимальная длина линии I2C?

Сообщение nds »

если надо далеко протянуть
на медной stp 50м работало
2B OR NOT 2B = FF
Аватара пользователя
Seal
Сверлит текстолит когтями
Сообщения: 1122
Зарегистрирован: Чт мар 05, 2009 19:51:55
Откуда: Дырасполь

Re: Какова максимальная длина линии I2C?

Сообщение Seal »

nds писал(а):если надо далеко протянуть
на медной stp 50м работало

Поддерживаю, клавиатура от КПП до бокса(DSC https://encrypted-tbn0.google.com/image ... gkHa-m1F0H)выносная до 100-120 м работает устойчиво
ученые долго думали,в чем измерять частоту.... С тех пор и пишут Hz
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Какова максимальная длина линии I2C?

Сообщение BOB51 »

переведи с помощью оптронов в "токовую петлю"... :roll:
Аватара пользователя
Seal
Сверлит текстолит когтями
Сообщения: 1122
Зарегистрирован: Чт мар 05, 2009 19:51:55
Откуда: Дырасполь

Re: Какова максимальная длина линии I2C?

Сообщение Seal »

BOB51 писал(а):переведи с помощью оптронов в "токовую петлю"... :roll:

Если используется обмен по линии ,то слишком хлопотно.

А если есть возможность,то использовать витую пару, САТ 5-6 .
ученые долго думали,в чем измерять частоту.... С тех пор и пишут Hz
Аватара пользователя
avreal
Опытный кот
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна
Контактная информация:

Re: Какова максимальная длина линии I2C?

Сообщение avreal »

mickbell писал(а):А вообще-то I2C считается внутридевайсовой шиной, там и защиты-то от помех особой вроде как нет, так что делать кабель длиннее полуметра, ну метра - не надо бы.
Защита от помех...
Ну какая может быть в таком случае — резисторы подтяжки уменьшить (лимит есть), триггера шмитта на входах поставить, после него можно подфильтровать. Из спецификации I2C
On-chip filtering rejects spikes on the bus data line to preserve data integrity
У I2C с этим приблизительно то де самое, что с 1-Wite — напряжение питания (определяющее разумный уровень гистерезиса на входах) и ограничение на резистор подтяжки. Так что по "аппаратной" помехоустойчивости между ними разницы большой быть не должно.

В самой спецификации I2C на «внутриприборность» вроде бы не напирают. Даже наоборот — проталкивали ACCESS.bus (физический интерфейс — I2C с умощненными с 3 до 6 мА выходами, добавлен протокольный уровень) как многоточечную альтернативу RS232 для соединения в одну шинку клавы/мыши/планшета. Речь шла о соединении до полутора десятков устройств с суммарной длиной кабеля под десять метров. Вживую не видел :-)
В мониторах в конце концов I2C EEPROM-ки на DDC стояли.
Кстати, в HDMI-кабеле тоже оно есть
Pin 15 SCL (I²C Serial Clock for DDC)
Pin 16 SDA (I²C Serial Data Line for DDC)
Какое там ограничение на длину кабеля HDMI ? Они (hdmi и его кабели) ну совершенно не «внутридевайсные».
Впрочем, там точка-точка, а не шина. так легче.

Как уже было сказано, в спецификации на I2C есть ограничения на резистор подтяжки (определяется током драйвера) и ёмкость шины. Для шины 400 пикофарад. У кабеля UTP что-то в духе 50…60 пикофарад на метр. Песть вместе с разъемами, платой, микросхемой метр кабеля + устройство дадут 80 пикофарад. Всё равно для 400 пФ можно пять таких сегментов сделать.

На практике у меня в блоке-мастере была плата с atmega328+24C64+DS1307 и на ней на кабеле UTP три метра длиной висел блок, в котором десять модулей с atmega48 (платка-перехолдник с RJ на штыри и шлейф около полуметра по этим десяти модулям).
Подтяжки только в блоке-мастере, 2 кОм. Питание всего этого 5 вольт.
В цех я такое и не думал бы ставить :-)
В лаборатории вполне работало. Погонял несколько дней интенсивно на где-то пятистах килогерцах (максимум, что позволили тактовые AVR-ок). После чего опустил на 100 кГц, так как этого всё равно достаточно.
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Какова максимальная длина линии I2C?

Сообщение YS »

А про длину линии я не нашел инфы


Стандарт накладывает ограничения на максимальную емкость линии. Отсюда и получается ограничение длины. Т.е., все зависит от конкретного кабеля.

Насчет помех - никто не мешает поверх I2C устроить свой протокол с CRC.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Ответить

Вернуться в «Интеграция с ПК»