Клеммы, реле, разъемы Degson со склада в России

Два устройства с одинаковым адресом на I2C

Специалист
 
Регистрация: 26.10.2020
Адрес: Омск
Сообщений: 1,753
Репутация: 245
257 178
538 320
 
24.04.2023 13:34 #1
Нет, в данном случае речь не идет о вспомогательном диспетчере адресов, наоборот, меня очень даже устраивает, что одно и то же сообщение получат сразу оба девайса на шине (получать какие-либо данные с них не планируется).
Но не ждут ли меня в таком случае проблемы с подтверждениями о приеме посылок? И вообще, насколько колхозно смотрится такое решение, или я напрасно беспокоюсь, и такой фокус-покус в порядке вещей?
ЗЫ. Не путать с всеобщим оповещением, т.к. на шине есть и другие девайсы со своими адресами.
Оценка
Специалист
 
Аватар для antonydublin
 
Регистрация: 22.09.2010
Адрес: г. Донецк
Сообщений: 873
Репутация: 381
372 0
3 0
 
25.04.2023 01:39 #2
Подтверждения ACK/NACK реализованы обычно в железе. Поэтому если устройства будут маяковать одновременно, то проблем с односторонней передачей данных master->slave(s) быть не должно.

Но обычно если уж совсем нет возможности сменить хотя бы пару адресных бит, то используют I2C мультиплексоры вроде TCA9548A или трансляторы адресов по типу LTC4316. Последние как раз меняют в адресе пару бит.

Но можно всё же ухитриться не использовать мультиплексор даже при двухстороннем обмене для N устройств с одинаковым адресом. Нужно задействовать дополнительно N выводов микроконтроллера. В момент передачи искусственно выставлять 1 на линии SDA для тех устройств, к которым мы не хотим обращаться. Конечно, понадобится N резисторов и диодов, примерно как на схеме ниже.

Изображения
Тип файла: jpg Temp.jpg (115.7 Кб, 0 просмотров)
__________________
Atmel, STM32, ESP32, RTOS, OS-less, C, C++, C#, Visual Studio, IAR, Altium, Micro-Cap, Maple, MatLab, etc.
Оценка
Специалист
 
Регистрация: 26.10.2020
Адрес: Омск
Сообщений: 1,753
Репутация: 245
257 178
538 320
 
25.04.2023 05:49 #3
Благодарю за развернутый ответ.
Получается, что TCA9548 - единственное цивилизованное в данном случае решение, т.к. LTC4316 выдает разные адреса девайсов, а они у меня в железе.
Заказал на али пару модулей с TCA9548 по 45 руб\шт... и девайсы с адресацией чипидипе.
Оценка
Ответ
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход
Электронные компоненты. Скидки 15%, кэшбэк 15% и бесплатная доставка от ТМ Электроникс
Часовой пояс GMT +3, время: 03:14.
Обратная связь РадиоЛоцман Вверх