Ссылки:
we.easyelectronics.ru
Большинство устройств блога GetChip.net
Теперь переходим поближе к теме вопроса.
Итак, мы поняли, что нам нужен преобразователь USB – UART. Заиметь его можно несколькими способами:
1 Купить нужную микросхему и спаять устройство самому. Если Вы собираете какое либо устройство, будет удобно если преобразователь будет интегрирован в устройство. Если погуглить, то найдется много схем таких преобразователей – вытравить плату и собрать преобразователь не будет проблемой.
2 Купить уже готовый преобразователь. Тоже не плохой вариант. Таких устройств в продаже хватает с избытком. В разном форм-факторе, в разной цене – выбирайте на любой вкус!
Для начала, нужно купить этот самый шнурок.
Не все шнурки подходят. Предварительно нужно погуглить на предмет названий шнурков, которые имеют преобразователь. Визуально нужно искать шнур с коробочкой посредине.
Вот упаковочная коробка и ее содержимое.
В комплект входит сам шнур и диск с драйверами. Диск сразу можно выбросить – там такой сборник мусора, что найти что-то нужное проблематично. Берем сам шнурок.
Теперь внимательней рассмотрим плату преобразователя.
В результате рассмотрения обнаруживаем микросхему Prolific PL-2303HX.
В 90% случаев в подобных шнурках мы увидим именно эту микросхему.
Причина – ее дешевизна. Более того, эта микросхема будет стоять и в большинстве преобразователей USB – UART, которые Вы купите в магазине. Очень редко встретите FT232, так как она дороже и в дешевых китайских шнурках ее нет (разве что шнур какой-то фирменный попадется). Если Вам попался FT232RL – считайте повезло, на таком шнурке можно и программатор забабахать (FT232RL может работать в битбанг режиме).
Обратите внимание! Можно на плате найти клон Prolific. Такой, например, стоял во втором, из купленных мною шнурков.
Плата та же, обвеска та же, но кристалл явно не Prolific (судя по внешнему виду более дешевый клон). Настораживает отсутствие кварца, но плата работает (подозреваю, что работает от внутреннего RC генератора – это не очень гуд). В любом случае такие микросхемы полный аналог (по крайней мере по ногам) Prolific.
Теперь идем на сайт Prolific и скачиваем даташит на микросхему
Вы не можете скачивать файлы с нашего сервера — Преобразователь USB-UART Prolific
В даташите находим распиновку и смотрим, на каких ножках нужные нам сигналы UART:
– Передатчик TXD – 1 ;
– Приемник RXD – 5 .
Находим соответствующие ножки на микросхеме.
Шнур готов.
Опять идем на сайт Prolific и скачиваем драйвер.
Вы не можете скачивать файлы с нашего сервера — Драйвер преобразователя USB-UART Prolific
Запускаем файл (шнурок вставлять не нужно) – произойдет установка. Все готово. Теперь вставляем в USB шнурок – произойдет автоматическая установка драйвера для порта. В компьютере появиться виртуальный COM порт.
Преобразователь готов к работе.
Достоинствами такого переделанного дата кабеля, по сравнению с готовым преобразователем или самостоятельной сборкой, являются:
– цена всего шнурка может быть даже меньше, чем стоимость микросхемы установленной в нем, а если такой шнур завалялся дома то цена падает до нуля;
– мы получаем устройство в аккуратной коробочке со шнуром и USB разъемом.
Вот, собственно и все. Пользуйтесь!
Источник: /engine/api/go.php?go=https://www.getchip.net/
www.ingeneryi.info
Честно признаться, поначалу я не планировал повторять на микроконтроллере ATtiny2313 схему преобразователя UART to USB из прошлого поста, так как функциональность варианта на ATmega8/48/88/168 лучше, больше возможностей, небольшой размер. Но в виду большей доступности и меньшей стоимости микроконтроллера ATtiny2313 решил, все-таки, сделать еще один преобразователь. Начав делать новый преобразователь понял, что принял правильное решение. Разводка печатной платы для СМД компонентов получилась очень удачной (самому нравиться !) – односторонняя, компактная, без перемычек. Кроме того, неожиданно, для данного преобразователя нашлось необычное применение (об этом будет отдельный пост). Как и в предыдущей схеме для преобразователя будут варианты прошивок для SPI to USB, IN-OUT то USB, а попозже, когда разберусь с более срочными проектами, будут еще варианты применений. Короче – продолжение следует …
Внимание! Появилась новая версия печатной платы преобразователя. 055-UART to USB – простой преобразователь на ATtiny2313 (Версия 2). Внесены изменения делающее преобразователь еще удобнее, прошивка и драйвер остались прежними.
Итак, для начала схема преобразователя
Схема взята с сайта источника (там же можно найти описание).
Поразмыслив над вариантами применения схемы, решил немного модифицировать схему (на схеме красными показаны изменения).
Зачем мне понадобилось менять схему?
USB порт имеет выход питания 5v, в то же время уровни сигнальных линий 3.3v. При питании микроконтроллера напрямую от USB порта уровни сигнала на ножках будут 5v. Для сигнальных линий USB порта это много.
В оригинальной схеме для приведения уровней сигналов микроконтроллера к нужным 3.3v микроконтроллер запитывается через светодиод. В результате падения напряжения на светодиоде напряжение питания на микроконтроллере выходит в пределах 3-с-чем-то вольт (зависит от потребления микроконтроллера и типа светодиода). Соответственно и уровень на сигнальных линиях будет те самые 3-с-чем-то вольт.
Достоинство такого решения – простота. Недостатки – заниженное питание микроконтроллера (хотя можно опускать и до 2.8v, но с уменьшением питания возможны проблемы при такой частоте задающего генератора). Еще один недостаток несоответствие уровней преобразователя и устройства, к которому он должен будет подключаться (в большинстве случаев в устройствах питание 5v). При соединении линий с разными уровнями напряжений в них появляются уравнивающие токи. Их можно уменьшить, поставив в разрыв ограничительный резистор (схема становится более восприимчива к помехам) или собрав схемку согласования.
Я выбрал другой вариант — запитать микроконтроллер напрямую от USB порта (5v) и поставить на сигнальные линии стабилитроны. Стабилитроны уменьшают напряжение на линиях до необходимого уровня. Но нужно поставить стабилитроны немного большего напряжения (достаточно 3.6v), иначе через стабилитрон будет замыкаться на «землю» выходной сигнал USB порта.
Достоинства схемы – микроконтроллер работает от штатных 5v и при этом не требуется согласования с подключаемым устройством. Вот исходя из этих соображений я и поменял схему.
Собираем преобразователь.
Как и в предыдущем посте не плате предусмотрен стандартный разъем USB-папа. С таким разъемом не будут возникать проблемы с подключением. Можно воткнуть прямо в комп, а если нужно преобразователь приблизить к устройству – используем USB-удлинитель.
041-T2313-SMD.lay v1.0 [25.03 KB] — Печатная плата в формате Sprint-Layout для SMD компонентов
Печатная плата получилась компактная, односторонняя и без перемычек. Есть, правда, одна перемычка – резистор с нулевым сопротивлением, но он нужен как защита от перегрузок порта. При возникновении короткого замыкания питающих линий USB порта резистор с нулевым сопротивлением перегорит и разомкнет цепь.
В печатную плату я ввел область для макетирования (правая сторона платы). В этой области можно будет собрать несложные устройства, которые смогут взаимодействовать с компьютером через USB порт. Если эта область не нужна ее можно отрезать, сделав плату еще компактней.
Плата в сборе:
Как видно на плате не установлены все резисторы – они не нужны для преобразователя UART – USB, но могут понадобится для других целей. Позже под конкретные цели мы их припаяем.
Разъемы я припаял угловые, чтобы меньше торчали. Сзади платка тоже выглядит довольно аккуратно.
На плате есть разъемы для программатора. Программировать можно прямо в USB порте, но лучше запитать плату от внешнего источника.
041-T2313.hex v1.0 [2.54 KB] — Прошивка преобразователя UART to USB для ATtiny2313
041-T2313-FuseBit [3.55 KB] — Фьюзы для микроконтроллера ATtiny2313 (преобразователь UART to USB)
После прошивки нужно установить драйвер для виртуального COM порта. Драйвер берем здесь или с предыдущего поста (он один и тот-же), там-же описано как его установить.
040-avrcdc_inf.zip (21006)
После установки драйвера преобразователь будет видеться компьютером как COM порт, и соответственно работать с ним будут все программы работающее с COM портом.
Для проверки работоспособности собранного устройства замыкаем вход с выходом и посылаем сообщения в COM порт с программы терминала. Отправленные сообщения должны вернуться как принятые. В предыдущем посте смотрим как это сделать.
Terminal (18850)
Есть печатная плата для варианта микроконтроллера в DIP корпусе и TH-компонентами:
041-T2313-TH.lay [16.63 KB] — Печатная плата UART to USB в формате Sprint-Layout для TH компонентов
Собранная плата выглядит вот так:
Устройство готово!
P.S. Немного тормозю с постами — отпуск.
(Visited 17 355 times, 9 visits today)
www.getchip.net
Хотя мой старенький стационарник не обделен самым настоящим COM портом, не всегда удобно привязываться к одному компьютеру, если требуется подключить какое-либо устройство на микроконтроллере. Учитывая мою любовь использовать в своих проектах UART, решил собрать модуль преобразователя USB-UART на микросхеме FT232RL. Преобразователь позволяет создать соединение на любом компьютере имеющем USB разъем, тобишь на любом.
Обвязка FT232RL минимальна, для работы устройства, помимо самой микросхемы, требуется пара конденсаторов. Также для индикации работы можно повесить 3 светодиода, которые будут сигнализировать о наличии питания, приеме и передаче данных. Само устройство собрано в форме флэшки, поэтому приткнутся к USB-порту можно в любой момент. На выходе устройства на разъем выведены пины Tx и Rx, с логическими уровнями TTL, а также питание +5В, которым можно запитывать подключаемое устройство. Схема устройства приведена ниже:
Сперва даже и не знал, получится ли запаять ФТшку, страшнее казалось только вытравить плату под нее: ширина ножек 0,3 мм при шаге 0,6 мм (расстояние между ножками 0,3 мм).
Но глаза боятся, а руки делают!
Плату сделал ЛУТом, рисунок на медь переносил с помощью фотобумаги
В итоге отличный перевод дорог на медь, без подрывов и бумага отходит после перекатки сама, не надо отмачивать в воде. Минимальная ширина дорожки в итоге 0,3 мм без проблем. Запаялась микросхема тоже без особых проблем, только нужно лить побольше флюса, чтобы припой собирался только в отведенных для него местах, а не растекался между ножек:
После прозвонки на ненужные замыкания дорожек, устройство можно втыкать в USB порт. Операционка (у меня это win7) сразу найдет новое устройство и предложит найти драйвер. Если имеется подключение к интернету, можно выбрать автоматическую загрузку и установку драйвера, центр обновления windows все сделает сам:
Если подключение не доступно, выбираем ручную установку и скармливаем ей нужный драйвер, скачать его можно по ссылке ниже:
Устанавливать драйвера нужно 2 раза, сперва устанавливается USB драйвер для FT232RL:
После чего windows тутже обнаружит еще одно неопознанное устройство, тыкаем ее снова в папочку с драйверами и она находит виртуальный COM порт:
Проверить работоспособность устройства можно следующим образом: открываем любую терминальную программу, выбираем в настройках COM порт созданный при установке драйвера, замыкаем джампером контакты Rx и Tx, и отправляем любую команду в терминал. Если команда вернулась, значит модуль выполняет свое предназначение. Также при этом должны весело мигнуть светодиоды индикации приема/передачи.
Прокачка устройства
Особый интерес вызывает возможность подкрутить настройки устройства, хранящиеся в EEPROM FT232R, посредством фирменной утилиты FTDI MProg. Скачать программу можно по этой ссылке. После запуска программы, создаем новый проект (File-New) и выбираем тип устройства Device Type: FT232R. В настройках есть возможность настроить входы/выходы устройства под свои нужды (например, переназначить выводы светодиодов индикации как сделал это я), присвоить ему индивидуальный серийник, изменить некоторые настройки USB, и самое интересное – изменить имя устройства. То самое, которое будет появляться при каждом подключении девайса к компьютеру. Кнопка программирования (синяя молния) становится активной после сохранения настроек: В общем достаточно полезная утилита. Теперь переходим к самому интересному, а именно сделаем какой-нибудь девайс работающий с UART.
Мини-терминал
Получившийся девайс можно использовать как систему мониторинга, например удаленный контроллер с датчиком шлет измеренные показания, и они выводятся на дисплее. Если найду подходящие RF модули обязательно организую такое 🙂
Исходники и прочие материалы статьи можно ниже:
Исходный код в Bascom-AVR
Печатная плата для преобразователя USB2UART в DipTrace
Проект мини-терминала в Proteus
avrproject.ru