Windows. Вирусы. Ноутбуки. Интернет. Office. Утилиты. Драйверы

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

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

Как Вы знаете, существует множество интерфейсов, посредством которых микроконтроллер может общаться с внешним миром. Но если речь идет о связи с компьютером - вне конкуренции интерфейс RS-232 (COM порт). Причина - простота работы с портом со стороны компьютера и наличие большого количества программ для этого предназначенных. Кроме того, почти в каждом микроконтроллере есть аппаратно поддерживаемый интерфейс USART (это тот-же RS-232, только с напряжениями 0 - 5v), что делает процесс связи легко реализуемым.
Для того, чтобы привести уровни сигнала микроконтроллерного USART к уровням COM порта компьютера нужно собрать несложный преобразователь (например, на МАХ232), но можно пойти по более интересному пути
Более интересный путь - собрать преобразователь UART to USB. При этом USB порт воспринимается компьютером как виртуальный COM порт. В этом случае мы убиваем сразу несколько зайцев:
- USB порт есть в любом компьютере (хотя COM порт встречается еще довольно часто, но на ноутбуках его уже нет);
- как оказалось преобразователь UART to COM(RS-232) сделать гораздо сложнее, чем UART to USB (два раза делал программатор для СОМ порта с преобразователем МАХ232 - оба раза неудачно);
- если подключать преобразователь через USB хаб, то мы получаем сразу несколько виртуальных COM портов на одном USB, плюс безопасность для компьютера, так как хаб выступает в роли буфера.

Вот схема преобразователя UART to USB.

Сразу честно признаюсь - это не мое устройство. Взята данная схема с сайта www.recursion.jp/avrcdc/ . Причина, по которой я ее здесь привожу - это простота схемы и дешевизна изготовления. Собрать схему довольно просто (можно даже на макете).

Готовое устройство я выполнил в форме «флешки» для того, чтобы удобней было пользоваться в «полевых» условиях. Для большего комфорта можно взять USB удлинитель, одним разъемом прицепить к компьютеру, во второй вставить нашу «флешку-преобразователь» и получим мобильное устройство, которое можно без проблем подключить к любой схеме.

Печатная плата двухсторонняя, подходит для микроконтроллеров ATmega8/48/88/168

Фьюзы для ATmega8

Фьюзы для ATmega48/88/168

Фьюзы для CodeVisionAVR, PonyProg ставятся инверсно

SPI интерфейс для программатора выведен вместе со всеми интерфейсами сзади «флешки» - подключаем программатор прямо там. Штырек сброса паяем возле ножки сброса (чтоб не мешал). При программировании преобразователь нужно запитать напряжением 5v со стороны интерфейсов. Через USB нежелательно, так как напряжение питания через светодиод уменьшится. Если возникают проблемы по причине больших шумов - вешаем подтягивающий к питанию резистор на ножку сброса (5-10кОм). Наличие светодиода обязательно - он используется в качестве регулятора напряжения. Прошивка предусматривает работу управляющих линий (CTS, RTS, DTR), но для UART они не нужны и я их не выводил на разъем интерфейсов. Если они Вам нужны - просто нужно «кинуть» перемычки с ножек микроконтроллера на ножки разъема интерфейсов.


После того как устройство собрано,
необходимо установить драйвер виртуального COM порта.


/raw — для (Windows 2000/XP)


Делается это очень просто:

1 Вставляем «флешку-преобразователь» в USB порт;

2 Получаем в трее сообщение о том, что найдено новое устройство;

3 Запустится «Мастер нового оборудования», выбираем «Установка из указанного места», жмем «Далее»;

4 Выбираем «Включить следующее место для поиска» и в окошке указываем нужный путь к драйверу;
5 Жмем «Далее», драйвер установится, жмем «Готово»

Теперь в «Свойствах» «моего компьютера» в закладке «Оборудование» нажимаем кнопку «Диспетчер устройств». В окошке диспетчера устройств в разделе «Порты (COM и LPT)» увидим новое устройство - «Virtual Communications Port (COM5)».


Для каждого USB порта будет назначен свой виртуальный COM порт (COM5, COM6, COM7 и т.д.).

Готово! Теперь можно пользоваться преобразователем.

Проверим работоспособность преобразователя, для этого нужно закоротить вход с выходом (RxD, TxD) и посылать с компьютера сообщения по виртуальному порту. Посланные сообщения должны возвращаться как принятые.

На нужные штырьки цепляем «джампер»-перемычку. Запускаем программу для работы с COM портом. Можно использовать стандартный виндовский гипертерминал, но мне больше нравиться другая программка - маленькая, портативная и функциональная.

Запускаем программу, устанавливаем нужный порт (смотрим номер порта в диспетчере устройств), скорость и другие параметры оставляем как есть, нажимаем «Connect», в окошке возле кнопки «->Send», пишем сообщение, нажимаем »->Send» и сморим результат. Нижнее окно - отправленное сообщение, большое окно - принятое сообщения. Если все работает - сообщения будут одинаковыми.

Данная «флешка - преобразователь интерфейсов» позже превратится в I2C toUSB, SPI to USB, SPI to UART и т.д. необходимо лишь перепрошивать ее необходимой прошивкой. (Что-то я у себя начинаю замечать тягу к универсализации:)).

P.S. Сайт-источник рекомендует для согласования уровней напряжения преобразователя(3.3v) и устройства(5v) соединять их через схему согласования. Но я думаю резисторов в пределах полукилоома в линиях RxD, TxD должно хватить для согласования - нужно попробовать.

P.P.S. Это первая практическая схема в блоге - дальше их будет больше, так как с основами мы, вроде-бы, разобрались (еще остались кой-какие вопросы - потихоньку буду писать).

программа для работы с COM портом.

В архиве есть папки для разных Win:
/raw — для (Windows 2000/XP)
/w2k — для Windows 2000 (bulk mode only)
/xpvista7 — для Windows XP/Vista/7 x32
/vista64 — для Windows Vista x64

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


UPD:

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

Программировать различные ардуино- и не адуино- образные контроллеры, получать информацию на компьютер со всего, что имеет последовательный интерфейс с TTL логикой.
Я в своих проектах использую его с Arduino Pro MIni , Gboard /Iboard и самодельными контроллерами .

Чем он отличается от других подобных устройств

  1. Дополнительным выводом DTR, который можно напрямую подключить к входу RESET на контроллерах не имеющих USB на плате. После этого при программировании давить кнопку RESET не нужно. Для меня это очень удобно, когда контроллер спрятан недрах моей поделки и доступ к кнопке бывает очень затруднительным.
  2. Поддержкой производителя, совместимостью с оригинальными драйверами и ПО, в отличие от поддельных FTDI, у которых проблемы с родными драйверами
  3. Дополнительными выводами (дырками под контакты) на плате, например, позволяющими уводить USB в энергосберегающий режим.
  4. Интересной возможностью менять VID, PID и текст, с которым опознается плата, собирать свой драйвер со требуемыми параметрами, что довольно интересно в коммерческих проектах. Об этом я расскажу дальше.

Где заказать?

Характеристики

  • Чип CP2102 от Silicon Labs
  • Скорость обмена данными по UART 300Бит/сек — 1Мбит/сек
  • Буфер чтения 576 байт, записи 640 байт
  • Поддержка USB 2.0 12Мбит/сек
  • Поддержка режима SUSPENDED USB
  • Встроенный стабилизатор питания 3.3В 100мА
  • EEPROM с конфигурационными параметрами 1024 байт
  • Поддерживаемые ОС Windows 8/7/Vista/Server 2003/XP/2000, Windows CE, Mac OS-X/OS-9, Linux, Android
  • Возможность настройки параметров платы и драйверов под свои проекты
  • Размеры платы 26.5 x 15.6 мм

На плате есть дополнительные отверстия, куда можно впаять выводы дополнительного модемного контроля и перевода USB в режим SUSPENDED

По размеру плата мало отличается от других подобных конвертеров USB/UART

  1. Плата FOCA 2.2 взята для коммерческих проектов с контроллерами Gboard /Iboard
  2. Дешевый конвертер FT232 используемый до настоящего времени
  3. Обозреваемый CP2102

Подключение и установка CP2102

Перед использованием платы необходимо установить драйвера с официального сайта Si-Labs

  • Для соединения к контроллеру нужны 5 проводов:
  • GND — GMD
  • VCC — V5.0 (V3.3) в зависимости от используемой платы
  • TX — RX
  • RX — TX
  • RESET контроллера — DTE


Теперь контроллер можно программировать не нажимая кнопку RESET.

Изменение VID, PID и др. характеристик конвертера

Плата опознается в системе как Silicon Labs CP210X USB to UART Bridge (COM35)

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

Для начала скачиваем и запускаем утилиту для конфигурирования параметров EEPROM CP1202 (мне для запуска утилиты потребовалось еще скачать Java Runtime)

Теперь можно изменить следующие параметры:

  • Vendor ID (VID). Идентификатор производителя. Значение «по-умолчанию» 10С4 (шестнадцатеричный формат). В данном случае принадлежит компании SiLabs.
  • Product ID (PID). Идентификатор продукта. Значение «по-умолчанию» EA60 (шестнадцатеричный формат). В данном случае обозначает все мосты CP210x.
  • Max Power. Максимальный ток потребления, запрашиваемая мостом на шине USB. Значение «по-умолчанию» 32 (шестнадцатеричный формат). Максимальное значение 500мА
  • Power use attributes. Режим питания. Bus-powered (питание от шины USB) или Self-Powered (питание от внешнего источника).
  • Release Version. Номер выпуска. Значение «по-умолчанию» 1.0. Поля могут принимать значения 1-99 в целой и дробной части.
  • Serial Number. Серийный номер. Значение «по-умолчанию» составляет «0001» (текстовый формат). Поле может принимать любое текстовое значение длиной до 64 символов. Нужно для подсоединение к компьютеру нескольких устройств
  • Product string. Поле может принимать любое текстовое значение длиной до 126 символов. Данный идентификатор отображается в операционной системе при первичном подключении моста CP210x к компьютеру и помогает пользователю в выборе подходящего драйвера
  • Custom Data Lock. Защита конфигурационных данных.

Статья устарела - сейчас уже не найти data-кабели с USB на старенькие телефоны; поэтому готовый переходник можно за недорого заказать на алиэкспрессе (примечание домовенка сайта).

Честно говоря, мы все обленились... наши прадеды могли спаять схему из сотни элементов за один вечер и не обламывались. Нам же подавай все готовенькое. Примером является простой переходник с COM порта на TTL уровень. Кажется схема в 5 деталей, а как лениво паять. Тем более что последовательные порты теперь в большом дефиците. А на ноутбуках так их вообще нет. Можно конечно воспользоваться интерфейсом USB, но, кто-нибудь пробовал его программировать? Жесть! Да и не всякий контроллер его держит. А вот UART есть почти во всех AVR, причем аппаратно реализованный.

Вывод напрашивается сам. Нужен дешевый, простой и надежный переходник с USB на UART (COM) с уровнями TTL-логики (0-5вольт). И желательно дополнительными цепями питания, чтобы наше устройство можно было запитать прямо от переходника, не подключая дополнительное питание. И такой переходник есть. Причем готов поспорить, что не дальше чем в километре от вас. В любом салоне Евросети можно всего за 300рублей (или 160 как повезет) купить такое чудо. Простой Data-кабель. Переходник с USB на телефон. В большинстве моделей трубок данные передаются именно через TTL-UART. Тоесть последовательный интерфейс с уровнями напряжений 0-5вольт. (я использовал кабели для старых ericsson R-320)

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

Итак, раскурочившем наше приобретение. Внутри плата с чипом PL-2303HX компании Prolific и две группы контактных площадок. Одна - это вход USB, вторая это как раз то что нас интересует. UART с TTL уровнями сигнала. Осталось определить какой из контактов кто. В моем варианте это было так:

Итак, нам необходимы только GND, RxD, TxD, для особых эстетов можно взять +5V для питания (ток маленький 100мА в прыжке с кепкой) и сигнал DTR если нужно отследить подключено ли устройство к компьютеру (или, к примеру, включить светодиод прямо в коробочке чтобы красиво было, и видно когда устройство в работе) Подключаем землю к земле, приемник к передатчику, передатчик, соответственно к приемнику. Вот и все. Железо готово. Кстати, на диске есть несколько любопытных PDF файлов c описанием схемы и самого чипа . И если ваша плата отличается от моей, то просто проследите к какому контакту какая нога этого чипа подключена.

Теперь инсталлируем софт с диска... каталог F:\2303dirver\pl2303new\newpl2303_setup\DRIVER\SETUP... запускаем «PL-2303 Driver Installer.exe». Если нет диска, то драйверы и дополнительную информацию можно скачать у компании производителя PL-2303 USB to Serial Bridge Controller . Что очень приятно, для данного устройства есть драйвера под все мыслимые систамы и операционки (Linux, PDA, Mac OS, итд.) что существенно расширяет круг возможных применений.

Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter
ПОДЕЛИТЬСЯ: