Преобразователь USB-UART

В статье UART на Ritmix RZX-50 рассматривалось подключение к интерфейсу UART приставки Ritmix RZX-50. Однако вывести необходимые провода из приставки — только полдела, нужен специальный преобразователь, который позволит произвести подключение к персональному компьютеру (ПЭВМ).

Уважаемый exmortis уже рассказывал как сделать кабель USB-TTL своими руками. Ниже рассказывается, как можно изготовить такой преобразователь из DATA-кабеля мобильного телефона и как его использовать на компьютере под управлением ОС GNU/Linux.

Под понятием UART будем понимать аппаратный интерфейс передачи данных, использующий кодирование, аналогичное тому, что применяется в интерфейсе RS232 и уровни сигналов TTL или LV-TTL.

Преобразователь USB-UART может пригодится не только для подключения к приставке Ritmix RZX-50, но и ко многим другим современным электронным устройствам. Такой преобразователь является совершенно незаменимой вещью, если вы решили поближе познакомиться с прошивкой своего планшетного компьютера, домашнего видеоплеера, сетевого маршрутизатора или ADSL-модема.

Переделка DATA-кабеля мобильного телефона

Сравнительно простой и незатратный способ заполучить преобразователь USB-UART заключается в переделке кабеля для подключения мобильного телефона к персональному компьютера (DATA-кабель).

Но не всякий DATA-кабель годится! Необходим кабель внутри которого имеется микросхема преобразователя USB-UART; такая микросхема используется для подключения сравнительно старых мобильников, которые как раз и используют UART; как правило, все новые телефоны для обмена с внешним миром используют сразу USB, поэтому DATA-кабель для них — всего лишь пассивный переходник, обеспечивающий подключение замысловатого разъёма телефона к стандартному порту USB.

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

Ниже описывается переделка вот такого DATA-кабеля (в 2011 году на Митинском рынке Москвы он стоил 150 рублей):

рисунок 1 — DATA-кабель в упаковке

Обратите внимание на номер «2303», нанесённый заботливым продавцом. Этот номер тут неспроста! При подключении к ноутбуку под управлением ОС Debian Linux команда dmesg выдала вот такое:

[348899.020126] usb 2-2: new full-speed USB device number 15 using uhci_hcd
[348899.175130] usb 2-2: New USB device found, idVendor=067b, idProduct=2303
[348899.175146] usb 2-2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[348899.177362] pl2303 2-2:1.0: pl2303 converter detected
[348899.189508] usb 2-2: pl2303 converter now attached to ttyUSB0

А вот вывод команды lsusb:

Bus xxx Device yyy: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port

Итак, внутри у кабеля прячется микросхема Prolific PL-2303.

Судя по обозначениям на кабеле, он изначально предназначен для работы с древним GSM-телефоном Siemens ST55:

рисунок 2 — тонкий сименсовский разъём кабеля

Для доработки кабеля нам понадобится клеммная колодка с винтовыми зажимами, которые в изобилии встречаются в хозяйственных магазинах.

рисунок 3 — клеммная колодка с винтовыми зажимами

Также понадобится изоляционная лента и куски медной проволоки (например, штыри PLD-разъёмов, как на рисунке ниже).

Переделка очень проста: без сожаления отрезаем разъём от мобильного телефона, зачищаем четыре провода кабеля, напаиваем на них кусочки проволоки (сам по себе тонкий провод плохо держится в клеммах):

рисунок 4 — рабочий момент

Для подключения к UART достаточно только трёх проводов, но в DATA-кабеле их четыре. Лишним является красный провод кабеля — изначально по нему подавалось напряжение 5 В для питания мобильного телефона, теперь его можно использовать для питания устройства, к которому мы будем подключаться. Автор вполне успешно питал от такого провода маршрутизатор D-Link DIR-320.

Далее зажимаем кусочки медной проволоки в клеммной колодке и прикрепляем кабель к клеммной колодке, например, как на рисунке:

рисунок 5 — готовый кабель

Кабель готов!

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

рисунок 6 — специализированные соединители для клеммной колодки

Готовые преобразователи USB-UART

Для тех кто не может или не хочет возиться с потрошением DATA-кабеля можно предложить купить готовый преобразователь. Например, можно рекомендовать плату USB UART Board производства MikroElectronika:

рисунок 7 — MikroElectronika USB UART Board

Как видно из фотографии, плата собрана на базе микросхемы FT232RL, в качестве бонуса вы получаете несколько контактов GPIO.
Забавной особенностью платы является то, что обозначения контактов RXD и TXD указывают не то, какая линия используется микросхемой FT232RL для передачи или приёма данных через UART, а ровно наоборот — какие линии подключаемого устройства соединять с платой (см. принципиальную схему платы на сайте производителя).

При подключении к ПЭВМ с ОС на базе Linux программа lsusb выдаёт следующую информацию:

Bus xxx Device yyy: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC

Существует аналогичная плата на базе микросхемы FT232RL производства SparkFun; кроме того, SparkFun делает похожие платы и на базе чипа CP2102.

В общем, ищите и обрящете! Остаётся только добавить, что в розничной продаже цена таких плат начинается от 500 рублей.

Использование

Прежде чем приступать к использованию преобразователя настоятельно
рекомендуется разобраться, как работает интерфейс RS232
(см. например, ссылки статьи об RS232 в Википедии).

Ниже мы рассмотрим работу с преобразователем в ОС на базе Linux.

При подключении преобразователя к ПЭВМ с более-менее современной ОС на базе Linux как правило будет создано устройство /dev/ttyUSB0 (если в вашей ПЭВМ подключено более одного подобного устройства, то для них будут созданы устройства /dev/ttyUSB0, /dev/ttyUSB1, /dev/ttyUSB2 и т.д.). Следует иметь в виду, преобразователи USB-UART используются сравнительно широко (например, в некоторых GPS-приёмниках); если один из таких GPS-приёмников уже подключен к вашему компьютеру, то не удивляйтесь, если подключенный преобразователь получит номер устройства начиная не с нуля. На всякий случай, сразу после подключения преобразователя USB-UART стоит посмотреть вывод команды dmesg — там должна появиться информация о подключении к USB нового устройства; также будет указано, какое устройство /dev/ttyUSB выделено.

Далее следует настроить коммуникационную программу для работы с преобразователем. Наиболее популярной коммуникационной программой для ОС на базе Linux является minicom.

Можно настроить minicom при помощи системы меню, запустив первый раз программу с опцией ‘-s’; установив необходимые параметры надо сохранить конфигурацию. В ОС на базе Debian Linux (например, Ubuntu) конфигурационные файлы программы minicom хранятся в каталоге /etc/minicom.

Например, если конфигурация сохранена в файле /etc/minicom/minirc.USB0, то для запуска minicom с этой конфигурацией достаточно выполнить:

minicom USB0

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

Пример конфигурационного файла:

pu port             /dev/ttyUSB0
pu baudrate         57600
pu bits             8
pu parity           N
pu stopbits         1
pu minit

Далее следует проверить работу кабеля в следующей последовательности:

  • соединяем Rx и Tx интерфейса UART на преобразователе (при использовании клеммной колодки это очень просто!);
  • запускаем minicom;
  • нажимаем алфавитно-цифровые клавиши — minicom должен печатать соответствующие символы;
  • разъединяем Rx и Tx;
  • нажимаем алфавитно-цифровые клавиши — в ответ тишина, minicom ничего не должен печатать.

Если всё происходит так, как описано выше, что кабель исправен и им можно пользоваться.

Если же при выполнении описанной выше проверки minicom:

  • печатает не то, что набираем на клавиатуре;
  • печатает, когда печатать не должен;
  • вместо одного символа печатает два;
  • никогда ничего не печатает.

Это значит, что надо:

  • проверить, а к тому ли устройству /dev/ttyUSBx мы подключились?
  • проверить надёжность соединения Rx-Tx;
  • проверить, не произошло ли замыкания на интерфейсе UART;
  • проверить режим работы последовательного порта (правильно ли выставлена битовая скорость порта, число разрядов данных, разряд контроля чётности?);
  • проверить раскладку клавиатуры, буквы кириллицы в определённых ситуациях могут сбить minicom с толку.

Ссылки

 



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

Комментарии доступны через Intensedebate. Включите JavaScript.