Стандартным интерфейсом большинства современных микроконтроллеров является UART. В переводе - универсальный асинхронный приемопередатчик.
У компьютеров прошлых лет всегда был, как минимум, один последовательный интерфейс RS232. По-другому он назывался COM, коммуникационный порт. Подключение микроконтроллеров к компьютерам (подключение UART к COM) , было простой задачей. Требовалось только преобразовать уровни сигналов COM (-10 В, + 10 В) к уровням UART (0 В, 5 В).
Со временем, архаичный COM был почти полностью вытеснен интерфейсами USB. Возникла проблема подключения микроконтроллеров с UART к компьютерам с USB портами. Для решения этой задачи многие фирмы производят специальные интерфейсные микросхемы - мосты USB-UART.
Я предпочитаю использовать в своих разработках мост USB-UART PL2303 производства Prolific Technology Inc, Тайвань. Работает надежно, не виснет, не высокая цена.
В поисковых запросах микросхему PL2303 называют:
- PL2303 USB – UART Правильное название по функциональному назначению. В переводе означает универсальный асинхронный приемопередатчик.
- PL2303 USB – TTL Подчеркивается, что выходные сигналы имеют логические уровни TTL (0…5 В).
- PL2303 USB – RS232 Не совсем корректное название. RS232 это интерфейс с логикой работы UART, но с уровнями сигналов -10 … +10 В.
- PL2303 USB – COM Коммуникационный интерфейс. Так называется RS232 на персональных компьютерах.
Микросхема PL2303 производства Prolific Technology представляет собой преобразователь интерфейса USB в UART с логическими уровнями ТТЛ, КМОП (0...+5 В). Применяется для подключения устройств с последовательными интерфейсами UART, RS232,COM к портам USB.
С использованием этой микросхемы были разработаны модули PL2303 USB UART Board.
С помощью модулей очень просто реализовать подключение устройства к USB порту. Стандартным кабелем модуль PL2303 подключается к компьютеру. А к четырех контактному штыревому разъему модуля подсоединяется UART устройство. С этого же разъема можно взять питание для своего устройства.
На компьютер устанавливается драйвер PL2303. Теперь при каждом подключении модуля к компьютеру в системе будет появляться виртуальный COM порт.
Любая программа, для управления устройством через стандартный COM порт, может работать с этим портом, не подозревая, что он виртуальный. Т.е. в системе появляется дополнительный COM порт, физически расположенный вне компьютера.
Через модули PL2303 я также подключаю свои устройства к планшетам и телефонам с операционной системой Андроид. В отличии от персональных компьютеров, в этих устройствах COM портов не бывает в принципе.
Я не думаю, что имеет смысл рассказывать о микросхеме PL2303, приводить распиновку, схемы с ней. Модуль настолько удобен, что большая часть разработчиков использует именно его, а не отдельные микросхемы. К тому же он конструктивно хорошо интегрируется в кабель связи.
Я откусываю разъем, припаиваю провода к модулю и надеваю на него толстую термоусадку. Смотрится вполне прилично.
Через красную термоусадку хорошо просвечивают светодиоды. Кстати, на модуле 3 светодиода. Они показывают:
- наличие питания,
- сигнал TxD,
- сигнал RxD.
Очень удобно, всегда видно состояние выходов.
На разъеме модуля четыре контакта.
Название сигнала | Направление | Назначение |
VCCIO | выход | Питание +3,3 или +5 В, ток до 150 мА |
GND | Общий | |
TxD ← | выход | Передача данных |
RxD → | вход | Прием данных |
На выходных контактах модуля нет сигналов DTR, RTS, DSR, DCD, CTS. В большинстве разработок можно обойтись без них. Некоторые припаивают провода для этих сигналов к выводам микросхемы на модуле. На микросхеме PL2303 эти сигналы есть.
Модуль работает в двух режимах питания с напряжениями 5 и 3,3 В. Режим выбирается перемычкой на плате.
Характеристики для обоих режимов.
Параметр | Режим питания UART | |
3, 3 В | 5 В | |
Потребляемый ток, мА | не более 10 | |
Входное напряжение лог. 0 (низкий уровень), В | не более 0,8 | не более 1,25 |
Входное напряжение лог. 1 (высокий уровень), В | не менее 2,0 | не менее 3,5 |
Выходное напряжение лог. 0 (низкий уровень), В | не более 0,4 | не более 0,6 |
Выходное напряжение лог. 1 (высокий уровень), В | не менее 2,4 | не менее 3,5 |
Нагрузочная способность выходов, мА | 4 | |
Входной ток утечки, мкА | ± 1 | |
Входная емкость, пкФ | не более 3 | |
Диапазон рабочих температур | - 40 ... + 85 С° | |
Потребляемый от модуля ток (выход VCCIO), мА | не более 150 |
Я привел самые важные, по моему мнению, технические характеристики. Более подробную информацию можно получить на официальном сайте Prolific Technology Inc.
Модуль поддерживает скорость обмена UART до 6 000 000 битов в сек, но стандартный COM имеет максимальную скорость 115 200. Как правило все программы допускают только такую предельную скорость.
У микросхемы есть сигналы подключения внешней памяти EEPROM для хранения идентификаторов устройства. Но в модуле такая возможность отсутствует.
Таким образом, подключение любого устройства с последовательным интерфейсом UART, RS232, COM к USB портам персонального компьютера сводится к изготовлению кабеля и установке драйвера на компьютер.
Один из моих кабелей выглядит так.
Таким способом могут подключаться даже устройства, разработанные в то время, когда интерфейс USB еще не существовал. При этом не меняется ни само устройство, ни программное обеспечение для него.
Где купить модуль PL2303?
У меня однозначное мнение – в этом интернет магазине. Не потому, что это моя партнерская программа. Просто таких цен я не видел нигде.
В августе 2016 года:
- Модуль PL2303 USB-UART стоит 80 руб.!
- Мост USB-UART на микросхеме CH340 по цене 90 руб.!
- Цена модулей на микросхеме CP2102 180 руб!
- Есть вариант преобразователя USB-UART PL2303 встроенного в кабель. Цена 170 руб.!
Как установить драйвер для PL2303 USB под Windows 7 и где его взять.
Весьма информативно. Заказал на Али- для К-лайн переходника под прошивку мозгов авто.
Статья убедила в том, что к этой приблуде можно подключить разъём RS-232, а так были сомнения, спасибо!
Здравствуйте, подскажите с помощью какого кабеля можно перепрошить телефон, имеющий microUSB-разъем? На компьютере USB и COM-порт.
Я так и не понял про применение!
Он только для прошивки или и для отладки во время работы тоже?
А USB UART BOARD CP2102 чем лучше?
CH340G — для «ардуино» написано в магазе алиэкспресса?
Можете ли добавить информацию вкратце о других USB UART BOARD на других чипах, продаваемых на алиэкспрессе? или их всего то только три?
———————-
стоит ли покупать на алиэкспрессе (400р) STLINK ST ST-LINK/V2 (CN) STM8 ?
я так понимаю (поправьте) что этот прошивальщик позволяет еще и «отлаживать»(debugging) при работе микроконтроллера, наблюдая изменения на компьютере(какими программами?)?
или и через PL2303 USB UART BOARD это делается всё так же?
—————-
В общем сравнение бы провести: какой для чего лучше?
у меня платка STM32F407VET6 — в ютубе её прошивают так же и через USB используя две программы: DFU fileManager — который из hex файла делает dfu файл, а затем программой DFuSe Demonstration прошивает TM32F407VET6. А как тогда «отлаживать ошибки» потом при работе?
Здравствуйте!
Модуль USB-UART позволяет обмениваться данными с компьютером через USB. Это может быть прошивка через бутлоадер, отладка. Бывают задачи, в которых контроллеры работают совместно с компьютерами. Все эти операции происходят через UART микроконтроллера.
STLINK позволяет прошивать и отлаживать STM32 через специальные сигналы.
Купить программатор, я думаю, стоит. Я собираюсь использовать его в уроках.
А если есть старый COM порт физически, можно через него прошивать микроконтроллеры?
Здравствуйте!
Да, конечно. И драйвера никакого не надо.
Скажите, разве в физическом СОМ материнской платы информационные выводы не +12 и -12 вольт? Контроллер не сгорит?
У меня нашелся USB_UART CP2102 (MasterKIT BA8050) на котором кроме CP2102 есть ещё микросхема MB3243i (видимо аналог MAX3243) , можно ли её подключать к выводам контроллеров STM32 ?
Здравствуйте!
Да, выходы физического COM-порта имеют уровни до +-15 В. Подключать непосредственно к выводам STM32 нельзя. В этом случае надо использовать преобразователи уровней RS232, например, MAX202, ADM202, SP202. Существует много типов таких преобразователей.
Здравствуйте! А почему для RS-232 выбран именно 15-контактный разъём, который в описаниях на матплаты описывают как МIDI? Вроде, теперь самый ходовой — это 9-контактный разъём?
Здравствуйте!
Вроде, я про разъемы RS-232 в статье не рассказываю.
А если речь идет о разъеме кабеля на последней фотографии, то это кабель для подключения к контроллеру. На разъем, кроме сигналов RX и TX, разведены сигналы питания, программирования микроконтроллера и т.п. 9ти контактов недостаточно. Поэтому используется разъем DB15.
Спасибо!
Здравствуйте Эдуард.
Модуль PL2303 USB-UART, это китайский аналог Мост USB-UART на микросхеме CH340?
Здравствуйте!
По функции аналог, но PL2303 и CH340 совершенно разные микросхемы. Для них нужны разные драйверы.