Max232 rs232 to ttl converter схема

Обновлено: 04.07.2024

При разработке различного рода электронных устройств с использованием микроконтроллеров очень часто оказывается полезной возможность подключения их к персональному компьютеру через последовательный порт. Однако напрямую это сделать невозможно, поскольку по стандарту RS-232, сигнал передается уровнями -3..-15 В (логическая <1>) и +3..+15В (логический <0>). Для преобразования уровней RS-232 в стандартные логические уровни TTL обычно используют специальные микросхемы преобразователей. Однако далеко не всегда имеет смысл закладывать преобразователь уровней в схему проектируемого устройства, поскольку часто бывает так, что связь с компьютером нужна только на этапе изготовления и отладки устройства, а для конечного изделия в ней нет никакой необходимости. Логичным выходом в данной ситуации может послужить изготовление отдельного конвертера уровней RS-232 в TTL, схема одного из возможных вариантов которого приведена ниже:

Основу предлагаемого конвертера составляет широко распространенная микросхема преобразователя уровней MAX232A фирмы Maxim (U1), которая имеет также множество аналогов других производителей (Analog Devices, LG и др.). Данная микросхема рассчитана на напряжение питания 5В и имеет встроенные удвоитель и инвертор напряжения на переключаемых конденсаторах для получения напряжений +10 В, необходимых для работы с сигналами стандарта RS-232. Для работы микросхемы требуется 4 внешних конденсатора (C1, C2, C3, C4) емкостью 0.1 мкФ, которые используются в преобразователе напряжения. Кроме того, с целью упрощения использования данного конвертера в нем предусмотрена схема питания прямо от последовательного порта, что избавляет от необходимости использования внешних источников питания. Напряжение питания 5 В создается маломощным линейным стабилизатором напряжения LM78L05 (U2), вход которого подключен к накопительному конденсатору C6. Конденсатор C6 заряжается через диод от сигнала Data Terminal Ready (DTR, четвертый контакт 9-pin разъема RS-232). Диод D1 может быть любого типа (автор использовал диод в корпусе для поверхностного монтажа, выпаянный со сгоревшей материнской платы). Для нормальной работы такого преобразователя питания требуется, чтобы большую часть времени сигнал DTR имел значение логического нуля. Это должно обеспечиваться используемой терминальной программой или программой пользователя.

Использование описанного выше конвертера оказывается удобным в тех случаях, когда в процессе эксплуатации устройства не требуется наличие возможности связи с компьютером, но она нужна на этапе отладки или изготовления устройства. Типичным примером этого может служить, например, устройство с flash или EEPROM памятью, требующей начальной инициализации. Кроме того, часто бывает очень удобно в процессе разработки выводить в последовательный порт различного рода отладочную информацию, что иногда позволяет обойтись без аппаратных эмуляторов.


Получается, что максимальные уровни сигналов RS-232 слишком высоки для электронной логики современных компьютеров, не говоря уж об отрицательных уровнях напряжения интерфейса RS-232. Поэтому, чтобы получать последовательные данные с интерфейса RS-232, напряжение должно быть понижено и инвертировано для лог. 0 и лог. 1. В обратном же направлении (отправка данных из какого-либо внешнего устройства в сторону RS-232) напряжение низкого логического уровня необходимо повышать, а так же формировать отрицательное напряжение для высокого логического уровня RS-232:

Конечно же, все эти преобразования можно организовать и при помощи обычных аналоговых компонентов, например, раздельного питания и пары транзисторов или использовать микросхемы IN1488 (передатчик) и IN1489 (приемник).

Однако, поскольку более десяти лет RS-232 является популярным стандартом в любительской радиоэлектронике, то для согласования сигнала RS-232 с логикой внешних устройств зачастую используют интегральную микросхему из семейства MAX232 (обычно MAX232A или его аналог). И на самом деле, в любительской электронике трудно найти схему, работающую со стандартом RS-232, не имеющую в своем составе микросхему MAX232.

Микросхема MAX232 первая созданная интегральная схема для RS-232, которая в одном корпусе содержит все необходимое для согласования уровней RS-232 с дискретной логикой TTL – два передатчика и два приемника. Свою популярность микросхема MAX232 заслужила из-за использования однополярного питания в 5 вольт, а уровни напряжения RS-232 (ок. -10 и + 10В) генерируются самой микросхемой.

Это значительно упрощает конструкцию схемы управления. При создании устройств теперь нет необходимости использовать питание с тремя напряжениями (например, -12, + 5V, и + 12V), а нужно просто обеспечить простой однополярный пяти-вольтовый источник питания, например, с помощью простого регулятора напряжения 78L05.


Схема обвязки.


Схема включения MAX232.


Схема включения MAX3232.

Из даташитов, схема обвязки имеет различия по подключению конденсатора С3, со второй ножки микросхемы. На самом деле это не опечатка, С3 у MAX3232 можно подключать как к питанию так и к земле. Чисто теоретически MAX3232 можно ставить вместо MAX232, но возможно придется поиграть конденсаторами в обвязке. Кроме того MAX3232 может работать в диапазоне напряжений питания 3,3-5В, MAX232 только от 5В.

Расположение каналов TTL-RS232.

Именно расположение каналов преобразования чаще всего становится причиной скачивания даташита на max232. Если часто приходится проверять работоспособность до достаточно держать в памяти несколько шпаргалок-напоминалок и тогда не придется заглядывать в дташит.

1. +5В приходит как у классических микросхем 74 серии, на самую последнюю ножку (16 pin), а вот земля находится не по диагонали, а рядом с питанием (15 pin). То есть две последнии ножки MAX232 это питание.

2. Преобразователи интерфейсов выполнены для удобства разводки печатной платы - в двух вариантах. Вариант 1 - это каналы выполнены геометрически насквозь микросхемы, то есть сигнал вошел в 8 ножку, а вышел напротив 8 ножки – с 9 ножки, другой канал в 10 вошел и вышел напротив 10 ножки – с 7 ножки. Причем ТТЛ входы/выходы находятся с одной стороны микросхемы, RS входы/выходы с другой.


МAX232 - сквозной вариант каналов.

Вариант 2 - это каналы выполнены с одной стороны микросхемы, логика прохождения сигнала ближний в ближний, дальний в дальний. То есть сигнал вошел в 11 ножку, а вышел с самой дальней ножки – с 14 ножки, другой канал в 13 вошел и вышел к самой ближайшей ножки – с 12 ножки. Причем ТТЛ входы/выходы и RS входы/выходы находятся попарно.


МAX232 – односторонний вариант каналов.

Подтяжка входов.


MAX232 имеет на каждом входе резисторы подтяжки.

Из даташита, MAX232 со стороны входов RS232 имеет резисторы подтяжки 5К на землю, а со стороны TTL входов подтяжку 400кОм на +5В.


MAX3232 имеет резисторы подтяжки только на RS232 входах.

Из даташита, MAX3232 со стороны входов RS232 имеет резисторы подтяжки 5К на землю, со стороны TTL входов подтяжка не обозначена.
Тут стоит отметить на практике не приходилось встречать резисторов подтяжки во внешних цепях у обоих типов микросхем. Поэтому смысла во внешних резисторах подтяжки не видим.

Уровни входов/выходов.

Таблица. MAX232 уровни TTL вход/выход

OUT

INPUT

логический "0"

логическая "1"

Таблица. MAX3232 уровни TTL вход/выход

OUT

INPUT

логический "0"

логическая "1"

Из таблиц становится понятным, если по TTL входам совместимость полная, то вот по TTL выходам наблюдается некоторая несовместимость, это касается логической единицы. Использование MAX232 вместо MAX3232 предполагает наличие балластного резистора 60-100 Ом на TTL выходе, в противном случае последствия непредсказуемы. По документации, обратная замена (MAX232 на MAX3232) недопустима из-за уровня логической единицы TTL выхода, однако практика показывает обратное, замена допустима – правда TTL выхода мы из подстраховки подтягивали к +5В.

Справочные данные.
Хоть и не по теме материала, но без этого раздела материал был бы неполным

Таблица. Назначение выводов 9 контактного (9pin) разъема DB9M COM порта со стороны компьютера по стандарту RS232C. Направление сигналов указано относительно хоста (компьютера).

Практика ремонта.

Так как статистика по ремонтам именно с участием MAX232/ MAX3232 отсутствует, то утверждать какая микросхема надежнее (стабильнее) мы однозначно ответить не можем, само собой речь идет только о 5В питании. Но были прецеденты когда после замены MAX3232, были возвраты с повторной поломкой MAX3232, а вот после радикальной замены всего интерфейса на MAX232 возвратов не было. С другой стороны некоторые экземпляры MAX232 при тестировании показывали полную работоспособность на одном компьютере, но при этом отказывалась работать на другом компьютере, причем случаи такого поведения MAX232 были не единичные.

Описанный ниже преобразователь уровней RS-232 <-> TTL реализован в виде автономного модуля (с возможностью автономного же питания). Это дает возможность не лепить по отдельному преобразователю в каждое самодельное устройство, которое вы хотели бы подключать к компьютеру через USART, а использовать один единственный преобразователь для всех устройств. Для этого, в устройстве, нужно просто вывести на отдельный разъем: питание +5В, землю и две ноги контроллера (RX, TX), на которых у вас реализован USART. Теперь, подключая к этому разъему наш модуль, получаем желаемую связь с компом. Экономим и время и деньги.

Схема преобразователя интерфейсов TTL-RS232 на MAX232

Конденсаторы обвязки по даташиту:

В связи с тем, что обычно конденсаторы есть какие угодно, только не те, которые нужно, было решено протестировать работу микросхемы MAX232 с различными конденсаторами обвязки, а заодно попытаться немного проанализировать её внутреннее устройство. В качестве подопытной использовалась микросхема MAX232CSE.

Во-вторых, конденсаторы C3 и С4 также всего лишь сглаживающие фильтры, соответственно их номиналы тоже можно взять не совсем как в даташите, по крайней мере при емкостях от 0,1 до 1 мкФ схема отлично работает. Хотите сюда керамику повесить? Ради бога, разницы никакой.

Кондеры С1 и С2 используются для удвоения и инвертирования напряжения и не имеют никакого отношения к времязадающим цепям, при их замене частота не меняется (165 кГц). Их также можно взять любые от 0,1 до 1 мкФ, как электролиты, так и керамику.

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

Если вы используете только по одной линии в каждом направлении, то свободный TTL вход лучше подключить к земле или к питанию, а свободные вход и выход RS232 закоротить между собой.

Кстати, существует еще и MAX3232 это то же самое, но на выходе у него не 5вольт TTL, а 3.3 вольта TTL. Её используют для низковольтных контроллеров.

Я себе сделал один такой универсальный шнурочек, чтобы к контроллерам цепляться было удобно по UART . Для общей компактности всю схему запихал прям в разъем, благо у меня были ST232 в soic корпусе. Получилась платка не больше рублевой монеты. Так как под рукой не было мелких SMD конденсаторов, то пришлось напаять кондеры сверху, кто во что горазд. Главное работает, хоть и не очень красиво вышло.

Плата снизу

Если сомневаешься, что у тебя получится столь мелкий монтаж, то я тебе развел плату на стандартный PDIP корпус. Размером она будет со спичечный коробок, зато мельчить не надо.

Плата сверху

После сборки проверяется просто:
Втыкается в разъем COM порта. Подается 5 вольт питания на схему, а затем замыкаешь Rx на Tx (у меня это зеленый и желтый провода).

В собранном виде

Плата сделана была методом ЛУТ, в одном месте по моему недосмотру толщина просвета оказалась 0.05мм, протравилась, но со спайками, пришлось процарапывать. А в целом с первого раза ать и никаких проблем. Аж сразу захотелось сделать что нибудь маленькое маленькое, нафаршированное нафаршированное :)

Печатная плата. Тонер не смыт.

Все, аппаратная часть для связи микроконтроллера с компом готова. Ждите следующего поста в котором я расскажу как конфигурировать и использовать UART в микроконтроллерах AVR . В будущем я буду через UART осуществлять отладочную связь с компом. Может быть даже ради этого соберу отдельный модуль с LCD экранчиком. Для отладки в железе. Посмотрим как попрет.

Спасибо. Вы потрясающие! Всего за месяц мы собрали нужную сумму в 500000 на хоккейную коробку для детского дома Аистенок. Из которых 125000+ было от вас, читателей EasyElectronics. Были даже переводы на 25000+ и просто поток платежей на 251 рубль. Это невероятно круто. Сейчас идет заключение договора и подготовка к строительству!

А я встрял на три года, как минимум, ежемесячной пахоты над статьями :)))))))))))) Спасибо вам за такой мощный пинок.

165 thoughts on “Связь микроконтроллера с компьютером через RS232”

Парадокс однако, последовательные порты в писюках пропадают. А потребители последовательных портов множатся =)

Будет! Когда найду где купить эту гребанную FT232 а заказывать за 3 цены из Москвы совершенно не хочется.

Да COM у меня гдет в глубине, а USB на морде. ПЛюс на ноуте нет СОМ порта, а хочется :)

А чо за камеры за 10 баксов да еще с RS232? Чтот не верится.

Классно, у нас таких цен нет :( Все везут сначала в Москву, а потом только к нам. Выходит раз в 5-10 дороже.

Не смогли бы вы скинуть фотку платы видеопередатчика описываемого выше?

Много надо?
Могу прислать сколько-нибудь.

В приставки спутниковой антенны, она там стоит для прошивки приставки.

Сейчас проще уже сразу Obdev AVR-USB использовать, а в пару ему загрузчик BootloadHID. Лишь бы кварц не меньше 12 МГц был.

А как с этим Obdev AVR общатсья с компом? Он виртуальный COM порт открывает?

Сколько памяти в кристалле сжирает код USB?

Драйвер памяти кушает

1.5 Кб, зависит от конфигурации. На tiny2313 точно влезало, даже ещё место под свой код оставалось.

HIDBoot кушает 2 Кбайта.

Вопрос: какую набольшую длину кабеля можно сделать от платы с MAX232 до выводов контроллера ? и какая наибольшая длина может быть у кабеля от MAX232 до COM порта, если делать девайс на стороне контроллера ?

У меня от МАХ232 до контроллера 1.5 метра, от MAX232 до порта тоже было 1.5 метра, работало без сбоев. ПОдозреваю, что можно и много больше, по крайней мере раза в два три точно. Но тут уже от скорости передачи зависит.

Это чистый 12В рс232. Поэтому от МАкс до контроллера сильно лучше не удалять.

Я писал про случай Макс-COM.

На быстром обмене можно не заморачиваться на создание буффера и слать посимвольно. На медленной скорости будет тупить вся прога на передаче =)

Гдето давно схемка была датакабеля для симена с25,на мах232 дак там и питание от ком порта было и вся схема с микрой в дипе в пластмассовый корпус разъёма влезала

Действительно, лучше уж сразу про USB статью делать. Простейший пример я в ЖЖ постил.

Да он еще столько же проживет. Может и не на пользовательских компах, но вот в промышленных решениях точно!

FT232 спасет отца русской демократии :)

Всё зависит от случая. Иногда устройство по USB только синхронизируется с компом, не выполняя в этот момент своих основных функций. В таком случае оно гораздо удобнее.

Открываю ГиперТерминал, выбираю подключиться через com 1, пишу текст. Что я должен увидеть?

Свой же набранный текст к тебе должен вернутся (при отключеном эхе). Если схема собрана верно и работает.

Еще вопросик. В печатной плате. номерация площадок для приклеивания разьема RS232 с лево на право 1,2. 5. Когда начал прикладывать разем к спаеной плате получилось, что цифры не на разьеме и на плате не совпадаю. 1(RS232) напротив 5 (плата), 2(RS232) напротив 4 (плата) и т.д. это так и задумывалось? или на печатной плате в электронном виде перепутан порядок цифр?

Нет, все нормально. Это я маму с папой перепутл. Когда взяд маму все цифры совпали :). Тока еще вопрос есть. если нумерация ног начинается от метки с возростанием номера ноги против часовой стрелко, то как Тх и Rx попали на 7 и 8 ногу Мах232. Должны наверно быть 15 и 16 (в тексте статьи)

да кстати. про ноги тоже заметил, только не 15,16 а 9,10.

Хотел купить микруху MAX232, а её в прайсе нет, но есть другие, какую брать? Самую дешёвую? ;-) И чем они отличаются?

MAX232AEJE 127.65руб.
MAX232AEPE+ 71.63руб.
MAX232AESE 63.86руб.
MAX232AESE+ 58.64руб.
MAX232AEWE 56.11руб.
MAX232AMJE 223.67руб.
MAX232CPE 22.12руб.
MAX232DR PBF 9.83руб.
MAX232ECDW PBF 21.07руб.
MAX232EEPE 56.53руб.

ST232ABDR PBF 22.42руб.
ST232ACDR PBF 11.59руб.
ST232BDR PBF 12.64руб.
ST232BN PBF 16.22руб.
ST232CDR PBF 11.24руб.
ST232CN PBF 11.59руб.

Разница только в производителе и в типе корпуса. Еще в температурном диапазоне.

Читайте также: