Ne glede na to, ali gre za računalniške zunanje naprave, pametne naprave, naprave interneta stvari (IoT) ali elektronske merilna orodja, vsi uporabljajo serijske komunikacijske protokole za povezovanje različnih elektronskih komponent skupaj.

Te komponente so običajno sestavljene iz mikrokrmilnika in pomožnih modulov, kot so senzor prstnih odtisov, ESP8266 (modul Wi-Fi), servomotorji in serijski zasloni.

Te naprave uporabljajo različne vrste komunikacijskih protokolov. Spodaj boste izvedeli nekaj najbolj priljubljenih serijskih komunikacijskih protokolov, kako delujejo, njihove prednosti in zakaj ostajajo v uporabi.

Kaj je serijska komunikacija?

Serijski komunikacijski protokoli so tu že od izuma Morsejeve kode leta 1838. Danes sodobni serijski komunikacijski protokoli uporabljajo enaka načela. Signali se generirajo in prenašajo na eni žici z večkratnim kratkim kratkim stikom dveh prevodnikov. Ta kratek deluje kot stikalo; vklopi se (visoko) in izklopi (nizko) ter zagotavlja binarne signale. Kako se ta signal prenaša in sprejema, je odvisno od vrste uporabljenega serijskega komunikacijskega protokola.

instagram viewer

Zasluge slike: shankar.s/Wikimedia Commons

Z izumom tranzistorja in inovacijami, ki so sledile, so tako inženirji kot popravljalci naredili procesne enote in pomnilnik manjše, hitrejše in energetsko učinkovitejše. Te spremembe so zahtevale, da so komunikacijski protokoli vodila enako tehnološko napredni kot komponente, ki se povezujejo. Tako izum serijskih protokolov, kot so UART, I2C in SPI. Čeprav so ti serijski protokoli stari nekaj desetletij, so še vedno prednostni za mikrokrmilnike in golo kovinsko programiranje.

UART (univerzalni asinhroni sprejemnik-oddajnik)

Protokol UART je eden najstarejših, a najbolj zanesljivih serijskih komunikacijskih protokolov, ki jih uporabljamo še danes. Ta protokol uporablja dve žici, znani kot Tx (oddaj) in Rx (sprejem), za obe komponenti za komunikacijo.

Za prenos podatkov se morata tako oddajnik kot sprejemnik strinjati s petimi skupnimi konfiguracijami, to so:

  • Hitrost prenosa: Hitrost prenosa, kako hitro se bodo podatki prenašali.
  • Dolžina podatkov: Dogovorjeno število bitov, ki jih bo sprejemnik shranil v svoje registre.
  • Začetni bit: Nizek signal, ki sprejemniku sporoči, kdaj bodo podatki tik pred prenosom.
  • Stop Bit: Visok signal, ki prejemniku sporoči, kdaj je bil poslan zadnji bit (najpomembnejši bit).
  • Paritetni bit: Visok ali nizek signal, ki se uporablja za preverjanje, ali so poslani podatki pravilni ali poškodovani.

Ker je UART asinhroni protokol, nima lastne ure, ki bi regulirala hitrost prenosa podatkov. Kot alternativo uporablja hitrost prenosa za merjenje časa, ko se bit prenaša. Običajna hitrost prenosa, ki se uporablja za UART, je 9600 baud, kar pomeni hitrost prenosa 9600 bitov na sekundo.

Če opravimo matematiko in en bit delimo z 9600 baudov, lahko izračunamo, kako hitro se en bit podatkov prenese v sprejemnik.

1/9600 =104 mikrosekunde

To pomeni, da bodo naše naprave UART začele šteti 104 mikrosekunde, da bodo vedele, kdaj bo naslednji bit oddal.

Ko so naprave UART povezane, se privzeti signal vedno dvigne na visoko. Ko zazna nizkofrekvenčni signal, bo sprejemnik začel šteti 104 mikrosekunde plus še 52 mikrosekund, preden začne shranjevati bite v svoje registre (pomnilnik).

Ker je bilo že dogovorjeno, da bo osem bitov dolžine podatkov, bo, ko bo shranjenih osem bitov podatkov, začel preverjati parnost, da preveri, ali so podatki lihi ali sodi. Po preverjanju parnosti bo stop bit dvignil visok signal, da bi obvestil naprave, da je bilo vseh osem bitov podatkov uspešno prenesenih v sprejemnik.

Kot najbolj minimalističen serijski protokol, ki uporablja samo dve žici, se UART danes pogosto uporablja v pametnih karticah, karticah SIM in avtomobilih.

Povezano: Kaj je kartica SIM? Stvari, ki jih morate vedeti

SPI (serijski periferni vmesnik)

SPI je še en priljubljen serijski protokol, ki se uporablja za hitrejše prenosne hitrosti približno 20 Mbps. Uporablja skupno štiri žice, in sicer SCK (Serial Clock Line), MISO (Master Out Slave In), MOSI (Master In Slave Out) in SS/CS (Chip Select). Za razliko od UART, SPI uporablja format master-to-slave za nadzor več podrejenih naprav s samo eno glavno enoto.

MISO in MOSI delujeta kot Tx in Rx UART, ki se uporabljata za prenos in sprejemanje podatkov. Chip Select se uporablja za izbiro, s katerim podrejenim želi glavna enota komunicirati.

Ker je SPI sinhroni protokol, uporablja vgrajeno uro od glavne enote, da zagotovi, da glavna in podrejena naprava delujeta na isti frekvenci. To pomeni, da se obema napravama ni več treba pogajati o hitrosti prenosa.

Protokol se začne tako, da glavni izbere podrejeno napravo tako, da zniža njen signal na določeno SS/CK, povezano s podrejeno napravo. Ko podrejena enota prejme nizek signal, začne poslušati tako SCK kot MOSI. Glavni nato pošlje začetni bit, preden pošlje bite, ki vsebujejo podatke.

Tako MOSI kot MISO sta polni dupleks, kar pomeni, da lahko prenašata in sprejemata podatke hkrati.

S svojo zmožnostjo povezovanja z več podrejenimi, polno-dupleksno komunikacijo in nižjo porabo energije kot drugi sinhroni protokoli, kot so I2C, SPI, se uporabljajo v pomnilniških napravah, digitalnih pomnilniških karticah, pretvornikih ADC v DAC in kristalih spominski zasloni.

I2C (inter-integrirano vezje)

I2C je še en sinhroni serijski protokol, kot je SPI, vendar z več prednostmi pred njim. Ti vključujejo možnost več glavnih in podrejenih, preprosto naslavljanje (ni potrebe po Chip Izberite), ki delujejo z različnimi napetostmi in uporabljajo samo dve žici, povezani na dva vleka upori.

I2C se pogosto uporablja v številnih napravah IoT, industrijski opremi in potrošniški elektroniki.

Dva zatiča v protokolu I2C sta SDA (Serial Data Line), ki prenaša in sprejema podatke, in SCL (Serial Clock Line), ki deluje kot ura.

  1. Protokol se začne tako, da glavni pošlje začetni bit (nizko) iz svojega SDA pina, ki mu sledi sedembitni naslov, ki izbere podrejeni, in en bit za izbiro branja ali pisanja.
  2. Po prejemu začetnega bita in naslova podrejena enota pošlje potrditveni bit glavni enoti in začne poslušati SCL in SDA za dohodne prenose.
  3. Ko master to prejme, ve, da je bila povezava vzpostavljena s pravim podrejenim. Glavni bo zdaj izbral, do katerega posebnega registra (pomnilnika) podrejenega želi dostopati. To naredi tako, da pošlje nadaljnjih osem bitov, ki določajo, kateri register se uporablja.
  4. Po prejemu naslova podrejeni zdaj pripravi register izbire, preden pošlje drugo potrditev glavnemu.
  5. Ko je izbral, kateri posebni podrejeni in kateri od njegovih registrov naj se uporabi, glavna enota končno pošlje podatkovni bit podrejenemu.
  6. Ko so podatki poslani, se glavni enoti pošlje končni bit potrditve, preden se glavna enota konča s stop bitom (visoko).

Povezano: Najboljši Arduino IoT projekti

Zakaj so serijske komunikacije tu, da ostanejo

Z vzponom vzporednih in številnih brezžičnih protokolov serijska komunikacija nikoli ni izgubila priljubljenosti. Na splošno uporabljajo samo dve do štiri žice za prenos in sprejemanje podatkov, so serijski protokoli bistven način komunikacije za elektroniko, ki ima le nekaj prostih vrat.

Drug razlog je njegova preprostost, kar pomeni zanesljivost. S samo nekaj žicami, ki pošiljajo podatke enkrat naenkrat, je serijski dokazal svojo zanesljivost za pošiljanje celotnih paketov podatkov brez izgube ali poškodbe ob prenosu. Tudi pri visokih frekvencah in komunikaciji na daljšem razponu so serijski protokoli še vedno boljši od mnogih sodobnih vzporednih komunikacijskih protokolov, ki so danes na voljo.

Čeprav bi mnogi morda mislili, da imajo serijske komunikacije, kot so UART, SPI in I2C, pomanjkljivost Ker so stari in zastareli, ostaja dejstvo, da so svojo zanesljivost dokazali v več desetletja. Ker so protokoli tako stari brez prave zamenjave, le nakazujejo, da so v resnici nepogrešljivi in ​​se bodo še naprej uporabljali v elektroniki v bližnji prihodnosti.

Raspberry Pi, Pico, Arduino in drugi računalniki in mikrokrmilniki z eno ploščo

Ste zmedeni med SBC-ji, kot sta Raspberry Pi, in mikrokrmilniki, kot sta Arduino in Raspberry Pi Pico? Tukaj je tisto, kar morate vedeti.

Preberite Naprej

DelitiTweetE-naslov
Povezane teme
  • Razložena tehnologija
  • Uporaba podatkov
O avtorju
Osebje MUO

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e-knjige in ekskluzivne ponudbe!

Kliknite tukaj, da se naročite