Преобразователь USB-UART CH330N

Последовательный порт (UART) — один из самых распространённых и лёгких портов для сопряжения устройств, в том числе для сопряжения с компьютером. Для подключения UART к современным ПК используется преобразователи интерфейсов USB-UART (cp2102, ft232rl …), который прокидывает на компьютер виртуальный COM порт. Большинство преобразователей имеют многовыводной, для некоторых трудно паяемый корпус, и цена сейчас у них не копеечная.

В начале года (2019) на площадке taobao обнаружил два интересных, компактных в SOIC-8 корпусах с малой обвязкой по малой цене USB-UART преобразователя: CH330N и PL2303SA и заказал их на тест.

USB-UART на CH330N
USB-UART на CH330N

В первой статье расскажу о 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
Длительной 1 бита,
мк с
Длительной 1 бита,
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).

Скорость 9600bpsСкорость 9600bps
Скорость 9600bps

Скорость 115200bpsСкорость 115200bps
Скорость 115200bps

В диапазоне скоростей до 1Mbps (1000000bps) микросхема так же работает стабильно, ошибка установки скорости не превышает 1%, сигнал нормально детектируется, но форма сигнала после 0.6Mbps перестаёт постепенно походить на меандр и к 1Mbps превращается в подобие пилы.

Скорость 1MbpsСкорость 1Mbps
Скорость 1Mbps

С дальнейшем повышением скорости до 2Mbps, треугольник начинает терять амплитуду (уровень логического 0 — растёт, 1 — падает), шаг изменение скорости начинает увеличиваться, из-за чего ошибка установки скорости начинает расти.

Скорость 2MbpsСкорость 2Mbps
Скорость 2Mbps

До скорости 2.4Mbps преобразователь занижает скорость до 2.1Mbps, из-за чего ошибка доходит до 13%, сам преобразователь продолжает детектировать свои посылки.

С повышением скорости начиная с 2.4Mbps преобразователь на 1 шаг с 2.1Mbps поднял скорость до 3Mbps и перестал распознавать свои отправленные данные. Посылка стала почти не читаемой.

Скорость 2.56MbpsСкорость 2.56Mbps
Скорость 2.56Mbps

На высоких скоростях палец стал ощущать еле заметный нагрев преобразователя.

Более широких тестов не проводил. На нагрев, на длительную работу и стабильность при разных условиях. Применялся на ровне с моим любимым 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

12 комментариев на « Преобразователь USB-UART CH330N»

  1. Читатель пишет 18.04.2020 в 20:23 #

    Спасибо за статью, помогла при распайке своей версии. По поводу загрузчика Arduino — прекрасно работает. RTS подводится через конденсатор 100nF к RESET (при условии, что последний корректно подтянут к питанию через 10kOm резистор). avrdude для сброса и запуска bootloader не только DTR опускает, но и RTS (это видно и по исходникам).

  2. Alex_EXE пишет 19.04.2020 в 14:39 #

    Хорошо, что материал оказался полезным.
    С arduino имел очень мало дел и в особенностях работы их загрузчика не разбирался. Если эти преобразователи подойдут, то кому-то эта информация сможет пригодится.
    Только остаётся вопрос, а родная среда прошивки во время сброса RTS дёргает ли?

  3. Читатель пишет 20.04.2020 в 10:37 #

    Родная среда как раз таки avrdude и использует для загрузки скетча. Это, конечно, для AVR контроллеров. Как для других — не скажу.

  4. Юрий пишет 12.07.2021 в 13:00 #

    Доброго времени суток.
    Хочу использовать данную микросхему для переходника USB-RS485. Может вопрос глупый, RTS в CH330N несет такое же значение, как и в стандартном com-порту?
    Т.е. при передаче устанавливается в 1 (в ноль?), а по завершению передачи переходит в противоположное состояние?

    С ув. Юрий

  5. Alex_EXE пишет 13.07.2021 в 00:56 #

    Линия RTS с терминала управляется корректно.

    Ещё заметил, что появилась новая версия микросхемы (или другая маркировка) CH340N. Отличий в описании не заметил, в руках пока не держал.

  6. Юрий пишет 13.07.2021 в 11:49 #

    Здравствуйте.
    Я слегка перепутал.. Мне не RTS нужна была.
    Под мои задачи подходит CH340E. У нее есть ножка TNOW, которая как раз может быть использована для переключения направления прием-передача в 485.
    Заказал — попробую)

    С ув. Юрий

  7. Alex_EXE пишет 14.07.2021 в 09:33 #

    В документации написано, что данная линия подходит для rs485.
    Посмотрел на свой китайский самый дешевый и простой USB-Rs485 на ch330/340 — там управляющий сигнал берется с линии Tx через транзистор.

  8. Макисм пишет 27.07.2021 в 17:38 #

    Добрый день.
    Со времени написания статьи прошло уже более 1,5 лет. Теперь вопрос: насколько бесперебойно микросхема работала это всё время? Хочу использовать её в относительно серьезном проекте, где надёжность не на последнем месте.

  9. Alex_EXE пишет 27.07.2021 в 19:00 #

    Микросхем было куплено тогда немного и они все разошлись по простым проектам, которые редко используются или одноразовые.
    Потом в течении полу года не закупался на taobao.
    Далее попытка купить подешевке новые микросхемы уже в течении почти года проваливается. Посредник с таобао с октября везет заказ, который уже и не надеюсь увидеть. Нового посредника пока не нашел (у большинства если брать много мелких дешевых позиций понемногу — дорого выходит). Пара попыток купить их на aliexpress закончилась возвратом средств, не дошли… Сейчас жду микросхемы уже от 3-го продавца.

    Недавно на aliexpress заметил, что появилась новая версия ch340n.

    USB-UART адаптер, что описан в статье (правда второй, первый не вернули, привет Lan’у, если читает) успешно продолжаю периодически использоваться. Нареканий нет, нравится.

    В серьезных проектах продолжаю применять cp2102. Из-за того, что ранее ch330n мало закупил и запасы иссякли. Их сложнее раньше было официально купить, да и просто срочно достать.

    Кстати, по cp2102 — недавно вышла новая обновленная версия CP2102N-A01-GQFN28, совместимая выводами, только драйвер пришлось обновить. Подешевле, вроде. На не используемые выводы повешали дополнительную периферию.

  10. Юрий пишет 28.07.2021 в 16:32 #

    Доброго времени суток.
    Мне нравится PL2303. Сильно не гонял ее в тяжелых условиях, но периодически пользуюсь и нареканий не было…
    А вот FT4232 не рекомендую…
    В последнее время больше пользую USB периферию мк — экономия, да и всегда можно текущее состояние проверить)

    С ув. Юрий

  11. Юрий пишет 02.08.2021 в 18:09 #

    Доброго времени суток)
    Заказал в Китае 2 модуля на чипах CH340E.
    Сделал на их основе переходники USB->изолированный 485. Проверил — все работает.
    Один отдал другу программисту для долгосрочного тестирования) Посмотрим..)

    С ув. Юрий

  12. Alex_EXE пишет 02.08.2021 в 21:21 #

    Недавно то-же завершил USB-Rs485 гальваноизолированный преобразователь, на ft232. Перемудрил правда с ним. Может быть на недели начну псать по нему статью.

Комментарии RSS

Оставьте отзыв