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
Драйвер для
Микроконтроллеры в 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 интерфейса не имеет.
Наверное, кто-то уже прочитал на нашем форуме сообщения exmortis об изготовлении кабеля USB-TTL из подручных средств.
Мы решили оформить это, как отдельную статью-руководство. Спасибо exmortis за предоставленный материал.
Аннотация: Данная статья является дополнением к по последовательному интерфейсу, которую рекомендуется предварительно прочесть.
Как известно из вышеупомянутой статьи, приставку Ritmix RZX-50 можно подключить к компьютеру через uart ttl, но так как сигналы по вольтажу не совпадают со стандартом rs-232, то нужен переходник. В качестве готового решения можно воспользоватья специальным конвертером, например, или даже таким .
Сложность в том, что подобные решения могут быть далеко не всегда доступны, а при их наличии заявленная цена может быть достаточно высокой.
Однако, можно приспособить обычный кабель-переходник usb-rs232 (com), который продаётся в любом компьютерном магазине. Например, такой:
Кабель Gembird usb-rs232 uas111. Он удобен тем, контроллер спрятан в аккуратную коробочку. Правда, она запаяна, поэтому для вскрытия придётся либо её распиливать, либо срезать пластик паяльником.
В принципе, подойдёт любой другой подобный кабель, однако, нужно обращать внимание на удобство доступа к плате с контроллером. На некоторых кабелях она спрятана в разъёме rs-232, вскрывать который затруднительно, а на других может оказаться микросхема-капля, подпаятся к которой непросто. В конце-концов такой кабель может быть основан на каком-нибудь экзотическом чипе.
Микросхема pl2303. Интересны прежде всего ноги 1 (TXD) и 5 (RXD), нумерация ног идёт против часовой стрелки от угла, отмеченного на самом чипе точкой.
Обратная сторона с чипом max213. Cигнал от 1-ой ноги pl2303 приходит на 6-ю ногу max’а, а сигнал от 5-ой — на 19-ю ногу «максимки».
В принципе, эта микросхема для uart-ttl не нужна, она даже может помешать. Поэтому её нужно аккуратно выпаять, и тем легче будет подпаиваться к контактным площадкам.
Микросхема max213 выпаяна. Красный провод припаян к сигналу TXD, жёлтый — к RXD, чёрный провод — земля. Впоследствии можно подключать по схеме Antony, присодиняя провода «перкрёстно», т.е. RXD контроллера к TXD приставки, а TXD к RXD соответственно.
Выводы последовательного интерфейса у Ritmix RZX-50.
Вторая немаловажная часть — непосредственное подсоединение к компьютеру и настройка соединения.
Ниже будет рассмотрена специфическая ситуация, когда на компьютере (ноутбуке) установлена W7 x64, а в виртуальной машине VirtualBox — Xubuntu 11.10 x32. Всё нижеописанное также справедливо для любых дистрибутивов linux.
Перепаянный как указано выше кабель подсоединяется к компьютеру (при этом rzx-50 НЕ подключена). Естественно, что драйвер системой не установится, но это и не требуется. Загружаем xubuntu в виртуальной машине, пробрасываем вовнутрь подсоединённое устройство (должно обозначаться как Prolific Technology Inc. USB-Serial Controller). После чего загружаем консоль и вводим dmesg. Одной из последних строчек должно оказаться определение подключённого устройства (pl2303) и его отражение на файловую систему — в данном случае это /dev/ttyUSB0. Запоминаем это имя.
Теперь надо установить minicom. Команда стандартная: «sudo apt-get install minicom». Запускаем настройку: «sudo minicom -s» и попадаем в меню конфигурации. В Serial port setup устанавливаем /dev/ttyUSB0 в качестве Serial Device, скорость потока устанавливается 56700 8N1, hardware и Software Flow Control выключается (No). Далее в Modem and dialing нужно стереть строки Init String и Reset String.
Выходим из настройки и запускаем minicom в обычном режиме (sudo minicom). Теперь можно протестировать кабель, замкнув провода от сигналов TXD и RXD. Если при нажатии любых клавиш в minicom на экране появляются соответствующие символы, значит кабель работает.
Теперь можно подсоединять приставку к проводам способом, указанным выше, и включить её, наслаждаясь выводом в окно эмулятора терминала. Когда выпадёт приглашение ввести пароль, следует ввести «root». Если при вводе и выводе символов периодически появляются мусорные или посторонние, значит что-то не так с землёй (скорей всего оборвана). В идеаля земля также никак не должна замыкаться с сигналами TXD и RXD.
От редакции: Я лично сразу вспомнил конец 90ых, когда началась эпоха Palm. В то время я был счастливым обладателем Handspring Visor Deluxe, мощнейшим, по тем временам КПК (слово «планшет» еще не придумали). Так вот, в силу дефицита USB портов (да! да!) приходилось самому изготавливать кабель RS232-TTL. Более того, поскольку сигналы у Visor были трехвольтовые, а микросхема Maxim, обеспечивающая нужный уровень сигнала была дефицитной — приходилось на ножку «выхода» вешать делитель напряжения с 5 до 3.3в, чтобы не спалить устройство.
Сейчас все гораздо проще, и можно сосредоточиться на более содержательной деятельности, например внести посильный вклад в создание альтернативной прошивки для RZX-50 🙂
Приходилось выводить данные из пакетов GGA и VTG на ЖКИ, что при максимальном размере пакета в 80 символов не очень удобно.
При отладке приходилось выводить данные из пакетов GGA и VTG на ЖКИ, что при максимальном размере пакета в 80 символов не очень удобно.
Такое безобразие происходило из-за того, что у меня был , который было неудобно использовать, в котором вечно что-то коротило и угрожало драгоценному COM порту на моем ПК. Захотелось сделать новенький-красивенький, в няшном корпусе и с красивыми проводками:) Была вытравлена платка, разводку которой можно скачать в конце заметки.
Далее на плату была установлена от ST Microelectronics (полный аналог ), но дешевле на пару гривен. Конечно, я уважаю Maxim, но совершенно не люблю переплачивать за тривиальные вещи. Конденсаторы в обвязке поставил на 1мкФ 16В танталовые, тип А.
Далее это все хозяйство запихнулось в корпус, который у меня валялся без дела с 13 лет. Провода от выдергивания защитил простым узлом. А мягкий кабель с разъемом для COM порта был позаимствован у старой мышки.
Была распечатана наклейка с обозначением проводков и наклеена на корпус, чтобы постоянно не вспоминать где плюс, а где минус:). От истирания ее защищает слой скотча. Теперь конвертер приобрел некоторое юзабилити, и им стало удобно пользоваться. Хорошего дня.
Очень часто многие начинающие любители электроники встречаются с необходимостью сопряжения уровней, соединения com порта компьютера по rs232 с различными устройствами которые имеют различные TTL уровни передачи данных.
И очень часто собирая очередную схему происходят разочарования.
Ниже приведена полностью рабочая схема Com адаптера c описанием.
Использовать данное устройство можно при подключении маршрутизатора Dir300 через внутренний Com порт к различным устройствам имеющим разные уровни сигналов. Так же и при других сопряжениях устройств. Ресиверов с компьютерами, например. Сom адаптер всегда пригодится.
Для изготовления RS232-TTL понадобилась макетная плата, но в конечном итоге наводок не каких не проявлялось, все данные правильные и целостные.
Детали
Микросхема
MAX232 или её разновидность.
Резисторы
400 кОм.
5 кОм.
Конденсаторы
Выбираются под определенную маркировку микросхемы по таблице на первом рисунке.
Особенности
Не забывайте о подтягивающих резисторах. Самая распространенная ошибка. Также не стоит забывать соединять GND (заземление COM порта, микросхемы и подключаемого устройства в одну линию)
Фото изготовленных рабочих COM адаптеров
Другие статьи по разделу: