Технический форум
Вернуться   Технический форум > Электроника, самоделки и техника > Форум по электронике > Микропроцессоры


Ответ
 
Опции темы Опции просмотра
Старый 05.07.2020, 13:02   #1 (permalink)
Vaffanculo
Member
 
Регистрация: 11.02.2020
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Как обнаружить третье состояние вывода микроконтроллера?

Привет всем!

Имеется мультиплексор 74HC4053 на три канала один к двум. Один канал не используется.
Переключение остальных двух каналов должно происходить одновременно.
Для управления этим мультиплексором есть ровно одна ножка микроконтроллера (ESP32).

Теперь нужно сделать так, чтобы МК мог отключить мультиплексор подав ему на вход E высокий уровень.
Добиться этого я надеялся путем переключения соответствующего GPIO в режим input, чтобы не тратить вторую ножку МК.

То есть нужно придумать как превратить 0 или 1 в режиме "на выход" в низкий уровень, а режим "на вход" в высокий уровень.
Как это сделать?

Спасибо.
Миниатюры
third-state-detection-2.png  
Vaffanculo вне форума   Ответить с цитированием

Старый 05.07.2020, 13:02
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Обязательно прочитайте содержимое схожих тем

Управление аудиоканалом при помощи микроконтроллера
Можно ли скопировать бинарник из микроконтроллера?
Lenovo собирается занять третье место по продажам планшетов

Старый 05.07.2020, 13:16   #2 (permalink)
Сергей 19-73
Banned
 
Регистрация: 16.07.2016
Адрес: Санкт-Петербург
Сообщений: 8,964
Сказал(а) спасибо: 117
Поблагодарили 8 раз(а) в 5 сообщениях
Репутация: 36036
По умолчанию

Цитата:
Сообщение от Vaffanculo Посмотреть сообщение
Теперь нужно сделать так, чтобы МК мог отключить мультиплексор подав ему на вход E высокий уровень.
Что Вы хотите , заставить 155-ю серию работать на 3В , не получится , нужен преобразователь уровня .
Сергей 19-73 вне форума   Ответить с цитированием
Старый 05.07.2020, 13:35   #3 (permalink)
Vaffanculo
Member
 
Регистрация: 11.02.2020
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от Сергей Сергеич Посмотреть сообщение
Что Вы хотите , заставить 155-ю серию работать на 3В , не получится , нужен преобразователь уровня .
Не нужен преобразователь. Про 155-ю серию я ничего не говорил. Вот документация разработчика на названную в теме микросхему, я выделил немного.

Сам мультиплексор и управление им работают от 3,3 вольт, это проверено на практике. Проблема именно в том, что я не понимаю как обнаружить, что ножка МК перешла в состояние "на вход".
Миниатюры
01.png   02.png  
Vaffanculo вне форума   Ответить с цитированием
Старый 05.07.2020, 14:22   #4 (permalink)
Vaffanculo
Member
 
Регистрация: 11.02.2020
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Чтобы вопрос был понятней, вот чего нужно добиться.

Код HTML:
|ESP32 GPIO        | Мультиплексор SELECT | Мультиплексор ENABLE |
|------------------+----------------------+----------------------|
|на выход, высокий | высокий              | низкий               |
|на выход, низкий  | низкий               | низкий               |
|на вход           | не важно             | высокий              |
|------------------+----------------------+----------------------|
Vaffanculo вне форума   Ответить с цитированием
Старый 05.07.2020, 14:48   #5 (permalink)
George Smith
<< Эксперт >>
 
Аватар для George Smith
 
Регистрация: 27.11.2010
Адрес: Большеземельская тундра, Чукча я однако ... :)
Сообщений: 28,167
Записей в дневнике: 5
Сказал(а) спасибо: 400
Поблагодарили 273 раз(а) в 85 сообщениях
Репутация: 81007
По умолчанию

Не пойму о каком третьем состоянии речь? Хотя есть ТТЛ с третьим состоянием на выходе,
это высокоомное, т.е. вобще ни чё не должно показывать, ни "0", ни "1" ...
__________________
George Smith вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 05.07.2020, 14:51   #6 (permalink)
gluxon
Member
 
Регистрация: 27.11.2017
Сообщений: 3,424
Сказал(а) спасибо: 35
Поблагодарили 31 раз(а) в 6 сообщениях
Репутация: 31069
По умолчанию

Коробочка с надписью загадка, это и есть гипотетическое устройство определения состояния пина проца? Если так, то могу предложить следующее: поскольку на выходе проца могут быть только логические ноль и единица, а то что на входе, ему пофиг - просто создать делитель напряжения питания, из достаточно высокоомных резисторов, к примеру одинакового номинала, чтобы не нагружать пин в режиме выхода. А вот ваша коробочка, с надписью загадка, должна определять уровень напряжения на этом пине. То есть она должна включать в себя компаратор, который будет следить за напряжением на этом пине - если на нём установится половина напряжения питания, значит пин переключился на вход, и компаратор должен выдать высокий уровень на вход enable мультиплексора
gluxon вне форума   Ответить с цитированием
Старый 05.07.2020, 15:41   #7 (permalink)
Vaffanculo
Member
 
Регистрация: 11.02.2020
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Это уже интересней! И как будет устроен такой компаратор?
Vaffanculo вне форума   Ответить с цитированием
Старый 05.07.2020, 15:59   #8 (permalink)
gluxon
Member
 
Регистрация: 27.11.2017
Сообщений: 3,424
Сказал(а) спасибо: 35
Поблагодарили 31 раз(а) в 6 сообщениях
Репутация: 31069
По умолчанию

Цитата:
Сообщение от Vaffanculo Посмотреть сообщение
Это уже интересней! И как будет устроен такой компаратор?
Наподобие такого. Читайте, изучайте принцип работы. Возможно придётся на выходе поставить диодную развязку и инвертор
Миниатюры
220.png  
gluxon вне форума   Ответить с цитированием
Старый 05.07.2020, 18:49   #9 (permalink)
Vaffanculo
Member
 
Регистрация: 11.02.2020
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Собрал пока в симуляторе. Вроде бы работает. Спасибо за идею!

Инвертор - не вижу зачем он тут; если на входе напряжение из середины диапазона, то на выходе имеем высокий уровень, то есть что и требовалось.

Смущает только выходная часть. Не уверен, что можно вот так просто соединить выходы операционников.
И про диодную развязку можно поподробнее?
Миниатюры
comparator-2.png  
Vaffanculo вне форума   Ответить с цитированием
Старый 05.07.2020, 19:14   #10 (permalink)
Vaffanculo
Member
 
Регистрация: 11.02.2020
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Еще мне на другом форуме говорят, что при таком подходе на входы S0 и S1 будет подаваться промежуточное напряжение, которое ни ноль ни единица, и так делать нельзя несмотря даже на то, что документация утверждает, что если EN=HI, то от S0 и S1 ничего не зависит.
Хотелось бы выяснить чем это чревато.
Миниатюры
74hc4053-1.png  
Vaffanculo вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

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




Часовой пояс GMT +4, время: 10:53.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.