Технический форум

Технический форум (http://www.tehnari.ru/index.php)
-   Микропроцессоры (http://www.tehnari.ru/forumdisplay.php?f=115)
-   -   Как обнаружить третье состояние вывода микроконтроллера? (http://www.tehnari.ru/showthread.php?t=268847)

Vaffanculo 05.07.2020 13:02

Как обнаружить третье состояние вывода микроконтроллера?
 
Вложений: 1
Привет всем!

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

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

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

Спасибо.

Сергей 19-73 05.07.2020 13:16

Цитата:

Сообщение от Vaffanculo (Сообщение 2710539)
Теперь нужно сделать так, чтобы МК мог отключить мультиплексор подав ему на вход E высокий уровень.

Что Вы хотите , заставить 155-ю серию работать на 3В , не получится , нужен преобразователь уровня .

Vaffanculo 05.07.2020 13:35

Вложений: 2
Цитата:

Сообщение от Сергей Сергеич (Сообщение 2710541)
Что Вы хотите , заставить 155-ю серию работать на 3В , не получится , нужен преобразователь уровня .

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

Сам мультиплексор и управление им работают от 3,3 вольт, это проверено на практике. Проблема именно в том, что я не понимаю как обнаружить, что ножка МК перешла в состояние "на вход".

Vaffanculo 05.07.2020 14:22

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

Код HTML:

|ESP32 GPIO        | Мультиплексор SELECT | Мультиплексор ENABLE |
|------------------+----------------------+----------------------|
|на выход, высокий | высокий              | низкий              |
|на выход, низкий  | низкий              | низкий              |
|на вход          | не важно            | высокий              |
|------------------+----------------------+----------------------|


George Smith 05.07.2020 14:48

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

gluxon 05.07.2020 14:51

Коробочка с надписью загадка, это и есть гипотетическое устройство определения состояния пина проца? Если так, то могу предложить следующее: поскольку на выходе проца могут быть только логические ноль и единица, а то что на входе, ему пофиг - просто создать делитель напряжения питания, из достаточно высокоомных резисторов, к примеру одинакового номинала, чтобы не нагружать пин в режиме выхода. А вот ваша коробочка, с надписью загадка, должна определять уровень напряжения на этом пине. То есть она должна включать в себя компаратор, который будет следить за напряжением на этом пине - если на нём установится половина напряжения питания, значит пин переключился на вход, и компаратор должен выдать высокий уровень на вход enable мультиплексора

Vaffanculo 05.07.2020 15:41

Это уже интересней! И как будет устроен такой компаратор?

gluxon 05.07.2020 15:59

Вложений: 1
Цитата:

Сообщение от Vaffanculo (Сообщение 2710555)
Это уже интересней! И как будет устроен такой компаратор?

Наподобие такого. Читайте, изучайте принцип работы. Возможно придётся на выходе поставить диодную развязку и инвертор

Vaffanculo 05.07.2020 18:49

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

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

Смущает только выходная часть. Не уверен, что можно вот так просто соединить выходы операционников.
И про диодную развязку можно поподробнее?

Vaffanculo 05.07.2020 19:14

Вложений: 1
Еще мне на другом форуме говорят, что при таком подходе на входы S0 и S1 будет подаваться промежуточное напряжение, которое ни ноль ни единица, и так делать нельзя несмотря даже на то, что документация утверждает, что если EN=HI, то от S0 и S1 ничего не зависит.
Хотелось бы выяснить чем это чревато.


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

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.