1. Что такое TTL и при чём тут USB ?
Как-то на "Али" привлёк моё внимание очень недорогой конвертер USB-UART . Сначала я был не вполне уверен, что это за штука на самом деле. Название товара на английском выглядело так: "USB to TTL converter UART module CH340G CH340 3.3V 5V switch". Упоминание UART и микросхемы CH340G, вроде, рассеивало сомнения, но не нравилась фраза "USB to TTL", которая была видна также и на фотографии модуля, на его нижней стороне. Дело в том, что эта фраза не имеет смысла, а значит, открывает широкий простор для вольного толкования.
По идее в переводе на русский язык фраза " USB to TTL " должна означать "преобразование USB в TTL". Объяснять, что такое USB, сейчас никому не надо, а вот про TTL слышали не многие. Поэтому давайте обратимся к истории, и посмотрим, что такое TTL .
Интересно, что и Гугл и Яндекс на запрос "Что такое TTL" выдали ссылки про TTL из совсем другой области. Так что же это такое, применительно к электронике? Аббревиатура TTL на русском языке не отличается от англоязычного варианта и расшифровывается, как транзисторно-транзисторная логика (ТТЛ) . Изначально это понятие подразумевало особенности внутреннего строения некоторых цифровых микросхем, совокупность технических решений, включая схемотехнические и технологические. Кроме всего прочего, стандарт ТТЛ задавал и способ кодирования логических сигналов . Так, например, логический ноль кодировался напряжением, близким общему проводу питания. Причём общий провод подключался к минусу источника питания и принимался за нулевой потенциал – "земля". А логическая единица кодировалась напряжением, близким напряжению питания +5В. Само напряжение питания +5В тоже стало неотъемлемой частью стандарта ТТЛ.
Надо отметить, что микросхемы ТТЛ в своё время получили очень широкое распространение. В Советском Союзе, пожалуй, наиболее известной была серия К155. Широкое применение этих и им подобных микросхем заставило разработчиков аппаратуры в целях совместимости придерживаться тех же способов кодирования сигналов логического нуля и логической единицы, которые предусматривались стандартом ТТЛ.
Но ничего не стоит на месте. Микросхемы ТТЛ, построенные на биполярных транзисторах, вскоре стали устаревать. Они сильно проигрывали более современным микросхемам как по быстродействию, так и по потреблению энергии. Им на замену стали приходить другие семейства микросхем, основанные на МДП-структурах (металл-диэлектрик-полупроводник), а по-простому – на полевых транзисторах. Но стандарт кодирования сигналов устаревать не собирался, поэтому многие новые микросхемы, даже не имея прямого отношения к ТТЛ, сохраняли совместимость с ТТЛ. Сами же микросхемы ТТЛ постепенно стали частью истории (хотя в любительских конструкциях применяются по сей день), а их общее название – аббревиатура ТТЛ – обрело несколько иной смысл. Теперь ТТЛ следует толковать как "стандарт уровней напряжения для кодирования логических нуля и единицы, применявшийся в микросхемах ТТЛ".
И что же, с учётом вышесказанного, могут означать слова "USB to TTL"? Думаю, теперь понятно, почему эта фраза не имеет смысла.
2. Конвертер интерфейса на микросхеме CH340G
Данное изделие я в итоге заказал. Обошлось оно мне с пересылкой в 44,30 руб., то есть почти даром. Но это не тот случай, когда дёшево – значит плохо. При подключении он сразу определился в системе (Windows 8.1). Никаких проблем с драйверами не возникло. Ранее я уже подключал другой конвертер на CH340 (тот в виде шнура-переходника USB-COM), поэтому драйвер уже стоял. Надо сказать, что и в прошлый раз не было нужды искать драйвер и ставить его вручную – всё получилось в автоматическом режиме. Теперь же ранее установленный драйвер сразу признал новое устройство.
Как и следовало ожидать, это оказался конвертер USB-UART, вроде тех, что я покупал ранее на микросхеме PL2303. Из полезных сигналов на разъём модуля здесь тоже выведены только TXD и RXD. Меня, конечно, это не устраивало. Зная, что микросхема CH340G обеспечивает формирование полного* набора сигналов RS232 , я покупал этот модуль с расчётом на его дальнейшее усовершенствование. Кстати, столь низкая цена – это во многом следствие "неполноценности" данного модуля. С одними лишь сигналами TXD и RXD его возможности сильно ограничены. А вот с полным набором сигналов RS232 возможности модуля и область его применения становятся поистине неисчерпаемыми (вовсе не обязательно использовать входы-выходы RS232 строго по их назначению). Такой порт можно даже рассматривать, как малоразрядный параллельный порт с произвольной установкой сигналов на трёх выходах и произвольным опросом состояния четырёх входов. На этом сайте вы уже могли видеть разные варианты использования аналогичного модуля. Но конвертер с полным набором сигналов стоит обычно на порядок дороже. А зачем переплачивать? Для тех, кто дружит с паяльником, оптимальное решение – купить "полуфабрикат" и довести его до полноценного состояния.
* Под "полным" набором сигналов RS232 здесь будем подразумевать сигналы COM-порта , хотя стандарт RS232 предусматривает и многие другие сигналы, не используемые в COM.
Добавлю, что модуль имеет три светодиода (все красные), один из которых сигнализирует о подаче питающего напряжения от USB, а два других отображают состояние сигналов TXD и RXD (загораясь при логическом нуле, то есть при низком напряжении относительно GND).
3. Доработка модуля UART до полноценного RS232TTL
Вывод | Назначение |
---|---|
2 | выход TXD |
3 | вход RXD |
9 | вход CTS |
10 | вход DSR |
11 | вход RI |
12 | вход DCD |
13 | выход DTR |
14 | выход RTS |
Таб. 1. Нумерация выводов
микросхемы CH340G
с сигналами RS232
В общем-то, вся доработка заключалась только в том, чтобы подпаяться к соответствующим ножкам микросхемы. Для этого предварительно потребовалось прорезать окно в термоусадочной оболочке. Соответствие выводов микросхемы CH340G и сигналов RS232 смотрите в таблице Таб.1.
Как видно из таблицы, все сигналы, кроме TXD и RXD находятся на одной стороне микросхемы, но TXD и RXD уже выведены на разъём, поэтому паять дополнительные провода потребовалось лишь с одной стороны.
4. Тестирование конвертера на микросхеме CH340G
Чтобы убедиться в исправности модуля, и в том, что он действительно обеспечивает работу всех сигналов, свойственных COM-порту, я провёл его тщательное тестирование. Все тесты прошли, как говорится, без сучка без задоринки, из чего я делаю вывод, что данный конвертер интерфейса можно рекомендовать для использования в любых устройствах и конструкциях, требующих подключения к компьютеру по RS232TTL . В том числе для использования в роли программатора микроконтроллеров, как описано в статье "Как прошить микроконтроллер ATtiny или ATmega без программатора".
Тестирование проводилось с помощью нескольких сценариев к программе Перпетуум М. Вы также можете протестировать свой конвертер. Скачайте сценарии для тестирования порта (они упакованы в один архив) и отдельно программу Перпетуум М. Не забудьте проверить и при необходимости поменять номер порта в сценариях, иначе они не будут работать. Узнать номер порта в вашем случае можно через диспетчер устройств Windows. В начале каждого сценария (а их можно открывать текстовым редактором, например, блокнотом) вы увидите строку "ИмяПорта=’COM3′;". Вместо цифры 3 поставьте ту цифру, которую нужно. Например, если при подключении модуля в диспетчере устройств появляется устройство COM4, то и в каждом сценарии нужно указать "COM4" вместо "COM3".
Теперь подробнее расскажу о ходе тестирования. Сначала я установил перемычку между штырьками разъёма TXD и RXD , чтобы данные передатчика сразу попадали в приёмник. Таким образом я "закольцевал" порт, чтобы он мог передавать данные самому себе. Это позволяет проверить одновременно и передатчик и приёмник без подключения к другому порту. Затем я запустил сценарий "Тест COM-порта путём перекачки через него файла" и выбрал случайно подвернувшийся файл размером 653 Кб. Копирование файла прошло успешно. Скопированный файл оказался абсолютно идентичен оригиналу, что говорит об исправности приёмника и передатчика модуля UART.
Далее я последовательно запускал сценарии "Тест выхода TXD COM-порта", "Тест выхода DTR COM-порта" и "Тест выхода RTS COM-порта", предварительно для каждого случая подключив вольтметр к соответствующему выходу. Вводя нули и единицы в диалоговое окно программы, я убедился, что они успешно отображаются на выходах порта. При этом выяснилось, что выход TXD отображает логические уровни без инверсии, то есть при выводе нуля появляется низкое напряжение, при выводе единицы – высокое, а выходы DTR и RTS работают с инверсией. Это нужно учитывать при использовании данного модуля в разработках.
Затем я запустил сценарий "Тест входов COM-порта", который в реальном времени отображает состояние сразу четырёх входов порта: CTS, DSR, RI, DCD. Через резистор 5,6К я стал один за другим соединять каждый из входов то с общим проводом (GND), то с линией питания +5В. Выяснилось следующее. Все входы работоспособны, все они при программном опросе выдают инверсное состояние. Все имеют "подтяжку" к напряжению питания, то есть "висячий" вход имеет уровень логической единицы и, соответственно, из-за инверсии программно читается как "0". При соединении входа через резистор 5,6К со штырьком разъёма GND каждый вход легко переходит в состояние логического нуля (программно читается как "1"), а значит сопротивление встроенной "подтяжки" по меньшей мере на порядок выше, чем 5,6К. Заметим, что в модулях на микросхеме PL2303 "перебить" встроенную "подтяжку" намного сложнее из-за её низкоомности.
Подведём итоги: кроме возможности последовательной передачи данных через UART, мы имеем три независимо управляемых выхода ( TXD, DTR, RTS ), из которых один прямой (TXD) и два инверсных, а также четыре программно опрашиваемых инверсных входа с "подтяжкой" к напряжению питания ( CTS, DSR, RI, DCD ). Если планируется задействование UART, то независимых выходов останется только два, так как выход TXD – это сигнал передатчика UART. Входов это не касается – их всё равно будет четыре.
Надо сказать ещё об одной возможности, которая якобы позволяет перестановкой перемычки менять уровень логической единицы на выходах в зависимости от того, каким напряжением питаются микросхемы, подключенные к данному модулю: 5В или 3,3В. То есть решается вопрос согласования уровней. Пишу об этой "фишке" с некоторым пренебрежением, потому что она реализована как-то странно и доверия не вызывает. Впрочем, особой необходимости в ней и нет, потому что согласовать уровни между 5В и 3.3В несложно и другими способами. А дело тут вот в чём. Модуль имеет три штырька: 5V, VCC и 3,3V. Перемычкой (она даже входит в комплект) можно замкнуть 5V и VCC, либо VCC и 3,3V. А можно и совсем её не ставить, так как при полном отсутствии перемычки всё работает так же, как если она установлена между VCC и 3,3V. Напряжение на штырьке 5V соответствует напряжению провода +5В порта USB. На штырьке VCC при отсутствии перемычки имеется напряжение около 3,8В, а на штырьке 3,3V – примерно 3,2В. Если перемычка установлена между 5V и VCC, то, в принципе, вопросов не возникает – работают уровни ТТЛ, то есть логическая единица достигает пяти вольт. Но если установить перемычку между VCC и 3,3V, то вопросы возникают, потому что при этом напряжение на штырьке 3,3V поднимается до 3,8В (как было на VCC до установки перемычки), а на выходах порта логическая единица достигает 3,6. 3,8В, что многовато для 3,3В. Без установки перемычки на выходах уровень единицы тоже достигает 3,6. 3,8В. Может, при этом ничего и не сгорит, но упор в предельно допустимые значения – не лучший фактор для надёжности.
5. Преимущества и недостатки конвертера на CH340G
Из недостатков я отметил лишь два мелких пустяка, на которые можно не обращать внимания при грамотном подходе. Один из них – не совсем удачное согласование со стандартом 3,3В. Но если вы не используете питание 3,3В, или используете, но задача согласования уровней не является для вас проблемой, то всё в порядке. Второй минус – все светодиоды данного модуля одного цвета – красные, что заставляет запоминать их расположение, если вы хотите по ним ориентироваться. Но в реальной практике необходимость в светодиодах не столь велика, а если они все-таки нужны, то можно их заменить своими.
Плюсов однозначно больше. Прежде всего, радует отсутствие проблем с драйверами. Как я уже сказал выше, для микросхем CH340 драйвера на Windows устанавливаются автоматически, включая последние версии ОС. А вот с конвертерами на микросхеме PL2303 всё намного сложнее. Для старых микросхем нет драйверов под новые версии Windows. А старых микросхем в прошлом было выпущено море. Если не ошибаюсь, это и послужило причиной того, что разработчики не стали поддерживать старые микросхемы. Вроде, там была какая-то проблема с авторскими правами – на рынке оказалось много контрафактных микросхем. И тогда разработчики, ничего принципиально не меняя в новой микросхеме, изменили лишь то, как она откликается на запрос драйвера. Грубо говоря, на вопрос "Ты кто?", новая микросхема стала отвечать: "Я Вася-плюс". А если драйвер получает ответ "Я Вася", то он говорит этой микросхеме: "Иди лесом, Вася без плюса". То есть чисто технически новый драйвер вполне мог бы работать и со старой микросхемой. Насколько я знаю, существуют даже способы обхода этой напасти – то ли как-то новый драйвер заставляют работать со старой микросхемой, то ли старый драйвер "прикручивают" к новой ОС.
Ещё одно удобство данного модуля состоит в том, что шаг расположения выводов у микросхемы CH340G значительно больше, поэтому паять намного легче. У этой микросхемы всего 16 выводов, среди которых в основном только всё самое необходимое, в отличие от PL2303, где, судя по всему, имеются выводы на все случаи жизни.
На мой взгляд, плюсом можно посчитать и высокоомность "подтяжки" входов, что уменьшает ток логического нуля, а значит, предъявляет меньше требований к источнику сигнала. Если же требования по защите от помех очень высоки, то можно без труда организовать дополнительную "подтяжку" внешним резистором. При использовании данного модуля в роли программатора для AVR-микроконтроллеров (см. рисунок справа) можно ставить все резисторы с одинаковым сопротивлением (1К. 4,3К). То есть сильно занижать сопротивление на входе CTS не требуется.
Добавлю ещё, что в прошлом я проводил сравнительное тестирование двух конвертеров на микросхемах PL2303 и CH340 . Однозначно выиграл CH340 – в экстремальных режимах получить сбои в работе с ним было намного труднее. Хотя это был конвертер другой конструкции (шнур-переходник), но, как мне кажется, можно ожидать, что и другие модели конвертеров семейства CH340 не менее надёжны.
Ещё об одном способе использования подобных конвертеров читайте в статье "Подключение и тестирование LCD 240RGBx320 c параллельным интерфейсом".
Если у вас есть вопросы или замечания по данной статье, пишите в гостевую книгу или на почту mail.ru (ящик jkit).
Из переписки с посетителем сайта
12.05.2017 Гость:
Здравствуйте, Евгений.
Читал вашу статью, где вы разрешили обращаться с вопросами: http://projectveka.ru/EL/CH340G/CH340G.htm
У меня такой же конвертер (один в один).
Дело в том, что мне нужно перепрошить аппаратуру FlySky i6 на 10 каналов. Изначально перемычка стоит в положении "VCC-3V3". Я правильно понял, что её нужно так и оставить? Извините, но я не в теме, потому задаю этот вопрос. Не хочется что-нибудь спалить.
14.05.2017 Автор:
Здравствуйте, Владимир!
Ответ на ваш вопрос зависит от технических характеристик той аппаратуры, к которой вы подключаете модуль на CH340G. Я с этой аппаратурой не сталкивался, поэтому точно ничего не могу сказать. Ссылка, которую вы дали выдаёт ошибку 404. Но, даже если бы ссылка работала, вряд ли бы я нашёл время детально разбираться в той аппаратуре. Попробуйте для начала VCC-3V3. Думаю, хуже не будет. На всякий случай поставьте резисторы по 1 кОм в каждый сигнальный провод (это из-за того, что фактически не 3,3 В, а больше).
14.05.2017 Гость:
Здравствуйте, Евгений.
Спасибо за совет! Действительно, лучше начать с малого.
А 1 кОм – это из расчета на какой ток было? (я просто не в курсе какие токи протекают по сигнальному проводу, и найти нигде не смог)
17.05.2017 Автор:
Здравствуйте, Владимир!
Вопрос сформулирован некорректно. Зачем вам знать ток? 1 кОм я взял "на глазок", исходя из того, что если где-то даже каким-то образом к резистору аварийно приложится 5 В (а больше, по идее, поблизости и быть не должно), то ток составит 5 мА, что не должно привести к негативным последствиям.
17.05.2017 Гость:
Здравствуйте, Евгений.
Говорил про ток, т.к. если он приближен к нулю, то падения напряжения на резисторе не будет и на выходе будут те же 3,6 В вместо 3,3 В. Но смысл вашей перестраховки понял, спасибо за замечание.
19.05.2017 Автор:
Здравствуйте, Владимир!
Там сплошь нелинейные элементы. И дело не в том, что лишние 0.3 В могут что-то пробить напряжением, а как раз в том, что даже небольшой прирост напряжения может внезапно вызвать нелинейно быстрый рост тока. Например, могут открыться защитные диоды на входах и т.п. Резистор придаёт линейности цепи и не допускает такого развития событий. А нормальные токи обычно маленькие (хотя и не всегда), поэтому резистор не должен помешать. Исключение – низкоомная подтяжка на входе. Тогда резистор не позволит её "побороть" и ничего не заработает. Это выявляется осциллографом, или даже вольтметром (в статическом режиме).
19.05.2017 Гость:
Здравствуйте, Евгений.
Спасибо большое за детальное разъяснение. Теперь хоть понимаю сам механизм такой защиты. А то я уж думал, что китайцы могли специально завысить напряжение с учетом падения при включении нагрузки. Теперь понятно, что это просто недочет.
20.05.2017 Автор:
Здравствуйте, Владимир!
Чтобы напряжение не "проседало" при подключении нагрузки, повышают нагрузочную способность выхода. "Лишнее" напряжение для этого не добавляют. Конечно, 3,6 В вместо 3,3 В – это не так уж много, и вряд ли что-то из-за этого сломается. Но 3,8 В подавать на вход микросхемы, питающейся от источника 3,3 В опасно, так как лишние 0,5 В уже вполне способны открыть защитный диод на входе, и, если нагрузочная способность выхода велика, он может повредить подключенный к нему вход. "Страховочный" резистор этому препятствует.
Блог технической поддержки моих разработок
Я уже затрагивал тему преобразования компьютерного интерфейса USB в последовательный интерфейс UART – стандартный интерфейс любого современного микроконтроллера. В частности сделал обзор модуля PL2303 USB UART BOARD. Показал насколько просто с помощью этого модуля подключать к USB порту компьютера устройства с интерфейсами UART, COM, RS232.
К существующим на рынке мостам USB-UART не так давно добавилась китайская микросхема CH340G (изготовитель – компания WCH). Не просто добавилась, а претендует на то, чтобы стать самым популярным компонентом сопряжения интерфейсов USB и UART.
- Низкая цена микросхемы. По моей партнерской программе на момент написания статьи (январь 2017г.) микросхему CH340G можно купить всего за 40 руб., а модуль CH340 продается по цене 90 руб.
- Удобный корпус SO-16. Маленький корпус с небольшим числом выводов и минимум внешних компонентов значительно облегчают применение микросхемы. Если раньше я отдавал предпочтение модулям USB-UART, то сейчас задумываюсь об установке микросхемы CH340 непосредственно на плате устройства.
- Неслучайно практичные китайцы в большинстве своих клонов плат Ардуино используют именно эту микросхему. И это еще один фактор способствующий распространению конвертера CH340. У многих на компьютере уже установлен для него драйвер.
В серию китайских микросхем CH340 входят:
Название | Корпус | Назначение | Официальная техническая документация |
CH340T | SSOP-20 | Мост USB – UART | CH340.pdf |
CH340R | SSOP-20 | Мост USB – IrDA | |
CH340G | SO-16 | Мост USB – UART | CH340G.pdf |
Техническую информацию о микросхемах CH340T и CH340R можно загрузить в формате PDF по этой ссылке CH340.pdf.
Но последний вариант из таблицы – микросхема CH340G оказался наиболее удачным благодаря корпусу с меньшим числом выводов. Именно он получил широкое распространение. Его я и буду описывать. Технические характеристики и параметры я взял из официальной документации производителя – китайской компании WCH. Информацию можно загрузить в формате PDF по этой ссылке CH340G.pdf.
На базе этой микросхемы разработан модуль – преобразователь интерфейсов. О нем я расскажу в следующей публикации.
Мост USB-UART CH340G.
Микросхема предназначена для преобразования интерфейса USB в UART. Позволяет создать на компьютере дополнительный UART порт. Подробно о технологии конвертирования интерфейсов USB и UART можно прочитать по этой ссылке.
- Поддерживает полную скорость спецификации USB 2.0.
- Требует минимум внешних компонентов. Только кварцевый резонатор и 4 конденсатора.
- Создает виртуальный последовательный порт, который эмулирует все функции реального COM порта.
- Позволяет использовать все существующие приложения для COM портов без изменения и доработок.
- Аппаратная часть поддерживает последовательный дуплексный интерфейс с внутренним буфером FIFO. Скорость обмена от 50 бит в сек, до 2 Мбит в сек.
- Поддерживает полный контроль сигналов управления передачей данных RTS, DTR, DCD, RI, DSR и CTS.
- При использовании внешних преобразователей уровней поддерживает интерфейсы RS23, RS422, RS485.
- Может работать с сигналами уровней 5 и 3,3 В.
- Конструктивно микросхема выполнена в корпусе SO-16.
Назначение выводов.
Вывод | Обозначение | Направление | Описание |
1 | GND | Питание | Общий провод (земля). Должен быть соединен с общим проводом шины USB. |
2 | TXD | Выход | TXD сигнал UART. |
3 | RXD | Вход | RXD сигнал UART. |
4 | V3 | Питание | Внутреннее опорное напряжение для USB интерфейса. При питании 3,3 В вывод должен быть соединен с Vcc. При напряжении питания 5 В, к нему необходимо подключить относительно земли блокировочный конденсатор емкостью 4,7 – 20 нФ. |
5 | UD+ | Аналог. | D+ сигнал USB. |
6 | UD- | Аналог. | D- сигнал USB. |
7 | XI | Вход | Вход кварцевого генератора. К нему подключается кварцевый резонатор и конденсатор. |
8 | XO | Выход | Выход кварцевого генератора. К нему подключается кварцевый резонатор и конденсатор. |
9 | CTS# | Вход | CTS сигнал UART. |
10 | DSR# | Вход | DSR сигнал UART. |
11 | RI# | Вход | RI сигнал UART. |
12 | DCD# | Вход | DCD сигнал UART. |
13 | DTR# | Выход | DTR сигнал UART. |
14 | RTS# | Выход | RTS сигнал UART. |
15 | R232 | Вход | Включение инверсии входа RXD. Активный уровень – высокий. Вход имеет внутренний резистор, подключенный к земле. |
16 | VCC | Питание | Питание. |
Предельно-допустимые параметры.
Превышение значений этих параметров может привести к выходу из строя микросхемы.
Обозначение | Название | Минимальное значение | Максимальное значение | Единица измерения |
Ta | Рабочая температура | – 40 | 85 | °C |
Ts | Температура хранения | -40 | 125 | °C |
Vcc | Напряжение питания (относительно вывода GND) | – 0,5 | 6,5 | В |
Vid | Напряжение на цифровых выводах (относительно вывода GND) | – 0,5 | Vcc + 0,5 | В |
Параметры постоянного тока.
Обозначение | Название | Мин. | Тип. | Макс. | Ед. изм. | |
Vcc | Напряжение питания | Питание 5 В | 4,5 | 5 | 5,5 | В |
Питание 3,3 В | 3,3 | 3,3 | 3,8 | В | ||
Icc | Потребляемый ток | 12 | 30 | мА | ||
Islp | Потребляемый ток в режиме сна | Питание 5 В | 150 | 200 | мкА | |
Питание 3,3 В | 50 | 80 | мкА | |||
Vil | Входное напряжение низкого уровня | – 0,5 | 0,7 | В | ||
Vih | Входное напряжение высокого уровня | 2,0 | Vcc + 0,5 | В | ||
Vol | Выходное напряжение низкого уровня | 0,5 | В | |||
Voh | Выходное напряжение высокого уровня | Vcc – 0,5 | В | |||
Iup | Ток внутренней подтяжки к питанию | 3 | 150 | 300 | мкА | |
Idn | Ток внутренней подтяжки к земле | – 50 | – 150 | – 300 | мкА | |
Vr | Напряжение сброса по питанию | 2,3 | 2,6 | 2,9 | В |
Динамические характеристики.
Обозначение | Название | Мин. | Тип. | Макс. | Ед. изм. |
Fclk | Тактовая частота | 11,98 | 12 | 12,02 | мГц |
Tpr | Время сброса по включению питания | 20 | 50 | мс |
Подключение микросхемы CH340G.
Микросхема CH340G содержит внутренние подтягивающие резисторы для шины USB и цепи подавления отраженного сигнала. Поэтому выводы UD+ и UD- должны быть подключены непосредственно к соответствующим сигналам USB (выводам разъема USB).
Микросхема имеет встроенную логику сброса по включению питания.
Для нормальной работы микросхемы необходимо сформировать на выводе XI сигнал частотой 12 мГц.
- Обычно это обеспечивается подключением кварцевого резонатора частотой 12 мГц между выводами XI и XO. Также необходимо подключить нагрузочные конденсаторы между этими выводами и землей. Формирование тактового сигнала при такой схеме включения обеспечивает внутренний генератор.
- Можно использовать внешнюю тактовую частоту. В этом случае тактовый сигнал необходимо подать на вывод XI, а вывод XO оставить неподключенным.
Микросхема поддерживает два напряжения питания: 5 В и 3, 3 В.
- При питании 5 В необходимо подключить блокировочный конденсатор емкостью 4,7-20 нФ между землей и выводом V3.
- В режиме питания 3,3 В вывод V3 должен быть соединен с выводом Vcc.
Конвертер CH340G поддерживает все сигналы управления передачей данных стандартного интерфейса RS233: CTS, DSR, RI, DCD, DTR, RTS. Программное обеспечение также поддерживает все эти сигналы.
С помощью вывода R232 можно включить инверсию сигнала RXD. Инверсия включается высоким уровнем на входе R232. Состояние сигнала запоминается при включении питания. Вход R232 имеет внутренний резистор, поэтому если в режиме инверсии RXD нет необходимости, то можно оставить вывод R232 неподключенным.
Типовая схема использования CH340G в преобразователе интерфейсов USB – UART выглядит так.
Микросхема получает питание 5 В от интерфейса USB. При питании от напряжения 3,3 В необходимо соединить выводы Vcc и V3.
Режимы работы конвертера CH340G.
У микросхемы CH340G есть встроенный буфер типа FIFO.
CH340G поддерживает симплексный, полудуплексный и полнодуплексный асинхронные режимы обмена.
Микросхема поддерживает все стандартные режимы передачи данных:
- 1 стартовый бит и 5-8 битов данных;
- 1 или 2 стоповых битов;
- бит паритета с проверкой на четность или нечетность.
Скорость обмена может быть выбрана из следующих значений:
Скорость обмена, бод | |||
50 | 900 | 19 200 | 128 000 |
75 | 1 200 | 28 800 | 153 600 |
100 | 1 800 | 33 600 | 230 400 |
110 | 2 400 | 38 400 | 460 800 |
134,5 | 3 600 | 56 000 | 921 600 |
150 | 4 800 | 57 600 | 1 500 000 |
300 | 9 600 | 76 800 | 2 000 000 |
600 | 14 400 | 115 200 |
- Ошибка временных параметров передачи данных не превышает 0,3 %.
- При приеме допустимо отклонение временных характеристик до 2 %.
Микросхема полностью эмулирует работу стандартного COM порта. Все приложения для реальных COM портов работают с конвертером интерфейсов CH340G без изменения кода. Подробнее о технологии виртуальных COM портов моно прочитать по этой ссылке.
С помощью CH340G можно подключать существующие периферийные устройства к компьютерам, не имеющим COM портов. Для реализации таких распространенных интерфейсов как RS232, RS422 и RS485 достаточно добавить преобразователи уровней сигналов.
Вот пример схемы для подключения устройств с интерфейсом RS232.
CH340G может быть использована для реализации USB инфракрасного адаптера (интерфейс IrDA). Типовая схема USB – IrDA адаптера выглядит так.
В следующей публикации я расскажу о модуле CH340, созданном на базе этой микросхемы.
Также приведу последовательность операций для установки драйвера моста USB-UART на персональном компьютере.
- Цена: $1.4
- Перейти в магазин
USB/UART конвертеры, такие маленькие платки подключаемые к USB, повсеместно используются радиолюбителями для программирования микроконтроллеров, подключения различных устройств, модемов, модулей, всего, в описании чего есть слова SERIAL или UART.
Я уже делал обзор на подобную плату с CP2102. Но периодически эти платки сгорают или теряются или просто оседают в недрах очередной поделки. И заказывая очередную партию плат Arduino Pro Mini, до кучи взял USB/UART на CH340. Данная плата меня заинтересовала тем, что имеет вывод DTR, который я раньше видел только на платах с CH2103. А это значит, что Arduino Pro Mini можно программировать без мучительных нажатий на кнопку RESET.
CH340 от китайской компании WCH отличаются дешевизной. Их ставят как в отдельные модули, так в китайские клоны Arduino, отладочные платы ESP8266. Даташит на CH340
Ну что, ж, посмотрим что же я купил. В прозрачном пакетике сам модуль и соединительный провод на 5 проводов.
На плате, кроме «GND», «VCC», «TX» и «RX» есть еще «DTR» и «CTS». У последнего, «пина приветсвия» я так и не понял назначение, так как сигнала на нем нет никакого (Может кто посветит, зачем он здесь?".
На плате имеется переключатель питания 5В (напрямую с USB) и 3.3 с маломощного стабилизатора (заявлено 120мА)
и кнопка, при нажатии на которую происходит отключения питания на VCC/. Этой кнопкой можно передергивать устройства, у которых отсутствует RESET.
Из за дополнительных кнопок плата немного больше чем другие аналогичные модули
К сожалению, переключатель 5/3.3В работает только на VCC и не переключает TTL уровень UART интерфейса. Большинство устройств с 3-х вольтовым питанием толерантно к уровням 5В, но если такое не заявлено, нужно будет использовать преобразователь логических уровней или самодельную опторазвязку.
Напряжение VCC при разных положения переключателя
Подключаю Arduino Pro Mini и без проблем программирую его без всяких нажатий на RESET
В моей Windows 7 64 бит драйвера на CH340 уже были. Не удивительно, учитывая сколько устройств к нему уж подключалось.
LINUX из моей «апельсинки» определил эти платки «из коробки»
Логический анализатор, подключенный в параллель TX, RX и DTR показывает работу последнего
А вот с модулем ESP8266 без внешнего питания ничего не вышло. ESP-шка просадила маломощный стабилизатор до 1.6В и работать отказалась
Подведу итог
Вполне рабочее устройство, выполняющее свои функции
Плюсы модуля:
- Небольшая цена
- Хороший функционал (DTR, переключатель 3.3/5, кнопка отключения VCC)
- Распространенность драйверов на него
Минусы:
- Не переключается уровень TTL 3.3/5В
- Маломощный стабилизатор на 3.3В, не способный питать тот же ESP8266
- Меньший функционал чем у CP2102 (нет возможности настройки VID/PID, например)
- Теряются они )))