Переходник USB–COM(RS232) своими руками.
Переходник USB – COM(RS232) своими руками – статья, в которой расскажу, как сделать несложный переходник всего за один вечер. Данный переходник, кстати, совместим с процессорным модулем CPU 166 P. Полезные схемы с применением микроконтроллеров и плис — книга, которая может пригодится в радиолюбительской практике.
Вот что понадобится для переходника:
Позиционное обозначение |
Наименование |
Аналог/замена |
С1-С4 |
Конденсатор керамический — 0,1мкФх50В |
SMD типоразмер 0805 |
С5-C8 |
Конденсатор керамический — 33пФх50В |
SMD типоразмер 0805 |
DD1 |
Микросхема MAX232 |
|
HL1-HL3 |
Светодиоды индикаторные диаметром 3мм. |
|
M1 |
Готовый модуль – переходник USB-COM(уровни ТТЛ) на микросхеме FT232 |
|
R1-R3 |
Резистор 0,125Вт 270 Ом |
SMD типоразмер 0805 |
R4 |
Резистор 0,125Вт 510 Ом |
|
R5,R6 |
Резистор 0,125Вт 100 Ом |
|
XP1 |
Штекер DB9 папа |
|
XP2 |
Штекер платный 3 контакта |
А также клипсы к светодиодам, небольшой пластиковый корпус, немного проводов и силиконовый клей.
Рисунок 1.
Если для Ваших целей достаточно уровней ТТЛ, то готовой платы на микросхеме FT232 будет достаточно(на рисунке 1 — красная плата), а если необходимо получить уровни близкие к уровням протокола RS232 — читаем дальше!
Первое, что сделал – закрепил светодиоды на лицевой стороне корпуса, используя клипсы.
Рисунок 2
Рисунок 3.
Светодиоды использовал на 3мм.
Далее канцелярским ножиком, осторожно, сделал отверстие для USB разъёма.
Рисунок 4.
Рисунок 5.
На плате есть готовые контактные площадки со всеми сигналами( согласно протокола RS232, только уровни ТТЛ), а также выведено питание и контакты для светодиодов RX и TX, используя данную плату, можно сделать полный переходник USB-COM. Полный переходник мне не нужен, ограничился сигналами RX и TX, а также использовал сигналы для подключения светодиодов. Для того чтобы перевести уровни ТТЛ в близкие к уровням протокола RS232, нужно использовать буферную микросхему MAX232, но об этом немного позже.
Рисунок 6
Плату, о которой говорилось выше, приклеил к основанию корпуса на силиконовый клей.
Рисунок 7
Когда клей высох подпаял светодиоды, чтобы ограничить ток использовал резисторы сопротивлением 270 Ом.
Рисунок 8
На одной из старых плат мне попался готовый фрагмент со всей необходимой обвязкой для MAX232. Оставалось только его вырезать и впаять микросхему.
Рисунок 9
Рисунок 10
Микросхемы MAX232 не нашел под рукой, вместо неё впаял аналог — ADM232.
Рисунок 11
С обеих сторон наклеил изоляционный материал. Использовал силиконовый клей.
Рисунок 12
Рисунок 13
Клей высох. Следующим делом вклеил получившийся «бутерброд» в корпус.
Рисунок 14
Спаял платы между собой по схеме, а также подпаял и закрепил разъём DB9.
Рисунок 15
Всё проверил. Полностью собранный переходник USB-COM(RS232).
Рисунок 16
Переходник в работе.
Рисунок 17
А вот процессорный модуль CPU 166P, для которого переходник и собирался.
Рисунок 18
На следующих фото — похожие переходники USB-COM, с ними связать модуль CPU 166 P не удалось.
Рисунок 19.
Рисунок 20.
Данные переходники построены на основе чипа prolific.
Видео
Файлы к статье:
Переходник USB – COM(RS232) своими руками(статья)
Даташит на микросхему FT232
Даташит на микросхему ADM232
Фотографии
Модуль USB-COM на Алиэкспресс.
pichobby.lg.uaКак подключить кучу старого RS232 оборудования по USB без регистрации и sms (STM32 + USB-HID)
Вместо вступления
Как обычно я предлагаю заняться странным — попробовать подключить несколько старых RS232 устройств, через один USB порт с помощью синей изоленты и смекалки. Статья не будет большой, скорее это описание что где взять и зачем вообще все это делать.
Зачем?
Нужно это бывает когда некий специальный аппаратный комплекс, состоящий из отдельных устройств и который выполняет какую-то единый функционал, вдруг начинают модифицировать. Разумеется что можно попробовать найти комплекс оборудования по новее, но в реальной жизнь на это идут очень редко. Начинают модифицировать то что есть. Иногда вдумчиво, но чаще как получится.
Как правило «мозгами» такого комплекса является компьютер у которого 100500 выходов RS232. Из примеров могу привести место кассира в супермаркете, банкоматы и тому подобное. С первым случаем столкнулся я.
Эти компьютеры не блещут мощностью, но отличаются космической стоимостью. Естественно он перестает отвечать требованиям современных технологий и многим приходит в голову идея заменить их на обычный ПК и получить приличную мощность по адекватной цене, однако быстро выясняется что RS232 на новых ПК вымер как класс. Теперь этот интерфейс стал сугубо специализированным. Соответственно надо или самостоятельно прикручивать кучу RS232 или искать уже готовое спец решение.
Разумеется что можно заменить само оборудование, но если вы посмотрите сколько стоит стационарный лазерный сканер приличной фирмы и помножите эту цену на их количество то передумаете.
Люди не посвященный в тему сразу радостно покупают пучок китайских USBtoRS232 переходников, а дальше все идет очень печально. Лучше этого не делать. Вторым вариантом является покупка специализированной платы расширения с кучей RS232. Этот вариант уже лучше и имеет право на жизнь, но тоже имеет свои недостатки. Например стоимость и проблемы с дровами если используется не Windows или не та версия. Так же не маловажным фактором является доступность в будущем, так как что-то выходит из строя и парк может расширятся в будущем. Потом оказывается что конкретная модель уже не выпускается или не постановляется в конкретную местность и т.д. В общем привязывать себя к конкретному устройству это всегда опасно, особенно если можно этого не делать.
Пробуем что-то сделать
Может показаться странным что примитивные RS232 устройства так сложно и дорого подключить по нормальному если по сути там обычно простые протоколы и примитивный физический уровень. А все потому что обычно подобные аппаратные комплексы используются в коммерческих доходных сферах и покупка оборудования по таким ценам оправдана, а само оборудование уже перешло в разряд специального. Спец оборудование = спец цена вопроса.
Однако все это не мешает попробовать собрать свой бюджетный велосипед. Бонусом получим возможность менять поведение такого своеобразного RS232 мультиплексора и полностью обойдем проблему написания USB драйверов. HID профиль поддерживается почти везде.
Однажды я прочел отличную статью автора RaJa До этого я интересовался USB, но до практики не доходило. В наличии у меня было несколько дешевых отладочных плат, китайских клонов Blue Pill на микроконтроллере Stm32f103c8t6. Сама история и идея создания этой платы очень интересная, стоит поинтересоваться.
Этот микроконтроллер отличается тем что имеет три UART и аппаратную поддержку USB. Это то что может быть нам интересно в разрезе нашей задумки, а вообще микроконтроллер на этой плате, работает на частоте 72Mhz и по характеристикам порвет любое Arduino схожего формфактора. Но самое главное преимущество это повсеместная распространенность этой платы. Я не знаю более простых и дешевых способов пощупать «железный» USB.
Добавив три дешевых преобразователя RS232toUART MAX2323 и немного «рассыпухи» можно собрать своеобразный конвертер интерфейса 3хRS232 <=> USB.
В моем случае нужно было подключить три RS232 устройства к Raspberry Pi 3. Если использовать обычные RS232 <=> USB переходники то в итоге сталкиваешься с тем что в системе куча одинаковых устройств к которым не понятно что подключено и все это дико глючит, а выглядит еще более печально.
Если вы немного капнете в сторону какие микросхемы USB to UART доступны повсеместно, то обнаружите что там полно подделок. Думаю не стоит объяснять как это все потом себя ведет с оригинальными драйверами. И никто не мсожет гарантировать вам что даже брендовые переходники вдруг не закупят левую партию микросхем. Удешевление производства оно происходит повсеместно.
В итоге придумалась примерно такая простая схема коммутации ее даже можно изобразить в стиле Arduino:
Я отломал резистор который подтягивает D+ к питанию и сделал эту подтяжку управляемой с помощью транзистора. Она отвечает за опознание устройства на USB шине.
Распиновка разъемов RS232 в программе (Fritzing) где я набрасывал схему странноватая, но думаю никому не составит труда найти ее в интернете, контакты задействованы как обычно 2,3 и 5. А еще удобнее будет использовать платы конвертера UART to RS232 котором уже присутствует разъем RS232.
Low Level
Код для микроконтроллера я писал и отлаживал с помощью IDE EmBitz (если честно то я был удивлен как легко завелась эта IDE, особенно после танцев с бубном вокруг CooCox. ). За основу взял проект из статьи выше. Это первый пример который у меня заработал сразу после заливки.
Я добавил работу с тремя UART и изменил структуру HID репортов так чтобы обмен с ПК шел всегда по 64 байта с контрольной суммой (crc8).
Попытался организовать автопереподключение устройства если соединение по USB не прошло корректно. Не претендую на супер алгоритм, должен признать что не являюсь специалистом по USB. Отдельный транзистор, отображенный на схеме, управляемый отдельным пином B5 подтягивает одну из сигнальных линий USB к питанию что имитирует включение устройства и хост проводит инициализацию устройства. Если попытка не удачная то происходит переподключение.
Было замечено что в Linux (Raspbian) процент не успешных подключений значительно меньше чем в Win 10, возможно этот результат получился из-за моих локальных технических условий.
Общий алгоритм похож на примитивный маршрутизатор, принимая пакет по USB мы смотрим какому UART оно предназначено и пересылаем туда, в обратную сторону аналогично. Есть немного обработки самих пакетов но это относится к конкретному RS232 оборудованию которое я подключал. Это были: экран покупателя Datecs dpd-201, стационарный лазерный сканер штрихкодов Datalogic Magellan 8300 и весы Digi DS890.
На фото выше тестовый образец устройства содержит еще DC-DC шим преобразователь питания на микросхеме MP2307.
Это нужно для того чтобы питать устройство от напряжения 10-24В (входное) и иметь возможность подключить дисплей покупателя который питается от такого же напряжения. После DC-DC шим преобразователя поулчаем 3.3В для всех остальных модулей. Для этого дисплея так же установлен «телефонный» разъем вместо RS232, не хотелось перепаивать стоковый штекер.
Проект лежит тут.
High level
Вторая часть софта это примеры и тесты собранные в сумбурный проект на Java написанный IDE IDEA. Предполагается что работа с устройством интегрируется в софт высокого уровня используя различные обертки по работе с USB стеком в зависимости от языка на кортом этот софт пишется. Сейчас сложно найти такой ЯП чтобы под него не существовало таких оберток.
В процессе тестирования выяснилось что работа в Linux и Windows с USB HID несколько отличается, работа отлаживалась через две библиотеки usb4java и hid4java. Работа через последнюю используется в Linux (Raspberry Pi 3).
Разница заключается в том что в Windows можно обратится напрямую к USB устройству даже если оно зарегистрировано как HID и писать\читать его конечные точки (endpoint). В Linux же приходится работать с hid устройством. То есть устанавливается стандартный драйвер hid и всё, работайте только с ним пожалуйста. Работа таким образом происходит немного медленнее чем напрямую, но напрямую тоже возможно если убедить систему не ставить драйвера. Это реально.
Как и обещал не растягиваю статью и не привожу подробное описание кода, те пару человек кому интересно могут посмотреть проекты и поиграться в живую, а остальным думаю будет полезнее принять к сведению что есть такое решение и прибегнуть к более глубокому изучению в случае необходимости.
Заключение
Представленное устройство это лишь одни из примеров как довольно легко можно приобщится к процессу создания нативных USB устройств и перестать наконец использовать переходники.
Не забываем плюсовать RaJa автора статью в которых на пальцах объясняется как пощупать железный USB и сохранить желание разбираться дальше.
habr.com
Переходник COM — USB | joyta.ru
В данной статье приведена подборка схем, позволяющая собрать несложное, но крайне полезное устройство: переходник Com USB.
Последовательный порт (RS-232), или как еще его называют COM-порт, предназначен для обмена информацией между компьютером и периферийными устройствами. Последовательным его назвали потому, что обмен данными по нему происходит бит за битом по одному.
Первоначально COM порт предназначался для соединения модема с компьютером. В дальнейшем к нему стали подключать мышь, сканер прочую периферию. Так же имеется возможность с помощью COM порта организовать прямое соединение двух компьютеров.
На сегодняшний день подавляющее большинство компьютеров не оснащаются RS-232 разъемом, поскольку широкое распространение получил стандарт USB. Но еще существуют многого внешних устройств работающих только с COM портом (различные программаторы, диагностическое оборудование, ресиверы и пр.). Выходом из данной ситуации является использование устройства переходник COM-USB. Ниже приведем несколько вариантов наиболее популярных схем данного переходника.
Полноценный переходник — COM адаптер для USB порта
на микросхеме FT8U232BM
Основа данной схемы является микросхема FT8U232BM — производителя FIDI Ltd. Устройство построенное по данной схеме поддерживает все сигнальные уровни (DCD, RX, TX, DTR, GND, DSR, RTS, CTS, RI) согласно распиновки COM порта.
Для согласования TTL уровней RS232 интерфейса с уровнями микросхемы FT8U232BM используются две микросхемы 74НС00. Микросхема памяти 93С46 предназначена для хранения персонального номера (PID), код изготовителя (VID), а так же заводской номер устройства. Данную микросхему можно и не устанавливать. В этом случае к компьютеру возможно будет подключить всего лишь 1 создающее виртуальный COM-порт устройство. Микросхему памяти AT93С46 возможно заменить на AT93C66, AT93C56. Прошивается 93С46 непосредственно на плате при помощи фирменной утилиты производителя FTDI.
Скачать datasheet FT8U232BM (1,4 Mb, скачано: 2 171)
Скачать драйвер для FT8U232BM (1,7 Mb, скачано: 1 884)
Упрощенный вариант на FT8U232BM
Это схема упрощенного USB-COM адаптера, который поддерживает только сигнальные линии RX, TX, RTS, CTS RS232 интерфейса. Для согласования уровней com порта с цифровыми уровнями FT8U232BM в схему добавлена микросхема MAX232.
Схема переходника для COM с USB на PL2303
Следующая схема построена на микросхеме PL2303HX, которая является преобразователем интерфейса USB в RS232. Производитель PL2303HX — Тайваньская фирма Prolific. В данной схеме также используется приемо-передатчик MAX232, преобразующий сигналы RX, TX.
Для правильной работы необходимо установить драйвер для виртуального COM-порта. Для этого скачиваем и устанавливаем драйвер по нижеприведенной ссылке.
Скачать драйвер для PL2303HX (3,5 Mb, скачано: 2 549)
Затем настраиваем виртуальный порт: выставляем в окошке «управление потоком» — НЕТ. Затем выбираем свободный номер порта.
USB — COM переходник на микроконтроллере Attiny2313
Питание микроконтроллера Attiny2313 осуществляется непосредственно от шины питания USB. Вся схема собрана на односторонней плате (SMD и ТН варианты). Устройство поддерживает только сигналы Rx и Tx.
Прошивку к переходнику, рисунок печатной платы (SMD и TH), а также программу терминал для проверки адаптера можно скачать по ниже приведенной ссылке:
Скачать файлы для USB переходника (1,4 Mb, скачано: 2 495)
При программировании Attiny2313, фьюзы необходимо выставить следующим образом:
Для работы устройства необходимо установить драйвер виртуального COM порта. Для этого скачиваем его:
Скачать драйвер (1,1 Mb, скачано: 2 680)
Теперь вставляем в USB порт компьютера наш адаптер, компьютер должен выдать сообщение «Найдено новое устройство», а затем предложит установить для него драйвер. Выбираем пункт «Установить с указанного места» и нажимаем на кнопку «Далее». Затем в новом окне выбираем путь к папке скаченного и распакованного драйвера и опять жмем кнопку «Далее». Спустя несколько секунд драйвер будет установлен и устройство будет готово к работе.
Для проверки работоспособности устройства, временно замыкаем Rx и Tx выводы и с программы терминала, так же находящегося в архиве, выставляем номер COM порта и отправляем любое сообщение. Для этого пишем например «Привет» и нажимаем кнопку «Send». Если переходник рабочий, то написанное сообщение появится в верхнем окне программы.
Переходник COM-USB на микроконтроллере Atmega8
Еще одна схема COM-USB адаптера теперь уже на микроконтроллере Atmega8 (Atmega48, Atmega88). Схема обеспечивает обработку Rx, Tx, DTR, RTS, CTS сигналов RS232 интерфейса. Драйвер виртуального порта для этой схемы такой же как и для переходника на attiny2313.
Прошивку для atmega8/48/88 и рисунок печатной платы можно скачать по следующей ссылке:
Скачать файлы для USB — Com на Atmega8 (1,5 Mb, скачано: 3 953)
Фьюзы при программировании для atmega8/48/88:
www.joyta.ru
Страничка эмбеддера » Какой переходник USB RS232 (COM) выбрать
Для работы срочно понадобилось купить проводок-преобразователь USB<->RS232. Естественно, православно было бы спаять самому, но, когда время поджимает, хочется быстро заиметь готовое решение.
Пошел на местный радиорынок и купил… Купил, каюсь, самый дешевый переходник (фотография выше). Обошлось это чудо китайской мысли в 80грн – 10$, не так уж и мало. Проводок мне показался идеальным – суперский экранированный USB провод, мягкий прозрачный корпус, нужная длинна.
Итак, первая проблема. Драйвер. В комплекте к проводку шел пустой компакт. Не, ну серьезно, записали хотя бы прон.
Ладно, не пальцем деланы – смотрим на микруху. Микруха безкорпусная, в черной блямбе, надписей ноль. Ставим все известный драйвера – FTDI, Prolific, Ch441. Микруха определяется, как Prolific, но драйвера не становятся. Долгие копания в интернете таки выяснили, что бывают пролифики, которым нужны другие (не те, что на сайте производителя) драйвера.
Нужный драйвер называется PL2303_Prolific_GPS_AllInOne_1013.exe, так что если столкнетесь с такой проблемой – знаете, что искать.
Драйвера, наконец, стали. Смотрим, что это чудо выдает.
Напомню, что логической 1 в rs232 считается диапазон -3…-15в, а логической 0 — +3…+15. Нулевому напряжению соответствует “зона неопределенности”.
Упс. В шнурке, оказывается, нет преобразователя уровней. Собственно и “USB->RS232” его нельзя назвать, потому, что это никакой не RS232.
Лирическое отступление
В множестве современных микросхем-драйверов rs232 (SP3243, SP3223) реализована функция энергосбережения (обычно ее называют Auto-online). Она работает примерно так:
Если на любом из входов микросхемы есть сигнал напряжением больше 3 вольт или меньше –3 вольт, микросхема находится в активном режиме (выходные драйвера активированы – микросхемы может посылать данные)
Если на всех входах напряжение в диапазоне –3…3 вольта, то передатчики микросхемы отключаются, и она уходит в спячку, потребляя при этом мизерный мизер тока.
Тоесть, микросхемы, которые используют такой режим, никогда не заработают с этим переходником.
Гребенные китайцы.
Второй переходник
Ладно, пошел я разбираться в магазин. Там мне без особых криков поменяли шнурок на почти в два раза более дорогой, еще бы (138грн = 17.25$).
Первое, что я заметил, когда воткнул его в USB – это невыносимо яркий синий светодиод. Бесит! Блин, что за мода – тыкать адские диоды во все подряд, а потом компьютер сияет как новогодняя елка. Пришлось заклеить наклейкой – ведь разобрать переходник не удалось.
Этот адаптер выдал канонические сигналы:
Как видно, и размах большой, и двуполярность соблюдена, и скорость нарастания сигнала ограничена (это, чтобы отражений не было в длинных кабелях). Но, блин, пила присутствует на верхушках (амплитудой 880 мВ). Это признак экономии на конденсаторах.
В принципе, меня этот сигнал устраивает.
Ну, и пару советов для тех, кто хочет заиметь такой переходник.
Внутри должно быть две микросхемы (USB->UART и UART->RS232). Часть с платой должна быть слегка удлиненная (иначе, там 2 микросхемы не вместятся, сравните фотографии).
PS в dealextrem’e переходничек стоит 2.92$. Почти в 6 раз дешевле, чем я купил, сейчас ко мне едет один, когда приедет, отпишусь.
Добавление от 2.08.2010:
пришел переходничек с dealextreme (вот такой: http://www.dealextreme.com/details.dx/sku.24512)
Он сделан на ch440 и, как и стоило ожидать за такую цену, не снабжен преобразователем уровня. В комплекте ужасного качества удлинитель USB длинной в 40см и диск с драйверами.
Ну, и выходной сигнал:
Как видно, он даже до 5ти вольт не дотягивает. Вердикт — полное гуано, зато дешево.
bsvi.ru
РадиоКот :: USB — RS-232 преобразователи
РадиоКот >Схемы >Цифровые устройства >Примочки к ПК >USB — RS-232 преобразователи
Продолжаем разговор про шину USB и ее применение в радиолюбительской практике.
В прошлый раз (USB 1.1 хаб. Light — версия) мы довольно успешно снабдили ПК десятком дополнительных USB-портов, теперь пришло время начинать использовать все это изобилие.
Естественно, первое, что приходит в голову, применить эти порты для обмена данными с собственными конструкциями на МК. Однако далеко не все МК сейчас имеют периферию для работы непосредственно с USB, а программная реализация этого протокола достаточно сложна и отнимает немало процессорного времени. С другой стороны, подавляющее большинство МК имеет «на борту» модуль универсального асинхронного приемопередатчика, который может работать в режиме, совместимом с протоколом RS-232, т.е. такой микроконтроллер при условии согласования уровней сигналов можно подключать непосредственно к COM-порту компьютера. А при чем здесь USB, спросите вы? Отвечу: производители, как всегда, подсуетились, в результате чего на рынке появилось несколько вариантов преобразователей интерфейсов USBRS-232. Т.е. в нашем распоряжении есть устройство, подключаемое к ПК по USB, а на выходе имеющее сигналы, понятные любому МК с модулем USART (или даже с программно реализованным USART»ом). Здорово? Конечно, здорово, особенно с учетом того, что ОС воспринимает такой переходник просто как еще один (виртуальный) СОМ-порт (VCP: Virtual Com Port) и позволяет работать с ним с помощью обычных терминальных средств.
Вот о микросхемах, позволяющих все это реализовывать, у нас и пойдет сегодня речь…
Пожалуй, наиболее распространенными на сегодняшний день являются преобразователи FT232BM от FTDI Ltd (USB 1.1) (ничего от Maxim не напоминает по названию? 😉 ), TUSB3410 от Texas Instruments (USB 2.0), а так же PL-2303 от Prolific. Что за звери такие? Будем разбираться…
FT232BM выпускается в 32 выводном корпусе LQFP-32 с шагом выводов 0.8мм.
Микросхема имеет интерфейс для подключения внешней EEPROM памяти (выводы 1,2 и 32), в которой могут храниться уникальные идентификационные коды производителя и типа устройства, а также текстовые строки, содержащие информацию о наименовании, производителе устройства и т.п. Микросхема может питаться либо от шины USB, либо от внешнего стабилизированного источника питания с напряжением 5В. В качестве генератора тактовой частоты используется кварц на 6MHz, подключаемый к выводам 27 и 28.
Микросхема имеет встроенный LDO-стабилизатор с выходным напряжением 3.3В, который служит для питания внутренней логики, но может использоваться и для питания каких-либо внешних устройств (вывод 6: 3V3OUT), правда, максимальный ток – всего 5мА. Уровень логической единицы на выходах модуля UART микросхемы (выводы 16-25) задается напряжением на входе VCCIO (вывод 13) и может изменяться в пределах от 3 до 5В (это нужно для обеспечения совместимости с 3-х вольтовой логикой).
Режим питания микросхемы определяется логическим уровнем на входе PWRCTL: лог.0 – питание от шины USB (Bus-Powered), лог.1 – питание от стороннего источника (Self-Powered). Инверсный вход RESET надо через резистор (а можно даже и без него) подтянуть к плюсу питания микросхемы – этого достаточно для нормальной работы. Выход RSROUT может использоваться для сброса внешних устройств в момент сброса FT232. Кроме того, к этому выводу подключается подтягивающий резистор для линии USB Data+. Сами линии Data+ и Data- — это выводы USBDP и USBDM соответственно.
Замечу, что вход TEST должен быть соединен с землей, в противном случае работа микросхемы нестабильна.
Выходы SLEEP и PWREN могут использоваться для управления внешними устройствами, в частности, SLEEP = 0, если микросхема не активна («спит»), а PWREN = 0 после окончания инициализации микросхемы при подключении и = 1, если микросхема не активна.
На выводах 16-25, как уже отмечалось, присутствуют все сигналы, предусмотренные стандартом RS-232. При подключении к ним соответствующих микросхем-преобразователей уровня возможна конвертация исходных данных, поступающих по USB, в поток байт протоколов RS-232, RS-422 или RS-485.
Прием и передача данных по USB могут отображаться светодиодами, подключенными к выходам RXLED и TXLED соответственно.
Схема, которую я обычно использую, приведена на рисунке:
Как видите, навесных элементов очень немного. Для подключения к МК достаточно использовать сигналы RX и TX, в ряде случаев может понадобиться организовать гальваническую развязку этой схемы с остальным устройством. С учетом того, что преобразователь питается от USB, достаточно добавить на RX и TX по оптрону, причем выход TX может напрямую управлять светодиодом одной из оптопар.
В качестве EEPROM можно использовать микросхемы памяти 93С46/56/66, достаточно и самой маленькой по объему:
С железом немножко разобрались, а что касается софта, то здесь тоже ничего сложного нет. С сайта производителя доступны для скачивания две версии драйвера: VCP Driver (только драйвер виртуального СОМ-порта) и D2XX Driver (дает ряд дополнительных возможностей, например, прямой доступ к USB – более интересен для программистов). Если планируется использование микросхемы памяти – надо ставить D2XX, кроме того, понадобится также специальная утилита для прошивки: MProg, также доступная для скачивания с сайта. В остальном – подключаете устройство к ПК, говорите ОС откуда взять драйверы, наблюдаете за установкой. В «Диспетчере устройств» в разделе «USB» должен появиться «USB Serial Converter», а в «Портах» — следующий по номеру «USB Serial Port». Все, можете с ним работать, как с обычным портом.
Так будет, если ваша FT232 работает без EEPROM (или с пустой) со стандартными VID&PID, присвоенными производителем. Если с помощью MProg прошить в память новые VID&PID, наименование устройства, его серийный номер и т.п., ваше устройство будет определяться уже совсем по-другому. Как – вам виднее, наступает простор для творчества. Хотя я бы все таки не рекомендовал менять стандартные VID&PID, а то получите сканер какой-нибудь… 😉
Я работал с этой микросхемой на скорости порта 115200, хотя драйвер позволяет выставлять максимальную скорость до 921600. В разделе «Port Settings» свойств порта есть кнопка «Advanced». Там в разделе «BM Options» параметр «Latency Timer» стоит поставить поменьше, т.е. 1мс – это увеличит скорость работы.
Если вы всерьез соберетесь использовать эту микросхему, советую ознакомиться с материалами на странице , там действительного много полезного и интересного, а многие моменты объяснены гораздо подробнее, чем в этой статье.
С TUSB3410 все будет несколько сложнее. Дело в том, что эта микросхема по своей сути – микроконтроллер с интегрированным интерфейсным модулем USB. Поэтому, как всякий микроконтроллер, ее придется еще и программировать…
Так получилось, что эта микросхема выпускается в таком же корпусе:
Функциональная оснащенность примерно та же: полный последовательный порт (выводы 13-21, только RX/TX называются SIN/SOUT), интерфейс для EEPROM (здесь это I2C), кварц, питание, Reset и четыре программируемые линии ввода/вывода общего назначения Р3.0 – Р3.4 – вот их-то у FTDI-ки точно не было… Напряжение питания микросхемы – 3.3В, что не очень удобно, поскольку при питании от USB заставляет использовать LDO-стабилизатор. Зато никаких хитрых режимов питания нет.
Ну что, как всегда, кратенько пробежимся по функциональному назначению выводов? Поехали…
С последовательным портом все вроде бы понятно, скажу лишь, что при соответствующей прошивке он может работать не только по протоколу RS-232, но и как IrDA приемопередатчик. Четыре линии ввода/вывода тоже не экзотика, производитель, в частности, предоставляет пример, где они используются для подключения нескольких кнопок, а устройство определяется ОС как HID-совместимое, что позволяет достаточно легко реализовать опрос этих самых кнопок.
DP, DM – линии Data+ и Data- USB, PUR служит для подключения подтягивающего резистора для линии Data+.
На линию VDD18 надо подать напряжение 1.8В от внешнего источника или, что проще, подать лог.0 на вывод VREGEN, включив тем самым внутренний источник на 1.8В, а на VDD18 добавить конденсатор 0.1мкФ на землю…
На RESET – обычную RC-цепочку, более чем достаточно, TEST0 и TEST1 надо подтянуть через 10кОм к питанию, а выход тактовой частоты CLKOUT мы использовать не будем.
Кварц 12МГц на ноги Х1 и Х2, выход индикатора SUSPEND – по вкусу, вход пробуждения WAKEUP можно оставить неподключенным или подтянуть через резистор к плюсу питания.
К линиям последовательного порта этой микросхемы также можно подключать непосредственно МК, опторазвязки или преобразователи уровней.
Вроде как все необходимое для минимальной конфигурации подключили, схема получилось вот такая:
Микросхема EEPROM здесь также не является обязательным элементом и лично я ее так ни разу и не использовал…
Итак, собрали мы эту схему, воткнули в комп, ОС нашла некое устройство и попросила ткнуть ее носом в драйвера для него. Вот тут-то самое интересное и начинается.
Как я уже говорил, TUSB3410 на самом деле микроконтроллер, внутри у него 8052-совместимое ядро. Соответственно, функционал нашего устройства определяется залитой прошивкой. Нам требуется пока что – преобразователь интерфейсов.
В принципе, при условии регистрации и предоставлении информации о вашем проекте производитель предоставляет и исходники, и прошивку для применения микросхемы в качестве преобразователя интерфейсов, но можно пойти и по другому пути. Эта микросхема используется в таком качестве в некоторых интерфейсных шнурках для мобильных телефонов, в GSM-модемах, в некоторых других устройствах. А драйвера для них доступны для свободной закачки. Более того, все эти драйвера содержат необходимую прошивку. Это связано с особенностями работы микросхемы.
Дело в том, что при установке драйвера прошивка для микроконтроллера копируется в /System32/drivers. Далее, при включении устройства TUSB проверяет наличие EEPROM и прошивки в ней. Если все в порядке – грузится с нее, если нет – подгружает прошивку с компа и записывает в EEPROM, если она есть. Или не записывает и просто работает. Если EEPROMа нет, при следующем включении процесс повторяется.
В общем, в результате анализа нескольких комплектов драйверов к готовым устройствам методом проб и ошибок, последовательных приближений и высоконаучного тыка был сгенерирован собственный работоспособный комплект. Во всех файлах драйверов и даже внутри прошивок стоят копирайты Texas Instruments, поэтому скажу, что все предпринятые над драйверами действия цели имели исключительно образовательные и некоммерческие, а здесь результат публикуется сугубо для ознакомления.
После подключения к ПК ОС найдет новое устройство «TUSB3410 Device» и потребует установку драйвера, надо указать на файл umpusbXP.inf. В ходе установки в системную директорию будут скопированы файлы umpusbxp.sys и umpf3410.i51 (прошивка). Далее система найдет виртуальный СОМ-порт, для него потребуется драйвер UmpComXP.inf.
В обоих *.inf-файлах помечены строки, изменив которые можно отредактировать названия определяемых системой устройств и установленные по умолчанию VID&PID, передаваемые ОС. Однако, как и в прошлый раз, я бы не стал этого делать без полного понимания того, к чему это может привести.
Для чего TUSB3410 нужна EEPROM я уже упоминал. Добавлю, что лично я с ней не экспериментировал, однако на сайте производителя доступны для скачивания утилита для генерации бинарного файла прошивки EEPROM на основе umpf3410.i51 и конфигурационного файла (содержит серийный номер устройства, VID&PID, строковые данный по аналогии с FT232BM) и утилита для непосредственной прошивки полученного файла в микросхему.
На странице, посвященной этой микросхеме при желании можно найти подробный даташит, ряд аппноутов, документы, описывающие особенности применения, ссылки на исходные коды и утилиты для работы. Настоятельно рекомендую посмотреть.
Результатом всех этих изысканий стало создание двух модулей преобразования протокола USB в RS-232, на FT232BM и TUSB3410 соответственно, которые можно рассмотреть на фотографии:
Монтаж, как видно, поверхностный, все детали на одной стороне, с изнанки – пара перемычек. Модули рассчитаны на вертикальное впаивание в плату, поэтому на них нет разъемов, а установлены PLS штырьки, которые, собственно, в плату и впаиваются. На дальней от нас стороне платы сделаны контактные площадки RX/TX (на модуле FT232BM их загораживает конденсатор), остальные сигналы последовательного интерфейса не выведены за ненадобностью: эти модули используются для сопряжения исключительно с МК.
Немножко возвращаясь к FT232BM. Ниже вы можете увидеть фото (а в конце статьи — скачать варианты разводки плат)
для двух конструкций на FT232BM с полным RS-232 портом.
В первой из них
cигналы RS-232 имеют TTL-уровень и выведены на двухрядный разъем BH-10 (по аналогии с материнскими платами), причем коммутацией входа VCCIO (вывод 13) на 5В или сторонний источник 3.3В (в данном случае применен LDO-стабилизатор, но можно, например, и параметрический использовать или регулируемый на LM317) при помощи джампера можно выбирать соответствующий уровень логической «1» на выводах порта RS-232. Эта конструкция разарабатывалась для отладки устройств, имеющих напряжение питания 3.3В
Еще один вариант модуля с полным RS-232 портом содержит в своем составе микросхему MAX213 — преобразователь уровней —
и, таким образом, по уровню напряжений обеспечивает совместимость с последовательными портами ПК.
Схема модуля представлена на рисунке:
А готовое устройство выглядит так:
Теперь о PL-2303: микросхема выпускается в 28-выводном SSOP корпусе с шагом выводов 0.65мм:
Микросхема во многом похожа на FT232, но есть и некоторые черты TUSB3410. Для работы требуется кварцевый резонатор на 12 МГц (выводы 27-28), уровень логической единицы последовательного порта определяется напряжением на входе VDD_232 (4), выводы 1-3, 5, 6 и 9-11 — полный последовательный порт. По аналогии с TUSB3410 микросхема имеет пару выводов (13-14) для подключения EEPROM через I2C (память также служит для хранения идентификаторов устройства). Вход 23 определяет режим токовой нагрузки USB-порта («1» — 500мА, «0» — 100мА), вход TRI-STATE определяет состояние выходов последовательного порта при инициализации микросхемы: «1» — высокий уровень, «0» — высокоимпедансное состояние. Отдельные входы питания для логики (8, 20) и PLL (24) в общем случае могут быть присоединены к шине питания USB, однако желательно в непосредственной близости от них установить керамические конденсаторы на землю. PL-2303 имеет встроенные источник напряжения 3.3В для питания USB-трансивера (вывод 17), который используется также для установки подтягивающего резистора к линии Data+. Как обычно, за более полным, точным и правильным описанием стоит обратиться на сайт производителя. Схема модуля, разработанного на основе этой микросхемы, представлена на рисунке:
Фотографии готового устройства:
Как видно, этот модуль также содержит в своем сотаве микросхему MAX213 (SP213), поэтому обеспечивает поддержку полнофункционального
порта RS-232, совместимого по уровням с портами ПК.
Для полноценой работы этого устройства под управлением ОС семейства Windows понадобятся драйверы, доступные для скачивания
на сайте производителя. Поскольку на этих чипах
делается достаточно много интерфейсных шнурков для подключения мобильных телефонов к ПК, вполне вероятно, что подойдут
драйвера и от них.
Вопросы, как обычно, складываем тут.
Файлы:
Модуль FT232BM (формат SL5)
Модуль FT232BM + EEPROM (формат SL5)
Модуль FT232BM + EEPROM с 3.3В интерфейсом и полным портом RS-232 (SL5)
Модуль FT232BM + EEPROM с полным RS-232 и MAX213 (плата SL5 и схема SPlan)
Модуль TUSB3410 (формат SL5)
Драйвер TUSB3410 (WinXP)
Схема и плата для PL-2303 (SL5)
Как вам эта статья? | Заработало ли это устройство у вас? |
www.radiokot.ru
Переходник USB to COM (RS232) YP-01 на чипе PL2303HX
Переходник USB to COM позволит подключать различные устройства (спутниковые тюнеры, GPS навигаторы, Arduino платы, автосервисное оборудование и пр.) к компьютеру или ноутбуку, у которых нет COM порта. Данное устройство эмулирует виртуальный COM порт, который в работе ничем не отличается от реального порта.
Данный переходник был куплен на Aliexpress и в сегодняшней статье я подробно расскажу про него.
Изначально переходник был помещён в какую то термоустойчивую изоляцию, но как оказалось USB разъём не до конца был припаян, поэтому пришлось снять изоляцию и допаять разъём. Во всём остальном нет никаких нареканий.
Устройство построено на чипе PL2303HX.
Для питания различных программируемых устройств имеются выходы 5В и 3,3В. Так же на плате имеются три светодиодных индикатора: индикатор питания (P) и два для визуальной индикации передачи данных (T) и (R).
Установка драйвера на различных операционных системах
Чип PL2303 имеет много версий. Драйвер для устройств с чипом версии PL2303HXA / XA / HXD / EA / RA / SA / TA / TB поддерживает следующие версии операционных систем семейства Windows (32 и 64-бит):
— Windows 2000 SP4
— Windows XP SP2 and SP3
— Windows Server 2003
— Windows Vista
— Windows Server 2008
— Windows 7
— Windows Server 2008R2
— Windows 8
— Windows Server 2012
— Windows 8.1
— Windows Server 2012R2
— Windows 10
Установка драйвера на Windows XP SP3 и Windows 7.
При подключении устройства к компьютеру, в диспетчере устройств отображалось неизвестное устройство «USB-Serial Conroller».
Установка на Windows XP SP3 32-bit не вызвала никаких проблем, драйвер установился стандартным способом. После установки в диспетчере устройств определяется устройство «Prolific USB-to-Serial Comm Port». Возле названия устройства будет отображаться номер виртуального COM порта, в моём случае это порт COM18.
Установка на Windows 7 32-bit так же не вызвала проблем, в примере устройство установилось на порт COM3.
Внимание! Windows 8 / 8.1 / Server2012 / Server2012R2 и Windows 10 не поддерживаются в версиях чипа PL2303HXA / XA.
Для точного определения версии чипа необходимо воспользоваться программой «CheckChipVersion_v1006».
Эти действия рекомендуется проводить на Windows 7.
Запустив программу и выбрав COM-порт, на который установился драйвер, нажимаем кнопку «Check». COM-порт нужно выбрать тот, который у вас в диспетчере устройств. На Windows 7 у меня COM3.
На Windows XP SP3 у меня так же определялась версия чипа, хотя пришлось поменять номер COM-порта на свободный от 1 до 15, поскольку «CheckChipVersion_v1006» работаем с номерами портов до COM15.
Как видно из примера, у меня как раз устройство оказалось на чипе PL2303 XA / HXA, версия которого не поддерживается в Windows 8 / 8.1 / Server2012 / Server2012R2 и Windows 10.
Для установки драйвера на эти операционные системы, необходимо использовать другой драйвер.
Установка драйвера PL2303 на Windows 8 , 8.1 , Windows 10 64-bit.
У многих возникают проблемы с установкой драйвера PL2303 на данные версии операционных систем.
Если драйвер не подходит, в диспетчере устройств напротив найденного оборудования будет в треугольнике знак восклицания.
В статусе устройства будет «This device cannot start. (Code 10)».
Для того что бы всё работало, нужно установить правильный драйвер.
Процесс установки:
1. Извлечь с USB сам переходник.
2. Запустить установку драйвера, в процессе установки появится сообщение об извлечении устройства, если до этих пор оно не было ещё извлечено. Нажимаем «Continue».
3. Перезагрузить компьютер.
При подключении к USB, переходник корректно отобразится в диспетчере устройств. В примере проводил установку на Windows 10 Pro 64-bit.
Как проверить работу виртуального Com-порта.
Драйвера установлены, но нужно как то проверить работу виртуального Com-порта. Для этого можно соединить заглушкой выводы Tx и Rx, и через программу Terminal v1.9b отправить произвольные данные. Если программа получит отправленные данные в полном объёме, тест можно считать пройденный.
В разделе «COM Port» выбираем порт, на котором висит ваш переходник (свой номер порта смотрим в Диспетчере устройств), у меня это COM29. Нажимаем на кнопку «Connect» (при подключении она превратится в Disconnect). В нижнем поле пишем произвольные данные и нажимаем кнопку «Send«, при исправном переходнике в центральной части программы отображаются принятые данные в полном объёме.
Практический пример по использованию данного переходника, при прошивке китайского аналога Arduino Pro mini.
radiolis.pp.ua
Переходник USB to COM (RS232) YP-02 на чипе Ch440G
В сегодняшнем обзоре будет переходник USB to COM (RS232) c уровнями TTL/CMOS, на чипе Ch440G. Ранее я уже делал обзор на подобный переходник, но на чипе PL2303HX, у которого с установкой драйвера, на различных версиях Windows, у многих возникали проблемы. Переходник на Ch440G лишён этого недостатка и драйвер без проблем устанавливается на различные Windows.
С помощью этого переходника можно программировать платформы Arduino и ESP, прошивать роутеры и прочее оборудование.
Вид переходника USB to TTL со стороны деталей.
Устройство построено на чипе Ch440G, на том же что и многие китайские аналоги Arduino UNO.
Для индикации имеются светодиоды включенного питания и сигналов RxD и TxD.
Вид переходника с обратной стороны. На плате у продавца была маркировка YP-02, на моей эта надпись отсутствует.
Для питания различных устройств, которые будут подключатся через этот переходник, предусмотрен выбор напряжения (3,3v или 5,0v). Если устройство должно питаться от 5 вольт, должен быть установлен джампер на контактах «3V3» и «VCC». Для питания от 3,3 вольта, нужно замкнуть «5V» и «VCC» соответственно.
Установка драйвера на различных операционных системах
Драйверы доступны для всех распространённых операционных систем и проблем с совместимостью возникнуть не должно.
Драйвер Win98, ME, 2000, XP, Server 2003, Vista, Server 2008, Server2012, Win7, Win8 32/64, Win8.1, Win10:
Драйвер Linux:
Драйвер Mac OS 32, Mac OS 64:
Установка драйвера на примере Windows XP и Windows 7
При подключении устройства к компьютеру, в диспетчере устройств появилось устройство «USB2.0-Serial«.
Устанавливаем драйвер.
Устройство определяется как «USB-Serial Ch440«.
В качестве работоспособности подключил к переходнику свой китайский аналог Arduino Pro mini и без проблем «залил» нужный скетч.
radiolis.pp.ua