- Vrste komunikacijskih protokola
- Načini prijenosa u serijskoj komunikaciji
- Sinkronizacija sata
- Ostali pojmovi povezani sa serijskom komunikacijom
- Sinkroni serijski protokoli
- Asinkroni serijski protokoli
- Zaključak
Prije početka protokola serijske komunikacije, razlomimo terminologiju u tri dijela. Komunikacija je vrlo dobro poznato terminologiju koja uključuje razmjenu informacija između dva ili više medija. U ugrađenim sustavima komunikacija znači razmjenu podataka između dva mikrokontrolera u obliku bitova. Ova razmjena podatkovnih bitova u mikrokontroleru vrši se nekim skupom definiranih pravila poznatih kao komunikacijski protokoli. Ako se podaci šalju u nizu, tj. Jedan za drugim, komunikacijski protokol poznat je kao protokol serijske komunikacije. Točnije, podatkovni se bitovi prenose jedan po jedan u slijedu preko podatkovne sabirnice ili komunikacijskog kanala u serijskoj komunikaciji.
Vrste komunikacijskih protokola
U digitalnoj su elektronici dostupni različiti tipovi prijenosa podataka, poput serijske i paralelne komunikacije. Slično tome, protokoli su podijeljeni u dvije vrste, poput protokola serijske komunikacije i protokola paralelne komunikacije. Primjeri protokola paralelne komunikacije su ISA, ATA, SCSI, PCI i IEEE-488. Slično tome, postoji nekoliko primjera serijskih komunikacijskih protokola kao što su CAN, ETHERNET, I2C, SPI, RS232, USB, 1-Wire i SATA itd.


U ovom će se članku razmatrati različite vrste protokola serijske komunikacije. Serijska komunikacija najčešće se koristi za prijenos podataka između perifernih uređaja za obradu podataka. Svaki elektronički uređaj, bilo da se radi o osobnom računalu (računalu) ili mobilnom uređaju, koristi serijsku komunikaciju. Protokol je siguran i pouzdan oblik komunikacije koji ima skup pravila kojima se obraćaju izvorni domaćin (pošiljatelj) i odredišni domaćin (primatelj) slični paralelnoj komunikaciji.
Načini prijenosa u serijskoj komunikaciji
Kao što je već gore rečeno, podaci u serijskoj komunikaciji šalju se u obliku bitova, tj. Binarnih impulsa, a dobro je poznato da binarni predstavlja logiku VISOKO, a nula logiku NISKO. Postoji nekoliko vrsta serijske komunikacije, ovisno o vrsti načina prijenosa i prijenosu podataka. Načini prijenosa klasificirani su kao Simplex, Half Duplex i Full Duplex.
Jednostavna metoda:
U simplex metodi može istovremeno biti aktivan bilo koji od medija, tj. Pošiljatelj ili primatelj. Dakle, ako pošiljatelj prenosi podatke, primatelj može prihvatiti samo i obrnuto. Dakle, simpleks metoda je jednosmjerna tehnika komunikacije. Poznati primjeri simplex metode su Televizija i Radio.
Poludupleks metoda:
U poludupleksnoj metodi i pošiljatelj i primatelj mogu biti aktivni, ali ne istodobno. Dakle, ako pošiljatelj odašilje, primatelj može prihvatiti, ali ne može poslati i slično obrnuto. Poznati primjeri poludupleksa je internet na kojem korisnik šalje zahtjev za podacima, a dobiva ih s poslužitelja.
Full Duplex metoda:
U full duplex metodi, i prijemnik i odašiljač mogu istovremeno slati podatke jedni drugima. Poznati primjer je mobilni telefon.
Osim toga, za odgovarajući prijenos podataka sat igra važnu ulogu i jedan je od primarnih izvora. Neispravnost sata rezultira neočekivanim prijenosom podataka, čak ponekad i gubitkom podataka. Dakle, sinkronizacija sata postaje vrlo važna kada se koristi serijska komunikacija.
Sinkronizacija sata
Sat je različit za serijske uređaje i klasificiran je u dvije vrste. Sinkrono serijsko sučelje i Asinkrono serijsko sučelje.
Sinkrono serijsko sučelje:
To je točka-do-točke veza od gospodara do slave. U ovoj vrsti sučelja svi uređaji koriste jednu CPU sabirnicu za razmjenu podataka i sata. Prijenos podataka postaje brži s istom sabirnicom za dijeljenje sata i podataka. Također ne postoji neusklađenost brzine prijenosa u ovom sučelju. Na strani odašiljača dolazi do pomicanja podataka na serijsku liniju pružajući sat kao zasebni signal jer se podacima ne dodaju bitovi za pokretanje, zaustavljanje i paritet. Na strani primatelja podaci se ekstrahiraju pomoću sata koji pruža prijenosnik i pretvara serijske podatke natrag u paralelni oblik. Poznati primjeri su I2C i SPI.

Asinkrono serijsko sučelje:
U asinkronom serijskom sučelju odsutni je signal vanjskog takta. Asinhrona serijska sučelja mogu se vidjeti uglavnom u velikim udaljenostima i savršeno pristaju za stabilnu komunikaciju. U asinkronom serijskom sučelju odsustvo vanjskog izvora takta čini da se oslanja na nekoliko parametara kao što su kontrola protoka podataka, kontrola pogrešaka, kontrola brzine prijenosa, kontrola prijenosa i kontrola prijema. Na strani odašiljača nalazi se pomicanje paralelnih podataka na serijsku liniju pomoću vlastitog sata. Također dodaje bitove za početak, zaustavljanje i provjeru pariteta. Na strani prijemnika, prijemnik vadi podatke pomoću vlastitog sata i pretvara serijske podatke natrag u paralelni oblik nakon uklanjanja startnih, stop i paritetnih bitova. Poznati primjeri su RS-232, RS-422 i RS-485.

Ostali pojmovi povezani sa serijskom komunikacijom
Osim sinkronizacije sata, postoje neke stvari koje se morate sjetiti prilikom serijskog prijenosa podataka, poput brzine prijenosa podataka, odabira bita podataka (kadriranje), sinkronizacije i provjere pogrešaka. Razmotrimo ukratko ove pojmove.
Brzina prijenosa: Brzina prijenosa je brzina kojom se podaci prenose između odašiljača i prijamnika u obliku bitova u sekundi (bps). Najčešće korištena brzina prijenosa je 9600. Ali postoje i drugi odabiri brzine prijenosa kao što su 1200, 2400, 4800, 57600, 115200. Što će brzina prijenosa biti veća, podaci će se istodobno prenositi. Također za podatkovnu komunikaciju brzina prijenosa mora biti jednaka i za odašiljač i za prijemnik.
Kadriranje: Kadriranje se odnosi na broj podatkovnih bitova koji se šalju od odašiljača do prijamnika. Broj podatkovnih bitova razlikuje se u slučaju primjene. Većina aplikacije koristi 8 bitova kao standardne podatkovne bitove, ali se također može odabrati kao 5, 6 ili 7 bitova.
Sinkronizacija: Bitovi sinkronizacije važni su za odabir dijela podataka. Kaže početak i kraj podatkovnih bitova. Odašiljač će postaviti bitove za pokretanje i zaustavljanje podatkovnog okvira, a primatelj će ga identificirati u skladu s tim i obaviti daljnju obradu.
Kontrola pogrešaka: Kontrola pogrešaka igra važnu ulogu tijekom serijske komunikacije jer postoji mnogo čimbenika koji utječu i dodaju šum u serijskoj komunikaciji. Da bi se riješili ove pogreške, koriste se bitovi pariteta gdje će paritet provjeriti parni i neparni paritet. Dakle, ako okvir podataka sadrži paran broj 1, tada je poznat kao parni paritet, a bit parnosti u registru postavljen je na 1. Slično tome ako podatkovni okvir sadrži neparan broj 1, tada je poznat kao neparan paritet i briše neparni bit parnosti u registru.
Protokol je poput uobičajenog jezika koji sustav koristi za razumijevanje podataka. Kao što je gore opisano, serijski komunikacijski protokol podijeljen je na vrste, tj. Sinkroni i asinkroni. Sada će se o obojici detaljno razgovarati.
Sinkroni serijski protokoli
Sinkroni tip serijskih protokole kao što su SPI, I2C, može i LIN se koriste u različitim projektima, jer je to jedan od najboljih sredstava za brodu periferije. Također su to naširoko korišteni protokoli u glavnim aplikacijama.
SPI protokol
Serijsko periferno sučelje (SPI) je sinkrono sučelje koje omogućuje međusobno povezivanje nekoliko SPI mikrokontrolera. U SPI-u su potrebne zasebne žice za podatke i satnu liniju. Također sat nije uključen u tok podataka i mora biti predstavljen kao zaseban signal. SPI se može konfigurirati ili kao master ili kao slave. Četiri osnovna SPI signala (MISO, MOSI, SCK i SS), Vcc i Ground dio su podatkovne komunikacije. Dakle, potrebno je 6 žica za slanje i primanje podataka od podređenog ili glavnog. Teoretski, SPI može imati neograničen broj robova. Prenos podataka konfiguriran je u SPI registrima. SPI može pružiti do 10Mbps brzine i idealan je za brzu podatkovnu komunikaciju.

Većina mikrokontrolera ima ugrađenu podršku za SPI i može se izravno povezati s uređajem koji podržava SPI:
- SPI komunikacija s PIC mikrokontrolerom PIC16F877A
- Kako se koristi SPI komunikacija u mikrokontroleru STM32
- Kako koristiti SPI u Arduinu: Komunikacija između dvije Arduino ploče
I2C serijska komunikacija

Dvoredna komunikacija među integriranim krugom (I2C) između različitih IC-a ili modula gdje su dvije linije SDA (serijska podatkovna linija) i SCL (serijska linija sata). Obje linije moraju biti povezane s pozitivnim napajanjem pomoću povlačenja otpora. I2C može pružiti brzinu do 400Kbps i koristi 10-bitni ili 7-bitni sustav adresiranja za ciljanje određenog uređaja na i2c sabirnici, tako da može povezati do 1024 uređaja. Ima ograničenu duljinu komunikacije i idealan je za komunikaciju na brodu. I2C mreže lako je postaviti, jer koristi samo dvije žice, a novi uređaji mogu se jednostavno povezati s dvije uobičajene I2C magistrale. Slično kao i SPI, mikrokontroler obično ima I2C pinove za povezivanje bilo kojeg I2C uređaja:
- Kako se koristi I2C komunikacija u mikrokontroleru STM32
- I2C komunikacija s PIC mikrokontrolerom PIC16F877
- Kako koristiti I2C u Arduinu: Komunikacija između dvije Arduino ploče
USB
USB (Univerzalna serijska sabirnica) široko je protokol različitih verzija i brzina. Na jedan USB host kontroler može se povezati najviše 127 perifernih uređaja. USB djeluje kao "plug and play" uređaj. USB se koristi u gotovo uređajima poput tipkovnica, pisača, medijskih uređaja, fotoaparata, skenera i miša. Dizajniran je za jednostavnu instalaciju, brže ocjenjivanje podataka, manje kabliranja i vruće zamjene. Zamijenio je glomaznije i sporije serijske i paralelne priključke. USB koristi diferencijalnu signalizaciju kako bi smanjio smetnje i omogućio brzi prijenos na velike udaljenosti.
Diferencijalna sabirnica izgrađena je s dvije žice, od kojih jedna predstavlja prenesene podatke, a druga njegov komplement. Ideja je da 'prosječni' napon na žicama ne nosi nikakve informacije, što rezultira manjim smetnjama. U USB-u uređaji smiju crpati određenu količinu energije bez potrebe za računalom. USB za prijenos podataka koristi samo dvije žice i brži su od serijskog i paralelnog sučelja. USB verzije podržavaju različite brzine poput 1,5 Mbps (USB v1.0), 480 Mbps (USB2.0), 5Gbps (USB v3.0). Duljina pojedinačnog USB kabela može doseći do 5 metara bez glavčine i 40 metara s glavčinom.
LIMENKA
Mreža upravljačkog područja (CAN) koristi se npr. U automobilskoj industriji kako bi se omogućila komunikacija između ECU-a (upravljačkih jedinica motora) i senzora. CAN protokol je robustan, jeftin i zasnovan na porukama i pokriva mnoge primjene - npr. Automobile, kamione, traktore, industrijske robote. Sustav CAN sabirnice omogućuje središnju dijagnozu i konfiguraciju pogrešaka na svim ECU-ima. CAN poruke imaju prioritet putem ID-ova tako da se ID-ovi najvišeg prioriteta ne prekidaju. Svaka ECU sadrži čip za primanje svih prenesenih poruka, odlučuje o važnosti i djeluje u skladu s tim - to omogućuje jednostavnu izmjenu i uključivanje dodatnih čvorova (npr. CAN sakupljači podataka sabirnice). Aplikacije uključuju pokretanje / zaustavljanje vozila, sustave za izbjegavanje sudara. Sustavi CAN sabirnice mogu pružiti brzinu do 1Mbps.
Microwire
MICROWIRE je serijsko 3-žično sučelje od 3 Mbps, u osnovi podskupina SPI sučelja. Microwire je serijski ulazno-izlazni priključak na mikrokontrolerima, tako da će se sabirnica Microwire naći i na EEPROM-ima i drugim perifernim čipovima. Tri linije su SI (serijski ulaz), SO (serijski izlaz) i SK (serijski sat). Linija serijskog ulaza (SI) do mikrokontrolera, SO je serijska linija izlaza, a SK serijska linija sata. Podaci se pomiču prema donjem rubu SK, a vrednuju se po rastućem rubu. SI je pomaknut prema rastućem rubu SK. Dodatno poboljšanje sabirnice za MICROWIRE naziva se MICROWIRE / Plus. Čini se da je glavna razlika između dva sabirnica u tome što je MICROWIRE / Plus arhitektura unutar mikrokontrolera složenija. Podržava brzine do 3Mbps.
Asinkroni serijski protokoli
Asinkroni tip serijskih protokola vrlo je važan kada je u pitanju pouzdan prijenos podataka na veće udaljenosti. Za asinkronu komunikaciju nije potreban mjerni sat koji je zajednički za oba uređaja. Svaki uređaj neovisno sluša i šalje digitalne impulse koji predstavljaju bitove podataka dogovorenom brzinom. Asinkrona serijska komunikacija ponekad se naziva i serijom tranzistor-tranzistorska logika (TTL), gdje je visoki napon logika 1, a niski napon jednak logici 0. Gotovo svaki mikrokontroler na tržištu danas ima barem jedan univerzalni asinkroni prijemnik - Odašiljač (UART) za serijsku komunikaciju. Primjeri su RS232, RS422, RS485 itd.
RS232
RS232 (preporučeni standard 232) vrlo je uobičajeni protokol koji se koristi za povezivanje različitih perifernih uređaja kao što su monitori, CNC itd. RS232 dolazi u muškim i ženskim konektorima. RS232 je topologija točka-točka s maksimalno jednim povezanim uređajem i pokriva udaljenost do 15 metara pri 9600 bps. Podaci na sučelju RS-232 prenose se digitalno logičkim 0 i 1. Logički "1" (MARK) odgovara naponu u rasponu od -3 do -15 V. Logički "0" (PROSTOR) odgovara napon u rasponu od +3 do +15 V. Dolazi u DB9 konektoru koji ima 9 izvoda poput TxD, RxD, RTS, CTS, DTR, DSR, DCD, GND.
RS422
RS422 je sličan RS232 koji omogućuje istovremeno slanje i primanje poruka na zasebnim linijama, ali za to koristi diferencijalni signal. U mreži RS-422 može postojati samo jedan uređaj za odašiljanje i do 10 uređaja za prijam. Brzina prijenosa podataka u RS-422 ovisi o udaljenosti i može varirati od 10 kbps (1200 metara) do 10 Mbps (10 metara). Linija RS-422 sastoji se od 4 žice za prijenos podataka (2 upletene žice za prijenos i 2 upletene žice za primanje) i jedna uobičajena GND žica za uzemljenje. Napon na podatkovnim vodovima može biti u rasponu od -6 V do +6 V. Logična razlika između A i B veća je od +0,2 V. Logička 1 odgovara razlici između A i B manje od -0,2 V. Standard RS-422 ne definira određenu vrstu konektora, obično to može biti terminalni blok ili DB9 konektor.
RS485
Budući da RS485 koristi višetočkovnu topologiju, najviše se koristi u industrijskim granama i njima se preferira protokol. RS422 može povezati 32 linijska upravljačka programa i 32 prijamnika u različitim konfiguracijama, ali uz pomoć dodatnih repetitora i pojačala signala do 256 uređaja. RS-485 ne definira određenu vrstu konektora, ali je često terminalni blok ili DB9 konektor. Brzina rada također ovisi o duljini linije i može doseći 10 Mbit / s na 10 metara. Napon na vodovima je u rasponu od -7 V do +12 V. Postoje dvije vrste RS-485, kao što je poludupleksni način RS-485 s 2 kontakta i puni dupleks način RS-485 s 4 kontakta. Da biste saznali više o korištenju RS485 s drugim mikrokontrolerima, provjerite poveznice:
- RS-485 serijska komunikacija MODBUS koristeći Arduino UNO kao slave
- RS-485 serijska komunikacija između Raspberry Pi i Arduino Uno
- RS485 serijska komunikacija između Arduino Uno i Arduino Nano
- Serijska komunikacija između STM32F103C8 i Arduino UNO pomoću RS-485
Zaključak
Serijska komunikacija jedan je od široko korištenih sustava komunikacijskog sučelja u elektronici i ugrađenim sustavima. Brzine prijenosa podataka mogu se razlikovati za različite primjene. Protokoli serijske komunikacije mogu igrati presudnu ulogu u radu s ovom vrstom aplikacija. Dakle, odabir pravog serijskog protokola postaje vrlo važan.
