Конвертер USB-UART на CH340G: дорабатываем до RS232TTL, тестируем, сравниваем. Сom адаптер. Рабочая схема. RS232-TTL Интерфейс порта ttl как работает

Почти все микроконтроллеры имеют на борту последовательный порт — UART . Работает он по стандартному последовательному протоколу, а значит его можно без проблем подключить к компу на COM порт. Но есть тут одна проблема — дело в том, что комповый RS232 он за логические уровни принимает +/- 12 вольт, а UART работает на пятивольтовых уровнях. Как их совместить? Для этого существует несоколько вариантов схем преобразователей уровня, но самая популярная это все же на специальном преобразователе RS232-TTL . Это микросхема MAX232 и ее аналоги.
Практически каждая фирма делает свой преобразователь, так что тут сгодится и ST232 , и ADM232 , и HIN232 . Схемка простая как три копейки — вход, выход, питание и обвязка из пяти конденсаторов. Конденсаторы обычно ставятся 1uF электролиты, но в некоторых модификациях ставится 0.1uF керамика. Я везде впаивал 0.1uF керамику и обычно этого хватало. :) Работает как часы. Если же на высоких скоростях будет глючить, то надо будет повышать емкость.

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

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


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


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

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

Если работает, то дальше все просто. Тот провод который идет от ножки 9 микросхемы MAX232 это передающий вывод , его заводи на ногу RxD контроллера. А тот который с ножки 10 — принимающий , его смело сажай на вывод TxD контроллера.

Микроконтроллеры в Arduino (ATmega328, 168, 2560) используют, кроме прочих интерфейсов, аппаратно реализованный последовательный интерфейс (UART). В МК ATmega2560 (Arduino Mega) реализовано сразу четыре UART. Интерфейс использует два провода - RX (прием) и TX (передача), где цифровой сигнал кодирует значения бит "0" и "1" напряжением на проводе. Значению "0" соответствует 0В, а значению "1" - рабочее напряжение интегральной схемы (5В или 3.3В, в зависимости от модели и режима работы МК). Такой тип кодирования также называют транзистор-транзисторной логикой (ТТЛ), т.к. напряжение на проводе напрямую влияет на состояние (открытое/закрытое) транзисторов, обеспечивающих приемо-передачу цифрового сигнала.

Последовательный порт компьютера (COM-порт), который все реже можно видеть в современных моделях компактных компьютеров, работает по старому телекоммуникационному стандарту RS232, где кодирование сигнала иное: значение "0" кодируется напряжением от +3В до +25В, а "1" - отрицательным напряжением от -3В до -25В. В COM-портах персональных компьютеров обычно встречается напряжение +13В и -13В.

Большая разница напряжений делает RS232 соединение более устойчивым к помехам, однако, в современных цифровых устройствах чаще используется ТТЛ-совместимый последовательный порт, либо USB - гораздо более современный и высокоскоростной интерфейс.

На приведенном рисунке для сравнения отображены сигналы TTL serial и RS 232, снятые при передаче значения одного байта.

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

В случае с Arduino (Uno, Mega и пр.) используется USB-TTL serial контроллер, обеспечивающий работу с МК через ТТЛ-совместимый последовательный интерфейс. В старых моделях для этого использовался чип FTDI FT232, в новых - ATmega8U или ATmega16U. Выводы последовательного интерфейса МК так же доступны для прямого подключения. Для Uno это выводы D0, D1, а у модели Mega имеется сразу несколько последовательных интерфейсов. Подключать к этим выводам RS232 порт нельзя - корректно работать он не сможет из-за другого типа кодирования, а высокое напряжение может повредить МК.

Для подключения к ТТЛ-совместимому последовательному порту с компьютера удобно использовать USB-TTL serial адаптер . Однако, USB-TTL serial адаптеры общего назначения продаются только в специализированных магазинах и, нередко, по неоправданно высокой цене. При этом гораздо более популярны (и дешевы) USB-RS232 адаптеры. При ближайшем же рассмотрении, любой USB-RS232 адаптер содержит два основных компонента - микросхемы USB-TTL serial адаптера и RS232-TTL serial преобразователя.

У меня нашелся USB-RS232 адаптер, схема которого была спрятана в легко разбираемый корпус DB9 разъема (иногда корпус делают литым и добраться до схемы сложнее). Адаптер оказался построен на популярных чипах Prolific PL2303 (USB-TTL serial адаптер) и Zywyn ZT213 (RS232-TTL адаптер). Посмотрев на спецификацию PL2303 выяснил, что мне нужны выводы 1 (TX) и 5 (RX), к которым я подпаял провода, никак не меняя схему (так что RS232 часть осталась работоспособной). Землю взял с 5го контакта DB9, чтобы не трогать 7й вывод микросхемы.

В итоге получился дешевый и сердитый USB-TTL serial адаптер. На скриншоте: Serial monitor от Arduino IDE подключен по USB, а realterm - напрямую к D0,D1 через USB-TTL serial адаптер.

Слышал, что многие data-кабели для мобильных телефонов также содержат USB-TTL serial контроллеры, хотя все большее количество современных моделей подключаются к USB интерфейсу напрямую, не требуя специальных адаптеров. Многие микроконтроллеры снабжены USB интерфейсом, в частности ATmega8U и ATmega16U, которые используются в Arduino в качестве USB-TTL serial контроллеров, предоставляя доступ к ATmega328, который USB интерфейса не имеет.

Очень часто многие начинающие любители электроники встречаются с необходимостью сопряжения уровней, соединения com порта компьютера по rs232 с различными устройствами которые имеют различные TTL уровни передачи данных.
И очень часто собирая очередную схему происходят разочарования.
Ниже приведена полностью рабочая схема Com адаптера c описанием.

Использовать данное устройство можно при подключении маршрутизатора Dir300 через внутренний Com порт к различным устройствам имеющим разные уровни сигналов. Так же и при других сопряжениях устройств. Ресиверов с компьютерами, например. Сom адаптер всегда пригодится.

Для изготовления RS232-TTL понадобилась макетная плата, но в конечном итоге наводок не каких не проявлялось, все данные правильные и целостные.

Детали

Микросхема
MAX232 или её разновидность.

Резисторы
400 кОм.
5 кОм.

Конденсаторы
Выбираются под определенную маркировку микросхемы по таблице на первом рисунке.

Особенности
Не забывайте о подтягивающих резисторах. Самая распространенная ошибка. Также не стоит забывать соединять GND (заземление COM порта, микросхемы и подключаемого устройства в одну линию)

Фото изготовленных рабочих COM адаптеров


Другие статьи по разделу:

ДАТЧИК ПРЕПЯТСТВИЯ ИК БАМПЕР

Приходилось выводить данные из пакетов GGA и VTG на ЖКИ, что при максимальном размере пакета в 80 символов не очень удобно.

При отладке приходилось выводить данные из пакетов GGA и VTG на ЖКИ, что при максимальном размере пакета в 80 символов не очень удобно.

Такое безобразие происходило из-за того, что у меня был , который было неудобно использовать, в котором вечно что-то коротило и угрожало драгоценному COM порту на моем ПК. Захотелось сделать новенький-красивенький, в няшном корпусе и с красивыми проводками:) Была вытравлена платка, разводку которой можно скачать в конце заметки.

Далее на плату была установлена от ST Microelectronics (полный аналог ), но дешевле на пару гривен. Конечно, я уважаю Maxim, но совершенно не люблю переплачивать за тривиальные вещи. Конденсаторы в обвязке поставил на 1мкФ 16В танталовые, тип А.


Далее это все хозяйство запихнулось в корпус, который у меня валялся без дела с 13 лет. Провода от выдергивания защитил простым узлом. А мягкий кабель с разъемом для COM порта был позаимствован у старой мышки.


Была распечатана наклейка с обозначением проводков и наклеена на корпус, чтобы постоянно не вспоминать где плюс, а где минус:). От истирания ее защищает слой скотча. Теперь конвертер приобрел некоторое юзабилити, и им стало удобно пользоваться. Хорошего дня.

PL2303HX – это небольшой USB-Serial конвертер со встроенным приемопередатчиком RS232 (интерфейс UART). Микросхема создает на компьютере виртуальный COM — порт, через который можно прошить микроконтроллеры, а так же восстанавливать роутеры, приставки.


Технические параметры

Напряжение питания: 5В (от USB)
Интерфейс 1: USB
Интерфейс 2: TTL (от 0 до 5, Rx и Tx)
Выходное напряжении, В: 3.3 и 5 (отдельные вывода)
Размеры: 50мм x 15мм x 8мм
Поддержка операционных систем: Windows XP / 7 / 8 / 8.1 / 10.

Общие сведения о PL2303HX

Основная микросхема на модуль, это PL2303HX, которая до 2012 г. производилась компанией Prolific Technology. По сути, это конвертер интерфейса USB в UART с логическими уровнями ТТЛ, КМОП (0 В … +5 В). С одной стороны USB разъем, для подключения к компьютеру, а с другой пяти контактный разъем UART (RX, TX и выводы питания на +5В и +3.3В), для защиты от замыканий, модуль помещен в прозрачную термоусадочную трубку, принципиальная схема PL2303HX показана на рисунке ниже.

Назначение светодиодов:
P (Power) - питание (горит постоянно)
R (RxD) - принимаемые данные
T (TxD) - передаваемые данные

Из электрической схемы видно, что питание на выход +5В идёт напрямую с USB порта, без защитных элементов, а питание на вывод +3.3В идёт с внутреннего стабилизатора PL-2303, который может выдержит ток до 150 мА. Официальные драйвера Prolific для Windows 7, 8 и 10 не работает, так как. проверяет оригинальность чипа PL-2303, но возможно все исправить, посмотрев эту .

Тестирование

Для тестирования можно воспользоваться «Terminal1_9_b » , скачать данную программу можно в этой статье .

Устанавливаем, драйвер
Запускаем «Terminal1_9_b» от имени администратор.
В верхнем углу, выбираем «COM Port » (можно посмотреть в диспетчере устройств) и нажимаем «Connect »

Внизу вводим произвольное значение и нажимаем «-> Send «, кратковременно загорится светодиод TxD при каждом нажатии.
Замкните вывода TxD и RxD между собой и нажмите «-> Send» , кратковременно загорятся два светодиода, TxD и RxD при каждом нажатии, так же в программе отобразится посланная команда.
Напряжение 3.3В и 5В можно проверить обычным мультиметром

Ссылки
Документация PL2303HX
Драйвер для