Усилитель для шины i2c

Удлинитель шины I2C

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

Модуль позволяет удлинить шину I2C с использованием дифференциальной передачи и типичной витой пары CAT5. Благодаря оснащению модуля набором разъемов для наиболее популярных стандартов прототипов плат (Grove, Qwiic, Arduino) он действует как концентратор между схемами, избавляя также от необходимости использовать адаптеры.

Вот внутренняя структура микросхемы PCA9615. Модуль основан на специализированном буфере и контроллере Hot-Swap. В своей структуре чип включает буферы SDA и SCL, управляемые сигналом EN. Буферы изолируют часть шины со стороны входа (SDA / SCL) и обеспечивают соответствие стандарту I2C, а на стороне выхода (DSCLP / LM, DSDAP / AM) они настроены как дифференциальные сигналы – обеспечивают больший диапазон и невосприимчивость к помехам.

Согласно примечанию производителя, дальность составляет около 3 м для режима FM+ и может быть увеличен на более низких скоростях. Конечно, для правильной работы необходимы две цепи, обеспечивающие полное преобразование сигнала.

Принципиальная схема модуля удлинителя I2C

Основные параметры:

  • передача с дифференциальными сигналами обеспечивает большой радиус действия и невосприимчивость к помехам,
  • диапазон составляет примерно 3 м в режиме FM+ и может быть увеличен на более низких скоростях (10 м в стандартном режиме 100 кГц),
  • работает в диапазоне питания 3,3 … 5 В.

Схема модуля представлена на рисунке выше. Шина I2C подключается к разъемам I2CA … I2CF, резисторы R7 и R8 обеспечивают соответствующую поляризацию. Схема U1 преобразует сигналы в симметричную форму для линии данных SDA и тактовой частоты SCL, которые после согласования с элементами R1 … R6 выводятся на разъем LINK (типа RJ45). Типовой кабель CAT5 (1:1) используется для соединения между модулями. Перемычки VCC и GND включают выход источника питания, когда, помимо передачи, нужно запитать взаимодействующую схему.

Проведенные эксперименты показывают, что при хорошем качестве связи можно подавать питание и передавать на расстояние до 10 м в стандартном режиме (100 кГц).

Это позволяет подключать типичные датчики окружающей среды с низким энергопотреблением, такие как BME280, LM75 и даже модуль расширения PCF8574, который поддерживает OLED-дисплей и несколько светодиодов. Перемычки VCC и GND должны быть припаяны в случае выхода питания в обоих модулях шины.

Модуль собран на двусторонней печатной плате. Его схема вместе с расположением элементов показана на рисунке.

Правильно собранная схема не требует налаживания и готова к работе сразу после подключения источника питания.

Источник

Arduino.ru

Усилитель для шины I2C. Работа I2C по длинному кабелю.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Искал подобный ускоритель I2C на случай если возникнут трабблы при многочисленных потребителях I2C на нескольких платах, хоть и в одном корпусе , через много расширителей портов TCA9548 (что вносит последовательное сопротивление на внутренних полевиках ) . Да и экран (GND полигон) на плате увеличивает емкость с рядом расположенными SDA SCL (вопрос на сколько это критично на нескольких суммарно метрах с 0.3мм расстоянии до полигона).

Попалась интересная мелочевка в корпусе SC70 ( меньше чем SOT-23-6 ) ускоритель I2C , в отличии от усилителей шины которые включаются в разрыв , эта микруха подключается в параллель существующей шины. Ускоряет фронт импульса , если замечает что напряжение стало повышаться, притягивет шину к плюсу . И также мониторит (как я понял) начало спада импульса , и потом его резко сильно просаживает , тем самым ускоряя спад.

Читайте также:  Давление в шинах м412

нашел среди дешевого ширпотреба на JLCPCB , проранжировав по больше’му наличию в Stock

PCA9515 400kbps I²C
PCA9517 400kbps — что есть в наличии даже в ЧипДипе
P82B96 400kbps
PCA9617 1MHz
.

Signal Buffers, Repeaters, Splitters

И гугл ещё много чего находит по поиску — ускоритель I2C

Источник

Выводим сигнал remote из автомагнитолы с управляемым по i2c усилителем

Сигнал REMOTE (напряжение 12В, которое служит для включения внешних усилителей когда включена магнитола) из современных штатных магнитол вывести не так просто. Если раньше можно было использовать ножку ST-BY микросхемы-усилителя, то теперь разработчики магнитол не используют эту ножку, потому что появились микросхемы-усилители с цифровым управлением.

Можно поискать на плате дорожки, на которых появляется напряжение тогда, когда включается магнитола, но в большинстве случаев они не подходят. Можно подключиться к питанию подсветки дисплея, вот только в этом случае усилитель может включаться незапланированно — до включения встроенного усилителя (что сопровождается щелчками в тракте) или при регулировке климата или при работе парктроника.

Попробую описать другой вариант выхода из положения на примере штатной магнитолы Swing на Skoda Octavia A7

Изучаем устройство

Оконечный усилитель — TDA7563, на него аналоговый сигнал приходит с DSP SAF7741HV.

TDA7563, как выяснилось, очень любят разработчики штатных магнитол из-за того, что микросхема имеет цифровое управление и диагностику по шине i2c, а i2c применяется в магнитолах уже очень давно. Микросхема усилителя при включении магнитолы по команде основного процессора производит тест динамиков, результат теста отдаёт по i2c — определяется обрыв/КЗ, что позволяет блоку магнитолы выдавать эти ошибки по CAN диагностическому оборудованию. В спящий режим микросхема усилителя переводится тоже командами по i2c (нога ST-BY усилителя не используется), что сильно усложняет получение сигнала REMOTE.

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

Состояние включенности габаритов и включенности зажигания магнитола получает по CAN. Обмен с кнопками руля — по CAN до блока шлюза диагностических шин, далее — по LIN до контроллера кнопок в руле.

Идея в том, чтобы на внутреннюю шину магнитолы i2c посадить ещё одно устройство на базе простого и дешёвого микроконтроллера, которое будет прикидываться микросхемой усилителя и слушать все команды, которые летят в неё от процессора магнитолы. Причём i2c позволяют нашему «шпиону» оставаться незаметным для процессора магнитолы. Встроенный усилитель будет функционировать как и прежде, а сигнал REMOTE будет формироваться микроконтроллером ровно тогда, когда магнитола будет включать свой встроенный усилитель. Данный способ подойдет для всех магнитол, в которых применена микросхема TDA7563 или совместимые с ней по протоколу обмена.

Само устройство было собрано в выходные на плате, на которой кроме микроконтроллера расположились только 3 резистора и 2 отладочных светодиода (необязательных). Микроконтроллер выковырян из ненужного устройства, поэтому долго над выбором мк я не думал.


Отлаживаем ПО контроллера

Всё достаточно просто. Нам всего лишь нужно реализовать i2c-slave с адресом как у TDA7563 (0x6C) и ждать обращений на запись. Далее нужно принять 2 Instruction byte от процессора магнитолы и их проанализировать. Интересующие биты — Standby Off в байте IB2, Unmute Rear Channels и Unmute Front Channels в байте IB1. Вообще выяснилось, что магнитола сначала выставляет бит Standby Off и с небольшой задержкой — биты Unmute Front Channels и Unmute Rear Channels.

Командные байты я описал в виде структур бит, которые поместил в объединение вместе с массивом из 2 байт, чтобы при заполнении буфера обращаться к нему побайтово, а при разборе команды иметь удобный доступ к битам:

typedef struct
<
unsigned char CD_10 :1;
unsigned char UnmuteRearChannels :1;
unsigned char UnmuteFrontChannels :1;
unsigned char RearChannelGain12db :1;
unsigned char FrontChannelGain12db :1;
unsigned char OffsetDetectionEnable :1;
unsigned char DiagnosticEnable :1;
unsigned char NotUsed1 :1;
> tIB1;

Читайте также:  Шины р15 195 65 всесезонка

typedef struct
<
unsigned char HighEfficiencyMode_Left :1;
unsigned char HighEfficiencyMode_Right :1;
unsigned char CurrentDetectionDiagnosticEnable:1;
unsigned char LineDriverModeDiagnostic :1;
unsigned char StandbyOff :1;
unsigned char FastMuting :1;
unsigned char NotUsed1 :1;
unsigned char NotUsed2 :1;
> tIB2;

typedef union
<
struct
<
tIB1 IB1;
tIB2 IB2;
> IBs;
char Bytes[2];
> tTWI_Buff;

А так выглядит проверка команды (я проверяю биты Standby Off и Unmute Front Channels):

Чтобы шпион не мешал чтению состояния из TDA7563, при операциях чтения из слейва будем выдавать байты = 0xFF, чтобы TDA мог в нужные моменты притягивать линию SDA к земле и шпион ему не мешал это делать.

Источник

Усилитель для шины i2c

всем привет! В интернетах нашел, что максимальная длина линии в стандартном режиме до 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. Вот. А про длину линии я не нашел инфы (( Помогите, пожалуйста, найти информацию, в доке на интерфейс, о длине линии при разной скорости или при максимальной скорости и минимальной. Что то не по глазам.

_________________
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн

Реклама
m.ix
Друг Кота

Карма: 52
Рейтинг сообщений: 846
Зарегистрирован: Вт сен 07, 2010 03:01:06
Сообщений: 16548
Откуда: Moscow-Izmaylovo
Рейтинг сообщения: 0

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

Через опу удлиннил алпайну

_________________
Лечу лечить WWW ашу покалеченную технику.

Aleks300
Родился

Зарегистрирован: Пн апр 25, 2011 04:05:01
Сообщений: 11
Рейтинг сообщения: 0

всем привет! В интернетах нашел, что максимальная длина линии в стандартном режиме до 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. Вот. А про длину линии я не нашел инфы (( Помогите, пожалуйста, найти информацию, в доке на интерфейс, о длине линии при разной скорости или при максимальной скорости и минимальной. Что то не по глазам.

Реклама

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Chip115
Сверлит текстолит когтями

Карма: 4
Рейтинг сообщений: 10
Зарегистрирован: Пт фев 16, 2007 14:18:20
Сообщений: 1132
Откуда: Новосибирск
Рейтинг сообщения: 0

_________________
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн

Реклама

Литиевые батарейки различного химического состава и разных типоразмеров широко используются в беспроводных датчиках систем сбора данных, промышленной автоматики и систем умного дома. Широкий спектр таких батареек производит не прекратившая поставки в Россию китайская компания Fanso, входящая во всемирно известный концерн по производству электрохимических элементов питания EVE.

Ser60
Друг Кота

Карма: 74
Рейтинг сообщений: 576
Зарегистрирован: Ср дек 24, 2008 09:58:58
Сообщений: 3544
Рейтинг сообщения: 0
Медали: 3

Реклама
Реклама

Компэл наращивает объем поставок продукции MEAN WELL для организации электропитания устройств и систем промышленной автоматизации и предлагает изделия этих брендов по выгодным ценам. Источников питания Mean Well также могут стать выгодной альтернативой для замены источников питания европейских и американских производителей ушедших с рынка РФ.

mickbell
Друг Кота

Карма: 106
Рейтинг сообщений: 3548
Зарегистрирован: Пт мар 30, 2012 05:17:29
Сообщений: 11195
Откуда: Екатеринбург
Рейтинг сообщения: 0

_________________
Nesuprantu totoriškai. Кытайча белмим. Non capisco il francese.
За перенос модераторами в МЯВУ тем с моими сообщениями я ответственности не несу.
«Йухан, Тор! Вы — на бой!» (Reverse)

Реклама

nds
Друг Кота

Карма: 100
Рейтинг сообщений: 1087
Зарегистрирован: Вс май 25, 2008 19:47:47
Сообщений: 3841
Откуда: РФ
Рейтинг сообщения: 0
Медали: 5

_________________
2B OR NOT 2B = FF

Seal
Сверлит текстолит когтями

Карма: 6
Рейтинг сообщений: 3
Зарегистрирован: Чт мар 05, 2009 19:51:55
Сообщений: 1122
Откуда: Дырасполь
Рейтинг сообщения: 0

_________________
ученые долго думали,в чем измерять частоту. С тех пор и пишут Hz

BOB51
Друг Кота

Карма: 88
Рейтинг сообщений: 1108
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 12957
Откуда: ДОНЕЦК (ЮГО-ВОСТОК ua/DPR)
Рейтинг сообщения: 0

Seal
Сверлит текстолит когтями

Карма: 6
Рейтинг сообщений: 3
Зарегистрирован: Чт мар 05, 2009 19:51:55
Сообщений: 1122
Откуда: Дырасполь
Рейтинг сообщения: 0

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

А если есть возможность,то использовать витую пару, САТ 5-6 .

_________________
ученые долго думали,в чем измерять частоту. С тех пор и пишут Hz

avreal
Опытный кот

Карма: 7
Рейтинг сообщений: 52
Зарегистрирован: Чт дек 31, 2009 19:27:45
Сообщений: 842
Откуда: Бровари, Україна
Рейтинг сообщения: 0

У I2C с этим приблизительно то де самое, что с 1-Wite — напряжение питания (определяющее разумный уровень гистерезиса на входах) и ограничение на резистор подтяжки. Так что по «аппаратной» помехоустойчивости между ними разницы большой быть не должно.

В самой спецификации I2C на «внутриприборность» вроде бы не напирают. Даже наоборот — проталкивали ACCESS.bus (физический интерфейс — I2C с умощненными с 3 до 6 мА выходами, добавлен протокольный уровень) как многоточечную альтернативу RS232 для соединения в одну шинку клавы/мыши/планшета. Речь шла о соединении до полутора десятков устройств с суммарной длиной кабеля под десять метров. Вживую не видел
В мониторах в конце концов I2C EEPROM-ки на DDC стояли.
Кстати, в HDMI-кабеле тоже оно есть

Какое там ограничение на длину кабеля HDMI ? Они (hdmi и его кабели) ну совершенно не «внутридевайсные».
Впрочем, там точка-точка, а не шина. так легче.

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

На практике у меня в блоке-мастере была плата с atmega328+24C64+DS1307 и на ней на кабеле UTP три метра длиной висел блок, в котором десять модулей с atmega48 (платка-перехолдник с RJ на штыри и шлейф около полуметра по этим десяти модулям).
Подтяжки только в блоке-мастере, 2 кОм. Питание всего этого 5 вольт.
В цех я такое и не думал бы ставить
В лаборатории вполне работало. Погонял несколько дней интенсивно на где-то пятистах килогерцах (максимум, что позволили тактовые AVR-ок). После чего опустил на 100 кГц, так как этого всё равно достаточно.

_________________
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.

YS
Друг Кота

Карма: 70
Рейтинг сообщений: 1223
Зарегистрирован: Вс мар 29, 2009 22:09:05
Сообщений: 7484
Рейтинг сообщения: 0

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

Насчет помех — никто не мешает поверх I2C устроить свой протокол с CRC.

_________________
Разница между теорией и практикой на практике гораздо больше, чем в теории.

Страница 1 из 1 [ Сообщений: 12 ]

Часовой пояс: UTC + 3 часа

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

Источник

Поделиться с друзьями
Шинбург
Adblock
detector