Cum de a transfera date

Mulțumiri speciale Nicholas „Megakoteyka“ Makukhin pentru ajutor în verificarea, corectarea, făcând adăugiri și note în acest set de articole.

Cum de a transfera date

Ei bine, aici am ajuns la cea mai magică, grație pe care le datoram apariția Internetului, televiziune digitală, și multe alte lucruri interesante.
În această secțiune scurt, eu vorbesc foarte superficial despre modul în care se transmite datele, ca și mai înainte va fi doar o imagine de ansamblu foarte de bază, pentru că acest subiect este foarte, foarte extinse.

Dacă vorbim despre transferul de date prin fir, toate datele sunt transmise pe un principiu simplu, dispozitivul de trimitere se aplică o tensiune, să accepte o consideră ca o singură unitate, și scrie la depozitare. În cazul în care nici o tensiune, apoi a primit un aparat scrie zero la depozitare.
Nu vom vorbi despre modul în care dispozitivul de recepție distinge dacă un zero, acesta este transmis de lipsa oricărui dispozitiv de transmitere de semnal pur și simplu „a adormit“, este o chestiune de protocoale de transmitere a datelor.

protocol de transfer de date, asta. probabil, vă întreb.
Faptul că dezvoltatorii luat aproximativ aceeași problemă ca și cu codificarea, deoarece dispozitivele sunt diferite, dispunerea lor interne diferite și fiecare dispozitiv este gata să primească date ca el a decis dezvoltator, ar trebui să fie de 5 conductoare, alte 2, al treilea generală 20.
Aceleași protocoale sunt împărțite în fizică și logică. Protocoale fizice (fire, nivele de semnal, și așa mai departe) adesea numite interfețe. De exemplu, RS-232 (port serial), nimeni nu deranjează să conducă date în formatul TCP / IP. Google ar putea întreba despre „modelul deschis OSI,“ în cazul în care toate marile pictate.

Și chiar okay fire, și cum să se facă distincția în cazul în care zero și în cazul în care absența unui semnal, și că, în cazul în care dispozitivul gazdă este mai lent decât transmițătorul și pur și simplu nu au timp să ia tot ce sa-l muste, etc., și etc
A apărut o mașină problemă și camioane mici, rezultatul rezolvării acestor probleme au devenit protocoale de transmisie de date.
protocol de transfer de date nu este nimic mai mult decât un simplu acord (regulile), pentru orice fire care semnale și în ce ordine, și chiar și cu sunt transmise anumite intervale de timp.
Protocoale de date de transfer și masa fiecăreia dintre ele descrie câteva reguli după cum este necesar pentru a face acest dispozitiv gazdă să ia datele sau ce să facă pentru a primi dispozitivul corect datele de la transmițător, folosind un protocol.
Dar, în general, asta e tot truc, cunoașterea și înțelegerea protocolului, puteți afla cu ușurință cum să comunice două dispozitive.

Notă:
Primul nivel: semnalizare.
Al doilea nivel: octetul de transmisie de semnale descrise în primul nivel.
Și de atunci sunt tot felul de protocoale de pachete cu controlul / corectarea erorilor și orice altceva.
Peste un protocol poate fi un alt protocol, un nivel mai ridicat - vezi toate același model OSI ..

De exemplu, folosind biblioteca de serie pe Arduino, vom utiliza protocolul de transfer de date seriale.
În cadrul acestui protocol, toți biții sunt transmise unul după celălalt, puțin câte puțin. Arduino este opțiunea implicită în care cantitatea minimă de informații transmise într-o singură sesiune poate fi de 1 octet (de fapt transferat mai mult, dar aceste informații sistem este cerut de protocolul, nu vom accesa cu crawlere atât de adânc).

Dar aceasta nu înseamnă că toți cei 8 biți sunt transmise dintr-o dată, nimeni nu a trecut prin coada si va fi dat până la primul bit al doilea va trebui să aștepte, astfel încât transmiterea de informații durează ceva timp.
Și atunci există un alt termen - un pachet de date, de fapt, este cea mai mică cantitate posibilă de informații care pot fi transmise într-o singură sesiune. În cazul nostru, un astfel de pachet este de 8 biți.

Notă:
Deși nu este încă pachet, în pachet, de obicei, implică grup de octet care poartă informații specifice. Diferite pachete de un singur protocol poate transporta sensuri diferite în aceste domenii, dar domeniile de sens pentru toate pachetele la fel.
Dar bytes - este doar bytes. byte origine - antetul pachetului, al doilea - cantitatea de date, al treilea și în continuare - datele în sine, etc. - fiecare octet, deoarece are un sens diferit. Și pachetul este întotdeauna primul câmp poartă temperatura, iar al doilea - presiunea (de exemplu) și nimic altceva.

Și astfel, odată ce pachetul este transmis complet, acesta este disponibil pe dispozitivul de recepție.
De fapt, nu este așa, dar, așa cum am scris la începutul acestui subiect este atât de vast, încât pur și simplu nu pot descrie totul, este important să se înțeleagă principiile generale ca înțelegerea lor că necesitatea de a înțelege mai bine funcționarea bibliotecii de serie în următoarele secțiuni.
În special, Biblioteca de serie nu va pune la dispoziție un octet de date până când se acceptă în totalitate.

Orice transmitere a datelor are o anumită viteză, a decis să schimbe la numărul de biți pe secundă, 9600 este de 9600 biți pe secundă, dar amintiți-vă acești biți vin și biți de sistem cerute de protocol, astfel încât valoarea reală a informațiilor la această rată nu va fi de 9600 bps și mai jos, cât de mult depinde de protocolul.

Notă:
Bode (Engl baud.) În legătură cu și Electronică - unitate de măsură a ratei simbol, valoarea modificării a purtătorului de informații parametru într-un al doilea semnal periodic [1]. Numit după Emilya Bodo, inventatorul codului Baudot - codare de caractere pentru terminalul la.
De multe ori eronat cred că baud - numărul de biți transmiși pe secundă. De fapt, acest lucru este valabil numai pentru codificare binară, care nu este întotdeauna utilizat. De exemplu, în modemul de astăzi utilizează cuadratură cu modulație în amplitudine (QAM), și o modificare a nivelului de semnal poate fi codificat de mai multe (până la 16) biți de informație. De exemplu, atunci când o rată simbol de 2400 rata de transfer poate fi de 9600 biți / c prin faptul că, în fiecare interval de timp se transmite 4 biți.
În plus, bauds exprimă capacitatea canalului complet, inclusiv caractere speciale (biți), dacă este cazul. Rata efectivă de canal este exprimat în alte unități, cum ar fi de biți pe secundă (bps / c, bps).
Deci, corect să spunem 9600Bod. fiecare octet încadrată de pornire și oprire de caractere și transmise la rezultatul pe 10 biți. Aici sunt 10 și trebuie să partajați 9600 pentru a obține viteza în octeți.

Ei bine, poate toate, foarte pe scurt, dar sper că înțelegeți conceptele de bază, acum pentru biblioteca Serial în sine.