Конвертер usb-uart: перепрошивка адаптером. Конвертер usb-uart: перепрошивка адаптером Как собирать прибор

Наверное, кто-то уже прочитал на нашем форуме сообщения 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 🙂

LPT и COM порты уже большая редкость на современных стационарных компьютерах, а про ноутбуки то и говорить нечего. USB медленно, но верно вытеснила их, усложнив жизнь разработчикам и упростив пользователям. Эх, как приятно было когда-то подключить микроконтроллер к COM порту компьютера, используя всего лишь max232 и не заботясь о драйверах. Еще чуть-чуть и это будет возможно только на промышленных компах.

Следуя общей тенденции, производители микросхем стали выпускать доступные микросхемы для работы с USB. Такие как USB-UART преобразователи или микроконтроллеры с поддержкой этой шины. К сожалению последние, несмотря на наличие библиотек, все еще сложны в освоении, поэтому неискушенному инженеру проще использовать первый вариант. И в этой статье мы рассмотрим две подобные микросхемы - FT232 и CP2103 и схемы преобразователей на их основе.

USB-UART преобразователь на FT232RL

Микросхема FT232RL фирмы FTDI пользуется заслуженной популярностью в инженерных кругах. Она предоставляет пользователю возможность создания полноценного COM порта, имеет функцию управления отдельными выводами, драйвера, простую схему включения с минимальным количеством дополнительных элементов и приемлемый для пайки корпус. Также дополнительным плюсом этой микросхемы, является возможность программирования ее EEPROM памяти, в которой можно изменить некоторые параметры USB устройств. Из недостатков можно отметить ее высокую цену ~120-150 рублей, которая вполне сравнима с ценой на микроконтроллер atmega.
Я сделал на FT232RL свой вариант USB-UART преобразователя. Все пользовательские выводы развел на PLS`ку по краям платы. Расстояние между PLS выбрал таким, чтобы можно было втыкать переходник в макетную плату. Выводы RXD и TXD, предназначенные для подключения UART`a микроконтроллера, развел на отдельную PLS для удобства подключения. Также на плату помесил 2 светодиода, для индикации процесса передачи/приема информации микросхемой FT232RL, и перемычки для выбора напряжения питания выводов. Оно может быть пяти или трех вольтовым. USB разъем взял в мини исполнении, USB-B слишком громоздкий. Плату развел в одном слое, с тремя перемычками.

Схема USB-UART переходника на FT232RL


Внешний вид полученного девайса

Если ты соберешь этот USB-UART переходник, то не спеши сразу втыкать его в USB порт. Перед работой нужно убедиться в отсутствии замыканий между плюсом питания, землей и выводами D+, D-. Возьми тестер и прозвони их. Если замыканий нет, визуально проверь другие вывода и только после этого можешь подключать переходник.

При первом включении операционка попросит установить драйвера. Их можно скачать с официального сайта производителя - драйвер для FT232 . Установка драйверов не представляет никакой сложности, поэтому говорить об этом не будем.
Когда драйвер установится, в системе появится дополнительный COM порт. Это так называемый виртуальный COM порт, но его можно использовать точно так же как и обычный. Чтобы увидеть его порядковый номер, нужно залезть в диспетчер устройств, если у тебя винда. Заходишь в панель управления, выбираешь система > диспетчер устройств. В разделе "Порты (COM и LPT)" должен находиться наш переходник - "USB Serial Port (COM10)". У тебя может быть какой-нибудь другой номер порта.
Чтобы убедиться в работоспособности переходника нужно открыть любую терминальную программу, выбрать соответствующий COM порт, замкнуть джампером выводы RXD и TXD и отправить через терминал любую последовательность символов. Если переходник функционирует, терминал примет ответ в виде эха, а на плате кратковременно вспыхнут светодиоды.
Для подключения переходника к микроконтроллеру, нужно вывод RXD микроконтроллера соединить с выводом TXD переходника, а вывод TXD микроконтроллера с выводом RXD переходника. Также нужно соединить их земли.

USB UART переходник на CP2103

Микросхема CP2103 фирмы Silicon Labs - это по сути аналог FT232. Имеет простую схему включения с минимальным количеством внешних компонентов, позволяет организовать полноценный COM порт со всеми его сигналами, имеет дополнительные пользовательские выводы и программу для их конфигурации, драйвера, маленькие габариты и более демократичную цену. Из недостатков стоит отметить мелкий и неудобный для запайки в домашних условиях корпус. Пожалуй, это главная причина непопулярности этой микросхемы в среде самодельщиков.
Ради интереса я сделал USB UART преобразователь и на ее базе. Все пользовательские выводы развел на PLS`ки по краям платы. RXD и TXD вывел на отдельный разъем. Джампер для выбора напряжения питания выводов здесь не понадобился, так как это напряжение не может быть большее 3.6 В. USB разъем выбрал в мини исполнении, плату развел в одном слое с четырьмя перемычками на обратной стороне. Светодиоды для индикации передачи/приема данных не сделал, потому что микросхема CP2103 не имеет выделенных для этих целей выводов. Можно задействовать любые пользовательские выводы, но их нужно конфигурировать с помощью специального софта. Когда я это узнал, переходник уже был готов и переделывать его было лень, особенно после мучений с запайкой. Единственное, что я добавил из индикации - это светодиод по питанию.


Схема USB-UART преобразователя на CP2103


Внешний вид полученного девайса

Я немного помучился с изготовлением этого переходника. Во первых между ножками CP2103 очень маленький зазор, нужно аккуратно делать плату. Во вторых ее сложно припаять. Если бы у меня не было фена, я бы за это вообще не взялся.
Запаивал я ее следующим образом. Залудил плату сплавом Розе. Он плавится при 100 градусах, что позволяет избегать перегрева платы и микросхемы. Обильно смочил посадочное место микросхемы флюсом и положил ее туда. Используя увеличительное стекло и пинцет, кое-как сориентировал ее по посадочному месту. Далее стал нагревать микросхему феном с температурой ~150-200 градусов. Когда припой расплавился, микросхема стала шевелиться и за счет сил поверхностного натяжения заняла точное положение на посадочном месте. Получилось очень ровно, но переходник не заработал. Я повторно нагрел микросхему и слегка придавил и пошевелил пинцетом. После этого микросхема сконтактировала с дорожками платы.
После сборки переходника нужно убедиться в отсутствии замыканий между плюсом питания, землей и выводами D+, D-, а затем между остальными выводами. Поскольку микросхема очень маленькая, между выводами легко может сесть сопля. После проверки выводов, USB UART переходник можно подключать к компьютеру.
Как и с предыдущем переходником, при первом включении система предложит установить драйвера. Скачивай их с официального сайта производителя - драйвер для CP2103 .
Установленный переходник определяется в диспетчере устройств в разделе "Порты" как "Silicon Labs CP210X USB to UART Bridge (COM6)". У тебя может быть другой номер порта.
Работоспособность проверяется аналогично, повторяться не буду.

Альтернативные варианты USB-UART адаптеров

Альтернативные варианты адаптеров можно сделать на микросхемах FT230XS и CP2102. Это урезанные и соответственно более дешевые аналоги FT232 и CP2103. Обе микросхемы имеет меньшее число пользовательских выводов и не совпадают по распиновке.

Файлы

Ссылки

Софт для настройки FT232RL - FT Prog
Софт для настройки CP2103 - Customization Utility Много весит!

Для управления и настройкой некоторых конструкций на микроконтроллерах PIC и ATMEGA необходимо удобное их подключение к компьютеру или ноутбуку. В серии микроконтроллеров PIC16 (на которых я обычно и делаю свои самоделки) нет аппаратной реализации USB, но есть обычный последовательный порт UART, который является урезанной версией COM-порта старых компьютеров. Работа с ним не вызывает особых трудностей, а также необходимо не много ресурсов самого микроконтроллера, т.к. в отличии от USB в нем более простой протокол, который тем не менее позволяет так же передавать данные. В некоторых компьютерах все еще есть COM-порт, правда иногда он не выведен наружу - в таком случае для подключения необходимо только подключение преобразователя уровней (например, MAX232) , но на более новых материнских платах, а также ноутбуках его нет вовсе.


В таких случаях можно использовать UART-USB переходник на распространенной микросхеме CH340. На сайте Aliexpress ее обычно продают уже в виде готового модуля на плате, но иногда для постоянного использования удобнее заказывать ее отдельно.


В таком случае микросхему можно припаять прямо на свою плату, а там уже установить гнездо micro-USB для удобного подключения кабеля и более законченного вида конструкции.

Подключение микросхемы достаточно простое даже для начинающего радиолюбителя.




Для питания необходимо 3.3V (VCC), кварц на 12 МГц (Выводы XI и XO), остальные выводы используются для работы с COM-портом (для работы достаточно RX и TX, остальные для передачи сигналов готовности устройства и на практике используются редко).

Большинство устройств блога сайт работает с UART . И это закономерно — UART очень простой и не требовательный протокол. С ним легко работать как со стороны микроконтроллера, так и со стороны PC. Но есть один минус в использовании UART. Подавляющее большинство микроконтроллеров имеют UART у себя «на борту», а вот с PC ситуация немного хуже. Интерфейс UART является родным для COM порта (в варианте RS232), но в силу растущих требований к периферии компьютера, COM порт начинает себя изживать. Это происходит по причине малой скорости, невозможности расширения и т.д. В ноутбуках он уже давно пропал, как класс портов. Идет очередь стационарных компьютеров…
Но не все так плохо. Есть выход из положения! Многие производители разработали и выпускают микросхемы-преобразователи (мосты) USB – UART. Принцип их работы такой. На PC ставиться специальный драйвер, который создает виртуальный COM порт в системе. Для программ PC этот порт ни чем не отличается от обычного COM порта – подмены они «не замечают». Любые сообщения в этот виртуальный порт преобразовываются в посылки USB протокола. Подключенная к USB порту микросхема-преобразователь принимает эти посылки и формирует сигналы UART. Из популярных и доступных микросхем можно назвать FT232 и PL-2303 (а еще есть OTI006858 и CP2102).

Теперь переходим поближе к теме вопроса.
Итак, мы поняли, что нам нужен преобразователь USB – UART. Заиметь его можно несколькими способами:
1 Купить нужную микросхему и спаять устройство самому. Если Вы собираете какое либо устройство, будет удобно если преобразователь будет интегрирован в устройство. Если погуглить, то найдется много схем таких преобразователей – вытравить плату и собрать преобразователь не будет проблемой.
2 Купить уже готовый преобразователь. Тоже не плохой вариант. Таких устройств в продаже хватает с избытком. В разном форм-факторе, в разной цене – выбирайте на любой вкус!
3 Есть еще вариант – альтернативный. Согласен – он не всегда может быть приемлем, но все-таки… Можно «позаимствовать» преобразователь с другого устройства.

В этой статье я предлагаю использовать в качестве преобразователя USB — UART шнурок для мобильного телефона (Data Cable ). Почему именно шнурок для мобильного? Сейчас объясню.
Некоторое время назад для связи мобильного телефона с компьютером очень широко использовался UART протокол. Причины широкого распространения понятны – производителям нужен был дешевый и распространенный канал связи с PC. Им мог стать или COM порт, или USB. На то время работать с USB было дорого и не выгодно – победил COM. Мобильные телефоны выдавали «во вне» UART сигнал, а шнурки Data Cable преобразовывали его для COM или USB порта. В наше время электроника шагнула далеко вперед и USB в микропроцессорах мобильных телефонов стали обязательны. Шнурки для современных телефонов заменяются обычными USB удлинителями.
И вот мы подбираемся к самой интересной части. Телефоны появляются новые, старые шнурки-преобразователи становятся никому не нужными, а значит, продавцы стремятся за любые деньги от них избавиться. Цены на эти старые залежалые шнурки становятся просто смешными. Вот и мне попались на глаза эти коробочки со шнурками за такие деньги, что я не удержался и купил два. Сейчас расскажу, что нужно делать, чтобы сделать из такого шнурка полноценный преобразователь USB UART .

Для начала, нужно купить этот самый шнурок.

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

Вот упаковочная коробка и ее содержимое.

В комплект входит сам шнур и диск с драйверами. Диск сразу можно выбросить – там такой сборник мусора, что найти что-то нужное проблематично. Берем сам шнурок .

Теперь внимательней рассмотрим плату преобразователя.



В результате рассмотрения обнаруживаем микросхему Prolific PL-2303HX .

В 90% случаев в подобных шнурках мы увидим именно эту микросхему. Причина – ее дешевизна. Более того, эта микросхема будет стоять и в большинстве преобразователей USB – UART, которые Вы купите в магазине. Очень редко встретите FT232, так как она дороже и в дешевых китайских шнурках ее нет (разве что шнур какой-то фирменный попадется). Если Вам попался FT232RL – считайте повезло, на таком шнурке можно и программатор забабахать (FT232RL может работать в битбанг режиме).

Обратите внимание! Можно на плате найти клон Prolific. Такой, например, стоял во втором, из купленных мною шнурков.

Плата та же, обвеска та же, но кристалл явно не Prolific (судя по внешнему виду более дешевый клон). Настораживает отсутствие кварца, но плата работает (подозреваю, что работает от внутреннего RC генератора – это не очень гуд). В любом случае такие микросхемы полный аналог (по крайней мере по ногам) Prolific.

Теперь идем на сайт Prolific и скачиваем даташит на микросхему
- Преобразователь USB-UART Prolific

В даташите находим распиновку и смотрим, на каких ножках нужные нам сигналы UART:
— Передатчик TXD – 1 ;
— Приемник RXD – 5 .

Находим соответствующие ножки на микросхеме.

Далее при помощи обычного тестера находим ближайшие контактные площадки, к которым можно подпаять провода. К ножкам не подпаяешся – они мелкие. Еще нам нужна «земля» — тут все просто, большие полигоны ею и будут. Подпаиваем к соответствующим площадкам провода.
На другой конец шнура цепляем удобный разъем.

Это широко известная в узких кругах и всенародно любимая FT232R. Очень надежная, стабильная, поддерживаемая всеми операционными системами по дефолту. В общем, рулез.
Недостатка у ней три:

  • Дорогая, что то около 150 рублей
  • В bitbang режиме работает ОЧЕНЬ медленно, из-за чего ее нельзя применять с программатором Громова и прочих элементарных COM программаторах из говна и палок. .
  • Мелкая шо писец, паять и разводить ее так это вырви глаз. Впрочем, после QFN мне ничего не страшно. Прорвемся!

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

Вот что, собственно получилось:


Это печатная плата, файл с макросом этого микроблока для Sprint Layout будет в конце статьи.
Развелось довольно легко, на удивление ноги не перекрещенные получались. Я аж удивился. Также насобачил туда светодиодов — Питание, RX и TX так что она у меня теперь косит под новогоднюю елку.

Дальше отчеканил ЛУТом планку сразу на четыре экземпляра из которых один оказался косячный. Нет, получился он идеально, что что, а по ЛУТ у меня звание не ниже старшего джедая, но почему то он был зеркальный… О_о Видать случайно ткнул на отзеркалить и не заметил.

Вот плата перед погружением в травильный раствор. Зубочистка для масштаба лежит. Ну и я ей дорожки подчищал от глянца.

Залудил при 230 градусах. Выше нельзя, крошечные пады поотлетают только так. Да и при 230 надо ОЧЕНЬ нежно и быстро. Можно было лудить сплавом Розе. Лудить тут надо, иначе риск получить непропай под выводами, а результат тут визуально не проконтролируешь.

Да, во многих девайсах где стоит COM можно выкинуть MAX232 и поставить туда FT232, но зачем плодить сущности? Если мне нужна связь с компом, то я просто оставляю RX TX GND пины и вешаю на них либо тот же MAX-шнурок, либо вот сейчас этот микроблочек. Так что одной микросхемы хватит на все времена:)

Файлы к статье:

Бонус:
Что то меня на писательство поперло, видать сказываются спирты в мозгах и отсутствие интернета — отключили за неуплату:) Пишу пока «в стол»… Дам ка краткий мануал по пайке радио пыли.

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

Подготавливаешь полигон:

  • В одной руке пинцет, в другой зубочистка.
  • Плата надежно закреплена на столе. Можно прям на двустороннюю липучку приклеить к столу. У меня в минитисках зажата.
  • Контактные площадки обильно смазаны флюсом.

Вначале позиционирование

  • Пинцетом максимально точно выставляем микруху на площадки. Причем нам важно чтобы хотя бы один из крайних выводов встал ровно , любой какой тебе удобней. Остальные как можно ближе к идеалу.
  • Только выставил, не отпуская пинцетом сверху прижимаешь ее острием зубочистки, крепко прижимаешь. Пальцем нельзя — палец толстый и ты ее сдвинешь, а зубочистка во первых острая и давит в одной точке, во вторых деревянная, а значит не раскрошит нежную микруху.
  • Не отпуская зубочистку я обычно ее перехватываю другой рукой (левой), а правой хватаю паяльник. Микруха при этом не шевелится ни на волос. Т.к. давление только в одной точке, вниз, то вращательному моменту там просто неоткуда взяться.
  • Припаиваю ОДИН крайний вывод.
  • Если микросхема стоит по прежнему ровно и тебя все устраивает, то тут же прихыватываешь крайний вывод с другой стороны, а потом два крайних с другого ряда.
  • Если же микруха стоит чуть криво, то ты можешь ее попробовать чуток повращать относительно припаяной ножки, чуть чуть. На доли градуса, лишь бы остальные ножки встали. Как встанут — прихватывай вторую. Ну, а дальше никуда она не денется.

Ну и припаиваешь остальные выводы:

  • Угаживаешь все выводы флюсом и взяв самую малость припоя на жало, реально мало — 1мм проволочного припоя диаметром 0.5мм. Если нет такого припоя, расплющи тот что есть в фольгу.
  • Эту капельку спокойно размазываешь по выводам. Она должна хорошо растечься не слепляя выводы. Главное флюса не жалеть.
  • Излишки припоя снимаются сухим паяльником или зафлюсованным многожильным проводочком, который впитает их в себя.

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

Должно получиться примерно вот так:


UPD:

За разводку спасибо Rol20