Proiectare și materiale
Depanarea RS-485 pe banc: separați mai întâi terminarea, derivațiile și polarizarea în repaus
Rezumat: O legătură RS-485 poate comunica pe un banc cu cablu scurt, apoi poate începe să raporteze erori intermitente când cablul este prelungit sau sunt adăugate noduri. Schimbarea rezistoarelor, reducerea ratei baud și modificarea împământării în același timp lasă adesea o nouă problemă: defectul dispare temporar, dar nimeni nu știe ce schimbare a ajutat.
Această notă se adresează inginerilor electricieni și de aplicații care depanează comunicația echipamentelor de joasă tensiune. Separați adaptarea impedanței la cele două capete ale magistralei, reflexiile din derivațiile nodurilor și comportamentul receptorului când nimeni nu transmite. Apoi restrângeți cauza defectului prin comparații cu configurații fixe. Nota oferă o metodă de înregistrare și exemple care pot fi recalculate, nu lungimi universal acceptabile sau limite de acceptare în producție.
Desenați mai întâi traseul electric
Desenați pe aceeași schemă ambele capete ale liniei principale, fiecare punct de ramificare, interfețele transceiverelor și terminările integrate în dispozitive. Când comunicația semiduplex folosește o singură pereche de semnal, configurația uzuală este o linie principală cu derivații scurte. Terminarea adaptează impedanța caracteristică a liniei de transmisie; nu înseamnă montarea unui rezistor la fiecare dispozitiv. AN-960 de la ADI explică relația de bază dintre terminarea paralelă la ambele capete și protecția fail-safe a receptorului. AN-960
Pentru cablul uzual de 120 Ω, se folosește frecvent o terminare de 120 Ω la fiecare dintre cele două capete electrice. Numărați comutatoarele „120 Ω” ale dispozitivelor, rezistoarele de pe plăci și rezistoarele externe, nu doar cele două rezistoare din afara bornelor. Pentru o altă specificație de cablu, verificați din nou impedanța sa caracteristică diferențială și circuitul complet.
Cu alimentarea oprită și celelalte căi paralele izolate, două rezistoare ideale de 120 Ω în paralel dau 60 Ω. Este o verificare a configurației prin legea lui Ohm, nu un substitut pentru măsurarea impedanței caracteristice. Rețelele de polarizare, transceiverele și dispozitivele de protecție influențează și ele valorile efectiv citite de aparat. Înregistrați condițiile circuitului înainte de a interpreta o citire, în loc să atribuiți imediat orice valoare diferită de 60 Ω unui defect de cablaj.
Folosiți comparații diferite pentru trei simptome
| Simptom | Verificați mai întâi | Păstrați neschimbat în comparație |
|---|---|---|
| Oscilații sau traversări repetate ale pragului receptorului lângă fronturile de transmisie | Cele două capete electrice ale liniei principale, pozițiile și numărul terminărilor și discontinuitățile conexiunilor | Același driver, cablu, aceleași noduri și mesaje de test |
| O degradare clară după adăugarea unei ramuri | Traseul complet al derivației de la punctul de ramificare al liniei principale până la transceiver și frontul semnalului de la ieșirea driverului | Rata baud, linia principală și configurația terminării |
| Tranziții ale receptorului sau erori de cadru când niciun dispozitiv nu transmite | Dezactivarea semnalului de activare a driverului, tipul fail-safe al receptorului și tensiunea diferențială în repaus | Aceleași noduri, surse de alimentare și aceeași configurație a terminării |
Aceste asocieri ajută la planificarea verificărilor; forma undei singură nu determină cauza principală. Confirmați că adresarea, formatul cadrelor, controlul direcției de transmisie și înregistrările mesajelor sunt neschimbate înainte de a compara condițiile electrice. O verificare cu un singur nod care transmite trebuie păstrată separat de o verificare în repaus, în care toate nodurile au eliberat magistrala.
Limitele derivațiilor depind de timpul de creștere
Secțiunea 6 din Ghidul de proiectare RS-485 al TI, SLLA272D, oferă o ecuație de verificare preliminară a derivațiilor:
L ≤ tᵣ × v × c ÷ 10
Aici L este lungimea derivației, tᵣ este timpul de creștere de la 10% la 90% al ieșirii driverului, v este viteza de propagare în cablu ca fracție din viteza luminii, iar c este aproximativ 3×10⁸ metri/secundă. Ecuația se aplică condițiilor de derivație din acel ghid de proiectare; nu dovedește adecvarea pentru orice dispozitiv. SLLA272D, secțiunea 6
Presupunând o viteză de propagare în cablu de 0.67c și păstrând celelalte condiții identice, rezultă:
| Timp de creștere presupus | Lungime calculată a derivației | Ce arată calculul |
|---|---|---|
| 100 nanosecunde | Aproximativ 2.01 metri | Un front mai lent corespunde unei valori mai puțin restrictive la verificarea preliminară a derivației |
| 20 nanosecunde | Aproximativ 0.402 metri | Un front mai rapid face mai importantă examinarea aceleiași derivații |
Acestea sunt calcule demonstrative, fără un front măsurat pe un dispozitiv anume. Dacă o derivație de un metru începe să prezinte probleme după înlocuirea transceiverului, compararea exclusivă a ratelor baud maxime ale dispozitivelor este insuficientă. Reducerea ratei baud UART nu modifică neapărat timpul de creștere al fiecărei tranziții a dispozitivului. Obțineți apoi specificațiile fronturilor sau formele de undă ale transceiverului real în condițiile relevante de alimentare și sarcină și verificați traseul efectiv al derivației.
Omiterea terminării este o decizie separată
În SSZTB23A, revizuit în martie 2026, TI discută de ce unele legături pot să nu necesite terminare când timpul de propagare dus-întors al rețelei este foarte scurt față de durata unui bit. Acest lucru depinde de condițiile de atenuare a reflexiilor și de eșantionarea receptorului. Este o problemă diferită de verificarea derivațiilor pe baza fronturilor din secțiunea precedentă. O singură etichetă de „viteză redusă” nu poate înlocui ambele evaluări. SSZTB23A, paginile 1–3
Folosind în continuare 0.67c ca ipoteză, o linie de 100 metri are un timp de propagare dus-întors de aproximativ 1 microsecundă. La 9600 biți/secundă, un bit durează aproximativ 104 microsecunde; la 115200 biți/secundă, aproximativ 8.68 microsecunde. Schimbarea ratei modifică timpul relativ disponibil pentru atenuarea reflexiilor. Totuși, aceste cifre omit nodurile, conectorii, caracteristicile ieșirii dispozitivelor și punctul efectiv de eșantionare, deci nu justifică direct eliminarea terminării.
Unde consumul redus de energie contează, pot fi comparate și alte metode de terminare. Terminarea paralelă încarcă driverul. Terminarea AC combină un rezistor și un condensator pentru a reduce curentul staționar, dar introduce efecte RC. Adecvarea sa depinde de formele de undă ale legăturii, rata de date și proiectarea componentelor, nu doar de curentul în așteptare.
Polarizarea în repaus nu remediază reflexiile liniei de transmisie
Terminarea asigură adaptarea liniei de transmisie; polarizarea în repaus stabilește o stare definită a receptorului când niciun driver nu transmite. AN-960 diferențiază pragurile receptoarelor convenționale, polarizarea externă și receptoarele cu funcționalitate true fail-safe. Suportul unui dispozitiv pentru protecție la circuit deschis nu poate fi extins la afirmația că nu necesită măsuri externe de proiectare în toate condițiile de repaus, scurtcircuit și zgomot. AN-960, polarizarea fail-safe
Pentru o verificare efectivă, stabiliți mai întâi pragurile receptorului, histerezisul și specificațiile fail-safe ale dispozitivului. Treceți fiecare driver în starea de netransmisie, apoi observați tensiunea diferențială în repaus, ieșirea receptorului și înregistrările erorilor de cadru. Dacă polarizarea externă necesită ajustare, modificați doar acel element și luați în calcul terminarea la ambele capete și încărcarea fiecărui nod. Nu copiați valorile rezistoarelor de pe altă placă.
Verificați separat domeniul de mod comun. O diferență adecvată între cele două tensiuni de semnal nu dovedește că tensiunile lor față de masa de referință a receptorului rămân în domeniul permis. Pentru domenii de alimentare diferite, diferențe de potențial ale maselor sau configurații de izolare, folosiți circuitul echipamentului și documentația transceiverului pentru rezolvare; adăugarea terminării nu rezolvă problema. Întrebări TI despre proiectarea RS-485, secțiunea 4
O comparație trasabilă pe banc
Pe un banc de joasă tensiune izolat de sistemele de putere ale amplasamentului, pregătiți cele două dispozitive de capăt, cablul cu specificații cunoscute și jurnalele definite pentru mesajele transmise și recepționate. Folosiți instrumente de măsurare adecvate interfeței și domeniului ei de mod comun. Urmați instrucțiunile echipamentului pentru a confirma mai întâi alimentarea, conexiunile sondelor și punctele de referință. Opriți alimentarea înainte de a schimba rezistoare sau cablaje. Fără condiții adecvate de măsurare diferențială, nu încercați să conectați clema de masă a unei sonde obișnuite la un potențial necunoscut.
- Salvați referința. Înregistrați modelul transceiverului, modelul și lungimea cablului, lungimea derivației, terminarea și polarizarea. Notați și alimentările, rata baud, formatul mesajelor și temporizarea activării driverului. Salvați erorile sau formele de undă actuale care pot fi reproduse.
- Alegeți o variabilă. Folosiți tabelul de simptome de mai sus pentru a modifica doar configurația terminării, lungimea derivației sau polarizarea în repaus. Păstrați ceilalți parametri la valorile de referință.
- Retestați în aceeași fereastră de observare. Definiți dinainte numărul de cadre transmise sau durata, punctele de observare a formelor de undă, definiția erorii și condițiile finale. Salvați cadrele reușite, cadrele cu erori, expirările de timp și formele de undă corespunzătoare; „comunicație normală” nu este suficient.
- Restabiliți referința pentru verificare. Dacă este posibil, restabiliți configurația inițială și verificați dacă simptomul reapare. Dacă nu, păstrați alte explicații posibile, precum temperatura, starea conexiunii sau un eveniment intermitent.
- Decideți pasul următor. Dacă o modificare influențează simptomul, extindeți validarea la intervalul real de noduri, alimentări și medii. Dacă efectele sunt inconsecvente, continuați verificarea controlului direcției, contactelor, alimentării sau metodei de măsurare, în loc să adăugați mai multe modificări simultan.
Anexele oferă o fișă goală, un exemplu cu valori planificate și instrucțiuni pentru câmpuri. Cadrele recepționate, cadrele cu erori, tensiunile, timpul de creștere măsurat și concluziile sunt toate necompletate în exemplu; utilizatorii trebuie să introducă rezultatele reale. Fișa nu generează o decizie automată de trecere. Valorile de acceptare provin din cerințele specifice ale sistemului, condițiile dispozitivelor și proiectul de test convenit.
Reverificați concluzia inițială de pe banc când se înlocuiește un dispozitiv sau cablu, se modifică linia principală ori derivațiile, se adaugă sau elimină noduri, se schimbă comutatoarele de terminare ori referința alimentării. Dacă apar încălzire, curent anormal, depășirea limitelor dispozitivelor sau incertitudine privind referința de măsurare, opriți utilizarea configurației și verificați mai întâi circuitul și condițiile de măsurare.
Notă de aplicație asociată: Evaluarea pe banc a Ethernetului pe o singură pereche și a alimentării. Ambele necesită trasee de date și condiții de alimentare clar definite, dar terminarea, pragurile și concluziile de test RS-485 nu pot fi transferate unei interfețe Ethernet.
Rezumat
Această notă separă trei întrebări de depanare RS-485: terminarea capetelor magistralei, reflexiile derivațiilor și comportamentul receptorului când magistrala este în repaus. Oferă un calcul al timpului de creștere, un exemplu separat de timp de propagare și o comparație repetabilă pe banc cu o singură variabilă modificată. Valorile calculate sunt ipoteze, iar câmpurile de măsurare anexate sunt goale. MTTJ nu a efectuat un test hardware și nu a stabilit limite de calificare a produsului.
Surse verificate: 30 septembrie 2026. Materialele principale sunt TI SLLA272D (revizuit în mai 2021), SSZTB23A (revizuit în martie 2026), ADI AN-960 și secțiunile relevante din întrebările TI despre proiectarea RS-485. Documentarea și editarea acestei note au folosit asistență AI. MTTJ a pregătit calculele demonstrative și pașii de testare pe banc și nu a efectuat teste fizice.
Resurse conexe și domeniul de producție
Instrumente de încercare și ghiduri ale câmpurilor
Instrucțiuni pentru fișa de testare RS-485 pe banc
Instrucțiuni pentru fișa de testare RS-485 pe banc
rs485-bench-template.csv este un șablon gol. rs485-bench-planned-example.csv ilustrează doar un set de planuri. Linia principală de 10 metri, derivațiile de 1 metru/0.1 metri, 115200 bit/s și 10000 cadre sunt valori arbitrare pentru un plan demonstrativ, nu o configurație recomandată, date dintr-o lucrare sau rezultate măsurate. Înlocuiți-le pentru echipamentul real.
Cum se folosesc cele trei rânduri planificate
R01 salvează configurația inițială. R02 modifică doar derivația de la 1 metru la 0.1 metri. R03 restabilește derivația de 1 metru. Păstrați neschimbate transceiverul, alimentările, linia principală și terminarea, precum și polarizarea și mesajele. Exemplul nu afirmă că scurtarea derivației va rezolva neapărat defectul; observați mai întâi dacă efectul modificării este repetabil.
Înlocuiți fiecare Same as R01 cu configurația reală sau cu o referință la o înregistrare de bază care nu poate fi modificată. Câmpurile de terminare includ comutatoarele integrate în dispozitive și rezistoarele externe. Câmpurile de polarizare includ rezistoarele reale și condițiile fail-safe ale receptorului utilizat. Măsurați derivația de la punctul de ramificare al liniei principale până la interfața transceiverului, nu înregistrați doar cablul extern scurt.
Câmpuri de rezultate și unități
attempted_at_utc este ora efectivă. Înregistrați received_frames, error_frames și timeouts conform definițiilor erorilor scrise dinainte. Nu presupuneți că cele trei categorii se exclud neapărat reciproc sau că pot fi adunate automat; explicați convenția de numărare în error_definition. Dacă calculați o rată a erorilor, precizați separat dacă numitorul este numărul cadrelor transmise sau recepționate.
Folosiți measured_rise_time_ns pentru timpul efectiv de creștere de la 10% la 90%, în nanosecunde. Înregistrați idle_differential_v și common_mode_v în volți și asociați punctul de măsurare, polaritatea, masa de referință și condițiile de observare cu dovezile. evidence_ref indică locația formei de undă sau a jurnalului. conclusion conține doar aprecieri susținute de această observație; next_decision precizează condițiile care necesită validare mai largă.
Toate câmpurile de măsurare, dovezi și concluzii sunt goale în exemplu. Gol înseamnă necunoscut; 0 înseamnă că valoarea zero a fost măsurată efectiv. Nu sunt interschimbabile. Folosiți record_type=measured_trial pentru înregistrările reale.
Reverificați calculele demonstrative din articol
Presupuneți fracția vitezei de propagare v=0.67 și c=3×10^8 m/s.
- Verificarea preliminară a derivației: 100 ns × 0.67 × 3×10^8 m/s ÷ 10 = 2.01 m; 20 ns dă 0.402 m.
- Propagare dus-întors pe 100 m: 2 × 100 m ÷ (0.67 × 3×10^8 m/s) ≈ 0.995 microsecunde.
- Durata unui bit: aproximativ 104.17 microsecunde la 9600 bit/s și aproximativ 8.68 microsecunde la 115200 bit/s.
Ipotezele acestor calcule manuale provin din articol. Nu sunt rezultate de test R01–R03 și nu determină automat dacă terminarea poate fi eliminată. CSV-ul nu conține formule de calcul, macrocomenzi sau decizii de trecere. Stabiliți condițiile de comparație și oprire pe baza documentației dispozitivului și a cerințelor proiectului.
