Сериен порт - TTL и RS232. USB-UART към CH340G конвертор: надграждане до RS232TTL, тестване, сравняване на най-бързия usb към ttl

Сериен порт - TTL и RS232.  USB-UART към CH340G конвертор: надграждане до RS232TTL, тестване, сравняване на най-бързия usb към ttl
Сериен порт - TTL и RS232. USB-UART към CH340G конвертор: надграждане до RS232TTL, тестване, сравняване на най-бързия usb към ttl

Трябваше да извеждам данни от пакетите GGA и VTG на LCD, което не е много удобно предвид максималния размер на пакета от 80 знака.

При отстраняване на грешки трябваше да извеждам данни от пакетите GGA и VTG на LCD, което не е много удобно с максимален размер на пакета от 80 знака.

Такъв позор се дължеше на факта, че имах, което беше неудобно за използване, в което нещо винаги беше късо и застрашаваше ценния COM порт на моя компютър. Исках да направя чисто нов, хубав, в сладък калъф и с красиви кабели :) Беше гравиран шал, чието свързване може да изтеглите в края на бележката.

Освен това платката е инсталирана от ST Microelectronics (пълен аналог), но по-евтина с няколко гривни. Разбира се, уважавам Максим, но абсолютно не обичам да плащам повече за незначителни неща. Кондензатори в снопа, настроени на 1uF 16V тантал, тип A.


Освен това цялото това домакинство беше натикано в сградата, която лежах без работа от 13-годишна възраст. Защитих жиците от издърпване с обикновен възел. Мек кабел с конектор за COM порта е взет назаем от стара мишка.


Беше отпечатан стикер с обозначението на окабеляването и залепен върху кутията, за да не се помни постоянно къде е плюсът и къде е минусът :). Слой лепяща лента го предпазва от протриване. Сега конверторът придоби известна използваемост и стана удобен за използване. Приятен ден.

USB към UART към CH340G конвертор:
модифициране до RS232TTL, тестване, сравняване

април 2017 г

1. Какво е TTL и какво общо има USB с него?

По някакъв начин Али привлече вниманието ми към много евтин конвертор от usb към uart. Първоначално не бях съвсем сигурен какво всъщност представлява това нещо. Името на продукта на английски изглеждаше така: "USB to TTL converter UART module CH340G CH340 3.3V 5V switch". Споменаването на UART и чипа CH340G сякаш разсея съмненията, но не ми хареса фразата "USB към TTL", която се виждаше и на снимката на модула, от долната му страна. Факт е, че тази фраза няма смисъл, което означава, че отваря широко поле за свободно тълкуване.

На теория, преведена на руски, фразата " USB към TTL" трябва да означава "преобразуване на USB в TTL". Никой не трябва да обяснява какво е USB сега, но не много хора са чували за TTL. Затова нека се обърнем към историята и да видим какво е TTL.

Интересното е, че и Google, и Yandex, в отговор на заявката „Какво е TTL“, дадоха връзки за TTL от съвсем различна област. И така, какво е това във връзка с електрониката? Съкращението TTL на руски не се различава от английската версия и означава транзистор-транзисторна логика (TTL). Първоначално тази концепция предполага характеристиките на вътрешната структура на някои цифрови микросхеми, набор от технически решения, включително схемотехнически и технологични. Освен всичко друго, стандартът TTL също задава метод логическо кодиране на сигнала. Така например, логическа нула беше кодирана от напрежение, близко до общия захранващ проводник. Освен това общият проводник беше свързан към минуса на източника на захранване и беше взет като нулев потенциал - "земя". И логическата единица беше кодирана с напрежение, близко до захранващото напрежение + 5V. Самото захранващо напрежение +5V също се превърна в неразделна част от стандарта TTL.

Трябва да се отбележи, че TTL микросхемите по едно време бяха много разпространени. В Съветския съюз може би най-известната беше серията K155. Широко приложениена тези и подобни микросхеми принудиха разработчиците на хардуер да се придържат към същите методи за кодиране на сигнали с логическа нула и логическа единица, които бяха предвидени от стандарта TTL, за целите на съвместимостта.

Но нищо не стои неподвижно. Изградени TTL чипове биполярни транзистори, скоро остаряха. Те значително загубиха от по-модерните микросхеми както по отношение на скоростта, така и по отношение на консумацията на енергия. Те започнаха да бъдат заменени от други семейства микросхеми, базирани на MIS структури (метал-изолатор-полупроводник), и по прост начин - на полеви транзистори. Но стандартът за кодиране на сигнала нямаше да остарее, така че много нови микросхеми, дори без да са пряко свързани с TTL, останаха съвместими с TTL. Самите микросхеми TTL постепенно станаха част от историята (въпреки че и до днес се използват в аматьорски проекти), а общото им име - съкращението TTL - придоби малко по-различно значение. Сега TTLтрябва да се тълкува като "стандарт за ниво на напрежение за кодиране на логически нули и единици, използвани в TTL микросхеми."

И какво, с оглед на казаното по-горе, могат да означават думите "USB към TTL"? Мисля, че вече е ясно защо тази фраза няма смисъл.

2. Интерфейсен конвертор на чипа CH340G

В крайна сметка поръчах този продукт. Струва ми 44,30 рубли с доставката, тоест почти за нищо. Но това не е така, когато евтиното означава лошо. Когато се свърже, веднага се идентифицира в системата (Windows 8.1). Нямаше проблеми с водачите. Преди това вече свързах друг конвертор към CH340 (този под формата на USB-COM адаптерен кабел), така че драйверът вече беше инсталиран. Трябва да кажа, че последния път нямаше нужда да търсите драйвер и да го инсталирате ръчно - всичко се оказа автоматичен режим. Сега по-рано инсталиран драйверведнага разпозна новото устройство.

Както се очакваше, се оказа USB-UART конвертор, като тези, които купих по-рано. От полезните сигнали само 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. Включително за използване като програмист на микроконтролер, както е описано в статията.

Тестването беше извършено с помощта на няколко сценария за програмата Perpetuum M. Можете също да тествате свой собствен конвертор. Изтеглете (опаковани са в един архив) и отделно. Не забравяйте да проверите и ако е необходимо да промените номера на порта в скриптовете, в противен случай те няма да работят. Можете да разберете номера на порта във вашия случай чрез диспечера Windows устройства. В началото на всеки сценарий (и те могат да бъдат отворени текстов редактор, например notepad) ще видите реда "PortName="COM3";". Вместо числото 3, поставете числото, от което се нуждаете. Например, ако устройство COM4 се появи в диспечера на устройствата, когато е свързан модул, тогава във всеки сценарий трябва да посочите „COM4“ вместо „COM3“.

Сега ще ви разкажа повече за процеса на тестване. Първо инсталирах джъмпер между щифтовете на конектора TXDИ RXDтака че данните от предавателя веднага да стигнат до приемника. По този начин "зациклих" порта, за да може да предава данни към себе си. Това ви позволява да тествате и предавателя, и приемника едновременно, без да се свързвате към друг порт. След това изпълних скрипта „Тестване на COM порт чрез прехвърляне на файл през него“ и избрах произволно показан файл от 653 KB. Копирането на файла беше успешно. Копираният файл се оказа абсолютно идентичен с оригинала, което показва изправността на приемника и предавателя на UART модула.

След това стартирах последователно скриптовете „Тест на изхода на TXD COM порт“, „Тест на изхода на DTR COM порт“ и „Тест на изхода на RTS COM порта“, като преди това свързах волтметър към съответния изход за всеки случай. С въвеждането на нули и единици в диалоговия прозорец на програмата се уверих, че те се показват успешно на изходите на порта. В същото време се оказа, че изходът на TXD показва логически нива без инверсия, тоест когато се изведе нула, ниско напрежение, при извеждане на един - висок, а изходите DTR и RTS работят с инверсия. Това трябва да се има предвид, когато се използва този модул в разработката.

След това стартирах скрипта "Test COM port inputs", който показва състоянието на четири порт входа в реално време: CTS, DSR, RI, DCD. Чрез резистор 5.6K започнах да свързвам един по един всеки от входовете или към общ проводник (GND), или към + 5V захранваща линия. Оказа се следното. Всички входове са работещи, всички дават инверсно състояние по време на софтуерна анкета. Всички са с "pull-up" към захранващото напрежение, тоест "висящият" вход е с ниво на логическа единица и съответно поради инверсията се чете като "0" от софтуера. При свързване на входа през резистор 5.6K към щифта на конектора GND, всеки вход лесно преминава в състояние на логическа нула (програмно прочетено като "1"), което означава, че съпротивлението на вградения "pullup" е най-малко порядък по-висок от 5,6K. Обърнете внимание, че в модулите, базирани на чипа PL2303, е много по-трудно да се "убие" вграденото "издърпване" поради ниското му съпротивление.

За да обобщим: в допълнение към възможността за сериен трансфер на данни чрез UART, имаме три независимо контролирани изхода ( TXD, DTR, RTS), от които един е директен (TXD) и два са инверсни, както и четири софтуерно запитвани инверсни входа с "издърпване" към захранващото напрежение ( CTS, DSR, RI, DCD). Ако планирате да използвате UART, тогава ще има само два независими изхода, тъй като изходът TXD е сигналът от UART предавателя. Това не се отнася за входовете - те все още ще бъдат четири.

Трябва да кажа още една възможност, която уж ви позволява да промените нивото на логическа единица на изходите чрез пренареждане на джъмпера, в зависимост от това какво напрежение се захранва от микросхемите, свързани към този модул: 5V или 3.3V. Тоест решава се въпросът със съвпадащите нива. Пиша за този "чип" с известно пренебрежение, защото е реализиран по странен начин и не вдъхва доверие. Въпреки това, няма особена нужда от това, т.к хармонизирайте ниватамежду 5V и 3.3V е лесно по други начини. И тук е работата. Модулът има три пина: 5V, VCC и 3.3V. С джъмпер (дори е включен в комплекта) може да затворите 5V и VCC, или VCC и 3.3V. Или изобщо не можете да го настроите, тъй като при пълната липса на джъмпер всичко работи по същия начин, както ако е инсталирано между VCC и 3.3V. Напрежението на щифта 5V съответства на напрежението на проводника + 5V USB порт. На щифта VCC, при липса на джъмпер, има напрежение около 3.8V, а на щифта 3.3V - около 3.2V. Ако джъмперът е инсталиран между 5V и VCC, тогава по принцип няма въпроси - нивата на TTL работят, тоест логическата единица достига пет волта. Но ако инсталирате джъмпер между VCC и 3.3V, тогава възникват въпроси, защото в този случай напрежението на щифта 3.3V се повишава до 3.8V (както беше на VCC преди инсталирането на джъмпера), а логическата единица на изходите на порта достигат 3.6 ...3.8V, което е твърде много за 3.3V. Без джъмпер, инсталиран на изходите, нивото на устройството също достига 3,6 ... 3,8V. Може би в този случай нищо няма да изгори, но акцентът върху максимално допустимите стойности не е най-добрият фактор за надеждност.

5. Предимства и недостатъци на преобразувателя CH340G

От недостатъците отбелязах само две незначителни дреболии, които могат да бъдат игнорирани с компетентен подход. Едно от тях е не съвсем успешното съгласие със стандарта 3.3V. Но ако не използвате 3.3V захранване или го правите, но задачата за съпоставяне на нивата не е проблем за вас, тогава всичко е наред. Вторият минус е, че всички светодиоди на този модул с един и същи цвят са червени, което ви кара да запомните местоположението им, ако искате да се ориентирате по тях. Но в реалната практика нуждата от светодиоди не е толкова голяма и ако все още са необходими, можете да ги замените със собствени.

Определено има повече плюсове. На първо място, радва липсата на проблеми с драйверите. Както казах по-горе, за микросхеми CH340 драйвери за windowsинсталиран автоматично, включително най-новите версииОПЕРАЦИОННА СИСТЕМА. Но с преобразувателите на чипа PL2303 всичко е много по-сложно. За стари чипове няма драйвери за нови Windows версии. А старите микросхеми в миналото бяха пуснати по морето. Ако не греша, това беше причината разработчиците да не поддържат старите микросхеми. Изглежда, че имаше някакъв проблем с авторските права - на пазара имаше много фалшиви микросхеми. И тогава разработчиците, без да променят нищо фундаментално в новата микросхема, промениха само начина, по който отговаря на заявката на водача. Грубо казано, на въпроса "Кой си ти?", Новата микросхема започна да отговаря: "Аз съм Вася-плюс." И ако водачът получи отговора „Аз съм Вася“, тогава той казва на тази микросхема: „Минете през гората, Вася без плюс“. Тоест технически нов драйверможеше да работи със стария чип. Доколкото знам дори има начини да се заобиколи тази напаст - или новият драйвер е принуден по някакъв начин да работи със стария чип, или стар шофьор"закопчан" към новата ОС.

Друго удобство на този модул е, че разстоянието между пиновете на чипа CH340G е много по-голямо, така че запояването е много по-лесно. Тази микросхема има само 16 щифта, сред които основно само най-необходимите, за разлика от PL2303, където очевидно има щифтове за всички случаи.


Според мен за плюс може да се приеме и високото съпротивление на "издърпването" на входовете, което намалява тока на логическата нула, което означава, че налага по-малко изисквания към източника на сигнала. Ако изискванията за защита срещу смущения са много високи, тогава можете лесно да организирате допълнително "издърпване" с външен резистор. Когато използвате този модул като роля (вижте фигурата вдясно), можете да инсталирате всички резистори с еднакво съпротивление (1K ... 4.3K). Тоест, не е необходимо да се подценява силно съпротивлението на входа на CTS.

Ще добавя, че в миналото прекарах сравнително тестванедва преобразувателя на микросхеми PL2303И CH340. CH340 определено спечели - в екстремни режими беше много по-трудно да се получат повреди при работа с него. Въпреки че беше преобразувател с различен дизайн (адаптерен кабел), но, както ми се струва, може да се очаква, че други модели преобразуватели от семейството CH340 са не по-малко надеждни.

Ако имате въпроси или коментари по тази статия, пишете на или mail.ru (jkit box).

От кореспонденция с посетител на сайта

05/12/2017 Гост:
Здравей Евгений.
.htm
Имам същия конвертор (едно към едно).
Факт е, че трябва да презареждам оборудването FlySky i6 на 10 канала. Първоначално джъмперът е в позиция "VCC-3V3". Правилно ли разбрах, че трябва да се остави така, както е? Съжалявам, но не съм по темата, затова задавам този въпрос. Не искам да горя нищо.

14.05.2017
Здравей Владимир!
Отговорът на вашия въпрос зависи от спецификацииоборудването, към което свързвате модула на CH340G. Не съм срещал това оборудване, така че не мога да кажа със сигурност. Връзката, която си дал, дава грешка 404. Но дори ако връзката работеше, едва ли щях да намеря време да разбера подробно това оборудване. Първо опитайте VCC-3V3. Не мисля, че ще стане по-лошо. За всеки случай поставете 1 kΩ резистори във всеки сигнален проводник (това се дължи на факта, че всъщност не е 3,3 V, а повече).

14.05.2017 Гост:
Здравей Евгений.
Благодаря за съвета! Наистина е по-добре да започнете с малко.
И 1 kOhm се базира на какъв ток беше? (Просто не знам какви токове протичат през сигналния проводник и не можах да го намеря никъде)

17.05.2017
Здравей Владимир!
Въпросът е формулиран неправилно. Защо трябва да знаете тока? Взех 1 kOhm "на око", въз основа на факта, че ако някъде, дори по някакъв начин, 5 V се приложи към резистора при авария (и повече, на теория, не трябва да има наблизо), тогава токът ще да бъде 5 mA, което не трябва да води до негативни последици.

17.05.2017 Гост:
Здравей Евгений.
Говореше за тока, т.к ако е близо до нула, тогава няма да има спад на напрежението през резистора и изходът ще бъде същият 3,6 V вместо 3,3 V. Но разбрах смисъла на вашето презастраховане, благодаря за коментара.

19.05.2017
Здравей Владимир!
Има напълно нелинейни елементи. И въпросът не е, че допълнителните 0,3 V могат да счупят нещо с напрежение, а просто, че дори малко увеличение на напрежението може внезапно да причини нелинейно бързо увеличение на тока. Например може да се отворят защитни диоди на входовете и др. Резисторът дава линейност на веригата и предотвратява подобно развитие на събитията. И нормалните токове обикновено са малки (макар и не винаги), така че резисторът не трябва да пречи. Изключение е издърпване с ниско съпротивление на входа. Тогава резисторът няма да му позволи да "пребори" и няма да работи. Това се открива от осцилоскоп или дори волтметър (в статичен режим).

19.05.2017 Гост:
Здравей Евгений.
Благодаря много за подробното обяснение. Сега поне разбирам механизма на такава защита. И тогава вече си помислих, че китайците могат умишлено да надценят напрежението, като вземат предвид спада при включване на товара. Сега е ясно, че това е просто недостатък.

20.05.2017
Здравей Владимир!
За да не "провисне" напрежението при свързване на товара, товароносимостта на изхода се увеличава. За това не се добавя "допълнително" напрежение. Разбира се, 3.6V вместо 3.3V не е толкова много и едва ли нещо ще се счупи от него. Но е опасно да се подават 3,8 V към входа на микросхема, захранвана от източник от 3,3 V, тъй като допълнителните 0,5 V вече са доста способни да отворят защитен диод на входа и ако изходният товароносимост е висок, може повредете свързания към него вход. "Предпазният" резистор предотвратява това.

Използването на материали от този сайт в публикации е допустимо само ако тези материали са придружени от връзки към източника - сайт на сайта, посочващ автора: E.A. Kotov. Авторските права са защитени от законите на Руската федерация. Евгений Котов. 2017 г

Почти всички микроконтролери имат сериен порт на борда - UART. Работи по стандартен сериен протокол, което означава, че може лесно да се свърже към включен компютър COMпорт. Но тук има един проблем - факт е, че компютърът RS232той приема за логически нива +/- 12 волт, а UARTработи на пет волтови нива. Как да ги съчетаем? За това има няколко опции за схеми на преобразуватели на ниво, но най-популярният все още е на специален преобразувател. RS232-TTL. Това е микрочип MAX232и неговите аналози.
Почти всяка компания прави свой собствен конвертор, така че ще пасне тук ST232, И ADM232, И HIN232. Веригата е проста като три пенита - вход, изход, мощност и тръбопроводи от пет кондензатора. Обикновено се поставят кондензатори 1uFелектролити, но в някои модификации 0,1uFкерамика. Запоявах навсякъде 0,1uFкерамика и обикновено това беше достатъчно. :) Работи като часовник. Ако е включено високи скоростище бъде бъги, тогава ще е необходимо да се увеличи капацитета.

Между другото, има също MAX3232това е същото, но на изхода няма 5 волта TTL, а 3,3 волта TTL. Използва се за контролери за ниско напрежение.

Направих си един такъв универсален кабел, така че да е удобно да се придържате към контролерите UART. За цялостна компактност пъхнах цялата верига направо в конектора, тъй като имах ST232в соичен случай. Резултатът беше носна кърпичка не повече от монета от рубла. Тъй като нямаше малки SMD кондензатори под ръка, трябваше да запоя кондерите отгоре, кой в ​​каквото беше. Основното работи, въпреки че не се оказа много красиво.


Ако се съмнявате, че ще успеете с такава малка инсталация, разделих платката за вас в стандартен PDIP корпус. Ще бъде с размерите на кибритена кутия, но не е необходимо да смилате.


След сглобяването просто се проверява:
Включва се в контакт COMпорт. Приложете 5 волта захранване към веригата и след това затворете RxНа Tx(Имам зелен и жълт проводник).

След това отваряте поне всеки терминал Хипертерминал, се придържат към порта и започват да изпращат байтове, те трябва незабавно да се върнат. Ако това не се случи, проверете веригата, някъде има задръстване.

Ако работи, тогава всичко е просто. Проводникът, който идва от пин 9 на чипа MAX232Това предаване на изход, качи го на крака RxDконтролер. И този от крака 10 - получаване, не се колебайте да го поставите на заключението TxDконтролер.

Много често много начинаещи любители на електрониката се сблъскват с необходимостта от сдвояване на нива, com връзкикомпютърен порт през rs232 с различни устройства, които имат различни TTL нива на трансфер на данни.
И много често при събирането на друга схема възникват разочарования.
По-долу има напълно работеща схема на Com адаптера с описание.

Използвайте това устройствовъзможно с свързване на рутера Dir300 през вътрешния Com портДа се различни устройствас различни нива на сигнали. Същото важи и за други сдвоявания на устройства. Приемници с компютри например. Ком адаптерът винаги е полезен.

За производството на RS232-TTL беше необходимо дъска за хляб, но в крайна сметка няма смущения, всички данни са коректни и пълни.

Подробности

Чип
MAX232 или негов вариант.

Резистори
400 kOhm.
5 kOhm

Кондензатори
Те се избират за конкретна маркировка на чипа според таблицата на първата фигура.

Особености
Не забравяйте за издърпващите резистори. Най-честата грешка. Също така не забравяйте да свържете GND (заземяване на COM порта, микросхемата и свързаното устройство в една линия)

Снимка на произведени работещи COM адаптери


Други статии в раздела:

СЕНЗОР ЗА ПРЕПЯТСТВИЯ IR БРОНЯ