Ce telefoane au usb uart. Convertor USB-uart: clipește cu adaptor

Acasă / Avarii

Cele mai multe dispozitive de blog site-ul web lucreaza cu UART. Și acest lucru este firesc - UART este un protocol foarte simplu și nesolicitant. Este ușor de lucrat atât din partea microcontrolerului, cât și din partea PC-ului. Dar există un dezavantaj în utilizarea UART. Marea majoritate a microcontrolerelor au un UART la bord, dar cu PC-uri situația este puțin mai proastă. Interfața UART este nativă pentru portul COM (în versiunea RS232), dar din cauza cerințelor tot mai mari pentru perifericele computerului, portul COM începe să devină învechit. Acest lucru se întâmplă din cauza vitezei scăzute, a incapacității de a se extinde etc. A dispărut de mult de pe laptopuri ca o clasă de porturi. Este rândul computerelor desktop...
Dar nu este totul rău. Există o cale de ieșire! Mulți producători au dezvoltat și produc cipuri de conversie USB-UART (punți). Principiul muncii lor este acesta. Un driver special este instalat pe PC, care creează un port COM virtual în sistem. Pentru programele pentru computer, acest port nu este diferit de un port COM obișnuit - ei „nu observă” înlocuirea. Toate mesajele trimise către acest port virtual sunt convertite în mesaje cu protocol USB. Un cip convertor conectat la portul USB primește aceste mesaje și generează semnale UART. Microcircuite populare și accesibile includ FT232 și PL-2303 (și există, de asemenea, OTI006858 și CP2102).

Acum să ne apropiem de subiectul întrebării.
Deci, ne-am dat seama că avem nevoie de un convertor USB la UART. Îl poți obține în mai multe moduri:
1 Cumpărați microcircuitul necesar și lipiți singur dispozitivul. Dacă asamblați orice dispozitiv, va fi convenabil dacă convertorul este integrat în dispozitiv. Dacă căutați pe Google, veți găsi multe circuite pentru astfel de convertoare - gravarea plăcii și asamblarea convertorului nu va fi o problemă.
2 Cumpărați un convertor gata făcut. Nici nu este o opțiune rea. Există o mulțime de astfel de dispozitive la vânzare. În diferiți factori de formă, la prețuri diferite - alegeți pentru fiecare gust!
3 Există o altă opțiune - o alternativă. Sunt de acord - s-ar putea să nu fie întotdeauna acceptabil, dar totuși... Puteți „împrumuta” convertorul de la alt dispozitiv.

În acest articol, propun utilizarea unui cablu de telefon mobil ca convertor USB la UART ( Cablu de date). De ce un șnur pentru un telefon mobil? Voi explica acum.
Cu ceva timp în urmă, protocolul UART a fost utilizat pe scară largă pentru a comunica între un telefon mobil și un computer. Motivele pentru utilizarea pe scară largă a acestuia sunt clare - producătorii aveau nevoie de un canal de comunicare ieftin și larg răspândit cu computerul. Ar putea fi fie un port COM, fie USB. La acea vreme, lucrul cu USB era costisitor și nu era profitabil - COM a câștigat. Telefoanele mobile scot un semnal UART „în exterior”, iar cablurile cablurilor de date îl convertesc într-un port COM sau USB. În zilele noastre, electronica a parcurs un drum lung și USB în microprocesoarele telefoanelor mobile a devenit obligatoriu. Cablurile pentru telefoanele moderne sunt înlocuite cu cabluri prelungitoare USB obișnuite.
Și acum ajungem la partea cea mai interesantă. Apar telefoane noi, cablurile vechi de convertor devin inutile pentru oricine, ceea ce înseamnă că vânzătorii încearcă cu orice preț să scape de ele. Prețurile pentru aceste șireturi vechi vechi sunt pur și simplu ridicole. Așa că am dat peste aceste cutii cu șireturi pentru așa bani că nu am putut rezista și mi-am cumpărat două. Acum o să vă spun ce trebuie făcut pentru a face un convertor USB UART cu drepturi depline dintr-un astfel de cablu.

În primul rând, trebuie să cumpărați chiar această dantelă.

Nu toate șireturile se potrivesc. Mai întâi trebuie să căutați pe Google numele șiretului care au un convertor. Vizual, trebuie să căutați un cordon cu o cutie în mijloc.

Iată cutia de ambalaj și conținutul acesteia.

Setul include cablul în sine și un disc de driver. Puteți arunca imediat discul - există o astfel de colectare de gunoi acolo încât găsirea a ceva de care aveți nevoie este problematică. Luați șiretul în sine.

Acum Să aruncăm o privire mai atentă la bord convertor



În urma examinării, găsim un microcircuit Prolific PL-2303HX.

În 90% din cazuri, vom vedea acest microcircuit special în astfel de șireturi. Motivul este ieftinitatea lui. Mai mult, acest cip va fi găsit și în majoritatea convertoarelor USB-UART pe care le cumpărați din magazin. Veți vedea foarte rar FT232, deoarece este mai scump și nu este disponibil în șireturi chinezești ieftine (cu excepția cazului în care dați peste vreun cablu de marcă). Dacă întâlniți un FT232RL, considerați-vă norocos, puteți folosi un astfel de cablu pentru a vă bate joc de programator (FT232RL poate funcționa în modul beatbang);

Fiţi atenți! Puteți găsi o clonă Prolific pe tablă. Acesta, de exemplu, era in al doilea, din sireturile pe care le-am cumparat.

Placa este aceeași, designul este același, dar cristalul în mod clar nu este Prolific (judecând după aspectul său, este o clonă mai ieftină). Absența cuarțului este alarmantă, dar placa funcționează (bănuiesc că funcționează de la un oscilator RC intern - asta nu este foarte bine). În orice caz, astfel de microcircuite sunt complet analoge (cel puțin în ceea ce privește picioarele) cu Prolific.

Acum accesați site-ul web Prolific și descărcați fișa de date pentru cip
- USB-UART Converter Prolific

În fișa de date găsim pinout-ul și ne uităm la ce picioare sunt semnalele UART de care avem nevoie:
— Transmițător TXD – 1;
— Receptorul RXD – 5.

Găsim picioarele corespunzătoare pe cip.

Apoi, folosind un tester convențional, găsim cele mai apropiate plăci de contact la care putem lipi firele. Nu puteți lipi la picioare - sunt mici. Avem nevoie și de „teren” - totul este simplu aici, vor fi poligoane mari. Lipiți firele la plăcuțele corespunzătoare.
Atașăm un conector convenabil la celălalt capăt al cablului.

Probabil cineva a citit deja mesajele de pe forumul nostru exmortis despre realizarea unui cablu USB-TTL din materiale improvizate.

Am decis să publicăm acest articol ca un articol de ghid separat. Multumesc exmortis pentru materialul oferit.

Rezumat: Acest articol este o completare la interfața serială, care se recomandă să fie citită mai întâi.

După cum știți din articolul de mai sus, set-top box-ul Ritmix RZX-50 poate fi conectat la un computer prin uart ttl, dar deoarece semnalele de tensiune nu se potrivesc cu standardul rs-232, este nevoie de un adaptor. Ca soluție gata făcută, puteți utiliza un convertor special, de exemplu, sau chiar acesta.

Dificultatea este că este posibil ca astfel de soluții să nu fie întotdeauna disponibile, iar dacă sunt disponibile, prețul declarat poate fi destul de mare.

Cu toate acestea, puteți utiliza un cablu adaptor usb-rs232 (com) obișnuit, care este vândut la orice magazin de calculatoare. De exemplu, așa:

Cablu Gembird usb-rs232 uas111. Este convenabil deoarece controlerul este ascuns într-o cutie îngrijită. Adevărat, este sigilat, așa că pentru a-l deschide va trebui fie să îl tăiați, fie să tăiați plasticul cu un fier de lipit.

În principiu, orice alt cablu similar va face, totuși, trebuie să acordați atenție accesului ușor la placă cu controlerul. Pe unele cabluri este ascuns în conectorul rs-232, care este greu de deschis, în timp ce pe altele poate exista un cip de picături la care nu este ușor de lipit. În cele din urmă, un astfel de cablu se poate baza pe un cip exotic.

Cip pl2303. În primul rând, picioarele 1 (TXD) și 5 (RXD) sunt interesante, numerotarea picioarelor merge în sens invers acelor de ceasornic din colțul marcat cu un punct pe cip în sine.

Partea inversă cu cip max213. Semnalul de la prima etapă a pl2303 vine la a 6-a etapă de max, iar semnalul de la a 5-a vine la a 19-a etapă de max.
În principiu, acest microcircuit nu este necesar pentru uart-ttl, poate chiar interfera. Prin urmare, trebuie dezlipit cu grijă și cu atât va fi mai ușor să lipiți plăcuțele de contact.

Cipul max213 este desolidat. Firul roșu este lipit la semnalul TXD, firul galben este la semnalul RXD, iar firul negru este împământat. Ulterior, vă puteți conecta conform schemei Antony, conectând firele „în cruce”, adică. RXD a controlerului la TXD a set-top box-ului și, respectiv, TXD la RXD.

Pini de interfață serială pentru Ritmix RZX-50.

A doua parte importantă este conexiunea directă la computer și configurarea conexiunii.
Mai jos vom lua în considerare o situație specifică când W7 x64 este instalat pe un computer (laptop), iar Xubuntu 11.10 x32 este instalat în mașina virtuală VirtualBox. Tot ceea ce este descris mai jos este valabil și pentru orice distribuție Linux.

Cablul lipit așa cum este indicat mai sus este conectat la computer (rzx-50 NU este conectat). Desigur, driverul nu va fi instalat de sistem, dar acest lucru nu este necesar. Încărcăm xubuntu în mașina virtuală, redirecționăm dispozitivul conectat în interior (ar trebui să fie desemnat ca Prolific Technology Inc. USB-Serial Controller). Apoi încărcați consola și introduceți dmesg. Una dintre ultimele linii ar trebui să fie definiția dispozitivului conectat (pl2303) și reflectarea acestuia asupra sistemului de fișiere - în acest caz este /dev/ttyUSB0. Să ne amintim acest nume.

Acum trebuie să instalați minicom. Comanda este standard: „sudo apt-get install minicom”. Rulați configurarea: „sudo minicom -s” și accesați meniul de configurare. În configurarea portului serial, setăm /dev/ttyUSB0 ca dispozitiv serial, debitul este setat la 56700 8N1, controlul fluxului hardware și software sunt dezactivate (Nu). Apoi, în Modem și apelare, trebuie să ștergeți liniile Init String și Reset String.

Ieșiți din setări și lansați minicom în modul normal (sudo minicom). Acum puteți testa cablul scurtând firele de la semnalele TXD și RXD. Dacă, atunci când apăsați orice tastă în minicom, simbolurile corespunzătoare apar pe ecran, atunci cablul funcționează.

Acum puteți conecta set-top box-ul la fire în modul indicat mai sus și îl puteți porni, bucurându-vă de ieșirea din fereastra emulatorului de terminale. Când vi se solicită o parolă, introduceți „root”. Dacă gunoiul sau simbolurile străine apar periodic la intrarea și ieșirea din simboluri, înseamnă că ceva nu este în regulă cu solul (cel mai probabil este rupt). În mod ideal, pământul nu ar trebui să fie conectat în niciun fel la semnalele TXD și RXD.

Nota editorului: Mi-am amintit personal imediat de sfârșitul anilor 90, când a început epoca Palmierului. La acea vreme, eram mândrul proprietar al unui Handspring Visor Deluxe, cel mai puternic PDA la acea vreme (cuvântul „tabletă” nu fusese încă inventat). Așadar, din cauza lipsei de porturi USB (da! da!) a trebuit să fac eu un cablu RS232-TTL. Mai mult, deoarece semnalele Visor erau de trei volți, iar microcircuitul Maxim care asigura nivelul necesar de semnal era limitat, a fost necesar să atașați un divizor de tensiune de la 5 la 3,3 V la piciorul „ieșire” pentru a nu arde dispozitivul. .

Acum totul este mult mai simplu și vă puteți concentra pe activități mai semnificative, de exemplu, contribuiți-vă la crearea unui firmware alternativ pentru RZX-50 :)

Programați diverse controlere Arduino și non-Aduino, primiți informații către computer de la tot ce are o interfață serială cu logică TTL.
Îl folosesc în proiectele mele cu Arduino Pro MIni, Gboard/Iboard și controlere de casă.

Cum este diferit de alte dispozitive similare?

  1. Un pin DTR suplimentar, care poate fi conectat direct la intrarea RESET pe controlerele care nu au USB pe placă. După aceasta, nu mai este nevoie să apăsați butonul RESET în timpul programării. Acest lucru este foarte convenabil pentru mine atunci când controlerul este ascuns în adâncurile ambarcațiunii mele și accesul la buton poate fi foarte dificil.
  2. Suport de producător, compatibilitate cu driverele și software-ul originale, spre deosebire de FTDI-urile false care au probleme cu driverele native
  3. Pini suplimentari (găuri pentru contacte) de pe placă, de exemplu, permițându-vă să puneți USB în modul de economisire a energiei.
  4. O oportunitate interesantă este să schimbi VID-ul, PID-ul și textul cu care placa este recunoscută, să-ți asamblați propriul driver cu parametrii necesari, ceea ce este destul de interesant în proiectele comerciale. Voi vorbi mai departe despre asta.

Unde să comand?

Caracteristici

  • Cipul CP2102 de la Silicon Labs
  • Rata de schimb de date prin UART 300Bit/sec - 1Mbit/sec
  • Citiți tampon 576 de octeți, scrie 640 de octeți
  • Suport USB 2.0 12Mbps
  • Suport mod USB SUSPENDAT
  • Regulator de putere încorporat 3.3V 100mA
  • EEPROM cu parametri de configurare 1024 octeți
  • Sistem de operare acceptat Windows 8/7/Vista/Server 2003/XP/2000, Windows CE, Mac OS-X/OS-9, Linux, Android
  • Abilitatea de a personaliza parametrii plăcii și driverului pentru proiectele dvs
  • Dimensiuni placa 26,5 x 15,6 mm

Placa are găuri suplimentare unde puteți lipi pinii pentru control suplimentar al modemului și comutarea USB în modul SUSPENDAT

Dimensiunea plăcii diferă puțin de alte convertoare USB/UART similare

  1. Placă FOCA 2.2 luată pentru proiecte comerciale cu controlere Gboard / Iboard
  2. Convertor FT232 ieftin folosit până în prezent
  3. Revizuit CP2102

Conectarea și instalarea CP2102

Înainte de a utiliza placa, trebuie să instalați drivere de pe site-ul oficial Si-Labs

  • Pentru a vă conecta la controler aveți nevoie de 5 fire:
  • GND - GMD
  • VCC - V5.0 (V3.3) în funcție de placa utilizată
  • TX - RX
  • RX - TX
  • RESET controler - DTE


Acum controlerul poate fi programat fără a apăsa butonul RESET.

Modificarea VID, PID și a altor caracteristici ale convertorului

Placa este recunoscută în sistem ca Silicon Labs CP210X USB to UART Bridge (COM35)

Uneori în proiectele comerciale este necesar ca dispozitivul să aibă propriul nume comercial la programare. Cipul CP2102 și placa de pe acesta oferă oportunități excelente pentru acest lucru

Mai întâi, descărcați și rulați utilitarul pentru configurarea parametrilor EEPROM CP1202 (am avut nevoie și să descarc Java Runtime pentru a rula utilitarul)

Acum puteți modifica următoarele setări:

  • ID-ul furnizorului (VID). ID producator. Valoarea implicită este 10С4 (format hexazecimal). În acest caz, aparține SiLabs.
  • ID-ul produsului (PID). ID produs. Valoarea implicită este EA60 (format hexazecimal). În acest caz, se referă la toate podurile CP210x.
  • Putere maximă. Consumul maxim de curent solicitat de puntea de pe magistrala USB. Valoarea implicită este 32 (format hexazecimal). Valoarea maximă 500mA
  • Atributele consumului de energie. Dieta. Alimentat prin magistrală (alimentare magistrală USB) sau Autoalimentat (alimentare de la o sursă externă).
  • Versiune de lansare. Număr de emitere. Valoarea implicită este 1,0. Câmpurile pot lua valori 1-99 în părți întregi și fracționale.
  • Număr de serie. Număr de serie. Valoarea implicită este „0001” (format text). Câmpul poate accepta orice valoare text de până la 64 de caractere. Necesar pentru a conecta mai multe dispozitive la un computer
  • Șir de produs. Câmpul poate accepta orice valoare text de până la 126 de caractere. Acest identificator este afișat în sistemul de operare atunci când bridge-ul CP210x este conectat pentru prima dată la computer și ajută utilizatorul să aleagă driverul corespunzător
  • Blocare personalizată a datelor. Protejarea datelor de configurare.

Totul a început cu faptul că trebuia să mă conectez la un dispozitiv prin USART. Am luat imediat adaptorul USB la UASRT (pentru că laptopul nu are port COM) pe AtTiny2313 (nu voi face reclamă, diagrama se găsește ușor pe Internet), l-am conectat, l-am lansat și mi-am dat seama brusc că adaptorul are o viteză fixă ​​de 9600, iar dispozitivul are o viteză fixă ​​de 9600. care trebuia să se conecteze, viteza era de 57600. Desigur, era seara târziu și nu a existat nicio oportunitate de a cumpăra ceva de genul FT232. Prin urmare, după câteva gânduri, s-a decis să se schimbe viteza UASRT în adaptor prin simpla aprindere. Ca urmare, conexiunea a fost stabilită cu succes. Dar trebuie să recunoașteți - aceasta nu este o soluție, este posibil ca programatorul să nu fie la îndemână și este incomod să schimbați firmware-ul de fiecare dată. Drept urmare, m-am gândit serios să creez un adaptor normal, cu viteză reglabilă (și nu numai).

Desigur, cea mai ușoară opțiune este să cumpărați FT232, dar după ce am comparat costul acestuia cu costul lui Mega8, am ajuns la concluzia că această opțiune nu este potrivită pentru mine. Prin urmare, s-a decis să se facă un adaptor pentru MK. Și din moment ce este pe MK, atunci a face doar USART nu este cumva rațional. Prin urmare, ar fi bine să mai punem câteva interfețe în acest adaptor, atunci ceva universal și util. Aproape imediat, mi-au venit în minte amintiri „plăcute” despre instalarea driverelor pentru adaptorul pe Tiny2313 (pentru Windows7 x64 este destul de dureros). Aceasta înseamnă că dispozitivul „COM virtual” va trebui abandonat, prin urmare, va fi necesar să scrieți un program pentru computer, altfel lucrul cu dispozitivul va fi imposibil. În general, după ce m-am gândit ceva timp, s-a format ideea finală pentru dispozitiv. Funcționalitatea s-a dovedit astfel:

  • Adaptor USB->USART;
  • Adaptor USB->SPI;
  • Adaptor USB->I 2 C;
  • în acest caz, dispozitivul trebuie să fie HID (Human Interface Device), pentru a nu vă păcăli capul instalând drivere.

MK Mega8 a devenit obiectul bullying-ului, deoarece într-un pachet TQFP ocupă foarte puțin spațiu (mult mai puțin decât AtTiny2313) și are până la 8 KB. memorie. La început s-a planificat realizarea tuturor interfețelor software, dar după așezarea plăcii a trebuit să abandonez hardware-ul I 2 C, deoarece Nu a existat nicio modalitate de a-l afișa pe o tablă cu o singură față (în viitor, această problemă va trebui în continuare rezolvată; poate poate fi afișată separat pe partea laterală a plăcii). Prin urmare, funcționalitatea sa este oarecum limitată, dar USART și SPI rămân complet funcționale. Biblioteca V-USB a fost folosită pentru a comunica cu un computer.

Diagrama dispozitivului a rezultat astfel:

După cum puteți vedea, nu este nimic complicat. MK este alimentat de o tensiune de 5 V, nivelurile pentru USB sunt potrivite folosind divizoare de tensiune și un rezistor de 68 ohmi. + Dioda Zener 3.3 V.. Frecventa de ceas MK – 12 MHz. Aceasta este frecvența minimă pentru lucrul cu magistrala USB. Circuitul conține și trei LED-uri pentru a indica modurile de funcționare. Unul dintre LED-uri arată ce mod de operare este activat, iar celelalte două indică recepția/transmisia datelor. Nu există butoane sau comutatoare în dispozitiv, iar toate setările se fac programatic, direct de pe PC. Da, rezistențele de 68 ohmi sunt incluse pe toți pinii utilizați pentru a opera interfețele. pentru a proteja MK de scurtcircuit. După cum sa menționat mai sus, dispozitivul apare pe computer ca un HID și nu necesită instalarea driverului. VID și PID au fost selectate dintre cele furnizate de V-USB: VID - 0x16c0, PID - 0x05df. În caz contrar, ar trebui să plătiți o sumă ordonată pentru a cumpăra un identificator individual pentru un dispozitiv USB. Dar pentru că un proiect Open Source și non-comercial, puteți utiliza complet liber identificatorii propuși de V-USB.

Plata s-a dovedit astfel:

Și în formă lipită:

Era un eșantion de testare și chiar unul care avea erori. Din anumite motive, am crezut că rezultatul CE nu merită afișat. Ei bine, nimic, totul a fost deja reparat și placa corectă este atașată articolului.

Deci, totul este clar cu circuitul, este simplu până la extrem și poate fi lipit într-o singură seară. Dar, așa cum sa menționat mai sus, dispozitivul rezultat este definit de computer ca HID, adică Sistemul de operare selectează un driver pentru acesta din baza de date. Mai simplu spus, Windows crede că funcționează cu un dispozitiv de intrare. Acest lucru face posibil să lucrați pe orice computer fără probleme cu driverele. Dar există o mică problemă cu aceasta: niciunul dintre programele existente pentru schimbul de date prin USART nu va funcționa cu acest dispozitiv. Aceasta înseamnă că este nevoie de un program special pentru a lucra cu modulul, altfel nu are nicio valoare. Prin urmare, am deschis C++ Builder-ul meu preferat (în prezent se numește CodeGear RAD Studio, care altfel nu schimbă semnificația), versiunea 2007 și am scris acest program:

Nu este nimic deosebit de complicat, există o serie de setări pentru fiecare interfață. Da, mai multe interfețe nu pot funcționa simultan, doar una odată. Toată treaba funcționează foarte simplu când conectați dispozitivul la PC, butoanele sunt activate în fereastra programului, făcând clic pe care se lansează interfața corespunzătoare. Apoi doar scrieți datele în câmpul de introducere într-un anumit format și faceți clic pe butonul „Trimite”. Fiecare interfață are propriul format de date. Acum să le privim mai detaliat:

USART: (datele sunt primite tot timpul în timp ce modul este activ, ca să spunem așa, automat)

  • trimiteți mai multe numere HEX, scrieți-le separate printr-un spațiu într-un număr nelimitat, de exemplu: 01 05 fa aa ...
  • trimiterea unui șir (text, numere etc.). Aici identificatorul S (s) este scris la începutul rândului, de exemplu: s www.site
  • pentru a trimite date către dispozitiv, formatul șirului este următorul: Adresă (cui să transferați și către care celulă de memorie) A (a) și Date D (d). De exemplu: aa3 dfa;
  • pentru a solicita date de la dispozitiv: Adresă (de la cine să primească și de la ce celulă de memorie) și citiți identificatorul R (r). De exemplu: aa3 r
  • pentru a trimite date către dispozitiv: Adresă dispozitiv (bit de citit la 0) A (a) Adresă de memorie M (m) Date D (d). De exemplu aa2 m03 d15
  • cererea de date arată astfel: Adresa dispozitivului (bit de citit la 0) A (a) Adresa celulei de memorie M (m) Adresa dispozitivului (bit de citit la 1) A (a) ID de citire cu numărul de celule de memorie de citit R ( r). De exemplu: aa2 m03 aa3 r1

​Nu există comenzi pentru SPI în modul Slave, doar stăm și așteptăm până când ne trimit ceva. Pentru a lucra cu dispozitivul, îl conectăm la computer, așteptăm ceva timp până când sistemul de operare raportează că driverele au fost găsite și instalate cu succes, lansăm programul și începem schimbul de date. Totul este extrem de simplu, deoarece simplitatea a fost unul dintre criteriile la crearea dispozitivului.

Da, apropo, programul este compatibil cu toate versiunile de Windows, de la Windows XP la Windows 8, și nu necesită diverse exotice, precum NetFramework etc., pentru a funcționa. Ca, într-adevăr, modulul în sine.

Asta e tot, programul, placa și codul sursă sunt incluse.

Siguranțele sunt setate să funcționeze de la un cuarț extern la frecvență înaltă. Arata asa:

În imagine, siguranța LOW este 1 când nu este marcată și 0 când este marcată. Siguranțele HIGH sunt inverse. În hexazecimal arată astfel: HIGH: D9, LOW: FF.

Și bineînțeles videoclipul, pentru că... Este mai bine să vezi o dată decât... (USART funcționează în modul de testare ecou (Rx și Tx conectate), iar SPI și I 2 C sunt testate cu cipul PCA2129T, articol despre asta)

Lista radioelementelor

Desemnare Tip Denumire Cantitate NotaMagazinBlocnotesul meu
MK AVR pe 8 biți

ATmega8

1 La blocnotes
VD1, VD2 Dioda Zener

BZX55C3V3

2 3,3 volți La blocnotes
HL1-HL3 LED 3 La blocnotes
C1 Condensator electrolitic100 uF1 Condensator de tantal La blocnotes
C2, C3 Condensator0,1 uF2 La blocnotes
C4, C5 Condensator22 pF2 La blocnotes
R1 Rezistor

1,5 kOhm

1 La blocnotes
R2 Rezistor

10 kOhm

1 La blocnotes
R3, R4, R8-R13 Rezistor

Repararea oricărui echipament electronic complex poate fi în prezent împărțită în două opțiuni: fie reparație software, „software”, fie reparație hardware, la nivel hardware. Dacă primul implică pur și simplu configurarea dispozitivului, care poate fi efectuată de orice utilizator familiarizat cu tehnologia, dacă din anumite motive setările acestuia se pierd în timpul funcționării.

Reparație hardware- Aceasta implică cel mai adesea lipirea, înlocuirea anumitor componente radio care s-au defectat din diverse motive. Fie că este supraîncălzire, de exemplu din cauza prafului acumulat în corpul dispozitivului și, ca urmare, a unui transfer de căldură mai rău, sau a pătrunderii umidității și, ca urmare, a unui scurtcircuit. Sau același lucru, îndrăgit de toți maeștrii de scurtcircuit, aranjat pe placă de insecte care s-au instalat în corpul dispozitivului), iar pe plăci se găsesc adesea urme ale activității lor.

Dar există un al treilea tip de reparații, de obicei în legătură cu tehnologia digitală, în care aceste două tipuri de reparații sunt combinate - aceasta este intermiterea dispozitivului. Și dacă putem reflash un smartphone sau o tabletă pur și simplu conectându-l la computer printr-un cablu USB, atunci, de exemplu, această metodă nu va funcționa cu un router, o placă de bază sau o placă video. Toate conțin memorie Flash, un cip special, de obicei seria 24 sau 25, în care este stocat firmware-ul nostru.

Chip de memorie seria 25

Cu plăcile de bază și plăcile video, totul este de obicei simplu - aveți nevoie de un programator de memorie Flash și EEPROM, de exemplu simplu și ieftin CH341A, care va fi discutat ca una dintre opțiunile pentru rezolvarea problemei noastre. De asemenea, pentru memoria flash fără dezlipire, veți avea nevoie de o clemă specială pentru microcircuite intermitente într-un pachet SO-8 sau SO-16. Am ambele clipuri în atelierul meu de acasă.

Clip pentru cusatura SO-8

Primul dintre ele, pentru microcircuite din pachetul SO-8, este de obicei necesar de multe ori mai des decât al doilea, pentru microcircuite din pachetul SO-16. Ceea ce mi-a fost util o singură dată pentru flash-ul routerului Zyxel, apropo, din moment ce se consideră o marcă cunoscută, sunt originale și uneori instalează microcircuite în carcase similare SO-16 și este bine dacă nu microcircuite seria 29, cine știe – va înțelege imediat.

Conector cu clemă SO-16

Cert este că pentru a flashiza un microcircuit din seria 29 avem nevoie de un programator mult mai scump - MiniPro TL866A, pe care îl am și eu, dar nu există adaptor de la carcasa Dip la această carcasă, care are o aranjare foarte comună a picioarelor. , iar în comparație cu lipirea a cărei lipire a unui microcircuit într-un pachet SMD, același SO-8 sau SO-16, este o joacă de copii. Deci, tocmai am primit un router Zyxel cu un cip din seria 29 pentru reparare. Prima dată când am reparat routerul anterior Zyxel, cipul era memorie serială, seria 25, deși într-un pachet SO-16. Apoi, după cum înțelegeți, a fost mult mai ușor să efectuați reparații.

Cip de memorie seria 29

Deci, cum putem restabili routerul dacă suntem „norocoși” și avem doar un astfel de microcircuit din seria 29? Producătorii de routere, în acest caz, oferă intermitent de urgență prin intermediul unui server TFTP. Dar problema este că uneori partiția de pornire din memoria cipului, care se numește U-Boot, este ștearsă. În acest caz, ți se va potrivi opțiunea de flashing a memoriei routerului la anumite adrese, pe care va trebui să te regăsești pe forumuri specializate pentru flashing routere. Dar, de obicei, totul este mult mai simplu - firmware-ul a mers prost, datele necesare pentru ca routerul să funcționeze normal se pierd, dar zona de pornire și zona de calibrare sunt intacte. În acest caz, veți avea nevoie de un adaptor USB-TTL simplu și ieftin, al cărui cost pe Ali Express este de numai aproximativ 40 de ruble.

Adaptor USB la TTL

Este potrivit și un adaptor pe cipul CH340A, care este folosit pentru a încărca schițe pe miniplaca Arduino Pro, care nu are un bootloader CH340A lipit pe placă. Sunt potrivite și adaptoarele bazate pe pl2303, sau programatorul de memorie CH341A Flash și EEPROM, despre care am scris deja mai sus și care, după schimbarea jumperului, poate funcționa în modul adaptor USB-UART.

Programator memorie flash si EEPROM + USB-TTL

În ultimă instanță, puteți utiliza un cablu intermitent de la un telefon mobil vechi, care conține și un convertor USB-COM, dar va trebui să vă potriviți nivelurile de putere. Puterea de la adaptor trebuie luată strict de 3,3 volți, nu de cei 5 volți pe care îi poate scoate de la un anumit pin. Deci, să presupunem că avem acest adaptor (sau mai degrabă, oricare dintre cele enumerate mai sus), am instalat un driver pentru el, am mers la managerul de dispozitive din Windows și am stabilit cărui număr de port COM îi corespunde adaptorul nostru. Și acest adaptor nu este altceva decât un port COM virtual în sistemul dumneavoastră.

Căutăm numărul portului COM

Apoi avem nevoie de un fel de program - un terminal, în care, folosind comenzile consolei, ne vom restaura routerul prin flash-ul. Dar nu vom reface routerul folosind acest adaptor, adaptorul este folosit doar pentru a controla procesul de firmware. Cum flashăm routerul în acest caz? Există, desigur, opțiuni pentru flash-ul routerului prin procesorul său ARM prin interfața JTAG și am și acest programator achiziționat de pe Ali Express - este un programator Wiggler conectat prin interfața LPT, dar după ce am încercat să-l dau seama, m-am hotărât că metoda intermitent folosește servere TFTP sunt mult mai simple.

Programator JTAG Wiggler

Să aruncăm o privire mai atentă la această opțiune mai simplă, pentru care nu este nevoie de un programator JTAG, acesta clipește, așa cum am scris mai sus, prin intermediul unui server TFTP. Pentru a face acest lucru, trebuie să conectăm adaptorul nostru USB-UART la 4 pini de pe placa routerului. Adevărat, uneori se întâmplă ca producătorul să separe plăcuțele de contact și șinele, dar să nu lipize pinii înșiși. În acest caz, puteți lipi independent un pieptene cu 4 pini, achiziționat de la un magazin de radio sau lipit de la o placă de bază donatoare sau un alt dispozitiv.

Conexiune USB-TTL

În principiu, nici măcar nu trebuie să lipiți acești pini dacă nu este posibil, ci pur și simplu să-i lipiți cu atenție la nichelurile de pe placă, plăcuțele de contact unde ar trebui să fie lipiți acești pini. Un fir subțire MGTF este foarte convenabil în acest scop. Așadar, am conectat adaptorul la computer, am instalat driverul și am furnizat conexiunea fiabilă de care aveam nevoie la acești 3 din 4 pini de pe placă.

Jumperi Arduino pentru adaptor

Pentru a vă conecta la pieptene, este convenabil să folosiți jumperii și jumperii folosiți pentru a conecta plăcile Arduino la scuturi. Cum trebuie să conectăm aceste 3 fire? Și de ce doar trei dacă sunt patru contacte? Nu se recomandă alimentarea routerelor de la un adaptor; Prin urmare, este mai bine să deconectați sursa de alimentare, chiar dacă utilizați 3,3 volți conform așteptărilor.

Conexiune între adaptor și router - diagramă

Împământările dispozitivelor conectate între ele în timpul intermitentului trebuie să fie combinate, astfel încât masa, pinul GND, va trebui conectată. Dar cei doi pini rămași, RX și TX, trebuie conectați prin „încrucișarea” lor între ei, adică conectați RX la TX și TX la RX. Deci, am conectat totul corect, apoi trebuie să configuram corect terminalul, prefer să folosesc Putty pentru a putea controla routerul nostru prin consolă și, în consecință, îl actualizăm cu un firmware nou.

Se instalează Putty

Aceasta înseamnă că selectăm portul serial, portul serial sau portul COM în setările Putty, apoi setăm numărul portului COM dorit, pe care l-am uitat anterior în managerul de dispozitive. După aceasta, trebuie să configurați viteza portului COM, de obicei 57600, mai rar 115200 baud. Și, în cele din urmă, după ce ne-am asigurat încă o dată că totul este conectat corect, nimic de pe placă nu este scurtcircuitat sau scurtcircuitat, în timpul procesului de intermitent, ne conectăm în prealabil la consola configurată și furnizăm energie routerului de la puterea originală. livra.

Krakozyabry în terminal

Dacă vedeți „crackeri” pe ecran, înseamnă că ați configurat incorect viteza portului COM și trebuie fie să citiți ce viteză ar trebui setată pentru modelul de router, fie să o selectați experimental până când „crackerele” dispar și apare text simplu. . Apoi va trebui să apăsați, imediat după ce porniți alimentarea routerului, prinzând momentul potrivit, ceea ce nu este atât de ușor, o anumită combinație de taste, fie tpl, pentru routerele TP-Link, fie numărul 4, intrați în consolă, sau numărul 2, pentru routerele Zyxel, lansând intermitent de pe serverul TFTP.

Interfață server TFTP

Serverul în sine trebuie să fie rulat ca administrator în conexiunile de rețea, acolo trebuie să fie indicată adresa IP a serverului, pe care fie ți-o va spune consola, fie o poți găsi chiar tu pe Internet. În serverul TFTP va trebui să specificați adresa IP a clientului și folderul în care se află firmware-ul nostru.

Modificarea setărilor de conexiune la rețea

Firmware-ul în sine trebuie să fie neapărat fără Boota, adică atunci când coasem firmware-ul atașat cu o clemă, prin programatorul SPI seria 25, avem nevoie de Full Flash, sau cu alte cuvinte, firmware cu bootloader, în acest caz firmware-ul trebuie să fie să fie standard, fără un bootloader, care este de obicei furnizat de producător, pe site-ul dvs. Este mai bine să simplificați numele fișierului firmware, de exemplu 123.bin, va trebui să îl introduceți în consolă când începeți procesul de intermitent.

Se întrerupe descărcarea

Apoi va trebui să fiți de acord și să confirmați că sunteți de acord cu intermiterea. Dacă ați făcut totul corect, procesul de intermitent va începe în consolă, după ce se va termina, va trebui doar să reporniți routerul și dacă firmware-ul a fost strict de la modelul corespunzătoare și revizuirea hardware, totul va funcționa cu siguranță pentru dvs.

Explicația procesului de intermitent sa dovedit a fi, desigur, voluminoasă, dar procesul în sine pentru o persoană care l-a finalizat de cel puțin câteva ori devine destul de simplu. Si avand in vedere ca routerele sunt echipamente care nu rezista mult, mai ales in timpul furtunilor, in lunile mai - iunie, cred ca acest articol va fi de folos incepatorilor care vor sa economiseasca bani la achizitionarea unui router nou. Reparații fericite tuturor! Mai ales pentru site-ul Circuite radio - AKV.

Discutați articolul CONVERTOR USB-UART: REFLASHING CU UN ADAPTATOR

© 2024 ermake.ru -- Despre repararea PC-ului - Portal de informații