Перейти к содержанию
    

I2C и SLAVE c управляемым питанием.

MASTER и SLAVE питаются от 3.3 вольта, но от разных источников и один источник(для SLAVE) управляется MASTERом(ON/OFF).

Конфликт в следующем:

Если подтяжки к питанию мастера и Мастер вырубает питание ведомому, то - через подтяжки от мастера натекает некоторое количество энергии в ведомого. А это потери энергии и не полный сброс ведомого.

Если подтяжки к питанию ведомого и Мастер вырубает питание ведомому, то шина Мастера становится в неопределённом состоянии.

Как выкрутиться? Ставить доп-микрухи изолирующие? Какие? Городить на диодах/транзисторах?

А если ведомых несколько?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выключайте контроллер перед выключением питанием и включайте после подачи питания.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ключ в "земляном" выводе ведомого? При размыкании ключа утечкам будет некуда течь. При повторном замыкании - на SDA и SCL сразу будут правильные уровни (пауза). Подтяжки - на питании ведущего.

Изменено пользователем Точка Опоры

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Предполоагается, что подтяжки на шине на стороне ведомого и при отсутствии питания на нём, шина будет в состоянии 0|0

Перед выключением питания ведомого:

1. Дождаться окончания передачи на шине I2C

2. Отключить блок I2C от пинов (отключить альтернативную функцию на обычный вход) (опционально - отключить сам блок I2C)

3. Обесточить ведомого.

При включении:

1. Подать на ведомого питание.

2. Дождаться на пинах GPIO состояния 1|1 (питание появилось)

3. Подключить блок I2C к пинам (альтентативная функция)

4. Минимум пару раз отправить адрес ведомого на запись, проверить, есть ли отклик. Если есть - можно работать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

42 минуты назад, Сергей Борщ сказал:

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

Сложнее, если мастеров несколько, и каждому можно отключить питание.

Я в таких случаях устанавливаю управляемую подтяжку от независимого дежурного питания. Но ТС спасет изолятор, раз потребление важно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

13 часов назад, Точка Опоры сказал:

Ключ в "земляном" выводе ведомого? При размыкании ключа утечкам будет некуда течь. При повторном замыкании - на SDA и SCL сразу будут правильные уровни (пауза). Подтяжки - на питании ведущего.

Т.е. - предлагаете вместо паразитной запитки ведомого микроскопическими токами через подтяжки, запитать его полноценным паразитным током с открытых нижних ключей SCL/SDA мастера (и других ведомых)?   :biggrin:

Т.е. - не только ведомого паразитно запитать, но ещё и завалить обмен с другими ведомыми? В случае редких транзакций. "Отличное" решение!  :biggrin:

 

Для корректного отключения ведомого в случае ТС, можно использовать: либо аналоговые коммутаторы; либо гальванические изоляторы (как уже предлагалось выше); либо даже есть спец.микросхемы для этого (не помню конкретных наименований).

Ну или (эконом-вариант): Не выключать ведомого, а уводить его в сон. По команде мастера например. Если такое возможно по условиям всей системы. С предварительным отключением ведомым своих SCL/SDA и прочей ненужной требухи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Для, разветвлённой сети - не подойдёт. Спасибо за уточнение.  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

17 часов назад, Trashy_2 сказал:

Городить на диодах/транзисторах?

Да, пара транзисторов, которая вообще-то должна была быть встроенной.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, jcxz сказал:

либо даже есть спец.микросхемы для этого (не помню конкретных наименований

TCA9517, вроде оно

tca9517.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 часа назад, Plain сказал:

Да, пара транзисторов, которая вообще-то должна была быть встроенной.

Вспомнилось, как запитывал I2C-шный датчик температуры через крохотные MOSFET-ы. Только вот не обратил внимания, что ток потребления в рабочем режиме у датчика какие-то микроамперы, поэтому токов утечки хватало для какой-никакой работы, транзисторы были лишними деталями, как оказалось. ИМХО, то же самое будет с аналоговыми коммутаторами. По мне, так правильно гальванический изолятор поставить, тот наверняка работает согласно закону природы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...