Http to usb bridge что это за программа
При подключении платформ разработки на базе Arduino к компьютеру, вы связываете между собой два мира: микроконтроллерный и микропроцессорный.
Стандартным интерфейсом плат Arduino на микроконтроллерах ATmega328P является UART, а у современных компьютеров используется USB. Чип USB-UART CH340G служит мостом между микроконтроллером и USB-портом компьютера, который позволяет загружать прошивку в плату, а также передавать между собой данные.
Список поддерживаемых плат
Зачем нужен драйвер?
При подключении любого устройства к USB-порту компьютера необходимо подсказать операционной системе, как с ним общаться. На стороне компьютера таким переводчиком является специальная программа, называемая драйвером. Например, драйвер преобразователя USB-UART работает в режиме эмуляции последовательного COM-порта. Т. е. при подключении вашей платы к компьютеру чип моста с помощью драйвера попросит операционную систему открыть виртуальный COM-порт, через который начнётся общение между платой и ПК.
Каждый производитель делает свои чипы с соответствующими драйверами. К сожалению, не все драйверы предустановлены в операционных системах по умолчанию. Когда нужного драйвера нет, ОС пытается найти его для нового подключённого устройства, не находит, и вместо виртуального COM-порта вы видите надпись «USB 2.0 SERIAL» или «Неизвестное устройство». Для решения проблемы скачайте и установите драйвер для вашей операционной системы.
Установка драйвера
Рассмотрим установку драйвера на примере платы Iskra Uno в операционной системе Windows. С остальными платами ситуация будет аналогичная.
Подключите плату к компьютеру по USB. Для коммуникации используйте кабель USB (A — B).
Скачайте и установите драйвер CH340 для Windows.
Если во вкладке отображается пункт USB-SERIAL CH340 (COMx) — значит, всё получилось, и можно переходить к прошивке платформы.
Если пункта не обнаружено или вкладка «Порты (COM и LPT)» вовсе отсутствует, следуйте дальнейшей инструкции.
В диспетчере устройств Windows раскройте вкладку «Другие устройства» и найдите пункт USB2.0-Serial .
Далее кликните правой кнопкой мыши по пункту USB 2.0 Serial и выберите раздел «обновить драйвер».
Выберите пункт «Выполнить поиск драйверов на этом компьютере».
Укажите путь к директории драйвера и нажмите кнопку «установить». В нашем случае: C: Program Files (х86) Arduino drivers
Откройте повторно вкладку «Порты (COM и LPT)» в диспетчере устройств. Если там отображается пункт USB-SERIAL CH340 (COMx) — значит, всё получилось, и теперь можно переходить к прошивке платформы.
Думаю, вряд ли кого-то стоит убеждать в необходимости и полезности USB-UART-преобразователей — COM- порт найти в современных компьютерах всё труднее. Для большей части практических задач, использующих обмен данными между компьютером и устройством — управления, отладки, передачи небольших объёмов данных — ничего проще и удобнее, чем преобразование USB-UART, придумать, пожалуй, невозможно.
Микроконтроллер общается с микросхемой по обычному UART, к компьютеру все это дело подключается по USB. Компьютер распознает подключенное устройство как COM-порт и работать с ним можно как с обычным ком-портом. Все очень удобно, не требует ни мощных микроконтроллеров с интерфейсом USB и специально подобранными кварцами, ни сложных программ.
Наиболее популярной микросхемой USB-UART является FT232RL от FTDI. Все в ней замечательно, кроме цены. А вот о CP2102 от SiLabs пишут значительно меньше. Стоит она значительно дешевле, чем FT232RL. Например ТУТ я ее купил за 45 руб.
Распиновка
Корпус у неё, конечно, страшноват, но к этому мы ещё вернёмся. :)
Структура микросхемы
Как можно заметить из схемы — CP2102 содержит встроенный генератор на 48 МГц, контроллер UART с поддержкой всех модемных сигналов, буфуры на прием и передачу, USB 2.0 (скорость до 12Мбит/сек) контроллер и EEPROM для хранения настроек. Микросхема требует минимальной обвязки — пара кондёров по питанию.
- 5,6,7 и 8 бит данных
- 1,1.5,2 стоповых бита
- бит четности по четности, нечетности, установленный, сброшенный или отсутствует
- Vendor ID (VID) — Идентификатор производителя. По умолчанию10C4 — SiLabs
- Product ID (PID) — Идентификатор продукта. Актуально, если к одному компьютеру подключается несколько CP2102.
- Max Power — энергопотребление вашего устройства от USB. Шаг этого параметра — 2 мА. Например, если вам нужно 200 мА от шины USB, то сюда необходимо записать 100 (0x64).
- Release Version — По умолчанию 1.0. Можно указывать от 1 до 99 как в десятичной так и в дробной частях отдельно.
- Serial Number — Серийный номер устройства. Это текстовое поле длинной до 64 символов. Рекомендуется назначать разные номера всем устройствам.
- Product string — Имя устройства (текстовое поле до 126 символов). По умолчанию это «CP210x USB to UART Bridge Controller».
Настройка
Изменять все эти параметры можно с помощью фирменной программули от SiLabs. Называется она CP210x Set Ids.
Понять, как ей пользоваться, не составит никакого труда. Есть только один важный момент- программа находит устройства CP2102 основываясь на Vid и Pid. Если вы их измените программа перестанет видеть эту микросхему. Как с этим бороться я расскажу чуть позже.
Набор драйверов для CP2102
Существует 2 драйвера для CP2102
- 1. Драйвер USBXpress. Основное назначение драйвера — работа с CP2102 в качестве USB-устройства. Для работы с данным драйвером выпускается библиотека для создания собственного программного обеспечения
- Драйвер виртуального COM-порта (virtual COM-port driver, VCP-driver). Данный драйвер является надстройкой над драйвером USBXpress. При установке этого драйвера в системе появляется дополнительный виртуальный COM-порт (COM3, COM4 и т.д.), работа с которым полностью идентична работе со стандартными COM-портами (COM1, COM2)
Вы можете создать собственный драйвер именно для вашего устройства с помощью программы CustomUSBDriverWizard. Он сам генерирует весь необходимый набор файлов для драйвера, даже включая графический инсталлятор.
Сначала, с помощью программы CP210x Set Ids настраиваете микросхему и меняете VID и PID. Потом запускаете CustomUSBDriverWizard, находите там свою микросхему и приступаете к созданию драйвера для нее. Тут можно указать название устройства, название драйвера, название вашей фирмы и другое. В результате программа сгенерирует набор файлов драйвера вашего устройства.
Теперь эти файлы можно прикладывать к вашему устройству на диске, флешке или еще как-нибудь.
Пользователь же, получив эти файлы, приступает к установке драйвера. Инсталлятор гордо показывает ваше название мега-устройства, название вашей крутейшей фирмы и т. д.
После установки в системе появляется новое устройство.
В данном случае это COM-порт, т. к. я выбрал этот тип драйвера в мастере.
Кстати после установки драйвера вашего устройства микросхема CP2102 снова начинает видиться программой CP210x Set Ids, которая переставала ее видеть после смены PID и VID.
Подключаем устройство и имеем счастье
Минусы CP2102
К сожалению, у всего есть недостатки. Включая божественную микросхему CP2102. В ее случае это ее корпус. Если FT232RL в корпусе TSSOP неудобна для пайки т.к. имеет мелкий шаг выводов, то CP2102 выводов не имеет вообще.
Но, если руки имеют относительно небольшую кривизну, то запаять ее можно. И даже проще, чем кажется. Феном запаять ее вообще не проблема. А в качестве доказательства того, что она вполне паябельна (а еще для фана) я специально снял видос, как я паяю ее турбозажигалкой на плате, изготовленной по ЛУТ-технологии :) )
Вот как выглядела платка и что получилось в результате
А некоторые умельцы извращаются и так. Но я б так не стал :)
Микросхема достаточно дешевая, чтобы впаивать ее в каждое устройство, где она нужна, а не изготавливать один универсальный кабель-переходник для всех своих девайсов. Но иногда и отдельная платка переходника нужна. Я для себя сделал несколько таких вот милых платок.
Комментарии ( 176 )
Отличная микруха, постоянно использую. Одно напрягает — менять VID каждый раз для новых микрух, они по умолчанию конфигурируются как COM-порт, а я использую их как USB Express Device
Появилось немного свободного времени, и я решил написать небольшую «внеплановую» статью.
Итак, из предыдущей статьи, мы знаем, что для обмена данными используются некие виртуальные каналы – «конечные точки». Давайте рассмотрим, как происходит обмен.
Обмен данными по USB
Нужно помнить, что интерфейс USB предусматривает использование разветвлителей – хабов. Более того, допускается каскадное включение хабов. Следовательно, необходимо как-то идентифицировать конкретное USB устройство в «гирлянде» из хабов и USB устройств. Для этого каждому устройству присваивается адрес.
Здесь остановимся немного подробнее. Адрес кодируется 7 битами. Изначально (в момент подключения), устройство, грубо говоря, само себе назначает адрес 0. Этот адрес зарезервирован стандартом как раз для вновь подключаемых устройств. Далее, в процессе инициализации (об этом поговорим позже), хост присваивает устройству уникальный адрес отличный от 0, а адрес 0 «освобождается» для вновь подключаемых устройств.
И так, для того чтобы передать данные конкретному устройству, нужно знать адрес устройства и номер виртуального канала «внутри» устройства (адрес «конечной точки»).
Как мы уже выяснили, сразу после включения, устройство имеет особый, «нулевой» адрес. Каждое устройство, согласно стандарту, имеет «нулевую конечную точку» типа Control. Соответственно, сразу после подключения, хост может начинать обмениваться данными с новым устройством (адрес = 0, номер конечной точки = 0).
Рассмотрим, как происходит обмен данными.
Сам обмен осуществляется пакетами. Стандартом предусмотрено несколько типов пакетов. «Побайтно» мы пока разбирать пакеты не будем, но коснемся этого вопроса в практической части.
Дело в том, что часть работы по формированию и передаче пакетов (например, вопросы синхронизации, расчет контрольных сумм и т. д.) возьмет на себя USB периферия МК. Для тех, кто хочет сразу углубиться в биты и байты могу порекомендовать ознакомиться с разделом 8 официальной спецификации USB 2.0
Пока нам достаточно знать, что существуют «пакеты данных» и несколько типов «служебных пакетов».
USB и Plug and Play
Давайте рассмотрим, что с нашим устройством будет происходить дальше, после того как хост определил подключение нового устройства и готов начать обмен данными. Нам нужно ненадолго подняться на «высокий» уровень – уровень ОС.
Дело в том, что в стандарт USB поддерживает концепцию Plug and Play (подключи и играй). Данная концепция подразумевает, что пользователю достаточно «воткнуть» устройство в соответствующий порт ПК. Дальше ОС автоматически определит тип подключенного устройства, найдет подходящий для данного устройства драйвер, сконфигурирует устройство и т. д. (правда, это конечно в идеале :))
Для того чтобы вся эта красота работала, стандартом USB предусмотрены некие общие требования для всех устройств:
1. Каждое устройство содержит «собственное описание» (дескриптор устройства).
2. Есть некий, общий для всех USB устройств, механизм который позволяет ОС прочитать дескриптор устройства для того, чтобы идентифицировать устройство, узнать его характеристики.
3. Есть некий, общий для всех USB устройств, механизм который позволяет ОС выполнить первичную конфигурацию устройства (например, присвоить устройству новый адрес, о чем мы говорили выше).
Данными вещами (чтение дескриптора устройства, идентификация устройства) занимается некая служба ОС, которая отвечает за базовую поддержку USB.
После того как устройство будет идентифицировано и проведена некая первичная инициализация, данная служба передаст управление устройством драйверу, который «закреплен» за данным типом устройств (или конкретно за этим устройством).
Что будет, если служба не сможет найти «подходящий» драйвер для данного устройства знают все :)
Теперь возвращаемся на наш «низкий» уровень.
Начало работы с устройством. Стандартные заросы.
На практике, для чтения дескриптора устройства и первичной инициализации используются та самая «нулевая конечная точка». Есть несколько предусмотренных стандартом запросов (Standard Device Requests), которые должны обрабатываться всеми USB устройствами. Пока приведу несколько примеров таких запросов:
GET_DESCRIPTOR – запрос на получения дескриптора устройства. Данный запрос содержит дополнительную информацию о том, какой именно дескриптор должно вернуть (в устройстве «хранится» несколько разных дескрипторов, но об этом позже).
GET_CONFIGURATION – запрос на получение текущей конфигурации устройства.
SET_ADDRESS – данный запрос используется для присвоения устройству «нормального» (отличного от 0) адреса. Сам адрес содержится в запросе.
Нужно понимать, что запрос — это не более чем стандартизированная структура данных, которая содержит код запроса (bRequest) и дополнительные данные. Ответы на каждый из запросов тоже, естественно, стандартизированы.
Кроме стандартных запросов, которые устройство «обязано» поддерживать, можно определить «свои» запросы, специфические для конкретного устройства (класса устройств).
Заодно, для того чтобы показать как выглядит тот самый дескриптор устройства приведу пример:
Пока это просто иллюстрация того, как выглядит дескриптор, вникать в значение полей не стоит, этим мы займемся в следующей статье.
На этом, предлагаю завязывать с голой теорией и постепенно переходить к практике. В следующей статье начнем потихоньку писать код.
Комментарии ( 33 )
емнип, с интервалом в 1 мс, но «низкоскоростные» устройства могут опрашиваться не каждый раз, а, например раз за 10 циклов опроса
автор молодец! давно хотел освоить УСБ но никак не доходили руки да и не понимал ничего. тут все описано просто, красиво и понятно. так держать!
Как следует из названия данный прибор организует мост между компьютером через USB порт и вашим устройством по Serial протоколу. Можно сказать что он является USB COM портом для логики TTL (уровни 1.8v-5v).
С помощью данного прибор можно программировать различные микроконтроллеры, получать информацию на компьютер со прибора по serial порту. Кроме этого применений ему масса:
передача небольших объёмов данных
прошивка различных приборов —разработчики часто делают выход serial для возможности перепрошивки своего устройства
прошивка микроконтроллеров — многие микроконтроллеры имеют Bootloader (специальная программа для загрузки прошивки по serial) загруженный на заводе, и для загрузки прошивки не нужен специальный программатор — достаточно данного устройства.
Нам он будет необходим в первую очередь для прошивки ST-Link. Ну и собственно так как тут нечего программировать — прибор состоит из одной микросхемы — то на этом приборе мы поучимся паять и работать в Kicad. В этой статье подробно рассмотрим как трассировать печатную плату вручную.
Как сделать USB UART адаптер
1. Прочитать эту статью внимательно и до конца!
2. Подготовить или приобрести необходимые инструменты: все для пайки
3. Внимательно прочитать статьи из раздела Обязательная теория.
5. Изготовить плату для прибора самостоятельно (это совсем несложно, в нашей инструкции все подробно описано).
6. Приобрести все необходимые комплектующие в виде готового радиоконструктора можно в нашем магазине.
7. Запаять все компоненты на плату, смотри наше видео.
ПРИБОР ГОТОВ, можно пользоваться!
Как работает USB UART адаптер
Для реализации данного моста обычно используется специализированная микросхема, которая с одной стороны имеет usb выход, а с другой — serial выход. Обычно эти микросхемы имеют драйвера для Windows \ Linux и определяются системой как COM — порт. Дальше используется специальная программа для работы через COM порт. Это может быть и программа прошивки микроконтроллера или программа для получения данных от прибора и т. д.
Выбираем микросхему для прибора
По сути данное устройство будет состоять из разъемов, микросхемы и минимальной ее обвязки. Так что, у нас не будет никакого функционального ТЗ в данном случае. Основной критерий по которому мы будем выбирать микросхему — удобство пайки, цена.
Итак, самые распространённые микросхемы для данного девайса:
cp2102 (cp2103) — дешевая отличная микросхема, но имеет корпус QFN28 — то есть безвыводный корпус — паять такую в самом начале пути не очень легко — поэтому мы ее не будем использовать
pl2303 — отличная микросхемы фирмы Prolific — существует очень много вариантов этой микросхемы (в том числе китайские подделки). У нее корпус TSOP28 — отлично подходит для пайки. И старые модификации стоят недорого и отлично работают. Мы будем использовать ее — модификацiия pl2303TA — самый недорогой вариант. Есть модификация Rev. D которая не требует внешний кварц — но она стоит в 2 раза дороже.
CH340 — китайский вариант (оригинал) моста — микросхема хорошая — но ее трудно купить где-либо кроме как в Китае.
FT232R — микросхема от FTDI — отлично подходит и работает — но стоит почти в 2 раза дороже. Ее плюс также в том что не требуется внешний кварц.
Самое главное для нас здесь — ЭТО КАТЕГОРИЯ в которую входит микросхема. Здесь это «ИС интерфейс USB». Также смотрим тип «Bridge, USB to UART». Идем в эту категорию и смотрим какие бывают микросхемы. Далее проверяем по datasheets подходит ли она нам.
Итак, наш выбор PL2303TA.
Составляем схему на базе PL2303
Любая схема должна начинаться с чтения 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 можно скачать в конце статьи):
Разрабатываем плату в Kicad
Разрабатывая схему, можно сразу прикинуть в какой последовательности будут идти вывода на разъеме. Чтобы было проще лучше чтобы порядок соответствовал выводам на самом чипе. Но в принципе это не столь важно и можно впоследствии быстро переделать.
Прежде чем разрабатывать плату необходимо определится какие у нас будут использоваться разъемы и определить посадочные места. Мы будем делать плату переходник которая втыкается в usb порт и на конце имеет угловые разъемы PIN 2.54mm — это самый распространяенный формат. На конечный разъем мы выведем только наиболее нужные выводы — остальное просто разведем на плате и оставим как дырки на будущее. Основные выводы: RX, TX, 5V, 3.3v, DTR (часто используется как reset схемы микроконтроллера при прошивке). Остальные выводы разведем в самом конце.
Итак, начинаем трассировку платы. В схеме формируем список цепей — Инструменты — сформировать список цепей. Переключаемся в плату и по кнопке Инструменты-Список Цепей — прочитать текущий список цепей. Загружаем все посадочные места в плату. Далее размещаем все посадочные места в авторежиме. Получаем такой набор компонентов.
На данном этапе лучше скрыть лишнюю информацию. Убираем отображение слоев Связи, Скрытый текст, Значения, Обозначения.
Далее начинаем располагаем на будущей плате основные компоненты — разъемы и чип. Так чтобы выводы чипа располагались согласно подключению разъемов. Особенно важно в этом случае чтобы выводы подключения USB были напротив разъема. Наводим мышку на нужный компонент — жмем M — и переносим его чуть ниже на пустое место — формируем будущую плату. Так как плата у нас двух стороняя — то надо сразу определить нужную сторону компонент. Самый просто вариант — все DIP элементы (под которые надо сверлить сквозные отверстия) располагаем с обратной стороны, а все smd элементы с основной стороны — так проще будет подводить дорожки. Для смены стороны используем кнопку F. Так как Kicad умеет подсвечивать связи при переносе элемента, то очень удобно все резисторы связанные с разъемами размещать сразу. Это позволит быстро увидеть связи при переносе микросхемы. Итак, размещаем USB разъем, потом резисторы с ним связанные на сигнальных линиях и потом разъем на другом краю платы:
дальше размещаем чип — так чтобы было как можно меньше пересечений.
Далее размещаем кварц (тоже с обратной стороны — он у нас выводной). Он должен быть как можно ближе к выводам чипа.
После этого размещаем кондецаторы по цепям питания — они должны быть как можно ближе к выводам питания.
После этого соединяем дорожками обязательные выводы — это usb сигнальные — кварц, кондецаторы по питанию. Прикидываем линии питания. Если что-то не удобно — то компоненты двигаем — переносим.
Например кондецатор C3 удобнее перенести вниз чтобы не делать переходное отверстие. Конечно это не очень хорошо — но в данном случае дорожка будет очень небольшая.
После размещения основных элементов размещаем оставшиеся — ориентируясь на подсказки по связям и стараясь не пересекать дорожки.
Теперь осталось разобраться с разъемами и линиями питания — их можно провести по второму слою. В итоге видно, что довольно сложно получается развести светодиоды и подтягивающие резисторы. Они перекрывают остальные выводы. Поэтому проще их перенести на другую сторону — она как раз будет лицевой, и туда же провести линию vddio.
Осталось выводы на разъеме расположить в порядке следования выходов чипа. И финально все соединить. На этом этапе плату можно сделать более компактной. Финальный вариант который получился. Можно сделать еще лучше .. но вариант удовлетворительный.
Финально остается задать диаметры переходных отверстий и толщину дорожек — лучше сделать 0.3мм. Выровнять линии и добавить земляные полигоны. Начертить границы платы.
Как пользоваться USB UART конвертером
Для пользования данных приборов в Windows необходимо установить драйвера. Свежие драйвера можно взять на сайте производителя. Если они не подходят, то можно установить более старые драйвера 1.15 — который можно найти в интернет.
После установки драйверов устройство должно определиться как COM порт.
Для Windows самая лучшая программа для работы с COM портом — это Terminal 1.9b (приложена к статье)
Для тестирования нашего устройства необходимо проводами соединить выходы TX — RX. В этом случае мы получим режим эхо — все что будет передано в порт должно тут же возвращаться назад. Скорость при это может быть любая.
Работать с программой очень просто — выбираем порт — можно автоматически по кнопке ReScan или вручную. Задаем скорость и параметры порта. Далее в окне видим все что пришло по терминалу, а в строке SEND можно передать любую информацию. Чтобы передать спецсимволы необходимо использовать запись виды «$1a» в шестнадцетиричном формате.
Для linux устройство должно определится само (драйвера входят в ядро). Неплохая программа — minicom.
Для понимая остальных сигналов данного устройства — DTR, DSR и другие — вот тут есть очень хорошая статья.
Как собирать прибор
Собираем прибор по общим правилам описанным в нашей статье.
Для более быстрой сборки, вы можете приобрести полный набор для пайки, радиоконструтор USB UART адаптер в нашем магазине.
Самостоятельная работа
Попробуйте осуществить трассировку самостоятельно не подглядывая в данную статью.
CP2102 — это USB-UART преобразователь (USB to UART Bridge), можно использовать, чтобы программировать Arduino или других Arduino-подобных контроллеров, получать информацию на компьютер со всего, что имеет последовательный интерфейс с TTL логикой. Также можно использовать для отладки одноплатных компьютеров, особенно те, что не имеют видеовыход: NanoPi NEO, Orange Pi Zero, Orange Pi R1 и т.п..
CP2102 может похвастаться наличием дополнительным выводом DTR, который можно напрямую подключить к входу RESET на контроллерах не имеющих USB на плате. После этого при программировании давить кнопку RESET не нужно. Поддержкой производителя, совместимостью с оригинальными драйверами и ПО, в отличие от поддельных FTDI, у которых проблемы с родными драйверами. Дополнительными выводами (отверстиями под контакты) на плате, например, позволяющими уводить USB в энергосберегающий режим. Интересной возможностью менять VID (Идентификатор производителя), PID (Идентификатор продукта) и текст, с которым опознается плата, собирать свой драйвер со требуемыми параметрами, что довольно интересно в коммерческих проектах.
Адаптер представляет из себя плату без корпуса на которой распаян чип CP2102 с небольшой обвязкой.
С одной стороны находиться разъём USB, с другой 6 pin выводов:+3.3v, GND, +5v, TXD (TX), RXD (RX), DTR, на платке имеются монтажные отверстия с функциями DCD, D3R, RTS, CTS, SUS, SUS, R1, RST. Помимо этого на платке есть 3 светодиода, красный – POWER и два для RX и TX мигающих во время приема-передачи данных.
Характеристики
- Чип 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 мм
Распиновка модуля
Вывод | Описание |
---|---|
3V3 | Питание 3.3В (выход) |
GND | Земля |
5V | Питание 5В (выход) |
TXD | Передача данных (Transmit Data) |
RXD | Прием данных (Receive Data) |
DTR | Готовность приемника данных (Data Terminal Ready) |
DCD | Наличие несущей (Carrier Detect) |
DSR | Готовность источника данных (Data Set Ready) |
RTS | Запрос на передачу (Request to Send) |
CTS | Готовность передачи (Clear to Send) |
RTS | Запрос на передачу (Request to Send) |
RI | Сигнал вызова (Ring Indicator) |
SUS | Приводится в высокий уровень, когда CP2102/9 входит в режим IDLE. |
!SUS | Приводится в низкий уровень, когда CP2102/9 входит в режим IDLE. |
Типовая схема подключения CP2102
Драйвер CP2102
Драйвер CP210x может потребоваться вам при подключении к компьютеру устройств с чипом от Silicon Labs CP2102. Такой преобразователь устанавливается на множество устройств. Например на платы NodeMCU, программаторы и некоторые платы Arduino. Без данного драйвера эти устройства при подключении к вашему компьютеру будут определяться как неопознанное устройство.
Установка драйвера CP210x на Windows
- Скачайте драйвер для вашей операционной системы по ссылкам выше;
- Распакуйте архив;
- Запустите исполнительный файл CP210xVCPInstaller_x64.exe или CP210xVCPInstaller_x86.exe;
- В открывшемся окне нажмите кнопку Next, а после — Finish;
- На этом установка завершена.
Материалы
Купить CP2102 на AliExpress
Похожие записи
Комментарии 1
Если вам не хочется разбираться с драйверами для разных USB-TTL преобразователей, то просто возьмите оригинальный Arduino USB 2 SERIAL CONVERTER. Для его работы не нужно устанавливать никаких драйверов. Конвертер на чипе PL2303 также способен работать с Ардуино. Этот программатор купить можно для микроконтроллеров, которые поддерживают сигналы уровня TTL.
Читайте также: