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

Как задействовать одну ножку GPIO поочередно то на выход то на вход?


Рекомендуемые сообщения

Привет всем!

Имеется МК ESP32, который будет управлять трёхканальным мультиплексором 74HC4053, где все каналы имеют по две линии.
Из трёх каналов используется только два. Оба используемых канала должны переключаться синхронно.

ESP32 может выбрать либо одну из двух линий мультиплексора (при помощи ESP32::IO34), либо вообще может его выключить,
подав на ESP32::IO35 высокий уровень.

Ещё есть внешние устройства, состояние которых определяет какие линии мультиплексора разрешено задействовать
микроконтроллеру в настоящий момент. Это решается при помощи блока U3, который берет сигналы от внешних
устройств, а также уровень с ESP32::IO34, и вычисляет можно ли включить ту линию, которую просит микроконтроллер.
Если нет, то мультиплексор выключается путем подачи на его вход U2::E высокого уровня. По сути U3 реализует
логическое выражение от трех параметров.

Далее. То, хочет ли микроконтроллер задействовать мультиплексор (ESP32::IO35), и то, разрешено ли ему это
сделать (U3::PIN_5), соединяется через ИЛИ и попадает на вход U2::E мультиплексора.
Идея в том, чтобы аппаратно не дать ESP32 полезть туда, куда сейчас нельзя.

Теперь о проблеме. Микроконтроллеру нужно будет знать, можно ли ему лезть туда, куда он хочет, или нет.
Для этого я хочу использовать ножку ESP32::IO35 поочередно на вход и на выход. Когда она настроена на выход,
то все должно быть так, как описано выше.
А когда она настроена на вход, то
1. Микроконтроллер читает то, что у него на ESP32::IO35, и получает значение U3::PIN_5. То есть сумеет узнать можно ему работать или нет.
2. Уровень на U2::E равен уровню U3::PIN_5. Это чтобы мультиплексор не включился когда это запрещено.

Как такое сделать не задействуя другие выводы ESP32?

Спасибо.

dual-purpose-gpio.png

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

  • 4 месяца спустя...

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

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

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

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

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

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...