Port Serial

Port Serial

standardele seriale prevăd multe viteze de operare diferite, precum și ajustări ale protocolului pentru a ține cont de diferite condiții de operare. Cele mai cunoscute opțiuni sunt viteza, numărul de biți de date pe caracter, paritatea și numărul de biți de oprire pe caracter.

în porturile seriale moderne folosind un circuit integrat UART, toate aceste setări pot fi controlate de software. Hardware – ul din anii 1980 și mai devreme poate necesita setarea comutatoarelor sau jumperilor pe o placă de circuit.,configurația pentru porturile seriale proiectate pentru a fi conectate la un PC a devenit un standard de facto, de obicei declarat ca 9600/8-N-1.

SpeedEdit

porturile seriale utilizează semnalizarea pe două niveluri (binară), astfel încât rata de date în biți pe secundă este egală cu rata simbolului din baud. O serie standard de rate se bazează pe multipli ai ratelor pentru teleprinturile electromecanice; unele porturi seriale permit selectarea multor rate arbitrare, dar vitezele de pe ambele părți ale conexiunii trebuie să se potrivească sau datele vor fi primite ca păsărească.,capacitatea de a seta o rată de biți nu implică faptul că va rezulta o conexiune de lucru. Nu toate ratele de biți sunt posibile cu toate porturile seriale. Unele protocoale cu scop special, cum ar fi MIDI pentru controlul instrumentelor muzicale, utilizează rate de date seriale, altele decât standardele teleprinter. Unele implementări de port serial pot alege automat o rată de biți observând ce trimite și sincronizează un dispozitiv conectat la acesta.viteza totală include biți pentru încadrare (biți de oprire, paritate etc.).) și astfel rata efectivă de date este mai mică decât rata de transmisie de biți., De exemplu, cu încadrarea caracterelor 8-N-1, doar 80% din biți sunt disponibili pentru date; pentru fiecare opt biți de date, sunt trimiși încă doi biți de încadrare.

Bit rate frecvent acceptate includ 75, 110, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600 și 115200 bit/s.

oscilatoare de Cristal cu o frecvență de 1.843200 MHz sunt vândute în mod special pentru acest scop. Aceasta este de 16 ori mai rapidă rată de biți, iar circuitul portului serial poate împărți cu ușurință acest lucru la frecvențe mai mici, după cum este necesar.,numărul de biți de date din fiecare caracter poate fi 5 (pentru codul Baudot), 6 (rar folosit), 7 (pentru ASCII adevărat), 8 (pentru majoritatea tipurilor de date, deoarece această dimensiune se potrivește cu dimensiunea unui octet) sau 9 (rar folosit). 8 biți de date sunt utilizați aproape universal în aplicații mai noi. 5 sau 7 biți, în general, au sens doar cu echipamente mai vechi, cum ar fi teleprinterele.

cele mai multe modele de comunicații seriale trimit mai întâi biții de date din fiecare byte LSB (cel mai puțin semnificativ bit). Acest standard este denumit și ” micul endian.,”

De asemenea, posibil, dar rar folosit, este „big endian” sau MSB (cel mai semnificativ bit) mai întâi; acest lucru a fost folosit, de exemplu, de terminalul de imprimare IBM 2741.

ordinea biților nu este de obicei configurabilă în interfața portului serial, ci este definită de sistemul gazdă. Pentru a comunica cu sistemele care necesită o comandă de biți diferită de cea implicită locală, software-ul local poate re-comanda biții din fiecare octet chiar înainte de a trimite și imediat după primire.

ParityEdit

Articol principal: bit de paritate

paritatea este o metodă de detectare a erorilor în transmisie., Când paritatea este utilizată cu un port serial, un bit de date suplimentar este trimis cu fiecare caracter de date, aranjat astfel încât numărul de biți 1 din fiecare caracter, inclusiv bitul de paritate, să fie întotdeauna impar sau întotdeauna par. Dacă un octet este primit cu un număr greșit de 1s, atunci trebuie să fi fost corupt. Cu toate acestea, un număr par de erori poate trece verificarea parității.teleprinturile electromecanice au fost aranjate pentru a imprima un caracter special atunci când datele primite conțin o eroare de paritate, pentru a permite detectarea mesajelor deteriorate de zgomotul de linie., Un singur bit de paritate nu permite implementarea corecției erorilor pe fiecare caracter, iar protocoalele de comunicare care lucrează peste legăturile de date seriale vor avea mecanisme de nivel superior pentru a asigura validitatea datelor și a solicita retransmiterea datelor primite incorect.

bitul de paritate din fiecare caracter poate fi setat la unul dintre următoarele:

  • None (N) înseamnă că niciun bit de paritate nu este trimis deloc.
  • Odd (O) înseamnă că bitul de paritate este setat astfel încât numărul „celor logice” să fie impar.,
  • chiar (E) înseamnă că bitul de paritate este setat astfel încât numărul „celor logice” să fie egal.
  • marca (M) paritate înseamnă că bitul de paritate este întotdeauna setat la starea semn semnal (Logic 1).
  • paritatea spațiului (S) trimite întotdeauna bitul de paritate în starea semnalului spațial (logic 0).în afară de aplicațiile neobișnuite care utilizează ultimul bit (de obicei al 9-lea) pentru o anumită formă de adresare sau semnalizare specială, paritatea marcajului sau spațiului este neobișnuită, deoarece nu adaugă informații de detectare a erorilor.,paritatea impară este mai utilă decât paritatea uniformă, deoarece asigură că cel puțin o tranziție de stare are loc în fiecare caracter, ceea ce o face mai fiabilă la detectarea erorilor precum cele care ar putea fi cauzate de nepotrivirile de viteză ale portului serial. Cu toate acestea, cea mai frecventă setare de paritate este „niciuna”, detectarea erorilor fiind gestionată de un protocol de comunicare.

    Stop bitsEdit

    stop bits trimise la sfârșitul fiecărui caracter permite hardware-ului semnalului de recepție să detecteze sfârșitul unui caracter și să resincronizeze cu fluxul de caractere. Dispozitivele electronice folosesc de obicei un bit de oprire., Dacă se utilizează teleprintere electromecanice lente, sunt necesare unul și jumătate sau doi biți de oprire.

    notația convențională

    notația convențională data/parity/stop (D/P/s) specifică încadrarea unei conexiuni seriale. Cea mai frecventă utilizare pe microcomputere este 8/N/1 (8N1). Aceasta specifică 8 biți de date, fără paritate, 1 bit de oprire. În această notație, bitul de paritate nu este inclus în biții de date. 7 / e / 1 (7e1) înseamnă că se adaugă un bit de paritate uniformă la biții de date 7 pentru un total de biți 8 între biții de pornire și oprire., Dacă un receptor al unui flux 7/E/1 așteaptă un flux 8/N/1, jumătate din octeții posibili vor fi interpretați ca având setul de biți mari.

    controlul Debituluidit

    controlul debitului este utilizat în circumstanțe în care un emițător ar putea fi capabil să trimită date mai repede decât receptorul este capabil să le proceseze. Pentru a face față acestei situații, liniile seriale încorporează adesea o metodă de strângere de mână, de obicei distinsă între strângerea de mână hardware și software.strângerea de mână Hardware se face cu semnale suplimentare, adesea circuitele de semnal RS-232 RTS/CTS sau DTR/DSR., În general, RTS și CTS sunt dezactivate și pornite de la capete alternative pentru a controla fluxul de date, de exemplu atunci când un tampon este aproape plin. DTR și DSR sunt de obicei pe tot timpul și, conform standardului RS-232 și succesorii săi, sunt folosite pentru a semnala de la fiecare capăt că celălalt echipament este de fapt prezent și alimentat. Cu toate acestea, producătorii au construit de-a lungul anilor multe dispozitive care au implementat variații non-standard pe standard, de exemplu, imprimante care utilizează DTR ca control al fluxului.,

    handshaking Software-ul se face, de exemplu, cu caractere de control ASCII XON/XOFF pentru a controla fluxul de date. Caracterele XON și XOFF sunt trimise de receptor expeditorului pentru a controla momentul în care expeditorul va trimite date, adică aceste caractere merg în direcția opusă datelor trimise. Circuitul începe în starea „trimitere permisă”. Când tampoanele receptorului se apropie de capacitatea, receptorul trimite caracterul XOFF pentru a spune expeditorului să nu mai trimită date., Mai târziu, după ce receptorul și-a golit tampoanele, trimite un caracter XON pentru a spune expeditorului să reia transmisia. Este un exemplu de semnalizare în bandă, unde informațiile de control sunt trimise pe același canal ca și datele sale.

    avantajul strângerii de mână hardware este că poate fi extrem de rapid; nu impune niciun sens particular, cum ar fi ASCII, asupra datelor transferate; și este apatrid. Dezavantajul său este că necesită mai mult hardware și cablare, iar acestea trebuie să fie compatibile la ambele capete.,avantajul strângerii de mână a software-ului este că se poate face cu circuite de strângere de mână și cablare hardware absente sau incompatibile. Dezavantajul, comun tuturor semnalelor de control în bandă, este că introduce complexități în asigurarea faptului că a) mesajele de control ajung chiar și atunci când mesajele de date sunt blocate și b) datele nu pot fi confundate niciodată cu semnalele de control., Primul este în mod normal tratat de sistemul de operare sau de driverul dispozitivului; acesta din urmă, în mod normal, asigurându-se că codurile de control sunt „scăpate” (cum ar fi în protocolul Kermit) sau omise prin proiectare (cum ar fi în controlul terminalului ANSI).

    dacă nu se folosește nicio strângere de mână, un receptor depășit ar putea pur și simplu să nu primească date de la emițător. Abordările pentru prevenirea acestui lucru includ reducerea vitezei conexiunii, astfel încât receptorul să poată ține pasul întotdeauna; creșterea dimensiunii tampoanelor, astfel încât să poată ține pasul cu media pe o perioadă mai lungă de timp; utilizarea întârzierilor după operații consumatoare de timp (de exemplu,, în termcap) sau folosind un mecanism de retrimitere a datelor care au fost corupte (de exemplu, TCP).

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *