067-Data кабель от мобильного как преобразователь USB to UART.

Автор: | 25.03.2011

титлБольшинство устройств блога GetChip.net работает с 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 и скачиваем даташит на микросхему
ds_pl2303HX_v15F.pdf - Преобразователь USB-UART Prolific

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

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

распиновка

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

разъем

Шнур готов.

готовый шнурок

Опять идем на сайт Prolific и скачиваем драйвер.
PL2303_Prolific_DriverInstaller_v10518.exe - Драйвер преобразователя USB-UART Prolific

Запускаем файл (шнурок вставлять не нужно) – произойдет установка. Все готово. Теперь вставляем в USB шнурок – произойдет автоматическая установка драйвера для порта. В компьютере появиться виртуальный COM порт.

диспетчер устройств

Преобразователь готов к работе.

Достоинствами такого переделанного дата кабеля, по сравнению с готовым преобразователем или самостоятельной сборкой, являются:
— цена всего шнурка может быть даже меньше, чем стоимость микросхемы установленной в нем, а если такой шнур завалялся дома то цена падает до нуля (или до бутылки пива если шнур найти у друзей :));
— мы получаем устройство в аккуратной коробочке со шнуром и USB разъемом.

Вот, собственно и все. Пользуйтесь!

Файлы:
ds_pl2303HX_v15F.pdf - Преобразователь USB-UART Prolific
PL2303_Prolific_DriverInstaller_v10518.exe - Драйвер преобразователя USB-UART Prolific

Ссылки:
Сайт Prolific

(Visited 15 135 times, 6 visits today)

067-Data кабель от мобильного как преобразователь USB to UART.: 149 комментариев

  1. ankar

    Я уже с год таким пользуюсь. Правда шнурок от от700 соньки. Он тоже на PL. Вот за драйвер спасибо. самому было леньки искать.

  2. geovas

    Сам недавно купил на e-bay шнурок за 2.5$, якобы USB->RS232, но никакой там не RS232 — там вместо того-же MAX232 воткнули свой «китайский колхоз», в результате сигнал изменяется от 0 до 5В, вместо -15…+15В откуда следует куча проблем…

    Я это рассказываю к тому, что если у кого-нибудь когда-нибудь шнур на pl2303 в диспетчере устройств будет «с жёлтым восклицательным знаком», ставьте драйвер «PL2303_Prolific_GPS_AllInOne_1013.exe» и будет вам счастье 🙂

    Еще часто встречаются шнуры на чипе ch340 — это еще хуже, остерегайтесь их!

    Кстати GetChiper, может не ft323, а ft232 ??

  3. GetChiper Автор записи

    geovas :

    Кстати GetChiper, может не ft323, а ft232 ??

    Конечно! Сейчас поправлю.

  4. ankar

    geovas :Сам недавно купил на e-bay шнурок за 2.5$, якобы USB->RS232, но никакой там не RS232 – там вместо того-же MAX232 воткнули свой «китайский колхоз», в результате сигнал изменяется от 0 до 5В, вместо -15…+15В откуда следует куча проблем…
    Я это рассказываю к тому, что если у кого-нибудь когда-нибудь шнур на pl2303 в диспетчере устройств будет «с жёлтым восклицательным знаком», ставьте драйвер «PL2303_Prolific_GPS_AllInOne_1013.exe» и будет вам счастье
    Еще часто встречаются шнуры на чипе ch340 – это еще хуже, остерегайтесь их!
    Кстати GetChiper, может не ft323, а ft232 ??

    Я не понял откуда в USB возмется +- 15в если их не подавать извне. максим просто коммутирует эти 12 в с ком порта, но на усб…. Или я чего-то не понимаю???

  5. ankar

    И потом. В атмелах поддержка протокола УАРТ но, на уровне 5 вольтей.А 12 вольт на порты гнать — это садомазохизм.

  6. geovas

    У моего шнурка заявлен протокол RS232, который подразумевает напряжения от -15 до +15 (по стандарту). В UART конечно же не +-15 🙂 Там либо +5 либо +3.3В. В USB действительно +5В, но! Вы слышали о микросхемах семейства MAX232? В них как раз и происходит поднятие напряжения. Если вы считаете, что из 5В Вольта нельзя сделать 15В, то это не так, можно хоть все 100500 сделать 🙂

    Я к своему шнуру подключил микросхему MAX3232 (тот же MAX232, только на 3.3В), с целью сделать из него USB->UART кабель.

  7. ankar

    Ну из 5 вольтей моно конечно. Просто тогда на 232 должен стоять умножитель. Заглянул в датащит — за счет кондеров +- 10 вольт получают.

  8. geovas

    10В возможно (главное что >5В). Там еще сделано так: лог_0 = +5..+15В таким образом, чтобы получить из UART, RS232, надо еще и «перевернуть уровни». А это бездельники Китайцы сделали лог_0 = +4.5В, лог_1 = 0В, это вообще ни в какие рамки не лезет, однако если просто инвертировать уровни, то получится чистый UART. Такие дела 🙂

  9. ankar

    Зато дешево и сердито. М ,главное, легко доставаемо.

  10. geovas

    Что верно, то верно, что мой шнур с ebay-а, что ваш кабель для мобилки — легко достать, легко использовать! UART ИМХО самый простой и удобный интерфейс в мире!

  11. don

    Давно пользую кабель DKU-5 от Мотора. Но для других целей — на авто газовое оборудование и связь по UART с ним. Правда два шнура умерло, при чем выгорала передающая линия. Но с max232 живет хорошо 🙂
    А определить подходящий ли это кабель (с преобразователем на борту или нет) можно с наличием ноута при покупке и прогой типа «ChipGenius», она сразу покажет и тип чипа, на котором шнурок собран.

  12. don

    Да, на фото микруха в SOT корпусе, а, как правило, «китайские братья» бескорпусные ставят, залив компаундом, без ЧипГениуса не обойтись… Ну а проводки находятся методом «высоконаучного» тыка 🙂

  13. GetChiper Автор записи

    @don
    Правильный опыт!

  14. 4w21

    Может на таком чудном шнурке можно замутить и K-L адаптер для диагностики авто?
    Давно уже присматриваюсь к Вашим темам)про UART

  15. Алексей

    Всем доброго дня! Есть еще микросхема Silicon Laboratories CP2102 (правда 3,3В), пользуюсь ею, в принципе доволен.

  16. geovas

    4w31, этот K-L — это тот же UART, только логические уровни другие! в общем нужна по сути только одна микросхема преобразователь уровней. Сам хочу K-L собрать 🙂 Им кстати не только диагностику делать можно, но и прошивку мозгов!

  17. 4w21

    geovas вот как раз насчет и прошивки мозгов я и задал встречный вопрос.
    просто валяется без дела такой шнурок хотелось бы его и прикрутить и к диагностики и к прошивке

  18. geovas

    4w21, я лично хочу собрать вот это чудо: http://www.masterkit.ru/images/magazines/2_RH_3_08.gif. Если посмотреть на схему, то с FT232 идут только линии питания и Rx/Tx, если эту часть схемы заменить на шнурок, то должно получиться тоже самое. Главное микросхему добыть, остальное не редкость явно.

  19. GetChiper Автор записи

    Да, это должно работать.

  20. don

    4w21 :
    Может на таком чудном шнурке можно замутить и K-L адаптер для диагностики авто?
    Давно уже присматриваюсь к Вашим темам)про UART

    А какие проблемы? Давно уже собрал 🙂 Только два транзистора еще надо и 5 резисторов:
    [img]http://prj.perquin.com/obdii/obdii_avr.gif[/img]
    Сейчас пробую ихнее Obduino32 на рельсы WinAvr и Atmega32 перевести, debug-режим уже работает, остались натурные испытания 🙂

  21. don

    Кстати, даже не нужен USB-UART

  22. don

    Вот такая игрушка, но к теме имеет мало отношения…шнурок полезен для ноута, если нет «железного» сом-порта

  23. geovas

    don, я бы этой штуки остерегался (я про картинку) :). Если на Tx будет 1, то транзистор Q2 откроется и на линии Rx окажется напряжение 12В, у вас правда ничего не сгорело?? Я бы подцепил совместно с R2 стабилитрон на 5В.

  24. don

    @geovas
    Убивает не напряжение, как правило, убивает ток 🙂 На max232 уровни видели? -10 % +10 и ничего, пашет, не горит… Я и светодиоды только по току согласовываю с бортовой сетью (вместо мелких лампочек подсветки) т.е. беру диод на 3,3 с током 20 мА и ставлю с резистором 14В/0,02А =~680 Ом. Еще ни один не сгорел 🙂

  25. don

    Но диоды зенера можно, конечно, и впереть на линию приема 🙂

  26. geovas

    Ток убивает людей (30кВ при ничтожном токе меня не убило вродь :)), а электронику как раз таки напряжение (как правило). С диодами все по-другому, они управляются не напряжением, а током. Конечно обычный светодиод будет работать при любом токе и 3В, т.к. на ВАХ светодиода, 3-м вольтам как раз и соответствует 20мА. Видимо микроконтроллер цел, т.к. на его цифровых входах стоит диодная защита, но не стоит испытывать ее на прочность. Если 4w21 захочет повторить схему don-а, то мой вам дружеский совет — поставьте стабилитрон. Если подадите на шнурок 12В… ну сами догадываетесь 🙂

  27. don

    Нет, конечно, монашки и на свечку презерватив одевают 🙂 Никто ведь не запретил ставить 3,6 стабилитрон на входы/выходы шнурка. А схема не моя, народ по всему миру повторил и не жалуется на выгоревшие Атмеги, видимо резистивный делитель R2*R I/O делает свое дело 🙂 http://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%BB%D0%B8%D1%82%D0%B5%D0%BB%D1%8C_%D0%BD%D0%B0%D0%BF%D1%80%D1%8F%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F
    Начало ТОР (теоретические основы цепей) первый курс.
    И, для общей ерундиции, инфа от производителя для оценки, что же является «наиважнейшим из искусств» для AVR:
    «Although each I/O port can source more than the test conditions (20mA at Vcc = 5V, 10mA at Vcc = 3V) under steady state
    conditions (non-transient), the following must be observed:
    PDIP Package:
    1] The sum of all IOH, for all ports, should not exceed 200mA.
    2] The sum of all IOH, for port A0 — A7, should not exceed 100mA.
    3] The sum of all IOH, for ports B0 — B7,C0 — C7, D0 — D7 and XTAL2, should not exceed 100mA.
    TQFP and QFN/MLF Package:
    1] The sum of all IOH, for all ports, should not exceed 400mA.
    2] The sum of all IOH, for ports A0 — A7, should not exceed 100mA.
    3] The sum of all IOH, for ports B0 — B4, should not exceed 100mA.
    4] The sum of all IOH, for ports B3 — B7, XTAL2, D0 — D2, should not exceed 100mA.
    5] The sum of all IOH, for ports D3 — D7, should not exceed 100mA.
    6] The sum of all IOH, for ports C0 — C7, should not exceed 100mA.If IOH exceeds the test condition, VOH may exceed the
    related specification. Pins are not guaranteed to source current greater than the listed test condition.»
    Все-таки протекающие по ногам токи…
    Хотя, это всего лишь мое частное мнение…

  28. geovas

    Я может уже сотый раз повторюсь, но! На входам меги стоит диодная защита. Но мы ведь здесь не о мегах говорим, а о китайском шнурке для телефона, из которому товарищ 4w21 хочет сделать K-L. Этот шнур, с высокой долей вероятности не оборудован вообще никакой защитой от перенапряжения.

    p.s. я как-бэ не школьник и курсы электротехники / аналоговой и цифровой электроники выслушал. И от того, что знаю и говорю — не отрекусь.

    Кстати don, забавы ради мегу запитайте от 12 Вольт! Я пробовал (случайно конечно), В результате она не может тактироваться от внешнего кварца. а 12В действовало там всего пару секунд.

  29. don

    Ну так и я, привел схему согласования с Мегой, а не с китайским шнурком. Вчера подключил макет бортового компа именно по этой схеме к OBD разъему — пошло на ура, шнурком не пользовался, это правда, про шнурок я писал, что он нужен мне был для ГБО и ноута, согласование делал на МАХ232, где TTL уровни это те, что идут к шнурку, при чем задействовал оба канала, чтобы получить неинвертированный сигнал, а то билиберда будет на выходе.
    Ну а прописными вещами обидеть не хотел, просто напомнил.

  30. geovas

    Да это я просто злой в тот день был, хотелось поспорить с кем-нибудь 🙂
    Т.е. вы борт-компьютер на меге собрали? здорово! Надо будет тоже заняться!

  31. don

    geovas :
    Да это я просто злой в тот день был, хотелось поспорить с кем-нибудь
    Т.е. вы борт-компьютер на меге собрали? здорово! Надо будет тоже заняться!

    Да нет вопросов… http://prj.perquin.com/obdii/ для старта в помощь 🙂 Заодно отличный практикум, как оказалось, для освоения AVR

  32. trition007

    Люди подскажите что за фигня пробываю соединить RXD TXD в программе Terminal она тупа виснет, что на одном компе то на другом, но драва все ставяться и без проблем, тоже делал на атмеги8 определяеться но прога тоже виснет,что делать?

  33. GetChiper Автор записи

    Попробуй другую программу терминала — их есть много.

  34. trition007

    можете подсазать какие программы и как проверить

  35. GetChiper Автор записи

    PuTTY, Terminal, Realterm, COM Port Toolkit … и еще очень много сможет выдать поисковик.

  36. ProgrammerForever

    Купил 6 шнурков по 50 рублей за штуку в Новосибирске. И я, и продавец были счастливы в этот день =)

    Если будут предлагать дороже, скажите: «Такое барахло никто не купит кроме меня, всё равно выкинешь». Должно сработать.

  37. GetChiper Автор записи

    Главное чтоб шнурки были те 🙂
    Про цену это действительно правда, можно действительно нужные вещи купить по смешной цене просто из-за того, что они считаются устаревшими.

  38. trition007

    Короче шнурок все определяеться,драва ставться захожу в программу Terminal отправлешь,(разумееться TXD,RXD замкнуты) идеть соединение и все виснет. Так и не пришел прием.

  39. GetChiper Автор записи

    Попробуй потыкать в другие USB порта. Попробуй другую программу терминала.
    Сдается мне драйвера с чем то конфликтуют.

  40. IROBOT

    Чтоб юзать шнурок от сотика допер еще пару тройку лет назад.Но вылазила одна и таже проблема при соединении с мк-вылетал ТХД на PL2303-КТО нибудь сталкивался с такой проблемой?

  41. Juris

    Добрый день. Я тут по любознательности разобрал USB шнур к мультиметру (UNI-T UT61-T). А там чип 16-пин CH9325. В Windows (XP) определяетса как HID-device USB to Serial, но новый COM порт не появляетса. Search по Google, Яндех по такому чипу как-то молчит. Не то что очень надо (есть на Attiny2313), но интересно, что это и как его? 🙂 Может кто сталкивался? Thanks!

  42. Romaaan63

    а скажите пожалуйста от какого телефона шнурок спрашивать?И от какого у вас шнурок?

  43. GetChiper Автор записи

    IROBOT :

    Чтоб юзать шнурок от сотика допер еще пару тройку лет назад.Но вылазила одна и таже проблема при соединении с мк-вылетал ТХД на PL2303-КТО нибудь сталкивался с такой проблемой?

    Чегото в шнурке со схемотехникой начудили, возможно для специфичных характеристик порта телефона. Сопротивление в линии TxD должно уберечь МК.

    Juris :

    Добрый день. Я тут по любознательности разобрал USB шнур к мультиметру (UNI-T UT61-T)…

    Позиционирование устройства как HID-device довольно удобный способ связи устройств с компьютером — не нужно ставить никаких драйверов, все работает с лету. Но у связи по виртуальному COM порту тоже есть свои плюсы — очень просто работать как со стороны устройств, так и со стороны компа. Для устройств блога HID-способ связи работать не будет.

    Romaaan63 :

    а скажите пожалуйста от какого телефона шнурок спрашивать?И от какого у вас шнурок?

    Название телефона написано на коробке (AX75), но это не столь важно. Для одних и тех-же телефонов могут быть шнурки с разной схемотехникой — тут не угадаешь. Обычно это шнурок для старых моделей телефона (в современных моделях USB используется напрямую) и с коробочкой содержащей платку..

  44. satanss88

    а можно сделать полноцений ком порт на шнурке от телефона?

  45. GetChiper Автор записи

    Если в шнурке стоит FT232RL, то да.

  46. satanss88

    а если пл2303? ну и ещо какойто преобразователь заделать?

  47. GetChiper Автор записи

    В нормальном для COM порта все будет работать отлично и на PL2303, но если у порта попытаться дергать линиями напрямую (что делают программы для программирования через простые шнурки), то ничего не выйдет. Так может работать только FT232RL

  48. Nanomag

    есть еще одна микросхема USB-RS232 зовется CP2102 я на такой Ардуину собрал — очень маленькая, минимум обвязки правдв корпус QFN

  49. GetChiper Автор записи

    И стоит адекватно!

  50. Zver666

    Я тут прикупил 8 шнурков на плюшках (коробки неразбирал, но все вешаются на один ком-порт (5) как и та которую разобрал). Среди них есть два с удлиненной USB частью (НЕРАЗБИРАЕМОЙ, мать……….) один хвост стал на 5 другой на 6 порт, ставил по очереди. Как определить где нужные провода в таком хвосте? или от жадности взять еще 5-6 хвостов с коробочками?

Добавить комментарий