Jump to content

    

Коммутатор цифровых сигналов с разными амплитудами.

Возникла необходимость сделать "универсальный порт", который сможет объединить в себе три порта. В микроконтроллере имеется порт UART 3.3V, с него необходимо получить RS232, UART 3.3V, UART 5V, при этом выход идет на 4х контактный(Т.е. VCC, GND, RX, TX) разъем. Есть ли готовые решения под такую задачу? Или в MAX3232 можно отключать бустеры, но что делать с инвертированным сигналом?

Share this post


Link to post
Share on other sites

UART это местный беззащитный интерфейс, сугубо для соединений в составе того же узла, теми же логическими уровнями и питаемого от того же БП, а для любого внешнего требуются соответствующие защиты и т.п.

Share this post


Link to post
Share on other sites

Устройство должно работать с устройствами третьих лиц. К сожалению, я не виноват, что такие именитые производители, как Филлипс выводят наружу сигнал с логическими уровнями UART 5Вольт, при этом из защит там стоит делитель на резисторах и триггер-шмитта. А некоторые и вовсе пускают 3х вольтовую логику на внешний порт. В данной ситуации моя задача не исправлять косяки других производителей, а сделать устройство максимально гибко работающее со всеми типами интерфейсов. Блок питания разумеется общий для обеих устройств. Длина кабеля не превышает 50см. Как показала 2х годичная практика, не один порт не был сожжен. Но ранее на устройстве стоял разъем microfit на 8 контактов, и переключение интерфейсов решалось правильным обжимом кабеля, естественно это плодит кучу кабелей, документации на них.... но самое важное, на новом устройстве не хватает места под разъем более чем на 4контакта, использовать иные разъемы(не microfit) не хочется, так как они себя хорошо зарекомендовали, а с учетом криворукого обслуживающего персонала - разъемы меньшего калибра повыламывают к чертям.

На моем устройстве ранее было сделано так: РС-232 порт подключался прямиком к разъему через резисторы и МАКС2323, порты ЮАРТ были выведены на соседние контакты из защиты стоял резистор за ним сапрессор(такого плана как на ЮСБ) + подтяжка, далее все было подключено к триггеру-шмитта, а после к процу.

Share this post


Link to post
Share on other sites

Трудно понять, кто здесь два лица помимо упомянутых третьих...

Может, сделать три разновидности кабелей-донглов с разъёмом на 4 контакта с одной стороны, который будет подключаться к вновь проектируемому устройству, и нужным соединителем с другой стороны. То есть не просто кабель, а с коробочкой посредине.

Share this post


Link to post
Share on other sites

Уже думал над таким вариантом, но он немного удорожит устройство, так как нужен корпус, плата, стоимость монтажа мелких партий. Если все разместить на общей плате, можно попробовать снизить стоимость. Кроме того мы не избавляемся от проблемы многих кабелей, под разные устройства.

ПС: Забудьте про стороны :)

 

Edited by Neo_Matrix

Share this post


Link to post
Share on other sites

Вообще, MAX3232 совместима со всеми тремя случаями, если ограничить её выходной ток резистором — на контакты VCC и GND соединителя установить однонаправленный ограничитель (на сдвоенном USB), с него резистор на местный VCC, а на RX и TX установить двунаправленные ограничители (на сдвоенных USB), с них резисторы на контакты RX и TX MAX3232.

Share this post


Link to post
Share on other sites
3 часа назад, Plain сказал:

Вообще, MAX3232 совместима со всеми тремя случаями, если ограничить её выходной ток резистором

А что делать с ее инверсией? Логическая единица у rs232 меньше -3V.

ПС: Процессор STM32F407 не имеет программной инверсии сигналов.

Edited by Neo_Matrix

Share this post


Link to post
Share on other sites

Поставить снаружи, на 74LVC1G86 и т.п.

Share this post


Link to post
Share on other sites
22 минуты назад, Plain сказал:

Поставить снаружи, на 74LVC1G86 и т.п. 

Опять же вопрос коммутации. Ведь не инверсный rs232 тоже нужен.

Share this post


Link to post
Share on other sites

Двух 74LVC1G86 достаточно для управления полярностями RX и TX.

Share this post


Link to post
Share on other sites
10 часов назад, Neo_Matrix сказал:

А что делать с ее инверсией? Логическая единица у rs232 меньше -3V.

 

 

Вероятно, каким-то образом отключать зарядовый насос питания оконечников. По входу-то все нормально, поскольку традиционно у всех интегральных приемников RS-232 порог в районе 1.2...1.5.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now