Bilo da se radi o perifernim uređajima računala, pametnim uređajima, uređajima Interneta stvari (IoT) ili elektroničkim mjerni alati, svi koriste serijske komunikacijske protokole za povezivanje različitih elektroničkih komponenti zajedno.

Te se komponente obično sastoje od mikrokontrolera i podređenih modula kao što su senzor otiska prsta, ESP8266 (Wi-Fi modul), servo uređaji i serijski zasloni.

Ovi uređaji koriste različite vrste komunikacijskih protokola. U nastavku ćete naučiti o nekim od najpopularnijih serijskih komunikacijskih protokola, kako rade, njihovim prednostima i zašto ostaju u upotrebi.

Što je serijska komunikacija?

Serijski komunikacijski protokoli postoje još od izuma Morseovog koda 1838. godine. Danas se suvremeni serijski komunikacijski protokoli koriste istim principima. Signali se generiraju i prenose na jednoj žici uzastopnim kratkim spojem dva vodiča. Ovaj kratki se ponaša kao prekidač; uključuje se (visoko) i isključuje (nisko), dajući binarne signale. Način prijenosa i primanja ovog signala ovisit će o vrsti korištenog serijskog komunikacijskog protokola.

instagram viewer

Zasluga slike: shankar.s/Wikimedia Commons

S izumom tranzistora i inovacijama koje su uslijedile, inženjeri i majstori podjednako su učinili procesorske jedinice i memoriju manjim, bržim i energetski učinkovitijim. Ove promjene zahtijevale su da komunikacijski protokoli sabirnice budu jednako tehnološki napredni kao i komponente koje se spajaju. Tako je izum serijskih protokola kao što su UART, I2C i SPI. Iako su ovi serijski protokoli stari nekoliko desetljeća, još uvijek su poželjni za mikrokontrolere i golo metalno programiranje.

UART (univerzalni asinkroni prijemnik-odašiljač)

UART protokol je jedan od najstarijih, ali najpouzdanijih serijskih komunikacijskih protokola koji i danas koristimo. Ovaj protokol koristi dvije žice poznate kao Tx (prijenos) i Rx (prijem) za komunikaciju obje komponente.

Za prijenos podataka, i odašiljač i prijemnik moraju se složiti s pet uobičajenih konfiguracija, a to su:

  • Brzina prijenosa: Brzina prijenosa koliko brzo se podaci trebaju prenositi.
  • Duljina podataka: Dogovoreni broj bitova koje će prijemnik pohraniti u svoje registre.
  • Početni bit: Nizak signal koji prijemniku daje do znanja kada će se podaci prenijeti.
  • Stop bit: Visok signal koji primatelju daje do znanja kada je posljednji bit (najznačajniji bit) poslan.
  • Bit parnosti: Visoki ili niski signal koji se koristi za provjeru jesu li poslani podaci točni ili oštećeni.

Budući da je UART asinkroni protokol, on nema vlastiti sat koji regulira brzinu prijenosa podataka. Kao alternativa, koristi brzinu prijenosa za mjerenje vremena kada se bit prenosi. Uobičajena brzina prijenosa koja se koristi za UART je 9600 baudova, što znači brzinu prijenosa od 9600 bita u sekundi.

Ako izvršimo matematiku i podijelimo jedan bit s 9600 bauda, ​​možemo izračunati koliko se brzo jedan bit podataka prenosi do prijemnika.

1/9600 =104 mikrosekunde

To znači da će naši UART uređaji početi odbrojavati 104 mikrosekunde kako bi znali kada će sljedeći bit prenijeti.

Kada su UART uređaji povezani, zadani signal se uvijek podiže na visoku razinu. Kada detektira niskofrekventni signal, prijemnik će početi brojati 104 mikrosekunde plus još 52 mikrosekunde prije nego što počne spremati bitove u svoje registre (memoriju).

Budući da je već dogovoreno da će osam bitova biti duljina podataka, nakon što se pohrani osam bitova podataka, počet će provjeravati paritet kako bi provjerio jesu li podaci neparni ili parni. Nakon provjere parnosti, stop bit će podići visoki signal kako bi obavijestio uređaje da je cijelih osam bitova podataka uspješno preneseno do prijemnika.

Budući da je najminimalističkiji serijski protokol koji koristi samo dvije žice, UART se danas obično koristi u pametnim karticama, SIM karticama i automobilima.

Povezano: Što je SIM kartica? Stvari koje trebate znati

SPI (serijsko periferno sučelje)

SPI je još jedan popularan serijski protokol koji se koristi za brže prijenose podataka od oko 20 Mbps. Koristi ukupno četiri žice, a to su SCK (Serial Clock Line), MISO (Master Out Slave In), MOSI (Master In Slave Out) i SS/CS (Chip Select). Za razliku od UART-a, SPI koristi format master-to-slave za kontrolu više slave uređaja sa samo jednim glavnim uređajem.

MISO i MOSI djeluju kao Tx i Rx UART-a koji se koriste za prijenos i primanje podataka. Chip Select se koristi za odabir s kojim slave-om master želi komunicirati.

Budući da je SPI sinkroni protokol, on koristi ugrađeni sat od glavnog uređaja kako bi osigurao da i glavni i slave uređaji rade na istoj frekvenciji. To znači da dva uređaja više ne moraju pregovarati o brzini prijenosa.

Protokol počinje tako da glavni odabire slave uređaj spuštanjem njegovog signala na određeni SS/CK spojen na slave uređaj. Kada slave primi slab signal, počinje slušati i SCK i MOSI. Master zatim šalje početni bit prije slanja bitova koji sadrže podatke.

I MOSI i MISO su full-duplex, što znači da mogu prenositi i primati podatke u isto vrijeme.

Sa svojom sposobnošću povezivanja na više slave, full-duplex komunikacijom i manjom potrošnjom energije od ostalih sinkroni protokoli poput I2C, SPI koriste se u memorijskim uređajima, digitalnim memorijskim karticama, ADC u DAC pretvaračima i kristalima memorijski prikazi.

I2C (međuintegrirani krug)

I2C je još jedan sinkroni serijski protokol poput SPI, ali s nekoliko prednosti u odnosu na njega. To uključuje mogućnost višestrukih mastera i slaveova, jednostavno adresiranje (nema potrebe za Chip Odaberite), koji rade s različitim naponima i koriste samo dvije žice spojene na dvije pull-up otpornici.

I2C se često koristi u mnogim IoT uređajima, industrijskoj opremi i potrošačkoj elektronici.

Dva pina u I2C protokolu su SDA (Serial Data Line) koji prenosi i prima podatke i SCL (Serial Clock Line) pin, koji funkcionira kao sat.

  1. Protokol počinje tako što master šalje početni bit (niski) sa svog SDA pina, nakon čega slijedi sedmobitna adresa koja odabire slave, i jedan bit za odabir čitanja ili pisanja.
  2. Nakon što primi početni bit i adresu, slave tada šalje bit potvrde masteru i počinje slušati SCL i SDA za dolazne prijenose.
  3. Nakon što master to primi, zna da je veza s ispravnim slave-om uspostavljena. Master će sada odabrati kojem određenom registru (memoriji) iz slave-a želi pristupiti. To čini tako što šalje još osam bitova koji određuju koji će se registar koristiti.
  4. Nakon primanja adrese, slave sada priprema registar odabira prije nego što pošalje drugu potvrdu masteru.
  5. Nakon što je odabrao koji će specifični slave i koji od njegovih registara koristiti, master konačno šalje bit podataka slaveu.
  6. Nakon slanja podataka, posljednji bit potvrde šalje se glavnom uređaju prije nego što master završi sa stop bitom (visoko).

Povezano: Najbolji Arduino IoT projekti

Zašto su serijske komunikacije tu da ostanu

Uz porast paralelnih i mnogih bežičnih protokola, serijske komunikacije nikada nisu pale iz popularnosti. Općenito koristeći samo dvije do četiri žice za prijenos i primanje podataka, serijski protokoli su bitan način komunikacije za elektroniku koja ima samo nekoliko priključaka.

Drugi razlog je njegova jednostavnost što znači pouzdanost. Sa samo nekoliko žica koje šalju podatke jednom u isto vrijeme, serial je dokazao svoju pouzdanost za slanje kompletnih paketa podataka bez gubitka ili oštećenja prilikom prijenosa. Čak i na visokim frekvencijama i komunikaciji većeg dometa, serijski protokoli i dalje nadmašuju mnoge moderne paralelne komunikacijske protokole dostupne danas.

Iako bi mnogi mogli pomisliti da serijske komunikacije kao što su UART, SPI i I2C imaju nedostatak Budući da su stari i zastarjeli, ostaje činjenica da su svoju pouzdanost dokazali u nekoliko slučajeva desetljećima. Toliko stari protokoli bez ikakve stvarne zamjene samo sugerira da su zapravo neophodni i da će se i dalje koristiti u elektronici u doglednoj budućnosti.

Raspberry Pi, Pico, Arduino i druga jednoslojna računala i mikrokontroleri

Zbunjeni ste između SBC-a poput Raspberry Pi i mikrokontrolera kao što su Arduino i Raspberry Pi Pico? Evo što trebate znati.

Pročitajte dalje

UdioCvrkutE-mail
Povezane teme
  • Objašnjena tehnologija
  • Korištenje podataka
O autoru
Osoblje MUO

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e-knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu