I2C-адрес MCP4725

Я хочу использовать четыре модуля DAC MCP4725 одновременно, но у него есть только два адреса I2C, которые можно установить с помощью перемычек:

На странице 10 таблицы данных говорится:

Контакт выбора адреса устройства. Этот вывод может быть привязан к VSS или VDD, или может активно управляться цифровыми логическими уровнями. Логическое состояние этот контакт определяет, каким должен быть бит A0 адресных битов I2C.

Можно ли как-то установить более двух адресов для этого модуля? или любой взлом с помощью аппаратного/программного обеспечения...

, 👍0

Обсуждение

MCP4725 имеет 3 бита переменного адреса. A0, к которому у вас есть доступ, и A1 A2, которые может выбрать клиент, купивший микросхемы, для создания этих коммутационных плат (см. рисунок выше). Возможно есть шанс получить платы двух адресных серий. Я знаю, что это плохой совет, если вы только что купили плату, но если нет, это может быть шанс получить четыре платы в автобусе., @Peter Paul Kiefer


1 ответ


Лучший ответ:

1

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

Вы всегда работаете только с одним адресом, и это адрес «активного» объекта. Все остальные устройства находятся на вторичном «неактивном» адресе, который вы игнорируете.

Затем адресный контакт каждого устройства подключается к контакту ввода-вывода и может рассматриваться как контакт "выбора микросхемы".

Последовательность следующая:

  • Установите для первого устройства низкий уровень A0, а для всех остальных – высокий уровень.
  • Связь по адресу 0
  • Установите для второго блока A0 НИЗКИЙ уровень, а для всех остальных – ВЫСОКИЙ.
  • Связь по адресу 0
  • И т. д. для каждой единицы

Поскольку вы никогда не обмениваетесь данными по адресу 1, остальные «неактивные» устройства игнорируют все сообщения.

,

Спасибо. Если на выходе DAC1, например, 1024, а затем я переключусь на DAC2, значение на DAC1 сбросится на 0 или останется на этом значении?, @ElectronSurf

ЦАП меняет свое значение только в том случае, если вы меняете значение или перезагружаете устройство, отключая питание., @Majenko

Эта концепция, безусловно, будет работать, но ОП должен знать об этом, он не может использовать это решение в настройке с переменными / подключаемыми устройствами, где необходимо сканирование шины I2C. (например, это может вызвать переключение на raspi)., @Peter Paul Kiefer