USB UART адаптер
Как следует из названия данный прибор организует мост между компьютером через USB порт и вашим устройством по Serial протоколу. Можно сказать что он является USB COM портом для логики TTL (уровни 1.8v-5v).
С помощью данного прибор можно программировать различные микроконтроллеры, получать информацию на компьютер со прибора по serial порту. Кроме этого применений ему масса:
-
управление устройством
-
отладка программы
-
передача небольших объёмов данных
-
прошивка различных приборов —разработчики часто делают выход serial для возможности перепрошивки своего устройства
-
прошивка микроконтроллеров — многие микроконтроллеры имеют Bootloader (специальная программа для загрузки прошивки по serial) загруженный на заводе, и для загрузки прошивки не нужен специальный программатор — достаточно данного устройства.
Нам он будет необходим в первую очередь для прошивки ST-Link. Ну и собственно так как тут нечего программировать — прибор состоит из одной микросхемы — то на этом приборе мы поучимся паять и работать в Kicad. В этой статье подробно рассмотрим как трассировать печатную плату вручную.
1. Прочитать эту статью внимательно и до конца!
2. Подготовить или приобрести необходимые инструменты: все для пайки
3. Внимательно прочитать статьи из раздела Обязательная теория.
4. Скачать необходимые файлы по данному прибору с github.
5. Изготовить плату для прибора самостоятельно (это совсем несложно, в нашей инструкции все подробно описано).
6. Приобрести все необходимые комплектующие в виде готового радиоконструктора можно в нашем магазине.
7. Запаять все компоненты на плату, смотри наше видео.
ПРИБОР ГОТОВ, можно пользоваться!
Для реализации данного моста обычно используется специализированная микросхема, которая с одной стороны имеет usb выход, а с другой — serial выход. Обычно эти микросхемы имеют драйвера для Windows \ Linux и определяются системой как COM — порт. Дальше используется специальная программа для работы через COM порт. Это может быть и программа прошивки микроконтроллера или программа для получения данных от прибора и т. д.
По сути данное устройство будет состоять из разъемов, микросхемы и минимальной ее обвязки. Так что, у нас не будет никакого функционального ТЗ в данном случае. Основной критерий по которому мы будем выбирать микросхему — удобство пайки, цена.
Итак, самые распространённые микросхемы для данного девайса:
-
cp2102 (cp2103) — дешевая отличная микросхема, но имеет корпус QFN28 — то есть безвыводный корпус — паять такую в самом начале пути не очень легко — поэтому мы ее не будем использовать
-
pl2303 — отличная микросхемы фирмы Prolific — существует очень много вариантов этой микросхемы (в том числе китайские подделки). У нее корпус TSOP28 — отлично подходит для пайки. И старые модификации стоят недорого и отлично работают. Мы будем использовать ее — модификацiия pl2303TA — самый недорогой вариант. Есть модификация Rev. D которая не требует внешний кварц — но она стоит в 2 раза дороже.
-
Ch440 — китайский вариант (оригинал) моста — микросхема хорошая — но ее трудно купить где-либо кроме как в Китае.
-
FT232R — микросхема от FTDI — отлично подходит и работает — но стоит почти в 2 раза дороже. Ее плюс также в том что не требуется внешний кварц.
Несколько слов о том как подобрать микросхему для своего проекта. Есть очень простой путь. Сначала необходимо найти одну микросхему которая подходит под данную задачу. Набираем в интернете — USB — serial chip и сразу находим — FT232R. Отлично. Далее идет на сайт крупного поставщика микросхем — например — mouser.com. Там в поиске набираем — FT232R. И в разделе интегральных схем видим нашу микросхему.
Самое главное для нас здесь — ЭТО КАТЕГОРИЯ в которую входит микросхема. Здесь это «ИС интерфейс USB». Также смотрим тип «Bridge, USB to UART». Идем в эту категорию и смотрим какие бывают микросхемы. Далее проверяем по datasheets подходит ли она нам.
Итак, наш выбор PL2303TA.
Любая схема должна начинаться с чтения Datasheet. Производитель микросхем очень заинтересован в том, чтобы купили именно его чип. В документации он обычно максимально подробно разбираем как пользоваться микросхемой, прикладывает схемы и пишет тонкости и особенности реализации прибора на этом чипе. Посмотрим что советует нам производитель (из документации на чип pl2303HXD):
тут приведена полная схема с трансивером (преобразователь уровня до 9v) для получения полного COM порта. Нам эта часть не нужна. Также схема не содержит кварца, а нам он необходим. Дополнительно можно отметить, что еще не хватает светодидов для сигнализации процесса обмена данными. В итоге поискав различные варианты схемы на данной микросхеме (pl2303 schematic) нашли самую простую схему со светодиодами и кварцев — ее и возьмем.
По сути на этой схеме сокращена обвязка USB порта (убраны высокочастотные фильтры L1 L2), убран трансивер. В остальном схема совпадает. Мы же дополнительно ещё добавим разводку всех сигнальных выводов DTR и т. д. – они могут быть полезны. Также следует отметить, что на вывод согласования уровней в нашей версии чипа нельзя подавать 5v, поэтому на разъеме уберем подальше этот вывод. Сам вывод для согласования уровней оставим — вдруг необходимо будет пользоваться UART на 1.8v. Таким образом, по умолчанию у нас будет стоять джампер соединяющий вывод 4 и 3.3v и на выходе всех сигналов UART у нас будет 3.3v. Данного напряжения уверенно хватает для определения логической 1 в 5v схеме, согласно datasheet все сигнальные ножки толерантны 5v ( то есть на них можно подавать 5v смело). Так что при таком подключении схема будет работать с напряжением от 3.3в до 5в. Дополнительно оставим выводы 5v и 3.3v для питания например прошиваемого контроллера. Имейте ввиду, что без внешнего EEPROM usb порт будет отдавать только 100ma! Соответственно питать что-то существенное не получится.
С точки зрения чертежа схемы в Kicad никих особенностей нет. Проще не чертить соединения проводами, а использовать метки, тем более это будет удобно в дальнейшем при трассировке платы. В итоге получается такая схема (проект в Kicad можно скачать в конце статьи):
Разрабатывая схему, можно сразу прикинуть в какой последовательности будут идти вывода на разъеме. Чтобы было проще лучше чтобы порядок соответствовал выводам на самом чипе. Но в принципе это не столь важно и можно впоследствии быстро переделать.
Прежде чем разрабатывать плату необходимо определится какие у нас будут использоваться разъемы и определить посадочные места. Мы будем делать плату переходник которая втыкается в usb порт и на конце имеет угловые разъемы PIN 2.54mm — это самый распространяенный формат. На конечный разъем мы выведем только наиболее нужные выводы — остальное просто разведем на плате и оставим как дырки на будущее. Основные выводы: RX, TX, 5V, 3.3v, DTR (часто используется как reset схемы микроконтроллера при прошивке). Остальные выводы разведем в самом конце.
Итак, начинаем трассировку платы. В схеме формируем список цепей — Инструменты — сформировать список цепей. Переключаемся в плату и по кнопке Инструменты-Список Цепей — прочитать текущий список цепей. Загружаем все посадочные места в плату. Далее размещаем все посадочные места в авторежиме. Получаем такой набор компонентов.
На данном этапе лучше скрыть лишнюю информацию. Убираем отображение слоев Связи, Скрытый текст, Значения, Обозначения.
Далее начинаем располагаем на будущей плате основные компоненты — разъемы и чип. Так чтобы выводы чипа располагались согласно подключению разъемов. Особенно важно в этом случае чтобы выводы подключения USB были напротив разъема. Наводим мышку на нужный компонент — жмем M — и переносим его чуть ниже на пустое место — формируем будущую плату. Так как плата у нас двух стороняя — то надо сразу определить нужную сторону компонент. Самый просто вариант — все DIP элементы (под которые надо сверлить сквозные отверстия) располагаем с обратной стороны, а все smd элементы с основной стороны — так проще будет подводить дорожки. Для смены стороны используем кнопку F. Так как Kicad умеет подсвечивать связи при переносе элемента, то очень удобно все резисторы связанные с разъемами размещать сразу. Это позволит быстро увидеть связи при переносе микросхемы. Итак, размещаем USB разъем, потом резисторы с ним связанные на сигнальных линиях и потом разъем на другом краю платы:
дальше размещаем чип — так чтобы было как можно меньше пересечений.
Далее размещаем кварц (тоже с обратной стороны — он у нас выводной). Он должен быть как можно ближе к выводам чипа.
После этого размещаем кондецаторы по цепям питания — они должны быть как можно ближе к выводам питания.
После этого соединяем дорожками обязательные выводы — это usb сигнальные — кварц, кондецаторы по питанию. Прикидываем линии питания. Если что-то не удобно — то компоненты двигаем — переносим.
Например кондецатор C3 удобнее перенести вниз чтобы не делать переходное отверстие. Конечно это не очень хорошо — но в данном случае дорожка будет очень небольшая.
После размещения основных элементов размещаем оставшиеся — ориентируясь на подсказки по связям и стараясь не пересекать дорожки.
Теперь осталось разобраться с разъемами и линиями питания — их можно провести по второму слою. В итоге видно, что довольно сложно получается развести светодиоды и подтягивающие резисторы. Они перекрывают остальные выводы. Поэтому проще их перенести на другую сторону — она как раз будет лицевой, и туда же провести линию vddio.
Осталось выводы на разъеме расположить в порядке следования выходов чипа. И финально все соединить. На этом этапе плату можно сделать более компактной. Финальный вариант который получился. Можно сделать еще лучше .. но вариант удовлетворительный.
Финально остается задать диаметры переходных отверстий и толщину дорожек — лучше сделать 0.3мм. Выровнять линии и добавить земляные полигоны. Начертить границы платы.
Для пользования данных приборов в Windows необходимо установить драйвера. Свежие драйвера можно взять на сайте производителя. Если они не подходят, то можно установить более старые драйвера 1.15 — который можно найти в интернет.
После установки драйверов устройство должно определиться как COM порт.
Для Windows самая лучшая программа для работы с COM портом — это Terminal 1.9b (приложена к статье)
Для тестирования нашего устройства необходимо проводами соединить выходы TX — RX. В этом случае мы получим режим эхо — все что будет передано в порт должно тут же возвращаться назад. Скорость при это может быть любая.
Работать с программой очень просто — выбираем порт — можно автоматически по кнопке ReScan или вручную. Задаем скорость и параметры порта. Далее в окне видим все что пришло по терминалу, а в строке SEND можно передать любую информацию. Чтобы передать спецсимволы необходимо использовать запись виды «$1a» в шестнадцетиричном формате.
Для linux устройство должно определится само (драйвера входят в ядро). Неплохая программа — minicom.
Для понимая остальных сигналов данного устройства — DTR, DSR и другие — вот тут есть очень хорошая статья.
Собираем прибор по общим правилам описанным в нашей статье.
Для более быстрой сборки, вы можете приобрести полный набор для пайки, радиоконструтор USB UART адаптер в нашем магазине.
Попробуйте осуществить трассировку самостоятельно не подглядывая в данную статью.
myowndevice.ru
6-ти пиновый конвертер USB/UART для тех кто не любит давить ресет на Arduino
Обзор конвертера USB — UART TTL на CP2102Зачем он нужен
Программировать различные ардуино- и не адуино- образные контроллеры, получать информацию на компьютер со всего, что имеет последовательный интерфейс с TTL логикой.Я в своих проектах использую его с Arduino Pro MIni, Gboard/Iboard и самодельными контроллерами.
Чем он отличается от других подобных устройств
Дополнительным выводом DTR, который можно напрямую подключить к входу RESET на контроллерах не имеющих USB на плате. После этого при программировании давить кнопку RESET не нужно. Для меня это очень удобно, когда контроллер спрятан недрах моей поделки и доступ к кнопке бывает очень затруднительным.Поддержкой производителя, совместимостью с оригинальными драйверами и ПО, в отличие от поддельных FTDI, у которых проблемы с родными драйверами
Дополнительными выводами (дырками под контакты) на плате, например, позволяющими уводить USB в энергосберегающий режим.
Интересной возможностью менять VID, PID и текст, с которым опознается плата, собирать свой драйвер со требуемыми параметрами, что довольно интересно в коммерческих проектах. Об этом я расскажу дальше.
Тех, кого заинтересовал, пожалуйста под кат
Заказал я на премию за обзор много всякой мелочевки у TxHang Electronuc на Ebay и в том числе конвертер USB/UART CP2102 за $1.79
Товар ехал целых 54 дня. Ну к нашей почте я уже привык, чего не скажешь о курсе доллара к рублю (((
Обычный желтый пакет. Внутри платки в запаянных прозрачных пакетиках. Все как обычно.
На плате есть дополнительные отверстия, куда можно впаять выводы дополнительного модемного контроля и перевода USB в режим SUSPENDED
Характеристики
- Чип 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 мм
По размеру плата мало отличается от недавно обозреваемого конвертера на PL-2303
на фото сравнения с другими конвертерами USB/UART
Плата FOCA 2.2 взята для коммерческого проекта с GBoard и IBoard
Перед использованием платы необходимо установить драйвера с официального сайта Si-Labs
Для соединения к контроллеру нужны 5 проводов:
GND — GMD
VCC — V5.0 (V3.3) в зависимости от используемой платы
TX — RX
RX — TX
RESET контроллера — DTE
Теперь контроллер можно программировать не нажимая кнопку RESET.
Плата опознается в системе как
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. Защита конфигурационных данных.
При изменение VID и PID необходима обязательная пересборка драйверов, так как стандартный драйвер настроен на VID и PID Silicon Labs
Для этого скачиваем утилиту для настройки драйверов
И после нехитрого мастера-диалога получаем дистрибутив драйверов с требуемым набором VID и PID и желаемым названием в системе
Итог
Данная плата одна из самых дешевых конвертеров USB/UART не использующих поддельные чипы.Имеет вывод DTR, позволяющий автоматически посылать RESET для загрузки ПО в контроллер
Позволяет настраивать VID, PID и драйвера под свои проекты
К покупке рекомендую
Полезные ссылки
- Сайт производителя Silicon Labs
- Даташит на CP2102
- Описание, драйвера и ПО CP2102 на сайте производителя
- Хорошая статья на русском
- Что такое UART интерфейс
Кот Тимофей помогает разбираться с конвертером
О всех моих проектах можно прочитать в моем блоге
mysku.ru
6-ти пиновый конвертер USB/UART CP2102 для тех кто не любит давить ресет на Arduino
Зачем он нужен
Программировать различные ардуино- и не адуино- образные контроллеры, получать информацию на компьютер со всего, что имеет последовательный интерфейс с TTL логикой.
Я в своих проектах использую его с Arduino Pro MIni, Gboard/Iboard и самодельными контроллерами.
Чем он отличается от других подобных устройств
- Дополнительным выводом DTR, который можно напрямую подключить к входу RESET на контроллерах не имеющих USB на плате. После этого при программировании давить кнопку RESET не нужно. Для меня это очень удобно, когда контроллер спрятан недрах моей поделки и доступ к кнопке бывает очень затруднительным.
- Поддержкой производителя, совместимостью с оригинальными драйверами и ПО, в отличие от поддельных FTDI, у которых проблемы с родными драйверами
- Дополнительными выводами (дырками под контакты) на плате, например, позволяющими уводить USB в энергосберегающий режим.
- Интересной возможностью менять VID, PID и текст, с которым опознается плата, собирать свой драйвер со требуемыми параметрами, что довольно интересно в коммерческих проектах. Об этом я расскажу дальше.
Где заказать?
Я заказываю в различных зарубежных интернет магазинах.
Данный модуль заказал у проверенного продавца на Ebay по этой ссылке за $1.79
Характеристики
- Чип 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
- Плата FOCA 2.2 взята для коммерческих проектов с контроллерами Gboard/Iboard
- Дешевый конвертер FT232 используемый до настоящего времени
- Обозреваемый 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. Защита конфигурационных данных.
При изменение VID и PID необходима обязательная пересборка драйверов, так как стандартный драйвер настроен на VID и PID Silicon Labs
Для этого скачиваем утилиту для настройки драйверов
И после нехитрого мастера-диалога получаем дистрибутив драйверов с требуемым набором VID и PID и желаемым названием в системе
Итог
- Данная плата одна из самых дешевых конвертеров USB/UART не использующих поддельные чипы.
- Имеет вывод DTR, позволяющий автоматически посылать RESET для загрузки ПО в контроллер
- Позволяет настраивать VID, PID и драйвера под свои проекты
Полезные ссылки
Кот Тимофей помогает разбираться с конвертером CP2102
со своего сайта.
samopal.pro
UART-USB на Ch440
Для управления и настройкой некоторых конструкций на микроконтроллерах PIC и ATMEGA необходимо удобное их подключение к компьютеру или ноутбуку. В серии микроконтроллеров PIC16 (на которых я обычно и делаю свои самоделки) нет аппаратной реализации USB, но есть обычный последовательный порт UART, который является урезанной версией COM-порта старых компьютеров. Работа с ним не вызывает особых трудностей, а также необходимо не много ресурсов самого микроконтроллера, т.к. в отличии от USB в нем более простой протокол, который тем не менее позволяет так же передавать данные. В некоторых компьютерах все еще есть COM-порт, правда иногда он не выведен наружу – в таком случае для подключения необходимо только подключение преобразователя уровней (например, MAX232) , но на более новых материнских платах, а также ноутбуках его нет вовсе.В таких случаях можно использовать UART-USB переходник на распространенной микросхеме Ch440. На сайте Aliexpress ее обычно продают уже в виде готового модуля на плате, но иногда для постоянного использования удобнее заказывать ее отдельно.
В таком случае микросхему можно припаять прямо на свою плату, а там уже установить гнездо micro-USB для удобного подключения кабеля и более законченного вида конструкции.
Подключение микросхемы достаточно простое даже для начинающего радиолюбителя.
Для питания необходимо 3.3V (VCC), кварц на 12 МГц (Выводы XI и XO), остальные выводы используются для работы с COM-портом (для работы достаточно RX и TX, остальные для передачи сигналов готовности устройства и на практике используются редко).
Стоимость: ~51
Подробнее на Aliexpress
Доставка новых самоделок на почтуПолучайте на почту подборку новых самоделок. Никакого спама, только полезные идеи!
*Заполняя форму вы соглашаетесь на обработку персональных данных
usamodelkina.ru