Как да прехвърля данни

Специални благодарности на Nicholas "Megakoteyka" Makukhin за помощ при проверка, коригиране, което прави допълнения и бележки в тази поредица от статии.

Как да прехвърля данни

Е, тук стигаме до най-магия, благодарение на които дължим появата на интернет, цифрова телевизия, както и много други готини неща.
В този кратък раздел, аз много повърхностно се говори за това как се е предала данните, тъй като преди това ще бъде само един много основен преглед, тъй като тази тема е много, много богат.

Ако говорим за прехвърляне на данни по жицата, всички данни се предават по един прост принцип, устройството изпраща прилага напрежение, приемам го разглежда като една единица, и пише за съхранение. Ако няма напрежение след получаване апарат пише нула до склад.
Ние няма да говорим за това как приемащото устройство разграничава дали нулева го е предадена от липсата на сигнал приемо-предавателно устройство просто "заспа", това е въпрос на протоколи за предаване на данни.

протокол за трансфер на данни, това е, което. може би ви попитам.
Фактът, че разработчиците получиха за същия проблем като с кодиране, защото устройствата са различни, тяхното вътрешно подреждане различни и всяко устройство е готов да получава данни както той реши възложителя, човек трябва да бъде 5 проводници, други две, третата общо 20.
Същите протоколи са разделени на физическа и логическа. Физични протоколи (проводници, нива на сигнала, и т.н.) често се нарича интерфейси. Например, RS-232 (сериен порт), никой не си прави труда да карам на данните в TCP / IP формат. Google може да попитам за "отворен модел OSI", където всички големи боядисани.

И наред дори проводници, както и как да се разграничават, където нула и когато липсата на сигнал, както и че ако устройството домакин е по-бавен от предавателя и просто не разполагат с време, за да вземе всичко, което му лети и т.н., и т.н.
Имаше проблем кола и малък камион, в резултат на решаването на тези проблеми са станали предавателни протоколи за данни.
трансфер на данни протокол е нищо повече от един прост договор (правилата), за каквито и проводници, които сигнали и в каква последователност, а дори и с някои се предават времеви интервали.
трансфер на данни протоколи и масата на всеки един от тях описва някои правила, тъй като е необходимо да се направи, че хост устройство, за да преместите данните си, или какво да направя, за да си устройство правилно получаване на данни от предавателя с помощта на протокол.
Но като цяло, това е целият трик, знаейки, и разбирането на протокола, лесно можете да се научите как да общуват две устройства.

Забележка:
Първо ниво: сигнализация.
Второ ниво: байт предаване на сигнали, описани в първото ниво.
И от този момент нататък са всички видове пакетни с контрол / коригиране на грешки и всичко останало.
Над една протокол може да бъде друг протокол, по-високо ниво - виж всички едно и също OSI модела ..

Например, с помощта на серийния библиотеката на Arduino, ние ще използваме сериен протокол за пренос на данни.
Съгласно този протокол, всички битове се предават един след друг, малко по малко. Ардуино е опцията по подразбиране, в които минималното количество информация, предадена в една сесия може да бъде един байт (всъщност прехвърля повече, но тази система информация се изисква от протокола, ние няма да обходи толкова дълбоко).

Но това не означава, че всички 8 бита се предават едновременно, никой приет от опашката и да бъде дадено преди първия бит на втория ще трябва да почака, така че предаването на информация отнема известно време.
И тогава там е друг термин - пакет от данни, в действителност това е най-малката възможна количество информация, която може да се предава в една сесия. В нашия случай, такъв пакет е 8 бита.

Забележка:
Въпреки че все още не е опаковка в рамките на пакета обикновено означава, байт група, носеща конкретната информация. Различните пакети от един протокол може да носи различни значения в тези области, но областта на смисъл за всички пакети същото.
Но байта - това е просто байта. Произход байт - заглавната пакет, а вторият - количеството данни, третият и по-нататък - самите данни и т.н. - всеки байт, тъй като има различно значение. И опаковката винаги е първото поле носи температурата, а вторият - на налягането (например) и нищо друго.

И така, след като пакетът е напълно предадено, то е достъпно на приемащото устройство.
В действителност това не е така, но както писах в началото на тази тема е толкова голяма, че просто не мога да опиша всичко, важно е да се разбере, общите принципи като тяхното разбиране, че е необходимо да се разбере по-добре работата на Serial библиотека в следващите раздели.
В частност Serial библиотека не ще предостави 1 байт данни, докато тя напълно приема.

Всяко предаване на данни е с определена скорост, тя реши да промени броя на бита в секунда, 9600 е 9600 бита в секунда, но не забравяйте тези битове дойдат и системните битове, изисквани от протокола, така че действителната сума на информация с това темпо няма да бъде 9600 базисни пункта и по-долу, колко зависи от протокола.

Забележка:
Боде (Engl бода.) Във връзка с електроника - измерване единица скорост символ, количеството на промяна на информация параметър носител във втора периодичен сигнал [1]. Кръстен Емилия Бодо, изобретател на Бодо код - кодиране на знаците за телетип.
Често погрешно се смята, че бодовете - броят на битовете, предадени за една секунда. В действителност, това е вярно само за двоично кодиране, което не винаги се използва. Така например, в днешния модем използва Квадратура амплитудна модулация (QAM) и промяна в нивото на сигнала може да се кодира с няколко (до 16) бита информация. Например, когато скоростта на символ от 2400 Скоростта на предаване може да бъде 9600 бита / гр от факта, че във всеки временен слот се предават 4 бита.
В допълнение, бода експресират пълния капацитет канал, включително специални символи (бита), ако има такива. ефективната скорост на канала се изразява в други единици като бита в секунда (BPS / с, базисни пункта).
Така че точно да се каже 9600Bod. всеки байт в рамка пускане и спиране знака и се предава на резултата от 10-битов. Тук са 10 и трябва да споделят 9600, за да получите на скоростта в байтове.

Е, може би всичко, съвсем накратко, но се надявам да се разбере основните понятия, сега за самата Serial библиотеката.