Преобразователь USB-UART CH330N
Последовательный порт (UART) — один из самых распространённых и лёгких портов для сопряжения устройств, в том числе для сопряжения с компьютером. Для подключения UART к современным ПК используется преобразователи интерфейсов USB-UART (cp2102, ft232rl …), который прокидывает на компьютер виртуальный COM порт. Большинство преобразователей имеют многовыводной, для некоторых трудно паяемый корпус, и цена сейчас у них не копеечная.
В начале года (2019) на площадке taobao обнаружил два интересных, компактных в SOIC-8 корпусах с малой обвязкой по малой цене USB-UART преобразователя: CH330N и PL2303SA и заказал их на тест.
В первой статье расскажу о CH330N китайской компании WCH, в следующей о PL2303SA.
Микросхема представляет из себя полноценный USB-UART конвертер в 8-ми ногам SOIC корпусе. Из минимальной обвязки достаточно 2-х конденсаторов. Для связи с микроконтроллером доступно 3 вывода: 2 данных Rx, Tx и один управляющий RTS.
Характеристики
Скорость | 50 bps — 2 Mbps 110 — 2560000 bps (протестировал) |
Напряжение питания (VCC) | 3.3 или 5В |
Напряжение логической части (VDD_3) | 3.3 или 5В, Недолжно превышать VCC |
Рабочий ток | 5-15мА |
Входное напряжение логического 0 | -0.5 — 0.7В |
Входное напряжение логической 1 | 2.0 — VCC+0.5В |
Выходное напряжение логического 0 | 0.5В |
Выходное напряжение логической 1 | VCC-0.5В |
Ошибка скорости принимаемого сигнала не должна превышать | 2% |
Ошибка скорости отправки | Менее 1.2% |
Рабочая температура | -20 +70°C |
Стоимость микросхемы на taobao составляет ~18р (декабрь 2019, $ 64.15р, юань 9.14р) не считая доставки.
Распиновка
1 | UD+ | USB D+ |
2 | UD- | USB D- |
3 | GND | Питание, общий |
4 | RTS# | USART, RTS — управление передачей данных |
5 | VCC | Питание, +5В или +3.3В, в зависимости от режима |
6 | TXD | UART Tx выход |
7 | RXD | UART Rx вход |
8 | V3 | Управление питанием |
Распиновка и назначение выводов CH330N полностью совпадает с другой микросхемой USB-UART преобразователя от WCH — CH340N, из этого можно сделать вывод о их взаимозаменяемости.
Схема
Преобразователь настроен на рабочее напряжение и напряжение линий данных 5В. Линия VDD подключена к +5В подаваемым с USB разъёма, а линия VDD_3 подключена только к конденсатору C3. Линия RTS не разведена.
Микросхемы | |||
CH330N | U1 | SO-8 | 1 |
Индикация | |||
RED Led | LED1 | LED0603 | 1 |
Резисторы | |||
22 | R1, R2 | RES-0603 | 2 |
1K | R3, R4, R5 | RES-0603 | 3 |
Конденсаторы | |||
0.1uF | C1, C3 | CAP-0603 | 2 |
10uF 10V | C2 | Tantal B | 1 |
Соединители | |||
miniUSB | X1 | miniUSB | 1 |
PLS4 | X2 | PLS4 | 1 |
Перечень компонентов
Размер платы 31.5х18мм. Плата выполнена односторонней, отличается от платы на фото в статье. Основой преобразователя выступает микросхема CH330N в SOIC-8 корпусе. Светодиод LED1 с токоограничивающим резистором R5 на 1К в корпусе 0603 выполняет функцию индикации питания. Резисторы R1-R4 служат для защиты: R1-R2 по 22 Ом со стороны USB порта, R3-R4 гасящие резисторы по 1К со стороны UART, все в корпусе 0603. Танталовый конденсатор C2 10мкФ типоразмера B и чип C1 на 0.1мкФ типоразмера 0603 установлены по питанию, C3 0603 0.1мкФ на выводе VDD_3. C1 и C3 должны быть установлены как можно ближе к соответствующим выводам микросхемы. Для подключения к компьютеру применён miniUSB SMD гнездо. Для UART применена штыревая гребенка PLS4 с шагом 2.54мм.
Драйвер
При подключении к операционной системе Windows 7 и старше с подключенным интернетом — система сама находит и устанавливает драйвер. В системе отображается, как USB-SERIAL CH340.
Отображение в диспетчере устройств
Если нет интернета или драйвер не находится то будет отображаться, как USB2.0-Serial.
Отображение в диспетчере устройств, без установленного драйвера
Драйвер можно скачать с сайта производителя:
Windows http://wch.cn/downloads/CH341SER_ZIP.html
Linux http://wch.cn/downloads/CH341SER_LINUX_ZIP.html
На сайте есть так же под MAC и Android.
Но почему-то у последней версии драйвера под win на сайте производителя нет подписи, поэтому он может работать некорректно. Выкладываю архив с драйвером, который давно где-то скачал и проблем с которым не наблюдалось — скачать драйвер USB-UART CH340 .
Проверка скорости
Проверка производилась преобразователя самим собой, линии Tx и Rx были соединены перемычкой и к ним был подключен осциллограф.
Микросхема была протестирована в диапазоне скоростей от 110bps до 2.56Mbps, максимальной устанавливаемой скорости в ALTerminal.
bps |
мк с |
bps |
% |
110 | 9000 | 111.1111 | 1.01 |
600 | 1680 | 595.2381 | 0.79 |
1200 | 830 | 1204.819 | 0.40 |
4800 | 208 | 4807.692 | 0.16 |
9600 | 103.6 | 9652.51 | 0.55 |
19200 | 51.8 | 19305.02 | 0.55 |
38400 | 26 | 38461.54 | 0.16 |
57600 | 17.3 | 57803.47 | 0.35 |
115200 | 8.64 | 115740.7 | 0.47 |
230400 | 4.32 | 231481.5 | 0.47 |
460800 | 2.17 | 460829.5 | 0.01 |
921600 | 1.09 | 917431.2 | 0.45 |
1000000 | 1.004 | 996015.9 | 0.40 |
2000000 | 0.48 | 2083333 | 4.17 |
2400000 | 0.478 | 2092050 | 12.83 |
2560000 | 0.332 | 3012048 | 17.66 |
Таблица проверки скоростей
Микросхема работает во всём диапазоне скоростей. В основном диапазоне до 115200 работа стабильная, форма сигнала меандр, ошибка установки скорости не превышает 1% (исключение 110).
В диапазоне скоростей до 1Mbps (1000000bps) микросхема так же работает стабильно, ошибка установки скорости не превышает 1%, сигнал нормально детектируется, но форма сигнала после 0.6Mbps перестаёт постепенно походить на меандр и к 1Mbps превращается в подобие пилы.
С дальнейшем повышением скорости до 2Mbps, треугольник начинает терять амплитуду (уровень логического 0 — растёт, 1 — падает), шаг изменение скорости начинает увеличиваться, из-за чего ошибка установки скорости начинает расти.
До скорости 2.4Mbps преобразователь занижает скорость до 2.1Mbps, из-за чего ошибка доходит до 13%, сам преобразователь продолжает детектировать свои посылки.
С повышением скорости начиная с 2.4Mbps преобразователь на 1 шаг с 2.1Mbps поднял скорость до 3Mbps и перестал распознавать свои отправленные данные. Посылка стала почти не читаемой.
На высоких скоростях палец стал ощущать еле заметный нагрев преобразователя.
Более широких тестов не проводил. На нагрев, на длительную работу и стабильность при разных условиях. Применялся на ровне с моим любимым cp2102 в различных задачах по отладке в том числе с stm32 и её логическими уровнями 3.3В.
Вывод
В рабочем диапазоне до 115200 и даже до 1Mbps преобразователь работает без проблем, на больших скоростях искажается форма сигнала и падает стабильность, но мало кто обычно превышает 115200. Стоимость малая. Обвязка почти отсутствует, нет кварцевого резонатора. Корпус легко паяемый. Из минусов можно отметить малое количество линий управления, из-за чего может подойти не ко всем загрузчикам (например нет линии DTR, которую использует загрузчик Arduino) и преобразователем уровней.
От использования микросхемы остался доволен, могу рекомендовать. Но небольшое недоверие пока остаётся, точнее не верится, в её работоспособность и стоимость. Тестирование в рабочем процессе продолжу, если что-то выявится допишу.
Содержимое архива:
gerber\ | ||
pcb1_lut.drl | сверловка | |
pcb1_lut.gbl | медь, низ | |
pcb1_lut.gbo | шелкография, низ | |
pcb1_lut.gbs | маска, низ | |
pcb1_lut.gko | контур | |
pcb1_lut.gtl | медь, верх | |
pcb1_lut.gto | шелкография, верх | |
pcb1_lut.gts | маска, верх | |
assembled.pdf | сборочный чертеж | |
lut.pdf | лут, односторонняя плата |
Статья обновлена 5.12.2019
Alex_EXE | 03.12.2019 | Сопряжение с ПК |
Читатель пишет 18.04.2020 в 20:23 #
Спасибо за статью, помогла при распайке своей версии. По поводу загрузчика Arduino — прекрасно работает. RTS подводится через конденсатор 100nF к RESET (при условии, что последний корректно подтянут к питанию через 10kOm резистор). avrdude для сброса и запуска bootloader не только DTR опускает, но и RTS (это видно и по исходникам).
Alex_EXE пишет 19.04.2020 в 14:39 #
Хорошо, что материал оказался полезным.
С arduino имел очень мало дел и в особенностях работы их загрузчика не разбирался. Если эти преобразователи подойдут, то кому-то эта информация сможет пригодится.
Только остаётся вопрос, а родная среда прошивки во время сброса RTS дёргает ли?
Читатель пишет 20.04.2020 в 10:37 #
Родная среда как раз таки avrdude и использует для загрузки скетча. Это, конечно, для AVR контроллеров. Как для других — не скажу.
Vasiliy пишет 08.06.2021 в 12:07 #
Добрый день, Alex!
Отличная статья, очень интересный чип. Подскажите по Вашему мнению стоит ли между разъемом USB и CN330N ставить защиту в виде USBLC6-2SC6?
Юрий пишет 12.07.2021 в 13:00 #
Доброго времени суток.
Хочу использовать данную микросхему для переходника USB-RS485. Может вопрос глупый, RTS в CH330N несет такое же значение, как и в стандартном com-порту?
Т.е. при передаче устанавливается в 1 (в ноль?), а по завершению передачи переходит в противоположное состояние?
С ув. Юрий
Alex_EXE пишет 13.07.2021 в 00:56 #
Линия RTS с терминала управляется корректно.
Ещё заметил, что появилась новая версия микросхемы (или другая маркировка) CH340N. Отличий в описании не заметил, в руках пока не держал.
Юрий пишет 13.07.2021 в 11:49 #
Здравствуйте.
Я слегка перепутал.. Мне не RTS нужна была.
Под мои задачи подходит CH340E. У нее есть ножка TNOW, которая как раз может быть использована для переключения направления прием-передача в 485.
Заказал — попробую)
С ув. Юрий
Alex_EXE пишет 14.07.2021 в 09:33 #
В документации написано, что данная линия подходит для rs485.
Посмотрел на свой китайский самый дешевый и простой USB-Rs485 на ch330/340 — там управляющий сигнал берется с линии Tx через транзистор.
Макисм пишет 27.07.2021 в 17:38 #
Добрый день.
Со времени написания статьи прошло уже более 1,5 лет. Теперь вопрос: насколько бесперебойно микросхема работала это всё время? Хочу использовать её в относительно серьезном проекте, где надёжность не на последнем месте.
Alex_EXE пишет 27.07.2021 в 19:00 #
Микросхем было куплено тогда немного и они все разошлись по простым проектам, которые редко используются или одноразовые.
Потом в течении полу года не закупался на taobao.
Далее попытка купить подешевке новые микросхемы уже в течении почти года проваливается. Посредник с таобао с октября везет заказ, который уже и не надеюсь увидеть. Нового посредника пока не нашел (у большинства если брать много мелких дешевых позиций понемногу — дорого выходит). Пара попыток купить их на aliexpress закончилась возвратом средств, не дошли… Сейчас жду микросхемы уже от 3-го продавца.
Недавно на aliexpress заметил, что появилась новая версия ch340n.
USB-UART адаптер, что описан в статье (правда второй, первый не вернули, привет Lan’у, если читает) успешно продолжаю периодически использоваться. Нареканий нет, нравится.
В серьезных проектах продолжаю применять cp2102. Из-за того, что ранее ch330n мало закупил и запасы иссякли. Их сложнее раньше было официально купить, да и просто срочно достать.
Кстати, по cp2102 — недавно вышла новая обновленная версия CP2102N-A01-GQFN28, совместимая выводами, только драйвер пришлось обновить. Подешевле, вроде. На не используемые выводы повешали дополнительную периферию.
Юрий пишет 28.07.2021 в 16:32 #
Доброго времени суток.
Мне нравится PL2303. Сильно не гонял ее в тяжелых условиях, но периодически пользуюсь и нареканий не было…
А вот FT4232 не рекомендую…
В последнее время больше пользую USB периферию мк — экономия, да и всегда можно текущее состояние проверить)
С ув. Юрий
Юрий пишет 02.08.2021 в 18:09 #
Доброго времени суток)
Заказал в Китае 2 модуля на чипах CH340E.
Сделал на их основе переходники USB->изолированный 485. Проверил — все работает.
Один отдал другу программисту для долгосрочного тестирования) Посмотрим..)
С ув. Юрий
Alex_EXE пишет 02.08.2021 в 21:21 #
Недавно то-же завершил USB-Rs485 гальваноизолированный преобразователь, на ft232. Перемудрил правда с ним. Может быть на недели начну псать по нему статью.
Alex_EXE пишет 07.01.2022 в 05:02 #
Vasiliy пишет 08.06.2021
Восстановил потерянный комментарий.
Эта защита не повредит. А в ответственных задачах будет желательна.
Лучше между резисторами R1, R2 по 22 Ома и CH330.