Contacte

Aplicație usb la ttl d sun.  Convertor (convertor) de interfețe Ethernet la TTL. Care este diferența dintre UART și RS232

A trebuit să afișăm datele din pachetele GGA și VTG pe LCD, ceea ce nu este foarte convenabil având în vedere dimensiunea maximă a pachetului de 80 de caractere.

La depanare, a trebuit să afișam datele din pachetele GGA și VTG pe LCD, ceea ce nu este foarte convenabil având în vedere dimensiunea maximă a pachetului de 80 de caractere.

Această rușine s-a datorat faptului că aveam, ceea ce era incomod de utilizat, în care ceva era mereu scurtcircuitat și amenința prețiosul port COM de pe computerul meu. Am vrut să fac unul nou-nouț, frumos, într-o carcasă drăguță și cu cablaje frumoase :) A fost gravată o eșarfă, al cărei cablaj poate fi descărcat la sfârșitul notei.

Apoi, placa a fost instalată de la ST Microelectronics (un analog complet), dar cu câteva grivne mai ieftine. Desigur, îl respect pe Maxim, dar absolut nu-mi place să plătesc în exces pentru lucruri banale. Condensatorii din cablaj au fost setați la 1 µF 16V tantal, tip A.


Apoi toate chestiile astea au fost îndesate într-o clădire pe care o zăceam inactiv de când aveam 13 ani. Am protejat firele de a fi trase cu un simplu nod. Un cablu moale cu un conector pentru portul COM a fost împrumutat de la un mouse vechi.


Pe carcasă a fost imprimat și lipit un autocolant cu denumirea cablajului, pentru a nu ne aminti constant unde este plusul și unde este minusul :). Un strat de bandă adezivă îl protejează de abraziune. Acum, convertorul a dobândit o oarecare utilizare și a devenit convenabil de utilizat. Să aveţi o zi bună.

Când dezvoltați diferite tipuri de dispozitive electronice folosind microcontrolere, este adesea util să le puteți conecta la un computer personal printr-un port serial. Totuși, acest lucru nu se poate face direct, deoarece conform standardului RS-232, semnalul este transmis la niveluri de -3..-15 V (logic<1>) și +3..+15V (logic<0>). Pentru a converti nivelurile RS-232 la niveluri logice TTL standard, se folosesc de obicei cipuri speciale de conversie. Cu toate acestea, nu are întotdeauna sens să includeți un convertor de nivel în circuitul dispozitivului proiectat, deoarece se întâmplă adesea ca comunicarea cu un computer să fie necesară numai în etapa de fabricare și depanare a dispozitivului, iar pentru produsul final există nu este nevoie de el. O soluție logică în această situație ar fi fabricarea unui convertor de nivel separat RS-232 la TTL, o diagramă a uneia dintre opțiunile posibile este prezentată mai jos:

Baza convertorului propus este cip larg răspândit de convertor de nivel MAX232A de la Maxim (U1), care are și mulți analogi de la alți producători (Analog Devices, LG etc.). Acest microcircuit este proiectat pentru o tensiune de alimentare de 5V și are încorporat un dublator de tensiune și un invertor pe condensatori comutați pentru a produce tensiunile de +10V necesare lucrului cu semnale RS-232. Pentru a funcționa microcircuitul, sunt necesari 4 condensatori externi (C1, C2, C3, C4) cu o capacitate de 0,1 μF, care sunt utilizați în convertorul de tensiune. În plus, pentru a simplifica utilizarea acestui convertor, acesta este alimentat direct de la portul serial, eliminând necesitatea surselor de alimentare externe. Tensiunea de alimentare de 5 V este generată de un regulator de tensiune liniar de mică putere LM78L05 (U2), a cărui intrare este conectată la condensatorul de stocare C6. Condensatorul C6 este încărcat printr-o diodă de la semnalul Data Terminal Ready (DTR, al patrulea pin al conectorului RS-232 cu 9 pini). Dioda D1 poate fi de orice tip (autorul a folosit o diodă într-un pachet de montare la suprafață, lipită de pe o placă de bază arsă). Pentru funcționarea normală a unui astfel de convertor de putere, este necesar ca semnalul DTR să fie zero logic de cele mai multe ori. Acesta trebuie să fie furnizat de programul terminal sau programul utilizator utilizat.

Utilizarea convertorului descris mai sus se dovedește a fi convenabilă în cazurile în care în timpul funcționării dispozitivului nu este necesară capacitatea de a comunica cu un computer, dar este necesară în etapa de depanare sau fabricare a dispozitivului. Un exemplu tipic în acest sens ar fi, de exemplu, un dispozitiv cu memorie flash sau EEPROM care necesită inițializare inițială. În plus, este adesea foarte convenabil în timpul procesului de dezvoltare să scoateți diferite tipuri de informații de depanare către portul serial, ceea ce vă permite uneori să faceți fără emulatori hardware.

Lista radioelementelor

Desemnare Tip Denumirea Cantitate NotăMagazinBlocnotesul meu
U1 IC interfață RS-232

MAX232A

1 La blocnotes
U2 Regulator liniar

LM78L05A

1 La blocnotes
D1 Dioda 1 La blocnotes
C1-C5 Condensator0,1 uF5 La blocnotes
C6 Condensator electrolitic4,7 uF1

Convertor USB-UART la CH340G:
finalizarea la RS232TTL, testarea, compararea

aprilie 2017

1. Ce este TTL și ce legătură are USB-ul cu el?

Cumva, un produs foarte ieftin mi-a atras atenția asupra lui Ali Convertor USB-UART. La început nu eram foarte sigur ce era de fapt chestia asta. Numele produsului în limba engleză arăta astfel: „Convertor USB la TTL Modul UART CH340G CH340 3.3V 5V comutator”. Mențiunea UART și a cipului CH340G părea să risipească îndoielile, dar nu mi-a plăcut expresia „USB to TTL”, care era vizibilă și în fotografia modulului, pe partea de jos. Faptul este că această frază nu are sens, ceea ce înseamnă că deschide o marjă largă de interpretare liberă.

În teorie, a tradus în rusă sintagma „ USB la TTL„ ar trebui să însemne „conversia USB în TTL”. Nimeni nu trebuie să explice ce este USB acum, dar nu mulți au auzit despre TTL. Așa că să trecem la istorie și să vedem ce este TTL.

Este interesant că atât Google, cât și Yandex, când au fost întrebați „Ce este TTL”, au returnat link-uri despre TTL dintr-o zonă complet diferită. Deci, ce este asta în legătură cu electronica? Abrevierea TTL în rusă nu este diferită de versiunea în engleză și reprezintă logica tranzistor-tranzistor (TTL). Inițial, acest concept a implicat caracteristicile structurii interne a unor microcircuite digitale, un set de soluții tehnice, inclusiv circuite și cele tehnologice. Printre altele, standardul TTL a specificat și o metodă codificarea semnalului logic. De exemplu, un zero logic a fost codificat cu o tensiune apropiată de firul de alimentare comun. În plus, firul comun a fost conectat la negativul sursei de alimentare și a fost luat ca potențial zero - „împământare”. Și unitatea logică a fost codificată cu o tensiune apropiată de tensiunea de alimentare de +5V. Tensiunea de alimentare de +5V în sine a devenit, de asemenea, o parte integrantă a standardului TTL.

Trebuie remarcat faptul că microcircuitele TTL au devenit la un moment dat foarte răspândite. În Uniunea Sovietică, poate cea mai faimoasă a fost seria K155. Utilizarea pe scară largă a acestor microcircuite și a unor microcircuite similare i-a forțat pe dezvoltatorii de hardware, în scopuri de compatibilitate, să adere la aceleași metode de codificare a semnalelor zero logic și unu logic care au fost prevăzute de standardul TTL.

Dar nimic nu stă pe loc. Cipurile TTL construite pe tranzistoare bipolare au devenit curând învechite. Au fost mult inferioare microcircuitelor mai moderne atât ca performanță, cât și ca consum de energie. Au început să fie înlocuite cu alte familii de microcircuite bazate pe structuri MIS (metal-dielectric-semiconductor), sau, mai simplu, pe tranzistoare cu efect de câmp. Dar standardul de codare a semnalului nu avea să devină învechit, așa că multe microcircuite noi, chiar și care nu au legătură directă cu TTL, au rămas compatibile cu TTL. Cipurile TTL în sine au devenit treptat parte a istoriei (deși sunt încă folosite în design-uri pentru amatori până în prezent), iar numele lor comun - abrevierea TTL - a căpătat un sens ușor diferit. Acum TTL ar trebui interpretat ca „un standard al nivelurilor de tensiune pentru codificarea zerourilor și a unurilor logice, utilizate în cipurile TTL”.

Și ce pot însemna, ținând cont de cele de mai sus, cuvintele „USB to TTL”? Cred că acum este clar de ce această frază nu are sens.

2. Convertor de interfață pe cip CH340G

Am ajuns să comand acest produs. M-a costat 44,30 de ruble inclusiv poștal, adică aproape nimic. Dar nu este cazul când ieftin înseamnă rău. Când a fost conectat, a fost imediat identificat în sistem (Windows 8.1). Nu au fost probleme cu șoferii. Anterior, conectasem deja un alt convertor la CH340 (cel sub forma unui cablu adaptor USB-COM), deci driverul era deja instalat. Trebuie să spun că data trecută nu a fost nevoie să cauți un driver și să-l instalezi manual - totul a funcționat automat. Acum, driverul instalat anterior a recunoscut imediat noul dispozitiv.

După cum v-ați aștepta, s-a dovedit a fi un convertor USB-UART, ca cele pe care le-am cumpărat mai devreme. Dintre semnalele utile, doar TXD și RXD sunt transmise la conectorul modulului aici. Desigur, asta nu mi s-a potrivit. Știind că microcircuitul CH340G asigură formarea unui set complet* Semnale RS232, Am cumpărat acest modul cu așteptarea îmbunătățirii sale ulterioare. Apropo, un preț atât de mic este în mare parte o consecință a „inferiorității” acestui modul. Cu doar semnale TXD și RXD, capacitățile sale sunt sever limitate. Dar, cu un set complet de semnale RS232, capacitățile modulului și domeniul de aplicare al acestuia devin cu adevărat inepuizabile (nu este deloc necesar să folosiți intrările și ieșirile RS232 strict în scopul propus). Un astfel de port poate fi considerat chiar drept low-bit port paralel cu setare arbitrară a semnalelor pe trei ieșiri și interogare arbitrară a stării a patru intrări. Pe acest site puteți vedea deja diferite opțiuni pentru utilizarea unui modul similar. Dar un convertor cu un set complet de semnale costă de obicei cu un ordin de mărime mai mult. De ce să plătească în plus? Pentru cei care sunt familiarizați cu un fier de lipit, soluția optimă este să cumpărați un „produs semifabricat” și să-l aduceți într-o stare completă.

* Prin set „complet” de semnale RS232 ne referim la semnale Port COM, deși standardul RS232 oferă multe alte semnale care nu sunt utilizate în COM.

Voi adăuga că modulul are trei LED-uri (toate roșii), dintre care unul semnalizează alimentarea tensiunii de alimentare de la USB, iar celelalte două afișează starea semnalelor TXD și RXD (aprinzându-se la zero logic, adică la tensiune joasă în raport cu GND).

3. Actualizarea modulului UART la un RS232TTL complet

ConcluzieScop
2 Ieșire TXD
3 Intrare RXD
9 Intrare CTS
10 Intrare DSR
11 intrare RI
12 Intrare DCD
13 Ieșire DTR
14 Ieșire RTS
Tab. 1. Numerotarea pin
Chip-uri CH340G
cu semnale RS232

În general, toată modificarea a constat doar în lipirea picioarelor corespunzătoare ale microcircuitului. Pentru a face acest lucru, a fost mai întâi necesar să tăiați o fereastră în carcasa termocontractabilă. Potrivire pin Chip-uri CH340GȘi Semnale RS232 vezi tabelul Tab.1.

După cum se poate vedea din tabel, toate semnalele, cu excepția TXD și RXD, sunt pe o parte a cipului, dar TXD și RXD sunt deja conectate la conector, așa că a fost necesar să lipiți fire suplimentare doar pe o parte.

4. Testarea convertorului pe cipul CH340G

Pentru a mă asigura că modulul funcționează corect și că oferă într-adevăr toate semnalele inerente portului COM, l-am testat temeinic. Toate testele au trecut, după cum se spune, fără probleme, de unde concluzionez că acest convertor de interfață poate fi recomandat pentru utilizare în orice dispozitive și modele care necesită conectarea la un computer prin intermediul RS232TTL. Inclusiv pentru utilizare ca programator de microcontroler, așa cum este descris în articol.

Testarea a fost efectuată folosind mai multe scripturi pentru programul Perpetuum M. De asemenea, puteți testa convertorul. Descărcați (sunt ambalate într-o arhivă) și separat. Nu uitați să verificați și să modificați numărul portului în scripturi, dacă este necesar, altfel nu vor funcționa. Puteți afla numărul portului în cazul dvs. prin intermediul Windows Device Manager. La începutul fiecărui script (și pot fi deschise cu un editor de text, cum ar fi Notepad), veți vedea linia „PortName="COM3";". În loc de numărul 3, puneți numărul de care aveți nevoie. De exemplu, dacă, la conectarea unui modul, dispozitivul COM4 apare în managerul de dispozitive, atunci în fiecare scenariu trebuie să specificați „COM4” în loc de „COM3”.

Acum vă voi spune mai multe despre procesul de testare. Mai întâi am instalat un jumper între pinii conectorului TXDȘi RXD astfel încât datele emițătorului să ajungă imediat la receptor. Astfel, am „buclat” portul pentru a putea transmite date către el însuși. Acest lucru vă permite să testați atât emițătorul, cât și receptorul în același timp, fără a vă conecta la un alt port. Apoi am rulat scriptul „Testează un port COM prin descărcarea unui fișier prin el” și am selectat un fișier aleatoriu de 653 KB în dimensiune. Fișierul a fost copiat cu succes. Fișierul copiat s-a dovedit a fi absolut identic cu originalul, ceea ce indică faptul că receptorul și transmițătorul modulului UART funcționează corect.

Apoi, am rulat secvențial scripturile „Test de ieșire portului COM TXD”, „Test de ieșire a portului COM DTR” și „Test de ieșire a portului COM RTS”, având în prealabil conectat un voltmetru la ieșirea corespunzătoare pentru fiecare caz. Introducând zerouri și unu în caseta de dialog a programului, am verificat că au fost afișate cu succes pe ieșirile portului. S-a dovedit că ieșirea TXD afișează niveluri logice fără inversare, adică la ieșire zero, apare o tensiune joasă, la ieșire, apare o tensiune înaltă, iar ieșirile DTR și RTS funcționează cu inversare. Acest lucru trebuie luat în considerare atunci când utilizați acest modul în dezvoltare.

Apoi am rulat scriptul „COM Port Input Test”, care afișează în timp real starea a patru intrări de porturi simultan: CTS, DSR, RI, DCD. Folosind un rezistor de 5,6K, am început să conectez fiecare dintre intrări una câte una fie la firul comun (GND), fie la linia de alimentare +5V. S-a dovedit următoarele. Toate intrările sunt operaționale atunci când sunt interogate de software, toate produc o stare inversă. Toate au un „pull-up” la tensiunea de alimentare, adică intrarea „atârnată” are un nivel logic și, în consecință, din cauza inversării, este citită în software ca „0”. Când intrarea este conectată printr-un rezistor de 5,6K la pinul conectorului GND, fiecare intrare intră cu ușurință într-o stare logică zero (citește în software ca „1”), ceea ce înseamnă că rezistența „pull-up” încorporat este cel puțin un ordin de mărime mai mare de 5,6K. Rețineți că în modulele bazate pe cipul PL2303, este mult mai dificil să „rupeți” „pull-up”-ul încorporat din cauza rezistenței sale scăzute.

Să rezumam: pe lângă posibilitatea de transmitere a datelor în serie prin UART, avem trei ieșiri controlate independent ( TXD, DTR, RTS), dintre care una este directă (TXD) și două sunt inverse, precum și patru intrări inverse interpelate programatic cu un „pull-up” la tensiunea de alimentare ( CTS, DSR, RI, DCD). Dacă intenționați să utilizați UART, atunci vor exista doar două ieșiri independente, deoarece ieșirea TXD este un semnal de la transmițătorul UART. Acest lucru nu afectează intrările - vor fi încă patru.

Este necesar să menționăm încă o posibilitate, care se presupune că vă permite să schimbați nivelul unității logice la ieșiri prin deplasarea jumperului, în funcție de ce tensiune sunt alimentate microcircuitele conectate la acest modul: 5V sau 3.3V. Adică se rezolvă problema nivelurilor de coordonare. Despre acest „truc” scriu cu oarecare dispreț, pentru că este implementat cumva ciudat și nu inspiră încredere. Cu toate acestea, nu este nevoie în mod special de el, deoarece de acord asupra nivelurilorîntre 5V și 3,3V este ușor în alte moduri. Și iată chestia. Modulul are trei pini: 5V, VCC și 3.3V. Cu un jumper (chiar este inclus în kit) poți închide 5V și VCC, sau VCC și 3.3V. Sau nu îl puteți instala deloc, deoarece în absența completă a unui jumper totul funcționează la fel ca și cum ar fi instalat între VCC și 3,3V. Tensiunea de pe pinul de 5V corespunde tensiunii firului de +5V al portului USB. Pinul VCC are o tensiune de aproximativ 3,8 V când nu există un jumper, iar pinul de 3,3 V are o tensiune de aproximativ 3,2 V. Dacă jumperul este instalat între 5V și VCC, atunci, în principiu, nu apar întrebări - nivelurile TTL funcționează, adică o unitate logică atinge cinci volți. Dar dacă instalați un jumper între VCC și 3.3V, atunci apar întrebări, deoarece tensiunea pe pinul de 3.3V crește la 3.8V (cum era la VCC înainte de instalarea jumperului), iar la ieșirile portului unitatea logică ajunge la 3.6 ...3.8V, ceea ce este un pic prea mult pentru 3.3V. Fără a instala un jumper la ieșiri, nivelul unității ajunge și la 3,6...3,8V. Poate că nimic nu se va arde, dar concentrarea pe valorile maxime admise nu este cel mai bun factor de fiabilitate.

5. Avantajele și dezavantajele convertorului CH340G

Dintre deficiențe, am remarcat doar două fleacuri minore care pot fi ignorate cu o abordare competentă. Unul dintre ele nu este coordonarea complet reușită cu standardul de 3,3V. Dar dacă nu utilizați puterea de 3,3 V sau o faceți, dar sarcina de potrivire a nivelului nu este o problemă pentru dvs., atunci totul este în ordine. Al doilea dezavantaj este că toate LED-urile acestui modul sunt de aceeași culoare - roșu, ceea ce vă obligă să vă amintiți locația lor dacă doriți să navigați pe lângă ele. Dar, în practică, nevoia de LED-uri nu este atât de mare și, dacă tot ai nevoie de ele, le poți înlocui cu ale tale.

Cu siguranță există mai multe avantaje. În primul rând, sunt mulțumit că nu sunt probleme cu șoferii. După cum am spus mai sus, pentru microcircuite Drivere CH340 pentru Windows sunt instalate automat, inclusiv cele mai recente versiuni ale sistemului de operare. Dar cu convertoare pe cipul PL2303, totul este mult mai complicat. Nu există drivere pentru microcircuite mai vechi pentru versiunile noi de Windows. Și în trecut, a fost lansată o mare de microcircuite vechi. Dacă nu mă înșel, acesta a fost motivul pentru care dezvoltatorii nu au suportat microcircuite mai vechi. Se pare că a existat un fel de problemă cu drepturile de autor - erau multe microcircuite contrafăcute pe piață. Și apoi dezvoltatorii, fără a schimba fundamental nimic în noul cip, au schimbat doar modul în care acesta răspunde la cererea șoferului. Aproximativ, la întrebarea „Cine ești?”, noul microcircuit a început să răspundă: „Sunt Vasya-plus”. Și dacă șoferul primește răspunsul „Eu sunt Vasya”, atunci el spune acestui microcircuit: „Treci prin pădure, Vasya fără plus”. Adică, pur tehnic, noul driver ar putea funcționa cu ușurință cu vechiul microcircuit. Din câte știu, există chiar modalități de a ocoli acest flagel - fie noul driver este cumva forțat să lucreze cu vechiul microcircuit, fie vechiul driver este „înșurubat” la noul sistem de operare.

Un alt avantaj al acestui modul este că distanța dintre pini de la chipul CH340G este mult mai mare, astfel încât lipirea este mult mai ușoară. Acest microcircuit are doar 16 pini, dintre care practic sunt doar cei mai necesari, spre deosebire de PL2303, care, aparent, are pini pentru toate ocaziile.


În opinia mea, „pull-up” de înaltă rezistență a intrărilor poate fi considerat un plus, care reduce curentul logic zero și, prin urmare, solicită mai puține surse de semnal. Dacă cerințele de protecție împotriva interferențelor sunt foarte mari, atunci puteți organiza cu ușurință un „pull-up” suplimentar cu un rezistor extern. Când utilizați acest modul într-un rol (vezi figura din dreapta), puteți instala toate rezistențele cu aceeași rezistență (1K...4.3K). Adică, nu este necesar să se reducă foarte mult rezistența la intrarea CTS.

De asemenea, voi adăuga că în trecut am efectuat teste comparative a două convertoare pe microcircuite PL2303Și CH340. CH340 a câștigat cu siguranță - în modurile extreme a fost mult mai dificil să se confrunte cu defecțiuni cu acesta. Deși a fost un convertor de alt design (cord adaptor), mi se pare că vă puteți aștepta ca și alte modele de convertoare din familia CH340 să nu fie mai puțin fiabile.

Dacă aveți întrebări sau comentarii despre acest articol, scrieți sau trimiteți un e-mail la mail.ru (căsuța poștală jkit).

Din corespondența cu un vizitator al site-ului

05.12.2017 Invitat:
Bună, Evgeniy.
.htm
Am același convertor (unu la unu).
Cert este că trebuie să reflashez echipamentul FlySky i6 pentru 10 canale. Inițial, jumperul este în poziția „VCC-3V3”. Am înțeles bine că trebuie lăsat așa cum este? Îmi pare rău, dar nu sunt la curent, de aceea pun această întrebare. Nu vreau să ard nimic.

14.05.2017
Salut, Vladimir!
Răspunsul la întrebarea dumneavoastră depinde de caracteristicile tehnice ale echipamentului la care conectați modulul CH340G. Nu am întâlnit acest echipament, așa că nu pot spune nimic sigur. Linkul pe care l-ați furnizat dă o eroare 404, dar chiar dacă linkul ar funcționa, este puțin probabil să fi găsit timp să înțeleg acel echipament în detaliu. Încercați mai întâi VCC-3V3. Nu cred că se poate mai rău. Pentru orice eventualitate, puneți rezistențe de 1 kOhm în fiecare fir de semnal (acest lucru se datorează faptului că de fapt nu este de 3,3 V, ci mai mult).

14.05.2017 Invitat:
Bună, Evgeniy.
Multumesc pentru sfat! Într-adevăr, este mai bine să începi cu mici.
Și 1 kOhm se bazează pe cât de mult curent a fost? (Nu știu ce curenți curg prin firul de semnal și nu l-am putut găsi nicăieri)

17.05.2017
Salut, Vladimir!
Întrebarea este formulată greșit. De ce trebuie să știi curentul? Am luat 1 kOhm „cu ochi”, pe baza faptului că, dacă undeva, chiar și cumva, 5 V sunt aplicați accidental la rezistor (și, teoretic, nu ar trebui să fie mai mulți în apropiere), atunci curentul va fi de 5 mA , care nu ar trebui să ducă la consecințe negative.

17.05.2017 Invitat:
Bună, Evgeniy.
Vorbeam de curent, pentru că... dacă este aproape de zero, atunci nu va exista nicio cădere de tensiune pe rezistor și ieșirea va fi aceeași 3,6 V în loc de 3,3 V. Dar înțeleg sensul reasigurării dvs., mulțumesc pentru notă.

19.05.2017
Salut, Vladimir!
Există elemente complet neliniare. Iar ideea nu este că un plus de 0,3 V poate face ca ceva să treacă prin tensiune, ci tocmai că chiar și o mică creștere a tensiunii poate provoca brusc o creștere neliniară rapidă a curentului. De exemplu, se pot deschide diode de protecție la intrări etc. Rezistorul adaugă liniaritate circuitului și previne astfel de evoluții. Și curenții normali sunt de obicei mici (deși nu întotdeauna), așa că un rezistor nu ar trebui să interfereze. Excepția este tragerea cu rezistență scăzută la intrare. Atunci rezistorul nu vă va permite să-l „depășiți” și nimic nu va funcționa. Acest lucru poate fi detectat cu un osciloscop sau chiar cu un voltmetru (în modul static).

19.05.2017 Invitat:
Bună, Evgeniy.
Vă mulțumesc foarte mult pentru explicația detaliată. Acum cel puțin înțeleg mecanismul unei astfel de protecție. Altfel, m-am gândit că chinezii ar fi putut crește în mod deliberat tensiunea ținând cont de căderea la pornirea sarcinii. Acum este clar că acesta este doar o eroare.

20.05.2017
Salut, Vladimir!
Pentru a preveni „scăderea” tensiunii atunci când conectați o sarcină, creșteți capacitatea de sarcină a ieșirii. Tensiunea „extra” nu este adăugată în acest scop. Desigur, 3,6 V în loc de 3,3 V nu este atât de mult și este puțin probabil ca ceva să se rupă din cauza asta. Dar furnizarea de 3,8 V la intrarea unui microcircuit alimentat de o sursă de 3,3 V este periculoasă, deoarece un plus de 0,5 V este deja destul de capabil să deschidă dioda de protecție la intrare și, dacă capacitatea de încărcare a ieșirii este mare, poate deteriorați intrarea conectată la acesta. O rezistență „de siguranță” împiedică acest lucru.

Utilizarea materialelor de pe acest site în publicații este permisă numai dacă aceste materiale sunt însoțite de legături către sursă - site-ul site-ului care indică autorul: E.A. Drepturile de autor sunt protejate de legile Federației Ruse. Evgheni Kotov. 2017

Microcontrolerele din Arduino (ATmega328, 168, 2560) folosesc, printre alte interfețe, o interfață serială bazată pe hardware (UART). ATmega2560 MCU (Arduino Mega) implementează patru UART-uri simultan. Interfața folosește două fire - RX (recepție) și TX (transmit), unde semnalul digital codifică valorile biților "0" și "1" cu tensiunea de pe fir. Valoarea „0” corespunde cu 0V, iar valoarea „1” corespunde tensiunii de funcționare a circuitului integrat (5V sau 3,3V, în funcție de modelul și modul de funcționare al MK). Acest tip de codare se mai numește și logică tranzistor-tranzistor (TTL), deoarece tensiunea de pe fir afectează direct starea (deschis/închis) a tranzistorilor care asigură recepția și transmiterea semnalului digital.

Portul serial al computerului (portul COM), care este din ce în ce mai rar întâlnit la modelele moderne de computere compacte, funcționează conform vechiului standard de telecomunicații RS232, unde codarea semnalului este diferită: valoarea „0” este codificată cu o tensiune de la +3V. la +25V și „1” - tensiune negativă de la -3V la -25V. Tensiuni de +13V și -13V se găsesc de obicei în porturile COM ale computerelor personale.

O diferență mare de tensiune face conexiunea RS232 mai rezistentă la interferențe, cu toate acestea, dispozitivele digitale moderne folosesc adesea un port serial compatibil TTL sau USB - o interfață mult mai modernă și de mare viteză.

Pentru comparație, figura de mai jos arată semnalele seriale TTL și RS 232 luate la transmiterea valorii unui octet.

Pentru a converti un semnal RS232 în TTL și înapoi, trebuie să îl inversați (deși acest lucru se poate face în software) și să convertiți tensiunea. De obicei, cipuri precum MAX232 sunt folosite pentru aceasta. Uneori folosesc circuite de casă simplificate care asigură inversarea semnalului și conversia tensiunii sau recurg la soluții software și hardware (inversie software, schimbarea tensiunii hardware).

În cazul Arduino (Uno, Mega etc.), se folosește un controler serial USB-TTL, care asigură funcționarea cu MK printr-o interfață serială compatibilă TTL. La modelele mai vechi, pentru asta a fost folosit cipul FTDI FT232, în cele noi - ATmega8U sau ATmega16U. Pinii interfeței seriale MK sunt, de asemenea, disponibili pentru conexiune directă. Pentru Uno, aceștia sunt pinii D0, D1, iar modelul Mega are mai multe interfețe seriale simultan. Nu puteți conecta un port RS232 la acești pini - nu va putea funcționa corect din cauza unui alt tip de codare, iar tensiunea înaltă poate deteriora MK.

Pentru a vă conecta la un port serial compatibil TTL de la un computer, este convenabil să utilizați un adaptor serial USB-TTL. Cu toate acestea, adaptoarele seriale USB-TTL de uz general sunt vândute numai în magazine specializate și, adesea, la un preț nerezonabil de mare. În același timp, adaptoarele USB-RS232 sunt mult mai populare (și mai ieftine). La o examinare mai atentă, orice adaptor USB-RS232 conține două componente principale - microcircuite adaptoare serial USB-TTL și convertor serial RS232-TTL.

Am găsit un adaptor USB-RS232, al cărui circuit a fost ascuns într-o carcasă ușor dezasamblată a conectorului DB9 (uneori carcasa este din formă turnată și este mai greu să ajungi la circuit). Adaptorul s-a dovedit a fi construit pe cipurile populare Prolific PL2303 (adaptor serial USB-TTL) și Zywyn ZT213 (adaptor RS232-TTL). După ce m-am uitat la specificația PL2303, am aflat că aveam nevoie de pinii 1 (TX) și 5 (RX), cărora le-am lipit fire fără a schimba în vreun fel circuitul (deci partea RS232 a rămas operațională). Am luat pământ de la al 5-lea pin al DB9 pentru a nu atinge al 7-lea pin al microcircuitului.

Rezultatul este un adaptor serial USB-TTL ieftin și vesel. În captură de ecran: monitorul serial de la Arduino IDE este conectat prin USB, iar realterm este conectat direct la D0, D1 printr-un adaptor serial USB-TTL.

Am auzit că multe cabluri de date pentru telefoane mobile conțin și controlere seriale USB-TTL, deși un număr tot mai mare de modele moderne se conectează direct la interfața USB, fără a necesita adaptoare speciale. Multe microcontrolere sunt echipate cu o interfață USB, în special ATmega8U și ATmega16U, care sunt utilizate în Arduino ca controlere seriale USB-TTL, oferind acces la ATmega328, care nu are o interfață USB.

PL2303HX este un mic convertor USB-Serial cu un transceiver RS232 încorporat (interfață UART). Microcircuitul creează un port COM virtual pe computer prin care puteți să flash microcontrolere, precum și să restaurați routere și set-top box-uri.


Specificatii tehnice

Tensiune de alimentare: 5V (de la USB)
Interfață 1: USB
Interfața 2: TTL (0 la 5, Rx și Tx)
Tensiune de ieșire, V: 3,3 și 5 (ieșiri separate)
Dimensiuni: 50mm x 15mm x 8mm
Suport sistem de operare: Windows XP / 7 / 8 / 8.1 / 10.

Informații generale despre PL2303HX

Cipul principal pentru modul este PL2303HX, care până în 2012 a fost produs de Prolific Technology. În esență, acesta este un convertor de interfață USB la UART cu niveluri logice TTL, CMOS (0 V ... +5 V). Pe o parte există un conector USB pentru conectarea la un computer, iar pe cealaltă există un conector UART cu cinci pini (RX, TX și pini de alimentare pentru +5V și +3.3V), pentru protecție împotriva scurtcircuitelor, modulul este plasat într-un tub transparent termocontractabil, schema circuitului PL2303HX este prezentată în imaginea de mai jos.

Scopul LED-urilor:
P (Putere) - putere (aprins constant)
R (RxD) - date primite
T (TxD) - date transmise

Din schema electrică se poate observa că puterea către ieșirea +5V vine direct de la portul USB, fără elemente de protecție, iar puterea către ieșirea +3.3V provine de la stabilizatorul intern PL-2303, care poate rezista la un curent. de până la 150 mA. Driverele oficiale Prolific pentru Windows 7, 8 și 10 nu funcționează deoarece... verifică originalitatea cipului PL-2303, dar este posibil să remediați totul uitându-ne la asta.

Testare

Pentru testare puteți folosi „ Terminal1_9_b", puteți descărca acest program din acest articol.

Instalați driverul
Hai să lansăm „Terminal1_9_b”în numele administratorului.
În colțul de sus, selectați „ Port COM„(poate fi vizualizat în managerul de dispozitive) și faceți clic pe „ Conectați»

În partea de jos, introduceți o valoare arbitrară și faceți clic pe „ -> Trimite", LED-ul TxD se va aprinde scurt de fiecare dată când apăsați.
Conectați pinii TxD și RxD unul la altul și apăsați „->Trimite”, două LED-uri, TxD și RxD, se vor aprinde scurt la fiecare apăsare, iar comanda trimisă va fi afișată și în program.
Tensiunea de 3,3 V și 5 V poate fi verificată cu un multimetru convențional

Legături
Documentația PL2303HX
Șofer pentru



Ți-a plăcut articolul? Împărtășește-l