Nesvarbu, ar tai būtų kompiuterių periferiniai įrenginiai, išmanieji prietaisai, daiktų interneto (IoT) įrenginiai ar elektronika matavimo įrankiai, jie visi naudoja nuosekliojo ryšio protokolus skirtingiems elektroniniams komponentams sujungti kartu.

Šiuos komponentus paprastai sudaro mikrovaldiklis ir pagalbiniai moduliai, tokie kaip pirštų atspaudų jutiklis, ESP8266 (Wi-Fi modulis), servo ir serijiniai ekranai.

Šie įrenginiai naudoja skirtingus ryšio protokolus. Žemiau sužinosite apie kai kuriuos populiariausius nuosekliojo ryšio protokolus, kaip jie veikia, privalumus ir kodėl jie vis dar naudojami.

Kas yra serijinis ryšys?

Serijinio ryšio protokolai čia buvo nuo pat Morzės abėcėlės išradimo 1838 m. Šiandien šiuolaikiniai nuosekliojo ryšio protokolai naudoja tuos pačius principus. Signalai generuojami ir perduodami vienu laidu, pakartotinai trumpinant du laidininkus. Šis trumpinys veikia kaip jungiklis; jis įsijungia (aukštas) ir išjungiamas (žemas), teikdamas dvejetainius signalus. Kaip šis signalas bus perduodamas ir priimamas, priklausys nuo naudojamo nuosekliojo ryšio protokolo tipo.

instagram viewer

Vaizdo kreditas: shankar.s/Wikimedia Commons

Išradę tranzistorių ir po jo atsiradusias naujoves, inžinieriai ir meistrai sumažino procesorių ir atmintį, tapo greitesniu ir efektyvesniu energijos suvartojimu. Šie pokyčiai pareikalavo, kad magistralės ryšio protokolai būtų technologiškai tokie pat pažangūs, kaip ir jungiami komponentai. Taigi buvo sukurti nuoseklieji protokolai, tokie kaip UART, I2C ir SPI. Nors šie nuoseklieji protokolai yra senumo kelis dešimtmečius, jie vis dar yra pageidaujami mikrovaldikliams ir pliko metalo programavimui.

UART (universalus asinchroninis imtuvas-siųstuvas)

UART protokolas yra vienas iš seniausių, bet patikimiausių nuosekliojo ryšio protokolų, kurį vis dar naudojame. Šiame protokole naudojami du laidai, žinomi kaip Tx (perdavimas) ir Rx (priėmimas), kad abu komponentai galėtų bendrauti.

Norėdami perduoti duomenis, tiek siųstuvas, tiek imtuvas turi susitarti su penkiomis bendromis konfigūracijomis:

  • Perdavimo greitis: Perdavimo greitis, nurodantis, kaip greitai turi būti perduodami duomenys.
  • Duomenų ilgis: Sutartas bitų skaičius, kurį imtuvas išsaugos savo registruose.
  • Pradinis bitas: Žemas signalas, leidžiantis imtuvui žinoti, kada duomenys bus perduoti.
  • Stabdymo bitas: Aukštas signalas, leidžiantis imtuvui žinoti, kada buvo išsiųstas paskutinis bitas (svarbiausias bitas).
  • Pariteto bitas: Aukštas arba žemas signalas, naudojamas patikrinti, ar išsiųsti duomenys buvo teisingi ar sugadinti.

Kadangi UART yra asinchroninis protokolas, jis neturi savo laikrodžio, reguliuojančio duomenų perdavimo greitį. Kaip alternatyva, jis naudoja duomenų perdavimo spartą laiko nustatymui, kai bitas perduodamas. Įprasta UART naudojama duomenų perdavimo sparta yra 9600 bodų, o tai reiškia, kad perdavimo greitis yra 9600 bitų per sekundę.

Jei atliksime skaičiavimus ir vieną bitą padalinsime iš 9600 bodų, galime apskaičiuoti, kaip greitai vienas duomenų bitas perduodamas į imtuvą.

1/9600 =104 mikrosekundės

Tai reiškia, kad mūsų UART įrenginiai pradės skaičiuoti 104 mikrosekundes, kad sužinotų, kada bus perduotas kitas bitas.

Kai UART įrenginiai buvo prijungti, numatytasis signalas visada padidinamas iki aukšto. Kai imtuvas aptinka žemo dažnio signalą, imtuvas pradės skaičiuoti 104 mikrosekundes ir dar 52 mikrosekundes prieš pradėdamas įrašyti bitus į savo registrus (atmintį).

Kadangi jau buvo susitarta, kad aštuoni bitai turi būti duomenų ilgio, kai bus išsaugoti aštuoni bitai duomenų, jis pradės tikrinti, ar nėra lygybės, kad patikrintų, ar duomenys yra nelyginiai ar lyginiai. Po pariteto patikrinimo stop bitas padidins aukštą signalą, kad praneštų įrenginiams, kad visi aštuoni duomenų bitai buvo sėkmingai perduoti į imtuvą.

Kadangi UART yra minimalistinis nuoseklusis protokolas, naudojant tik du laidus, šiandien jis dažniausiai naudojamas intelektualiosiose kortelėse, SIM kortelėse ir automobiliuose.

Susijęs: Kas yra SIM kortelė? Dalykai, kuriuos reikia žinoti

SPI (nuoseklioji periferinė sąsaja)

SPI yra dar vienas populiarus nuoseklusis protokolas, naudojamas didesniam maždaug 20 Mbps duomenų greičiui. Iš viso naudojami keturi laidai, būtent SCK (Serial Clock Line), MISO (Master Out Slave In), MOSI (Master In Slave Out) ir SS/CS (Chip Select). Skirtingai nuo UART, SPI naudoja formatą nuo pagrindinio iki pavaldinio, kad valdytų kelis pagalbinius įrenginius tik su vienu pagrindiniu įrenginiu.

MISO ir MOSI veikia kaip UART Tx ir Rx, naudojami duomenims perduoti ir gauti. Chip Select naudojamas pasirenkant, su kuriuo pavaldiniu nori susisiekti.

Kadangi SPI yra sinchroninis protokolas, jis naudoja įtaisytą valdiklio laikrodį, kad užtikrintų, jog ir pagrindinis, ir pagalbiniai įrenginiai veiktų tuo pačiu dažniu. Tai reiškia, kad dviem įrenginiams nebereikia derėtis dėl duomenų perdavimo spartos.

Protokolas prasideda nuo pagrindinio įrenginio pasirinkimo pagalbinį įrenginį, sumažindamas savo signalą iki konkretaus SS/CK, prijungto prie pavaldžio įrenginio. Kai vergas gauna žemą signalą, jis pradeda klausytis ir SCK, ir MOSI. Tada valdiklis siunčia pradžios bitą prieš siųsdamas bitus, kuriuose yra duomenų.

Tiek MOSI, tiek MISO yra dvipusiai, tai reiškia, kad jie gali perduoti ir priimti duomenis tuo pačiu metu.

Galimybė prisijungti prie kelių vergų, dvipusis ryšys ir mažesnės energijos sąnaudos nei kiti Sinchroniniai protokolai, tokie kaip I2C, SPI, naudojami atminties įrenginiuose, skaitmeninėse atminties kortelėse, ADC į DAC keitikliuose ir kristaluose. atminties ekranai.

I2C (integruota grandinė)

I2C yra dar vienas sinchroninis nuoseklusis protokolas, pavyzdžiui, SPI, tačiau turintis keletą pranašumų prieš jį. Tai apima galimybę turėti kelis pagrindinius ir vergus, paprastą adresavimą (nereikia Chip Pasirinkite), veikiantis su įvairiomis įtampomis ir naudojant tik du laidus, prijungtus prie dviejų ištraukimų rezistoriai.

I2C dažnai naudojamas daugelyje daiktų interneto įrenginių, pramoninės įrangos ir plataus vartojimo elektronikos.

Du I2C protokolo kaiščiai yra SDA (Serial Data Line), kuris perduoda ir priima duomenis, ir SCL (Serial Clock Line) kaištis, kuris veikia kaip laikrodis.

  1. Protokolas pradedamas nuo to, kad pagrindinis serveris siunčia pradžios bitą (žemą) iš savo SDA kaiščio, po kurio siunčiamas septynių bitų adresas, kuris pasirenka pavaldinį, ir vienas bitas į, kad būtų pasirinktas skaitymas arba rašymas.
  2. Gavęs pradžios bitą ir adresą, vergas siunčia patvirtinimo bitą pagrindiniam įrenginiui ir pradeda klausytis SCL ir SDA apie gaunamus siuntimus.
  3. Kai valdiklis tai gauna, jis žino, kad ryšys buvo užmegztas su tinkamu pavaldiniu. Valdytojas dabar pasirinks, kurį konkretų registrą (atmintį) iš vergo įrenginio nori pasiekti. Jis tai daro siųsdamas dar aštuonis bitus, nurodančius, kuris registras turi būti naudojamas.
  4. Gavęs adresą, vergas parengia pasirinkimo registrą prieš išsiųsdamas kitą patvirtinimą pagrindiniam įrenginiui.
  5. Pasirinkęs, kurį konkretų vergą ir kurį iš jo registrų naudoti, pagrindinis valdiklis galiausiai siunčia duomenų bitą vergui.
  6. Išsiuntus duomenis, pagrindinis patvirtinimo bitas siunčiamas pagrindiniam kompiuteriui prieš baigiant stabdymo bitu (aukštu).

Susijęs: Geriausi Arduino IoT projektai

Kodėl nuoseklieji ryšiai lieka

Didėjant lygiagrečiam ir daugeliui belaidžių protokolų, nuoseklusis ryšys niekada neišnyko iš populiarumo. Paprastai naudojant tik du ar keturis laidus duomenims perduoti ir priimti, nuoseklieji protokolai yra esminis ryšio būdas elektronikai, kuri turi tik keletą atsarginių prievadų.

Kita priežastis yra jos paprastumas, kuris reiškia patikimumą. Duomenis vienu metu siunčiant tik keliais laidais, serijinė serija įrodė savo patikimumą siųsti visus duomenų paketus neprarandant ir nesugadinant perdavimo. Net esant dideliems dažniams ir didesnio nuotolio ryšiui, nuoseklieji protokolai vis dar lenkia daugelį šiuolaikinių lygiagrečiojo ryšio protokolų, prieinamų šiandien.

Nors daugelis gali manyti, kad nuoseklieji ryšiai, tokie kaip UART, SPI ir I2C, turi trūkumų Kadangi jie yra seni ir pasenę, jie įrodė savo patikimumą keliais būdais dešimtmečius. Tokie seni protokolai be jokio realaus pakeitimo tik rodo, kad jie iš tikrųjų yra būtini ir artimiausioje ateityje bus naudojami elektronikoje.

Raspberry Pi, Pico, Arduino ir kiti vienos plokštės kompiuteriai ir mikrovaldikliai

Painiojate tarp SBC, tokių kaip Raspberry Pi, ir mikrovaldiklių, tokių kaip Arduino ir Raspberry Pi Pico? Štai ką reikia žinoti.

Skaitykite toliau

DalintisTviteryjeEl. paštas
Susijusios temos
  • Paaiškinta technologija
  • Duomenų naudojimas
Apie autorių
MUO darbuotojai

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. knygų ir išskirtinių pasiūlymų!

Norėdami užsiprenumeruoti, spustelėkite čia