• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Разная длина проводников I2C

Cuper

Member
Здравствуйте, будут ли какие-то плохие последствия от разной длины SCL и SDA проводников? Знаю, что в USB обязательно длины должны совпадать. Но насчет I2c не нашёл информации.
 

pvvx

Активный участник сообщества
Коэффициент укорочения у проводков обычно = 1.4..1.8 (примеры)
Скорость света в вакууме пока считается = 299 792 458 м/с
Частоты CLK для современных I2C/SMBUS чипов лежат в области 3..6 МГц (длительность периода CLK примерно 1/5 000 000 = 200 нс).
Т.е. за 200 нс сигнал в проводе пробежит 299 792 458/5 000 000/1.5 = 40 метров.
Или каждый метр провода даст задержку в 5 нс.

Диф. пары (скрутка проводков) используются для устранения разностей от внешних помех между проводками... Лишняя торчащая петля одного провода из пар = виток приемного контура.
 

Cuper

Member
Коэффициент укорочения у проводков обычно = 1.4..1.8 (примеры)
Скорость света в вакууме пока считается = 299 792 458 м/с
Частоты CLK для современных I2C/SMBUS чипов лежат в области 3..6 МГц (длительность периода CLK примерно 1/5 000 000 = 200 нс).
Т.е. за 200 нс сигнал в проводе пробежит 299 792 458/5 000 000/1.5 = 40 метров.
Или каждый метр провода даст задержку в 5 нс.

Диф. пары (скрутка проводков) используются для устранения разностей от внешних помех между проводками... Лишняя торчащая петля одного провода из пар = виток приемного контура.
Вау, вы даже расписали подробно. Спасибо.
 

nikolz

Well-known member
на самом деле все еще смешнее
1 метр свет пробежит не за 5 нс, а за 1/299792458= 3.3 нс,
т е если у вас один оптический провод скажем 1 метр, а другой 10 метров,
то относительный сдвиг светового сигнала по этим проводам составит 33 нс
-------------------------
Прикольно то, что считать запаздывание через скорость движения можно при поездке на авто
А в данном случае на запаздывание прохождения электрического сигнала
влияет емкость кабеля и величина выходного сопротивления генератора
-----------------------
Т е влияет не как быстро бегаете, а как быстро передаете энергию.
----------------------
 

pvvx

Активный участник сообщества
Прикольно то, что считать запаздывание через скорость движения можно при поездке на авто
А в данном случае на запаздывание прохождения электрического сигнала
влияет емкость кабеля и величина выходного сопротивления генератора
-----------------------
Т е влияет не как быстро бегаете, а как быстро передаете энергию.
----------------------
Вы плохо изучила физику.

Катушка коаксиала диаметром 1 метр передает эл. импульс за 3.3 нс на другую сторону бобины, а кусок коаксиала в 1 метр при передаче диф. сигнала между экраном и центральной жилой – за 5 нс.

При этом электрическая емкость катушки больше, чем между оплеткой и центральной жилой кабеля :p т.к. вход коаксиала имеет и индуктивную составляющую…

Тем более приведенное понятие “емкость кабеля” является сокращением от погонной емкости и на прямую не влияет на его входную емкость и на характеристики “выходного сопротивления генератора”.
 

pvvx

Активный участник сообщества
Более того, если вы знаете чё таке основы электростатики, то каково же выходное сопротивление генератора в виде ебон.., блин – эбонитовой дубины? Она запросто передает по проводу или коаксиалу эл.маг. импульс и без проблем заряжает его до нескольких киловольт…

Так шо просьба вразумить – шо у вас числится в виде “емкости” и “сопротивлениях” у авто в ваших высказываниях :)
И напомню вам - Эл. емкость не по ЭГЕ и не по Болонской системе числитъся в сантиметрах... И не в штуках бутылок, как в опытах у шута Тесла.
 

nikolz

Well-known member
Вы плохо изучила физику.

Катушка коаксиала диаметром 1 метр передает эл. импульс за 3.3 нс на другую сторону бобины, а кусок коаксиала в 1 метр при передаче диф. сигнала между экраном и центральной жилой – за 5 нс.

При этом электрическая емкость катушки больше, чем между оплеткой и центральной жилой кабеля :p т.к. вход коаксиала имеет и индуктивную составляющую…

Тем более приведенное понятие “емкость кабеля” является сокращением от погонной емкости и на прямую не влияет на его входную емкость и на характеристики “выходного сопротивления генератора”.
Вы плохо изучали электротехнику
причем здесь скорость света?
Здесь влияет не скорость света в вакууме а погонная емкость кабеля.
 

nikolz

Well-known member
Более того, если вы знаете чё таке основы электростатики, то каково же выходное сопротивление генератора в виде ебон.., блин – эбонитовой дубины? Она запросто передает по проводу или коаксиалу эл.маг. импульс и без проблем заряжает его до нескольких киловольт…

Так шо просьба вразумить – шо у вас числится в виде “емкости” и “сопротивлениях” у авто в ваших высказываниях :)
И напомню вам - Эл. емкость не по ЭГЕ и не по Болонской системе числитъся в сантиметрах... И не в штуках бутылок, как в опытах у шута Тесла.
Специально для вас цитата из документации филлипс (перевод гугл):
Общая (эффективная) задержка, вносимая в сигнал данных, возвращаемый от ведомого устройства, вычисляется как:
Задержка распространения сигнала ЗВЛ заднему фронту из PCA9564 рабу – компенсации местным часам стрейч эффект на
PCA9564 + раб время отклика + задержка ПДД нарастающему фронту данных, отправляемых от раба PCA9564.
Эффективная задержка (НС) = (300 НС + 5 НС/м) – 310 НС + время отклика ведомого + (330 НС + 5 НС/м) = Время отклика ведомого плюс
(320 НС + 10 НС/м)
Доступное время отклика для работы на частоте 400 кГц = минимальный тактовый низкий период-время настройки данных = 1300 нс-100 нс =
1200 НС.
Запас прочности, доступный для использования при введенных задержках (предполагая время отклика ведомого устройства 600 НС) = 1200 НС-600 НС
– 320 НС – 10 НС/м = 280 НС-10 НС/м.
Это позволило бы обеспечить максимальную длину кабеля 28 м для полной работы на частоте 400 кГц.
Обратите внимание, что до сих пор не учитывается время подъема/падения шин, Соединенных в Sx на ведущем и ведомом узлах.
Когда это шины 3,3 В, которые позволяют подтягивать резисторы примерно на 1 ком, практическое время подъема и падения составляет, скажем, 50 ПФ
загрузка может быть сохранена в общей сложности менее чем на 80 НС.
Это означает, что при работе с кабелем возможна практическая длина кабеля не менее 20 м с задержкой распространения 200 нс.
Логика 5 В и ведомые устройства с задержками до 600 НС. Для большей помехоустойчивости также допустимо использовать логические уровни 12 В на
кабель, но с таким быстрым переключением и неэкранированным, также следует учитывать возможные излучаемые помехи.
На практике эти расчеты дают достаточно большой запас прочности. Например PCA9564 фактически не использует ПДД
сигнал примерно до 180 НС после того, как SCL поднимает край, в то время как наши расчеты, основанные на общем I2
Требования к C, имеют
допустимое время настройки-100 нс. Это обеспечивает около 280 НС дополнительного запаса прочности.
И когда PCA9564 работает на своей нормальной главной скорости 330 кГц будет дополнительное время низкого уровня часов
276 НС, обеспечивая еще один очень большой фактор безопасности. При номинальной частоте 330 кГц типичный кабель может быть более 70 метров
длинный.
 

nikolz

Well-known member
Вы плохо изучила физику.

Катушка коаксиала диаметром 1 метр передает эл. импульс за 3.3 нс на другую сторону бобины, а кусок коаксиала в 1 метр при передаче диф. сигнала между экраном и центральной жилой – за 5 нс.

При этом электрическая емкость катушки больше, чем между оплеткой и центральной жилой кабеля :p т.к. вход коаксиала имеет и индуктивную составляющую…

Тем более приведенное понятие “емкость кабеля” является сокращением от погонной емкости и на прямую не влияет на его входную емкость и на характеристики “выходного сопротивления генератора”.
------------------
учитывая, что Вы не учили электротехнику сообщаю:
В медном проводе сигнал передается со скоростью около 2/3 скорости света (около 2·108 м/с). Это значит, каждые 20 см кабеля дадут 1 нс задержки. Эти цифры позволяют оценить, насколько можно удлинять линию, прежде чем начнутся неприятности.
 

nikolz

Well-known member
кроме того:
есть еще эффект длинной линии:
На высоких частотах фронты сигнала уже не крутые, а экспоненциальной формы, даже при правильном согласовании. Драйвер на одном логическом элементе не может достаточно быстро передавать энергию в кабель. Каждый кабель имеет собственную емкость, которая обычно указывается в расчете на метр или километр длины, например кабель 5-ой категории имеет емкость 52 пФ/м и задержку до 5.3 нс/м. При длине 80 м емкость составляет 4,16 нФ.
Для справки интерфейс I2C как правило допускает работу на емкость нагрузки до 400 пф.( ну и причем здесь скорость света в вакууме?}
 

nikolz

Well-known member
вот еще рекомендации филлипс с учетом эффекта длинной линии:
Для кабеля с частичной пластиковой диэлектрической изоляцией задержки распространения будут составлять около 5 НС на метр,
а время подъема и спада импульса от 10% до 90% будет находиться между 20 НС и 50 НС.
Но в этом случае будет "звон" на фронтах , который можно демпфировать, если потребуется, с помощью диодов Шоттки.
------------------------
Резюме:
При определении допустимой длины кабеля надо учитывать как минимум три фактора:
1) задержку распространения импульсов в проводнике
2) погонную емкость кабеля, влияющую на крутизну фронта импульса
3) отраженные сигналы в линии , создающие "звон" на слабом сигнала
 

Alcest

Member
Ставьте подтягивающие резисторы минимально допустимого сопротивления. Чем меньше сопротивление, тем меньше влияние других факторов, как то погонной емкости линии передачи.

Вообще, I2C интерфейс не шибко-то предназначен для передачи данных на большие расстояния. А в пределах небольшой платы с проводниками максимум 100 мм разница в длине вряд ли скажется на работе схемы.
 

pvvx

Активный участник сообщества
Ставьте подтягивающие резисторы минимально допустимого сопротивления. Чем меньше сопротивление, тем меньше влияние других факторов, как то погонной емкости линии передачи.
Эффект длинной линии приводит к увеличению крутизны фронта сигнала, но сама линия из-за разных потерь дает ослабление сигнала... Чтобы избежать отражений от хвостов, нагрузка (и выходное сопротивление источника) на концах длинной линии должна компенсировать разность волнового сопротивления «импеданса» среды и самого кабеля.
При малом сопротивлении нагрузки вы получите обратный отраженный сигнал. Обратный ненагруженному концу линии. :p

Вообще, I2C интерфейс не шибко-то предназначен для передачи данных на большие расстояния. А в пределах небольшой платы с проводниками максимум 100 мм разница в длине вряд ли скажется на работе схемы.
Особенно если эта разница у проводников в 100 мм проведены вокруг импульсного источника :) :)
 

pvvx

Активный участник сообщества
учитывая, что Вы не учили электротехнику сообщаю:
В медном проводе сигнал передается со скоростью около 2/3 скорости света (около 2·108 м/с). Это значит, каждые 20 см кабеля дадут 1 нс задержки. Эти цифры позволяют оценить, насколько можно удлинять линию, прежде чем начнутся неприятности.
учитывая, что вы не знаете что в математике есть операция деления и вообще есть такое понятие как математика сообщаю:
Если взять кабель типа коаксиала или скрутки, как я и указал в дух предыдущих вашему сообщению в 1 метр, то у него задержка сигнала при дифференциальной передаче составляет приведенные там-же около 5 нс. Если 1 метр поделить на пять частей, то вы и получите, что 20 см дают задержку в 1 наносекунду, о чем вы и узнали из моих сообщений. :p
И т.к. у вас не существует никакой практики и полностью отсутствуют измерительные приборы, то далее вы гоните сплошную пургу и копипаст с кривым переводом. В отсутствии оборудования и практики у вас можно убедиться если вы не сможете написать правильную величину входной емкости диф.пары кат 5 или какого коакасиала для источника с частотой 3..6 MГц (типового сигнала CLK I2C/SMBUS для современных датчиков) :p
 

pvvx

Активный участник сообщества
вот еще рекомендации филлипс с учетом эффекта длинной линии:
Для кабеля с частичной пластиковой диэлектрической изоляцией задержки распространения будут составлять около 5 НС на метр
Если это будет одиночный проводник, доп.петля, как указано у ТС, то время распространения сигнала в по ней будет приближаться к скорости света в вакууме. Среда вокруг него не состоит из полиэтилена, а длина антенн в данных диапазонах кратна длинам волны в вакууме :p
Если антенну покрасить или покрыть пленкой полиэтилена - резонансная частота приема сильно не изменится :p
скорость света в вакууме учитывать не надо.
:) :) :)
 

pvvx

Активный участник сообщества
Т.к. гуру nikolz у нас совершенно безграмотен в математике, физике, электротехнике, особенно в понятиях эл.емкости, то ему необходимо решить задачу вычисления входной емкости кабеля для динамических сигналов, а не приводить тут понятия емкости из электростатики :p

А суть такова - у кабеля кат 5, при его длине более восьмой части длины волны на частотах от 1 МГц до норматива максимальной (100 МГц), волновое сопротивление должно быть равно 100 Ом. Это норматив такой у него...

Данный параметр позволяют рассчитать максимальный импульсный ток нагрузки выходного каскада.

Длительность фронтов у обычного выхода современных микросхем лежит в пределах 0.2..3 нс и ток 4..30 мА.

0.2..3 нс – это значит, что длительности волн такого фронта лежат в диапазоне от 300 МГц и выше. Кабель тут уже не при чем, а это индуктивность в виде длины проводника до кабеля. Резонанс витка диаметром в пару см. :p

И тут вопрос nikolz – какова эл.емкость у входного проводника классической индуктивности? :)

И далее:

30 мА и 100 Ом – это максимальная амплитуда в 3 В, что вполне хватит для работы I2C.

И вторая задачка – диф.проводки в кабеле кат 5, зарядили до 100 В. Вопрос – каков будет максимальный ток разряда при их замыкании и какова будет длительность этого тока? (Взять стандартные границы 10 и 90% как при расчете длительности фронта). По решению данной задачи nikolz и узнает, что поведение не будет равно классическому разряду эл.емкости…
 

Alcest

Member
Кабели-шмабели... Не забывайте о минимальном сопротивлении подтягивающих резисторов в открытых коллекторах там где I2C. Ну какие еще кабели с волновым сопротивлением 2,2 кОм?
 

pvvx

Активный участник сообщества
Кабели-шмабели... Не забывайте о минимальном сопротивлении подтягивающих резисторов в открытых коллекторах там где I2C. Ну какие еще кабели с волновым сопротивлением 2,2 кОм?
Вам кто-то мешает кинуть LVDS драйверы?
 
Сверху Снизу