05.07.2020, 13:02 | #1 (permalink) |
Member
Регистрация: 11.02.2020
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Как обнаружить третье состояние вывода микроконтроллера?
Имеется мультиплексор 74HC4053 на три канала один к двум. Один канал не используется. Переключение остальных двух каналов должно происходить одновременно. Для управления этим мультиплексором есть ровно одна ножка микроконтроллера (ESP32). Теперь нужно сделать так, чтобы МК мог отключить мультиплексор подав ему на вход E высокий уровень. Добиться этого я надеялся путем переключения соответствующего GPIO в режим input, чтобы не тратить вторую ножку МК. То есть нужно придумать как превратить 0 или 1 в режиме "на выход" в низкий уровень, а режим "на вход" в высокий уровень. Как это сделать? Спасибо. |
05.07.2020, 13:02 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Обязательно прочитайте содержимое схожих тем Управление аудиоканалом при помощи микроконтроллера Можно ли скопировать бинарник из микроконтроллера? Lenovo собирается занять третье место по продажам планшетов |
05.07.2020, 13:35 | #3 (permalink) | |
Member
Регистрация: 11.02.2020
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Цитата:
Сам мультиплексор и управление им работают от 3,3 вольт, это проверено на практике. Проблема именно в том, что я не понимаю как обнаружить, что ножка МК перешла в состояние "на вход". |
|
05.07.2020, 14:22 | #4 (permalink) |
Member
Регистрация: 11.02.2020
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Чтобы вопрос был понятней, вот чего нужно добиться.
Код HTML:
|ESP32 GPIO | Мультиплексор SELECT | Мультиплексор ENABLE | |------------------+----------------------+----------------------| |на выход, высокий | высокий | низкий | |на выход, низкий | низкий | низкий | |на вход | не важно | высокий | |------------------+----------------------+----------------------| |
05.07.2020, 14:48 | #5 (permalink) |
<< Эксперт >>
Регистрация: 27.11.2010
Адрес: Большеземельская тундра, Чукча я однако ... :)
Сообщений: 28,167
Записей в дневнике: 5
Сказал(а) спасибо: 400
Поблагодарили 273 раз(а) в 85 сообщениях
Репутация: 81007
|
Не пойму о каком третьем состоянии речь? Хотя есть ТТЛ с третьим состоянием на выходе,
это высокоомное, т.е. вобще ни чё не должно показывать, ни "0", ни "1" ...
__________________
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
05.07.2020, 14:51 | #6 (permalink) |
Member
Регистрация: 27.11.2017
Сообщений: 3,424
Сказал(а) спасибо: 35
Поблагодарили 31 раз(а) в 6 сообщениях
Репутация: 31069
|
Коробочка с надписью загадка, это и есть гипотетическое устройство определения состояния пина проца? Если так, то могу предложить следующее: поскольку на выходе проца могут быть только логические ноль и единица, а то что на входе, ему пофиг - просто создать делитель напряжения питания, из достаточно высокоомных резисторов, к примеру одинакового номинала, чтобы не нагружать пин в режиме выхода. А вот ваша коробочка, с надписью загадка, должна определять уровень напряжения на этом пине. То есть она должна включать в себя компаратор, который будет следить за напряжением на этом пине - если на нём установится половина напряжения питания, значит пин переключился на вход, и компаратор должен выдать высокий уровень на вход enable мультиплексора
|
05.07.2020, 18:49 | #9 (permalink) |
Member
Регистрация: 11.02.2020
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Собрал пока в симуляторе. Вроде бы работает. Спасибо за идею!
Инвертор - не вижу зачем он тут; если на входе напряжение из середины диапазона, то на выходе имеем высокий уровень, то есть что и требовалось. Смущает только выходная часть. Не уверен, что можно вот так просто соединить выходы операционников. И про диодную развязку можно поподробнее? |
05.07.2020, 19:14 | #10 (permalink) |
Member
Регистрация: 11.02.2020
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Еще мне на другом форуме говорят, что при таком подходе на входы S0 и S1 будет подаваться промежуточное напряжение, которое ни ноль ни единица, и так делать нельзя несмотря даже на то, что документация утверждает, что если EN=HI, то от S0 и S1 ничего не зависит.
Хотелось бы выяснить чем это чревато. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|