Как рассчитать емкость линии для связи I2C (100 кГц)

Я хочу общаться между чипами ATmega328P через I2C. Я нашел этот удлинитель шины , который обеспечивает максимальную емкость 3000 пФ.

Я нашел этот провод данных , который имеет взаимную линейную емкость 25 пф/фут при 1 кГц.

Но связь I2C работает на частоте 100 кГц (по умолчанию). (Как) я могу рассчитать линейную емкость этого типа провода на частоте 100 кГц? Или, другими словами, какова максимальная длина, которую я могу соединить с этим типом провода между двумя удлинителями?

как далеко ты хочешь зайти?
Если вы ищете математический ответ, я бы посоветовал эту статью, хотя в основном она посвящена подтягивающим резисторам, есть формулы, с помощью которых вы можете рассчитать емкость шины, когда заданы сопротивление подтягивания и частота.
Я думаю, что мне нужно максимум 20 м между устройствами, но общая длина может быть до 50 м (от первого до последнего устройства в цепочке)

Ответы (3)

Вот пара выдержек из технического паспорта P82B715:

введите описание изображения здесь

Также обратите внимание, что емкость линии является физическим свойством провода и не связана с рабочей частотой, пока вы не перейдете в УВЧ или выше:

введите описание изображения здесь

Кабельный источник изображения .

Спасибо, Энди. Я попытался рассчитать пФ/фут для кабеля из силиконовой резины 30AWG. Параметры следующие: (эпсилон = 3,5, диаметр сердечника = 0,25 мм, общий диаметр, включая изолятор = 1,3 мм). Я получаю емкость около 9 пФ/фут. Это исправление, и мне нужно умножить его на 2, чтобы учесть обе линии I2C?
Попробуйте сравнить его со спецификацией кабеля. У него должен быть техпаспорт, если он от уважаемого поставщика.
это не авторитетный поставщик, но я подумаю о том, чтобы получить его, спасибо :)

Недавно я обнаружил, что полный мастер i2c компенсирует емкость. Это происходит за счет битрейта, который замедляется, если нарастающие фронты слишком длинные. Но кроме этого, это работает очень хорошо для меня.

https://www.i2c-bus.org/clock-stretching/ ищите абзацы пропускной способности

Редактировать:

I2C в любом случае не предназначен для работы на большом расстоянии. Это Inter IC, что намекает на связь на уровне печатной платы. Для 20м имеет смысл использовать RS485 или RS422, или другие дифференциальные линии. И нужна правильная фильтрация.

Я не вижу, как растяжка часов поможет в этом случае. Растяжение часов предназначено для того, чтобы дать подчиненному устройству некоторые средства для замедления главного, если, например, он не может справиться с обработкой входящих данных.
Растяжение часов удерживает внутренний счетчик до тех пор, пока SCL не поднимется до 1, без тайм-аута. Это означает, что если емкость линии высока, он будет ждать, пока часы не станут высокими, столько, сколько потребуется. За счет пропускной способности. Я только что проверил его, работает отлично. О, только не могу знать, реализовано ли это так же в вашем мастере.
Всем, кто не видит - проверяйте факты. Мне плевать на ваши отрицательные голоса, но вы мешаете другим узнать больше, чем вы сами.

pF/ft из-за диэлектрической проницаемости и зазора не изменится для I2C.

1 кГц - это просто проверенный тест f.

3000 пФ / 25 пФ/фут = 120 футов. Как далеко вам нужно пройти?

На частоте 1 ГГц он может немного упасть. но никогда не будет использоваться для этого.

100 кГц имеет максимальное время нарастания около 3 мкс с минимальным размахом 0,4 В пик-пик при Vсм

Ограничение емкости кабеля связано с ограничением тока высокой скорости 3 мА.

3 мА?=Ic=CdV/dt= 3000 * e^-12 * ?V/3e-6
Решите для V, если интересно, которое должно быть > 0,4 ​​В.