ce este comunicarea serială și cum funcționează?
Introducere
comunicarea serială este cea mai utilizată abordare pentru a transfera informații între echipamentele de procesare a datelor și periferice. În general, comunicarea înseamnă schimbul de informații între indivizi prin documente scrise, cuvinte verbale, lecții audio și video.
fiecare dispozitiv ar putea fi computerul Personal sau mobil ruleaza pe protocol serial. Protocolul este forma sigură și fiabilă de comunicare având un set de reguli abordate de gazda sursă (expeditor) și gazda de destinație (receptor). Pentru a avea o perspectivă mai bună, am explicat conceptul de comunicare serială.
în sistemul încorporat, comunicarea serială este modalitatea de schimb de date folosind diferite metode sub formă de binar digital serial. Unele dintre interfețele bine cunoscute utilizate pentru schimbul de date sunt RS-232, RS-485, I2C, SPI etc.
ce este comunicarea serială?
în comunicarea serială, datele sunt sub formă de impulsuri binare. Cu alte cuvinte, putem spune că unul binar reprezintă o logică înaltă sau 5 volți, iar zero reprezintă o logică scăzută sau 0 volți. Comunicarea serială poate lua mai multe forme în funcție de tipul modului de transmisie și de transferul de date. Modurile de transmisie sunt clasificate ca Simplex, Half Duplex și Full Duplex. Va exista o sursă (cunoscută și sub numele de expeditor) și o destinație (numită și receptor) pentru fiecare mod de transmisie.
moduri de transmisie – comunicare serială
metoda Simplex este o tehnică de comunicare unidirecțională. Doar un singur client (fie expeditorul sau receptorul este activ la un moment dat). Dacă un expeditor transmite, receptorul poate accepta numai. Transmisia Radio și televiziune sunt exemplele modului simplex.
în modul jumătate Duplex, atât expeditorul, cât și receptorul sunt active, dar nu la un moment dat, adică dacă un expeditor transmite, receptorul poate accepta, dar nu poate trimite și invers. Un bun exemplu este Internetul. Dacă un client (laptop) trimite o solicitare pentru o pagină web, serverul web procesează aplicația și trimite înapoi informațiile.
modul Full Duplex este utilizat pe scară largă de comunicare în lume. Aici atât expeditorul, cât și receptorul pot transmite și primi în același timp. Un exemplu este smartphone-ul dvs.
dincolo de modurile de transmisie, trebuie să luăm în considerare endianitatea și proiectarea protocolului computerului gazdă (expeditor sau receptor). Endianness este modul de stocare a datelor la o anumită adresă de memorie. În funcție de alinierea datelor endian este clasificat ca
- Little Endian și
- Big Endian.
luați acest exemplu pentru a înțelege conceptul de endianitate. Să presupunem că avem date hexazecimale pe 32 de biți ABCD87E2. Cum sunt stocate aceste date în memorie? Pentru a avea o idee clară, am explicat diferența dintre micul Endian și Marele Endian.
Little Endian Vs Big Endian
transferul de date se poate întâmpla în două moduri. Sunt comunicare serială și comunicare paralelă. Comunicarea serială este o tehnică utilizată pentru a trimite date bit cu bit folosind două fire, adică transmițător (expeditor) și receptor.
de exemplu, Vreau să trimit date binare pe 8 biți 11001110 de la emițător la receptor. Dar, care bit iese mai întâi? Cel mai semnificativ Bit – MSB (al 7 – lea bit) sau cel mai puțin semnificativ Bit-LSB (Al 0-lea Bit). Nu putem spune. Aici consider că LSB se mișcă mai întâi (pentru little Endian).
comunicare serială
Din diagrama de mai sus, pentru fiecare impuls de ceas; transmițătorul trimite un singur bit de date către receptor.
comunicarea paralelă mută 8,16 sau 32 de biți de date la un moment dat. Imprimantele și mașinile Xerox utilizează comunicații paralele pentru un transfer mai rapid de date.
comunicare paralelă RS232
diferența dintre comunicarea serială și cea paralelă
comunicarea serială trimite doar un bit la un moment dat. deci, acestea necesită mai puține linii I/O (intrare-ieșire). Prin urmare, ocupând mai puțin spațiu și mai rezistent la discuții încrucișate. Principalul avantaj al comunicării seriale este, costul întregului sistem încorporat devine ieftin și transmite informațiile pe o distanță lungă. Transferul Serial este utilizat în dispozitivele DCE (echipamente de comunicații de date), cum ar fi un modem.
în comunicarea paralelă, o bucată de date (8,16 sau 32 biți) este trimisă la un moment dat. Deci, fiecare bit de date necesită o linie i/O fizică separată. Avantajul comunicării paralele este că este rapid, dar dezavantajul său este că folosește mai mult număr de linii I/o (intrare-ieșire). Transferul paralel este utilizat în PC (computer personal) pentru interconectarea procesorului (unitate centrală de procesare), RAM (memorie cu acces aleatoriu), modemuri, audio, video și hardware de rețea.
Notă: Dacă circuitul integrat sau procesorul acceptă o cantitate mai mică de pini de intrare/ieșire, este mai bine să optați pentru comunicarea serială
pentru o înțelegere ușoară, aici este compararea comunicării seriale și paralele.
comunicare serială | comunicare paralelă |
---|---|
trimite date puțin câte puțin la un impuls de ceas | transferă o bucată de date la un moment dat |
necesită un fir pentru a transmite datele | necesită ‘n’ număr de linii pentru transmiterea ‘n’ biți |
viteza de comunicare este lentă | viteza de comunicare este rapidă |
costul de instalare este scăzut | costul de instalare este ridicat |
preferat pentru comunicații pe distanțe lungi | folosit pentru comunicații pe distanțe scurte |
exemplu: Computer la Computer | Computer la imprimantă multifuncțională |
sincronizare ceas
pentru funcționarea eficientă a dispozitivelor seriale, ceasul este sursa primară. Defecțiunea ceasului poate duce la rezultate neașteptate. Semnalul de ceas este diferit pentru fiecare dispozitiv serial și este clasificat ca protocol sincron și protocol asincron.
interfață serială sincronă
toate dispozitivele de pe interfața serială sincronă utilizează magistrala CPU unică pentru a partaja atât ceasul, cât și datele. Datorită acestui fapt, transferul de date este mai rapid. Avantajul este că nu va exista o nepotrivire a ratei de transfer. Mai mult, sunt necesare mai puține linii I/o (intrare-ieșire) pentru a interfața componentele. Exemple sunt I2C, SPI etc.
interfață serială asincronă
interfața asincronă nu are un semnal de ceas extern și se bazează pe patru parametri și anume
- controlul ratei de transmisie
- controlul fluxului de date
- controlul transmisiei și recepției
- controlul erorilor.
protocoalele asincrone sunt potrivite pentru o comunicare stabilă. Acestea sunt utilizate pentru aplicații pe distanțe lungi. Exemple de protocoale asincrone sunt RS-232, RS-422 și RS-485.
cum funcționează comunicarea serială?
CPU avansate, cum ar fi microcontroler și microprocesor face uz de comunicare serial pentru a comunica cu lumea externă, precum și pe periferice cip. Pentru a ne familiariza, să luăm un exemplu simplu. Pentru Să presupunem că doriți să trimiteți un fișier prezent în laptop la smartphone. Cum ai trimite? Probabil folosind protocolul Bluetooth sau WiFi, corect.
deci, aici sunt pașii pentru a stabili comunicarea serială
- adăugați conexiunea.
în primul pas, laptopul dvs. va căuta dispozitive din apropiere 100m și va lista dispozitivele găsite. Acest proces este adesea numit roaming.
- selectați dispozitivul pe care doriți să îl comunicați.
pentru a vă conecta la telefonul mobil, asocierea trebuie făcută. Configurația implicită este deja prezentă în software. Deci, nu este nevoie să configurați manual rata de transfer. Dincolo de aceasta, există patru reguli necunoscute. Acestea sunt rata de transfer, selectarea bitului de date (încadrare), bitul start-stop și paritatea.
reguli de comunicare serială
# 1 Ce este rata de transfer?
rata de transfer este viteza de transfer de date de la emițător la un receptor sub formă de biți pe secundă. Unele dintre ratele standard baud sunt 1200, 2400, 4800, 9600, 57600.
trebuie să setați aceeași rată de transfer pe ambele părți (mobil și Laptop).
notă: cu cât este mai mare o rată de transfer, mai multe date pot fi transferate în mai puțin timp.
cu toate acestea, recomand utilizarea până la 115200 ca limită de siguranță din cauza nepotrivirii frecvenței de eșantionare la capătul receptorului.
# 2 Framing
Framing arată câți biți de date doriți să trimiteți de la dispozitivul gazdă (Laptop) la mobil (receptor). Este 5, 6, 7 sau 8 biți? Majoritatea dispozitivelor, 8 biți sunt preferați. După selectarea bucată de date pe 8 biți, endianness trebuie să fie de acord de către expeditor și receptor.
# 3 sincronizare
transmițătorul adaugă biți de sincronizare (1 Bit de pornire și 1 sau 2 biți de oprire) la Cadrul de date original. Biții de sincronizare ajută receptorul să identifice începutul și sfârșitul transferului de date. Acest proces este cunoscut sub numele de transfer de date asincron.
# 4 controlul erorilor
corupția datelor se poate întâmpla din cauza zgomotului extern la capătul receptorului. Singura soluție pentru a obține ieșirea stabilă este verificarea parității.
dacă datele binare conțin un număr par de 1 este cunoscut sub numele de paritate și bitul de paritate este setat la ‘1’. Dacă datele binare includ un număr impar de 1, se numește paritate impară, iar acum bitul de paritate este setat la ‘0’.
protocoale seriale asincrone
cea mai frecventă întrebare care vă va veni în minte atunci când începeți să lucrați la sistemul încorporat este de ce să utilizați protocoale asincrone?
- pentru a vă deplasa informațiile la o distanță mai mare și
- pentru un transfer de date mai fiabil.
unele dintre protocoalele de comunicare asincrone sunt:
protocolul RS-232
- RS232 este primul protocol serial utilizat pentru conectarea modemurilor pentru Telefonie. RS reprezintă standardul recomandat, iar acum s-a schimbat în EIA (Electronic Industries Alliance ) / TIA ( Asociația industriei telecomunicațiilor).
- este, de asemenea, utilizat în modem, mouse-ul, și CNC (calcul numeric calculat) mașini. Puteți conecta un singur transmițător la un singur receptor.
- aceasta susține comunicarea full duplex și permite rata de transfer de până la 1Mbps.
- Lungimea cablului este limitată la 50 de picioare.
după cum știți, datele stocate în memorie sunt sub formă de octeți. Este posibil să aveți o îndoială cum sunt convertite datele în octeți în biți binari? Răspunsul este un port Serial.
portul serial are un cip intern numit UART. UART este un acronim pentru Universal Asynchronous Receiver Transmitter care convertește datele paralele (octet) în forma serială bit.
port Serial RS232
conexiune cablare RS-232
portul serial RS232 are nouă pini, modele de tip masculin sau feminin. RS 232C interfață de comunicare serială este versiunea ulterioară a RS232.
toate caracteristicile prezente în RS232 sunt prezente în modelul RS232C, cu excepția faptului că are 25 de pini. Din 25 sau 9 pini, folosim doar trei pini pentru conectarea dispozitivelor terminale.
conexiune cabluri RS232
interfață RS422
putem transfera date numai până la limita 1MPBS folosind RS232. Pentru a depăși această problemă RS422 vine în imagine. RS422 este o interfață serială multi-drop. putem conecta zece emițătoare la 10 receptoare simultan folosind o singură magistrală. Trimite date folosind două cabluri cu perechi răsucite (configurație diferențială). Lungimea cablului este de 4000 de picioare, cu o rată de transfer de 10 mbps.
RS 422 conexiune cabluri
interfață RS485
RS485 este protocolul preferat industrie. Spre deosebire de RS422, puteți conecta 32 de drivere de linie și 32 de receptoare într-o configurație diferențială. Transmițătorul este, de asemenea, numit driver de linie. Cu toate acestea, un singur transmițător este activ la un moment dat.
conexiune cablare RS485
notă: atât pentru RS232, cât și pentru RS485, trebuie să încheiați conexiunea manual.
Protocol cu 1 fir
un fir este similar cu protocolul I2c. Dar, diferența este un protocol de sârmă utilizează o singură linie de date și la sol. Nu necesită semnal de ceas, iar sclavii sunt cronometrați folosind oscilatorul de cristal intern. Acesta oferă jumătate de comunicare duplex.
un fir utilizează schema de adresare pe 64 de biți. Avantajul unei interfețe de sârmă este că acceptă comunicarea pe distanțe lungi cu costuri reduse. Dar, dezavantajul este viteza sa este mai mică.
protocoalele asincrone cu fir sunt potrivite pentru comunicarea pe distanțe lungi. Cu toate acestea, există un dezavantaj care oferă posibilități interfețelor seriale sincrone.
dezavantajul este că, dacă este nevoie să conectați mai multe emițătoare și receptoare, costul de instalare este ridicat.
protocoale seriale sincrone
protocoalele de comunicare sincrone sunt cele mai bune resurse pentru perifericele de bord. Avantajul este că puteți interfața mai multe dispozitive pe același autobuz. Unele dintre protocoalele sincrone sunt I2C, SPI, CAN și LIN.
Protocolul I2C
I2C (circuit Inter-integrat) este un protocol bidirecțional cu două fire utilizat pentru un schimb de date între diferite dispozitive de pe aceeași magistrală. I2C utilizează adresa de 7 biți sau 10 biți care permite conectarea a până la 1024 de dispozitive. Dar, este nevoie de semnal de ceas pentru generarea condițiilor de pornire și oprire. Avantajul este că oferă transfer de date la 400 kbps. Este potrivit pentru comunicarea la bord.
Protocol SPI
protocol SPI (interfață periferică serială) trimiteți și primiți date într-un flux continuu fără nicio întrerupere. Acest protocol este recomandat pentru comunicații de date de mare viteză este necesară. Viteza maximă pe care o poate oferi este de 10 Mbps.spre deosebire de I2C, SPI are 4 fire. Acestea sunt MOSI (master out slave in), MISO (Master in slave out), ceas și slave select signal. Teoretic, putem conecta un număr nelimitat de sclavi și practic depinde de capacitatea de încărcare a autobuzului.
protocolul CAN
acest protocol este dedicat sistemelor de vehicule sau automobile. Este un protocol orientat spre mesaj utilizat pentru cablarea electrică multiplex pentru a economisi cuprul. Este o magistrală multi-master multi serial utilizată în aplicații precum pornirea/oprirea automată a vehiculelor, sistemele de evitare a coliziunilor etc.
USB
interfața USB este cea mai bună alternativă la porturile seriale sau paralele. Transferul de date asociat porturilor USB este destul de rapid decât interfața serială și paralelă. USB acceptă viteze de la 1,5 Mbps (USB 1.0) la 4,8 Gbps (USB 3.0). Astăzi, majoritatea dispozitivelor încorporate utilizează tehnica USB OTG (on the go programming) pentru a descărca fișierul hex în microcontroler.
Microwire
Microwire este un protocol de comunicare serială cu trei fire. Are un port serial i / O pe microcontroler pentru a interfața cu cipurile periferice. Aceasta susține viteza de până la 3Mbps. Este mai rapid decât I2C și subset de protocol SPI.
concluzie
comunicarea serială este partea vitală în domeniul electronicii și sistemelor încorporate. Rata de transfer de date este critică dacă două dispozitive doresc să facă schimb de informații pe aceeași magistrală. Prin urmare, este necesar să alegeți un protocol serial valid pentru orice aplicație.
Citește și: ce este sistemul încorporat și cum funcționează?