You are on page 1of 35

1.

Komunikacija
1. Osnovni koncepti
2. RS-232
3. RS-422/RS-485
4. CAN
5. SPI
6. I2C
7. Ethernet
8. Beina komunikacija
1. ZigBee
2. Bluetooth
3. WLAN
Osnovni koncepti
Komunikacija je nezaobilazna tema kada se govori o savremenim ugradbenim sistemima. Mrea
autobusnih linija u savremenim gradovima je dobar primjer koji pokazuje ulogu ugradbenih sistema u
podizanju nivoa usluge prijevoza putnika. Tako se na svakoj autobusnoj stanici nalazi displej koji u
realnom vremenu prikazuje vrijeme do dolaska narednih autobusa na svim linijama koje tuda prolaze.
Tano vrijeme se neprekidno aurira tako to ugradbeni sistem instaliran u autobusu prihvata
informaciju o poziciji putem GPS, i tu informaciju prosljeuje u centralni sistem. Centralni sistem, koji
izmeu ostalog nadzire i odvijanje cjelokupnog saobraaja, onda prezentira informaciju o vremenu do
nailaska autobusa na stanicama du linije kojom prolazi. Svaki od pomenutih displeja takoer
predstavlja ugradbeni sistem, sa svojim ulazima, mikroraunarskim sistemom i izlazima. U navedenom
primjeru se komunikacija pojavljuje na vie mjesta. Kao prvo, GPS ureaj komunicira sa
mikroraunarskim sistemom u okviru sistema instaliranog u autobusu. Ovaj mikroraunarski sistem
beino komunicira (putem GSM/GPRS, WiFi ili WiMAX mree) sa centralnim sistemom za nadzor
saobraaja. Centralni sistem inim putem ili beino komunicira sa svakim displejem postavljenim na
nekoj od autobusnih stanica.
Slino, u okviru savremenog automobila se nalazi veliki broj mikrokontrolera (ak i preko stotinu), koji
meusobno komuniciraju putem vie sabirnica (slika 4.?). Ovi mikrokontroleri realiziraju razliite
funkcije u automobilu, od zatezanja sigurnosnog pojasa, preko upravljanja zranim jastucima,
motorom, konicama, sve do interakcije vozaa sa automobilom putem kontrolne ploe automobila.

Vie kompanija u svijetu trenutno radi na razvoju decentraliziranog sistema, koji e omoguiti
komunikaciju i razmjenu informacija izmeu vozila koja uestvuju u saobraaju na odreenom
prostoru. Na ovaj nain bi se znatno podigla sigurnost odvijanja saobraaja, obzirom da bi bliska vozila
u saobraaju meusobno razmjenjivala podatke o poziciji, brzini i drugim elementima vonje bitnim za
sigurnost.
Mogue je pronai jo veliki broj primjera sistema ije postojanje ne bi bilo mogue bez realizacije
komunikacije izmeu njegovih komponenti. U osnovi, sve ove primjere komunikacije, sa stanovita
nivoa na kome se komunikacija realizira, moemo podijeliti na:
komunikaciju ugraenog procesora kao komponente distribuiranog sistema sa drugim
komponentama distribuiranog sistema (komunikacija sistema instaliranog u autobusu sa
centralnim sistemom za nadzor saobraaja ili komunikacija centralnog sistema sa
mikroprocesorom ugraenim u displej na autobuskoj stanici),
komunikaciju mikroprocesora ugradbenog sistema sa drugim komponentama ugradbenog
sistema (komunikacija mikroprocesora sistema instaliranog u autobusu sa GPS ureajem ili
komunikacija mikroprocesora u okviru displeja ugraenog na autobuskoj stanici sa displejem
koji prikazuje informacije).
Openito, komunikacija podrazumijeva prijenos podataka izmeu uesnika u komunikaciji. U pogledu
broja uesnika u komunikaciji, komunikacija moe biti (slika 4.?):
komunikacija taka u taku (point-to-point),
komunikacija izmeu vie uesnika (point-to-multipoint).
Komunikacija taka u taku podrazumijeva da meusobno komuniciraju samo dva uesnika u
komunikaciji. Za razliku od toga, mogue je da u komunikaciji uestvuje vie uesnika, to
podrazumijeva da mora postojati nain da podatke koje alje jedan poiljalac primi vie primalaca.
U pogledu smjera u kome se prijenos podataka odvija, komunikacija moe biti (slika 4.?):
simpleksna komunikacija,
semidupleksna komunikacija (semi-duplex, half-duplex),
dupleksna komunikacija (full duplex).
Simpleksna komunikacija podrazumijeva da tok podataka postoji samo u jednom smjeru, od poiljaoca
ka primaocu i ne postoji nain da dva uesnika u komunikaciji zamijene uloge.
Semidupleksna komunikacija podrazumijeva da postoji naizmjenina razmjena podataka izmeu dva
uesnika u komunikaciji, odnosno da poiljalac i primalac mogu zamijeniti uloge. Dakle, u ovom
sluaju se prijenos podataka moe ostvariti u oba smjera, ali se u jednom trenutku prijenos podataka
moe odvijati samo u jednom smjeru.
Dupleksna komunikacija omoguava da se prijenos podataka istovremeno odvija u oba smjera,
odnosno da istovremeno postoji nain na koji jedan uesnik u komunikaciji alje podatke drugom, dok
istovremeno prima podatke koje alje drugi uesnik.
U pogledu fizikog naina prijenosa podataka, komunikacija moe biti:
ina,
beina.

Ovdje inu komunikaciju treba shvatiti u irem smislu, kao komunikaciju putem medija koji fiziki
povezuje uesnike u komunikaciji (bakrena parica, optiko vlakno). S druge strane, beina
komunikacija se odvija putem radio talasa frekvencija niih od frekvencija svjetlosti, ili eventualno
infracrvenom svjetlou, a medij kojim se ovi talasi prostiru je prostor u kome se nalaze uesnici u
komunikaciji (ili kako se jo naziva, eter).
U pogledu naina realizacije, komunikacija moe biti:
paralelna,
serijska.
Paralelna komunikacija podrazumijeva da se prijenos bita koji ine viebitni podatak odvija
istovremeno. Oito za paralelnu komunikaciju mora postojati viestruka veza izmeu uesnika u
komunikaciji. Jasna prednost paralelnog prijenosa podataka lei u injenici da je vrijeme potrebno za
prijenos viebitnog podatka jednako vremenu potrebnom za prijenos jednog bita. Isto tako, nedostatak
paralelne komunikacije predstavlja injenica da je za paralelnu komunikaciju neophodno ostvariti
viestruku vezu izmeu uesnika u komunikaciji.. Tako, u sluaju ine komunikacije, uesnici koji
komuniciraju paralelno moraju biti povezani sa vie provodnika. U sluaju beine komunikacije mora
postojati vie kanala po kojima uesnici u komunikaciji istovremeno komuniciraju.
Serijska komunikacija podrazumijeva da se prijenos podataka odvija simbol po simbol, odnosno u
najprostijoj varijanti, da se viebitna rije prenosi redom bit po bit poevi ili od bita na poziciji najvie
vrijednosti (MSB) ili od bita na poziciji najnie vrijednosti (LSB). Oiti nedostatak serijske
komunikacije lei u injenici da prijenos viebitnog podatka traje onoliko koliko traje prijenos svih bita
koji ga ine. Meutim, prednost da je dovoljno ostvariti jednostruku vezu izmeu uesnika u
komunikaciji (povezati uesnike jednom paricom ili jednim radio kanalom) je ogromna, tako da se
danas u ugradbenim sistemima gotovo iskljuivo koristi serijska komunikacija. Ovo naroito ima
smisla ukoliko se trajanje prijenosa pojedinanih bita moe skratiti, odnosno ukoliko se moe poveati
brzina prijenosa podataka.
Osnove serijske komunikacije
Kako je reeno, osnovna prednost serijske komunikacije lei u koritenju malog broja linija (minimalno
dvije ili tri linije), a osnovni nedostatak lei u relativno maloj brzini prijenosa. Pri tome danas postoji
niz standarda koji definiraju razliite naine serijske komunikacije i koji su pogodni za primjenu u
razliitim aplikacijama.
Najstariji standard serijske komunikacije, koji se jo uvijek koristi, datira jo iz vremena teleprintera
(slika 4.?).

Teleprinter je predstavljao ureaj koji je omoguavao da se tekst koji se tipka na jednom ureaju
tampa na drugom ureaju. U poetnom vremenu razvoja raunara, teleprinter je bio koriten kao
standardni ulazni ureaj raunara. Kasnije je osnovni ulazno-izlazni ureaj postao terminal koji se
sastojao od tastature i monitora sa katodnom cijevi, ali se i dalje nastavio koristiti nain serijske
komunikacije vrlo slian onom koji je definiran u vrijeme kada su se koristili teleprinteri.
Standardi komunikacije
Standardizacija uope omoguava da se kroz definiranje standarda omogui jednostavnije povezivanje
ureaja i komponenata proizvedenih od strane razliitih proizvoaa. Tako i standardi komunikacije
omoguavaju povezivanje ureaja putem interfejsa koji koriste isti standard, bez obzira o kojem
proizvoau se radi.
Svaki standard komunikacije definira minimalno:
elektrine karakteristike interfejsa preko kojih se odvija komunikacija, vrstu i koritene nivoe
signala
oienje i fiziki interfejs,
signalizaciju i protokole.
Elektrine karakteristike podrazumijevaju definiranje vrste signala i nivoa signala koji se koriste, te
opsege vrijednosti i karakteristike signala koji omoguava ispravan prijenos podataka izmeu uesnika
u komunikaciji. Najee koriteni signali u serijskoj komunikaciji su strujni i naponski signali.
Prednost koritenja strujnog signala lei u injenici da e struja koja protie kroz kolo biti ista i na
poetku i na kraju medija (npr. parice) kroz koji se odvija prijenos podataka. Naponski signal je
jednostavniji za koritenje, obzirom da mikroraunarski sistemi za indikaciju logikih nivoa koriste
naponske nivoe, te povezivanje mikroraunarskog sistema sa komunikacijskim medijem moe biti
realizirano ak i direktno, bez potrebe za bilo kakvim pretvaranjem signala. Meutim, nedostatak
koritenja naponskog signala lei u injenici da se pri protjecanju struje kroz komunikacijski medij
javlja pad napona zbog koga vrijednost napona na poetku komunikacijskog medija (parice) i na kraju
komunikacijskog medija (parice) nee biti isti, nego e zavisiti od vrijednosti otpornosti i drugih
elektrinih karakteristika medija. Osim samih nivoa naponskog (ili drugog) signala koji kodiraju
vrijednosti podataka koji se prenose, iz identinih razloga kao to je to bio sluaj kod digitalnih ulaza,
standardi definiraju i opsege vrijednosti signala koji e biti ispravno prepoznati. Tako, na primjer,
veina standarda serijske komunikacije koji koriste naponski signal definira opsege vrijednosti napona
koji e biti od strane prijemnika ispravno prepoznati kao vrijednost koja kodira logiku jedinicu i
vrijednost koja kodira logiku nulu. Definirani opsezi vijednosti naponskog signala, uz definirane
elektrine karakteristike (otpornost, induktivitet, kapacitivnost), odmah odreuju i ogranienje u
pogledu udaljenosti na kojoj se moe ostvariti pouzdana komunikacija. O ovim ogranienjima e biti
rijei pri predstavljanju pojedinanih standarda serijske komunikacije.
Definiranje naina oienja i fizikog interfejsa (odnosno koritenih vrsta kablova, naina njihovog
povezivanja i konektora) omoguava jednostavno povezivanje uesnika koji komuniciraju, te izradu
standardnih elemenata, kao to su standardni kablovi, razdjelnici i sl. Ovo s jedne strane olakava
povezivanje, ali s druge strane onemoguava pogreno povezivanje ureaja koji koriste razliite
standarde komunikacije, obzirom da bi to moglo ak i otetiti ureaje.
Kada postoji fizika veza izmeu uesnika u komunikaciji, potrebno je usaglasiti nain na koji se

podaci prenose, nain na koji prijemnik moe signalizirati predajniku ispravan ili neispravan prijem
podatka, te nain na koji se provjerava ispravnost prijenosa i obezbjeuje da podaci budu ispravno
preneseni. Radi toga svaki standard definira i elemente signalizacije i protokole. Protokol u
najopenitijem smislu predstavlja niz pravila koja omoguavaju komunikaciju. Obzirom da ovdje nee
biti detaljno predstavljeni protokoli za prijenos podataka, italac se upuuje na literaturu koja obrauje
problematiku i naine prijenosa podataka.
Fiziki medij za prijenos podataka
Podaci koji se prenose od poiljaoca prema primaocu se u predajniku kodiraju u parametre signala koji
se koristi za prijenos (slika 4.?). Na drugom kraju komunikacijskog kanala prijemnik prihvata signal i
iz signala dekodira podatke poslane od strane poiljaoca, te prosljeuje ove podatke primaocu. Fiziki
medij predstavlja sredinu kroz koju se prostire signal koji ove podatke prenosi.
Serijska komunikacija izmeu ugradbenih sistema se moe odvijati kroz razliite fizike medije, kao
to su:
iani provodnik,
koaksijalni kabl,
optiko vlakno,
eter.
iani provodnici se obino upredaju u parice, pri emu paricu ine dva provodnika koji su meusobno
upredena (slika 4.?). Vie parica se obino grupira u kabl (slika 4.?). Razlog zbog kojega se provodnici
upredaju u parice lei u potrebi da se nivo smetnji kako od strane okoline prema parici, tako i od strane
parice prema okolini (interferencija) to vie smanji. Iz slinih razloga se esto oko svake parice ili oko
cijelog kabla koji obuhvata vie parica stavlja zatitni omota od provodnog materijala (npr.
aluminijske folije ili bakrenog pletiva). U ovakvom sluaju govorimo o oklopljenoj parici ili o
oklopljenom kablu (slika 4.?). Oklop se onda povezuje na zajedniku masu ureaja.
Bez obzira na upredanje parica i koritenje zatitnog omotaa, svaka parica i svaki kabl posjeduju
odreenu otpornost, kapacitet i induktivitet, koji su raspodijeljeni cijelom njihovom duinom. Obzirom
da mehanika konstrukcija parice i kabla, kao i vrsta koritenog materijala, odreuju vrijednosti ovih
veliina, time odreuju i frekventne karakteristike parice i kabla u pogledu opsega frekvencija signala
koji se bez veih deformacija moe prenijeti kroz takav medij. Na alost, granina frekvencija za signal
koji se prenosi paricom ili kablom sa vie parica nije visoka, ime je limitirana i brzina prijenosa
podataka koja se moe pouzdano ostvariti na ovakvom mediju odreene duine. italac se upuuje na
literaturu koja detaljnije tretira pomenutu problematiku, obzirom da ovdje nee biti data teorijska
elaboracija fenomena prostiranja sloenoperiodinih signala kroz kola sa raspodijeljenim parametrima.
Koaksijalni kabl (slika 4.?) predstavlja pogodnu mehaniku konstrukciju provodnika kojima se prostire
signal, a koja ima puno viu graninu frekvenciju u odnosu na graninu frekvenciju parice. Koaksijalni
kabl se sastoji od centralnog provodnika i provodnog plata, izmeu kojih se nalazi odreeni dielektrik.
Izborom razliitih vrsta materijala od kojega se pravi centralni provodnik i provodni plat, materijala i
debljine dielektrika, te naina konstrukcije centralnog provodnika, plata i dielektrika se postiu
razliite karakteristike koaksijalnih kablova u pogledu prostiranja signala.
Podizanjem frekvencije signala koji se prostire kroz fiziki medij, dolazi se do opsega frekvencija
vidljive i nevidljive svjetlosti. Optiko vlakno predstavlja specijalni medij koji omoguava prostiranje

takvog optikog signala, pri emu je granina frekvencija signala koji se prenosi kroz optiko vlakno
izrazito visoka. Iako se i optiko vlakno susree kao medij za prijenos podataka izmeu ugradbenih
sistema, ugradbeni sistemi najee ne prenose tolike koliine podataka da bi se opravdalo koritenje
optikog vlakna.
I na kraju, ogroman dio savremenih ugradbenih sistema komunicira beino. Savremeni ugradbeni
sistemi obino posjeduju baterijsko napajanje, i esto su mobilni (prenosivi ili ugraeni u pokretni
objekat). Radi toga je beina komunikacija vrlo esto jedino rjeenje koje omoguava nesmetanu
komunikaciju u pokretu, ili koje pojednostavljuje instalaciju sistema. Na primjer, ugradbeni sistemi u
bovama koje permanentno registruju temperaturu i druge veliine u okeanima i koje omoguavaju
praenje vremenskih prilika i okeanskih struja ne bi mogli postojati bez beine komunikacije putem
satelita. Slino, koritenjem beine komunikacije u kunom alarmnom sistemu se omoguuje
jednostavno postavljanje takvog sistema, bez potrebe za kompliciranim i zahtjevnim postavljanjem
kablova kojima bi se senzori povezali sa alarmnom centralnom. Danas ugradbeni sistemi koriste veliki
broj razliitih standarda za beinu komunikaciju, koji opet koriste razliite frekventne opsege, od reda
stotina kHz, preko reda desetina MHz i stotina MHz, pa sve do reda GHz i desetina GHz. Svaki od ovih
frekventnih opsega ima svoje karakteristike, koje diktiraju pogodnost datog standarda za primjenu u
odreenim aplikacijama.
Da bi serijski prijenos podataka izmeu predajnika i prijemnika uope bio mogu, neophodno je da
predajnik preko jedne linije (pina) postavlja vrijednosti napona koje signaliziraju vrijednosti bita
podatka, pri emu svaki bit podatka traje odreeno vrijeme (slika 4.?). Na drugom kraju fizikog
medija, prijemnik treba da periodino uzorkuje vrijednost napona, te da u datim trenucima detektuje
vrijednost bita podatka koji se prenosi. Meutim, da bi ovo bilo izvodivo, neophodno je da predajnik i
prijemnik osim identinog standarda koriste iste parametre komunikacije (trajanje pojedinanih bita,
odnosno brzinu komunikacije), te da za vrijeme prijenosa podataka postoji sinhronizacija izmeu
predajnika i prijemnika. U pogledu postojanja sinhronizacije izmeu predajnika i prijemnika,
komunikacija moe biti:
asinhrona,
sinhrona.
Asinhroni prijenos podataka podrazumijeva da se podaci prenose rije po rije (najee bajt po bajt),
te da ne postoji stalna sinhronizacija izmeu predajnika i prijemnika. Da bi se uspostavila
sinhronizacija izmeu predajnika i prijemnika neophodna za prijenos jednog podatka (npr. bajta), svaki
podatak zapoinje tzv. start bitom i zavrava tzv. stop bitom (slika 4.?).
Kada predajnik treba zapoeti prijenos podatka, prvo na liniju alje start bit, koji slui da prijemnik
detektuje poetak prijenosa podatka. Nakon to je detektovan start bit, uz usaglaenu identinu brzinu i
druge parametre komunikacije (kao to su npr. broj bita podatka i koritenje tzv. bita pariteta) na strani
predajnika i strani prijemnika, uspostavljena je sinhronizacija izmeu predajnika i prijemnika. Drugim
rijeima, sada prijemnik moe poeti uzorkovati vrijednost signala u tano definiranim intervalima, te
oitanu vrijednost protumaiti kao vrijednost primljenog podatka. Tako prijemnik treba da oitava
vrijednost signala svakih Tb vremena (slika 4.?), poevi od Tb/2 nakon zavretka trajanja start bita. U
stvarnosti se najee uzorkovanje provodi dosta veom brzinom, ak do 50 puta u periodu trajanja
prijenosa jednog bita, a onda prijemnik pokuava odrediti to tanije sredinu bit intervala. Ovo je
neophodno zbog postojanja razliitih efekata vezanih za prostiranje signala, eventualnu pogrenu
detekciju poetka i kraja start bita zbog djelovanja vanjskih smetnji, te radi korekcije zbog eventualnog
odstupanja ili promjenljive brzine kojom predajnik emituje podatke.

Nakon prijenosa svih bita podatka, iji broj je usaglaen izmeu predajnika i prijemnika, slijedi stop
bit. Ovaj bit slui kao indikacija zavretka prijenosa podatka, a prijemnik na osnovu prijema stop bita
moe zakljuiti da li je prijenos podataka protekao u redu. U sluaju izostanka prijema stop bita ili u
sluaj da ovaj bit nije ispravno primljen, prijemnik indicira tzv. greku uokvirivanja (Framing Error) i
takav primljeni podatak se odbacuje. Trajanje stop bita je uobiajeno 1 Tb, 1,5 Tb ili 2 Tb.
Zbog razliitih efekata se signal koji je poslan od strane predajnika pri prolasku kroz fiziki medij
deformie. Do deformacije prije svega dolazi zbog ogranienog frekventnog opsega signala koji se
nesmetano moe prenijeti kroz medij, kao i razliite brzine kojom kroz medij putuju razliiti harmonici.
Radi ovoga se oblik signala na poetku i na kraju fizikog medija mogu znatno razlikovati (slika 4.?),
to za posljedicu moe imati pogrenu detekciju vrijednosti bita, bez obzira na postojanje sinhronizacije
i usaglaenost parametara komunikacije izmeu predajnika i prijemnika. Zato je neophodno na odreen
nain provjeriti da li je podatak koji je primljen identian poslanom podatku. Najjednostavniji nain za
provjeru ispravnosti prijenosa podataka predstavlja koritenje bita pariteta. Bit pariteta predstavlja
dodatni bit koji predajnik alje kao posljednji bit prije slanja stop bita, a ija vrijednost je odreena
brojem bita u podatku koji imaju vrijednost 1. Predajnik i prijemnik mogu usaglasiti koritenje parnog
pariteta (Even Parity) ili neparnog pariteta (Odd Parity). Ukoliko se koristi parni paritet, vrijednost bita
pariteta se postavlja na takvu vijednost da je ukupan broj prenesenih bita koji imaju vrijednost 1
(ukljuujui sve bite podatka i bit pariteta) paran (slika 4.?). Ukoliko se koristi neparni paritet, tada se
bit pariteta postavlja na takvu vrijednost da je ukupan broj prenesenih bita koji imaju vrijednost 1
neparan.

Kada prijemnik primi podatak (zajedno sa bitom pariteta), na prijemnoj strani se ponovo izraunava
vrijednost bita pariteta i ova izraunata vrijednost se uporeuje sa primljenom vrijednou bita pariteta.
Ukoliko su ove dvije vrijednosti identine, podatak se prihvata kao ispravno prenesen, a u protivnom se
odbacuje. Iako se na ovaj nain ne moe u potpunosti eliminirati sluajevi pogrenog prijema podataka,
vjerovatnoa da e takva greka u prijenosu biti detektovana se poveava. Meutim, koritenje bita
pariteta moe posluiti samo za detekciju pojave jednostruke greke u prijenosu podataka ili pojave
greke neparne viestrukosti. Drugim rijeima, koritenjem bita pariteta je mogue otkriti greku u
prijenosu podataka samo ukoliko je broj pogreno prenesenih bita neparan. Ukoliko je broj pogreno
prenesenih bita paran, greka nee biti detektovana, jer e bit pariteta imati ispravnu vrijednost.
Danas postoje mnogo savremeniji i bolji naini provjere ispravnosti prijenosa podataka i detekcije (pa i
automatske korekcije) greaka u prijenosu podataka, tako da se bit pariteta koristi vrlo rijetko. Svi ovi
mehanizmi detekcije i korekcije greaka u prijenosu podataka predstavljaju sastavne dijelove
komunikacijskih protokola, a mogu biti realizirani programski ili rjee u hardverskoj formi. italac se
vezano za problematiku detekcije i korekcije greaka u prijenosu podataka, te vezano za razliite
kodove koji se koriste u tu svrhu, upuuje na adekvatnu literaturu iz date oblasti.
Bez obzira na koritenje start i stop bita, te koritenje bita pariteta, predajnik i prijemnik nisu u stanju

zadrati sinhronizaciju due vrijeme, te se zbog toga asinhronim prijenosom prenose relativno kratki
podaci. Razlog za ovo lei u injenici da se trajanje perioda T b na strani predajnika i prijemnika ipak
razlikuje (npr. zato to su frekvencije sata predajnika i prijemnika, iz kojih se generie T b razliite), ili
zato to je primljeni signal znatno deformisan, te prijemnik nije u stanju odrati sinhronizaciju. Osim
toga, slanje start i stop bita i eventualno bita pariteta uz svaki podatak rezultira time da e procenat
korisnih bita podatka u odnosu na ukupni broj prenesenih bita biti relativno nizak. Radi toga asinhroni
prijenos podataka nije efikasan pri prijenosu vee koliine podataka.
Ukoliko se prijenos podataka izmeu predajnika i prijemnika odvija sinhrono, to znai da
sinhronizacija izmeu prijemnika i predajnika postoji stalno (ili barem due vrijeme u odnosu na
asinhroni prijenos podataka). Radi toga je sinhronim prijenosom mogue prenijeti podatke vee duine
i veim brzinama, nego to je to bio sluaj pri koritenju asinhronog prijenosa podataka. Sinhronizacija
izmeu predajnika i prijemnika kod sinhronog prijenosa podataka se moe ostvariti tako to se osim
bita podataka istovremeno prenosi i signal sata koji sinhronizira komunikaciju. Drugi nain
uspostavljanja i odravanja sinhronizacije izmeu predajnika i prijemnika pri sinhronom prijenosu
podataka se zasniva na koritenju razliitih linijskih kodova, odnosno razliitih naina kodiranja
vrijednosti bita podatka koji se prenosi fizikim medijem. Izmeu svih esto koritenih linijskih
kodova, ovdje emo spomenuti:
RZ (Return-to-Zero),
NRZ (Non-Return-to-Zero),
Manchester.
RZ linijski kod (slika 4.?) podrazumijeva da se vrijednost signala na polovici svakog bit intervala vraa
na nulu). Na ovaj nain prijemnik iz primljenog signala moe jednostavno izvui signal za
sinhronizaciju sa predajnikom, poto se u svakom periodu T b deavaju dvije promene nivoa signala,
jedna na poetku bit intervala, druga na sredini bit intervala. Nedostatak ovog linijskog koda lei u
injenici da e se pojaviti znatna istosmjerna komponenta u sluajevima kada podatak koji se prenosi
sadri vei broj uzastopnih jedinica ili uzastopnih nula. Postojanje istosmjerne komponente oteava
prijenos signala kroz fiziki medij.

NRZ linijski kod (slika 4.?) podrazumijeva da se svaki bit koji ima vrijednost 1 kodira signalom jednog
nivoa, a svaki bit koji ima vrijednost 0 kodira signalom drugog nivoa. Kod NRZ linijskog koda nema
neutralnog nivoa signala, kao to je to bio sluaj kod RZ linijskog koda. Meutim, iz NRZ linijskog
koda je puno tee izvui signal za sinhronizaciju, obzirom da broj promjena signala tokom odreenog
perioda ovisi o broju uzastopnih jedinica i uzastopnih nula. Radi toga je sinhronizaciju izmeu
predajnika i prijemnika tee odrati. Postoje verzije NRZ linijskog koda kod kojega se nakon
odreenog broja uzastopnih jedinica ili uzastopnih nula ubacuje promjena nivoa signala, izmeu
ostalog ba radi toga da bi se omoguilo detektovanje signala za sinhronizaciju. Zato se NRZ najee
koristi ili zajedno sa drugim nainom sinhronizacije (npr. uz istovremen prijenos signala za
sinhronizaciju), ili se koristi za prijenos podataka manje duine (kao to je to bio sluaj kod asinhronog
prijenosa podataka).

Manchester linijski kod (slika 4.?) podrazumijeva da se svaki bit podatka kodira jednim prijelazom
izmeu dva nivoa signala. Tako npr. svaki bit ija je vrijednost 1 moe biti kodiran prijelazom sa nieg
na vii nivo signala, a svaki bit ija je vrijednost 0 moe biti kodiran prijelazom sa vieg na nii nivo
signala. Radi toga e prijemnik biti u stanju detektirati svaku promjenu, i time ispravno oitati svaki
preneseni bit.

Hardverski moduli za serijsku komunikaciju


Veina savremenih mikrokontrolera i mikroprocesora koji se koriste u ugradbenim sistemima posjeduje
jedan ili vie hardverskih modula za serijsku komunikaciju. U sluaju kada u okviru mikrokontrolera
ne postoje ovakvi specijalizirani moduli, ili kada broj modula nije dovoljan za datu aplikaciju, serijska
komunikacija po datom standardu se moe realizirati softverski preko digitalnih ulaza i izlaza. Jasno je
da prednost hardverskih modula lei u injenici da se resursi mikroprocesora njihovim koritenjem
oslobaaju za izvravanje drugih zadataka, dok programska realizacija serijske komunikacije
podrazumijeva zauzee resursa mikroprocesora.
Tipini hardverski komunikacijski moduli koji se pojavljuju u savremenim mikrokontrolerima su:
USART ili UART (Universal Synchronous-Asynchronous Receiver/Transmitter),
SPI (Serial Peripheral Interface),
I2C (Inter-Integrated Circuit),
USB (Universal Serial Bus),
Ethernet.
Svaki od ovih hardverskih modula predstavlja implementaciju jednog ili vie standarda za serijsku
komunikaciju. Pri tome se komunikacija izmeu mikroprocesora i hardverskog komunikacijskom
modula odvija koritenjem radnih i konfiguracijskih registara. Vie rijei o ovim modulima e biti u
okviru predstavljanja komunikacijskih standarda.
Hardverski komunikacijski moduli se povezuju na fiziki medij u skladu sa odgovarajuim standardom

koji implementiraju. Ukoliko je potrebno prei na drugi fiziki medij u odnosu na onaj koji se koristi
po datom standardu, koriste se odgovarajui dodatni moduli. Tako npr. ukoliko elimo omogui
beinu komunikaciju sistema iji mikrokontroler posjeduje SPI hardverski komunikacijski modul,
potrebno je koristititi dodatni komunikacijski modul koji s jedne strane omoguava komunikaciju po
SPI standardu, a s druge eljenu vrstu beine komunikacije. esto i takav modul u sebi posjeduje
specijalizriani mikrokontroler ili mikroprocesor, a izgled jednog dakvog modula koji omoguava
prijelaz na ZigBee (IEEE 802.15.4) beini standard je dat na slici 4.?.

USART/UART
U nastavku e biti rijei u hardverskom komunikacijskom modulu koji se naziva USART (Universal
Synchronous-Asynchronous
Receiver/Transmiter)
ili
UART
(Universal
Asynchronous
Receiver/Transmiter). Radi se o najee susretanom hardverskom komunikacijskom modulu, koji
omoguava sinhroni ili asinhroni prijenos podataka. USART se moe konfigurisati kako za sinhroni
prijenos podataka, tako i za asinhroni prijenos podataka, dok UART omoguava samo asinhroni
prijenos podataka. Karakteristike svakog hardverskog komunikacijskom modula ovise o konkretnom
modelu mikrokontrolera iji su dio.
USART/UART posjeduje pin za predaju podataka na liniju (TX pin) i pin za prijem podataka sa linije
(RX pin). Obzirom da USART/UART koristi unipolarni naponski signal od 3,3V ili 5V (slika 4.?),
neophodno je koristiti jo i masu ureaja. Radi toga je za uspostavljanje dupleksne veze izmeu dva
USART/UART-a potrebno koristiti tri linije, liniju koja povezuje TX pin prvog uesnika sa RX pinom
drugog uesnika (za prijenos podataka od prvog prema drugom uesniku), liniju koja povezuje TX pin
drugog uesnika sa RX pinom prvog uesnika (za prijenos podataka od drugog prema prvom uesniku)
i liniju koja e formirati zajedniu masu za oba uesnika u komunikaciji. Osim ovog minimalnog skupa
linija, esto se koriste jo i linije za hardversko upravljanje tokom prijenosa podataka. Ovi signali se
javljaju u parovima:
RTS (Request To Send) i CTS (Clear To Send) i
DTR (Data Set Ready) i DTR (Data Terminal Ready).
Pri tome se podizanjem nivoa na izlazima RTS ili DTR signalizira zahtjev za slanje podatka. Slanje bita
podatka zapoinje tek kada se na liniji CTS ili DTR detektuje visoki nivo naponskog signala. Na ovaj
nain predajnik moe zahtijevati slanje podatka, a prijemnik moe potvrditi da je spreman za prijem
podatka, odnosno zaustaviti slanje podatka. O nainima upravljanja tokom prijenosa podataka e biti
rijei malo kasnije.
RTS/CTS i DTR/DSR linije ne postoje na svim hardverskim komunikacijskim modulima koji se sureu
u savremenim mikrokontrolerima.

Postojanje vie razliitih unipolarnih naponskih nivoa predstavlja jedan od razloga zbog kojega se za
uspostavljanje serijske veze izmeu dva USART/UART-a koriste standardi za serijsku komunikaciju.
Najraireniji standardi za serijsku komunikaciju
Meu najrairenije standarde za serijsku komunikaciju, pogotovo ako se u vidu ima komunikacija
izmeu razliitih vrsta ureaja (npr. izmeu PC raunara i perifernog ureaja, PC raunara i razlitih
ugradbenih sistema ili PC raunara i razliite instrumentacije) spadaju:
RS-232 (EIA/TIA-232-E, ITU-T V.24),
RS-422 (ANSI/EIA/TIA-422-B, ITU-T V.11),
RS-485 (EIA-485),
SPI (Serial Peripheral Interface),
I2C (Inter-Integrated Circuit).
Standard RS-232 predstavlja vrlo stari standard, koji je uglavnom bio namijenjen za komunikaciju
raunara sa perifernim ureajima (npr. sa tampaem), a jo i danas se nalazi u upotrebi unato svim
njegovim nedostacima. Ovaj standard su specificirale razliite organizacije, kao to su Electronic
Industries Alliance (EIA), Telecommunications Industry Association (TIA), odnosno sektor za
standardizaciju telekomunikacija Meunarodne unije za telekomunikacije (ITU-T).
Standard RS-422 predstavlja standard koji omoguava slanje podataka do vie prijemnika veim
brzinama u odnosu na RS-232.
RS-485 omoguava slanje podataka od vie predajnika do vie prijemnika, za razliku od RS-422 kod
koga postoji samo jedan predajnik.
SPI i I2C predstavljaju standarde serijske komunikacije izmeu razliitih modula u okviru istog
sistema, o emu e vie rijei biti kasnije.
RS-232
Standard RS-232 je definaran od strane EIA jo 1962. godine, s ciljem da se omogui prijenos podataka
izmeu host sistema koji predstavlja terminal (DTE - Data Terminal Equipment) i periferijskog ureaja
(DCE Data Circuit Terminating Equipment). Tako je na primjer ovaj standard koriten za povezivanje
raunarskog terminala sa raunarom, povezivanje raunara sa tampaem, ili povezivanje raunara sa
modemom (slika 4.?).

Standard RS-232 omoguava komunikaciju taka u taku, odnosno komunikaciju izmeu dva uesnika.
Pri tome se komunikacija moe odvijati simpleksno, semidupleksno ili dupleksno. Prijenos podataka
moe biti sinhroni ili asinhroni, ali se RS-232 danas gotovo iskljuivo koristi za asinhroni prijenos
podataka relativno malim brzinama na malu udaljenost.

RS-232 definira i standardne brzine komunikacije: 1200bps (bita u sekundi), 2400bps, 4800bps,
9600bps, 14400bps, 19200bps, 38600bps, 57600bps, 115200bps i 230400bps. Interfejs po ovakvom
standardu je u prolosti bio nezaobilazan na svakom PC raunaru (obino do brzine od 115200bps),
dok se danas susree sve rjee. Osnovni razlozi za to lee u neuobiajenim naponskim nivoima koje
koristi, maloj brzini prijenosa podataka, te izrazito kompliciranom oienju i nezgrapnim konektorima.
Osnovne elektrine karakteristike interfejsa po standardu RS-232 su date u tabeli 4.?, a na slici 4.? su
ilustrovani koriteni naponski nivoi.

Kako se moe vidjeti, RS-232 definira bipolarne naponske nivoe za predstavljanje vrijednosti bita
podatka, s tim da negativni napon iz opsega od -3V do -15V u odnosu na zajedniku masu (MARK)
predstavlja bit vrijednosti 1, a pozitivni napon iz opsega od +3V do +15V u odnosu na zajedniu masu
(SPACE) predstavlja bit vrijednosti 0. Oigledno je da se za predstavljanje vrijednosti bita podatka
koristi negativna logika, pri emu naponski nivoi nisu usaglaeni sa tipinim unipolarnim standardima
koji se danas koriste (kao to su TTL nivo od 5V ili danas esto koriteni nivo od 3,3V). Razlog za ovo
vjerovatno lei u injenici da je standard RS-232 definiran prije nego to se pojavila TTL tehnologija za
realizaciju logikih kola, koja je kasnije uspostavila de facto standardno tumaenje naponskh nivoa u
raunarstvu uope. U mirnom stanju (IDLE), kada nema prijenosa podataka, linija se nalazi na
negativnom potencijalu (MARK). Ovo omoguava prijemniku jednostavnu detekciju poetka start bita,
obzirom da start bit uvijek ima vrijednost 0 (slika 4.?).

Moe se vidjeti da RS-232 omoguava komunikaciju izmeu ureaja na relativno maloj udaljenosti, do
desetak metara, pri emu se kao medij koriste obini provodnici, odnosno parice. Vaan je i podatak o
struji koju moe dati interfejs po standardu RS-232. Iako standard specificira da interfejs moe dati i
500mA, dananje implementacije obino ne mogu dati struju veu od desetak miliampera.
RS-232 definira i oienje i fiziki interfejs koji se koristi za meusobno povezivanje ureaja. Tako su
na slici 4.? predstavljeni uobiajeni konektori koji se koriste za povezivanje ureaja po standardu RS232, a u tabeli 4.? je dat pregled funkcija pojedinanih linija i veza ovih linija sa pinovima na
standardnim konektorima.

Iako su specificirane funkcije ukupno devet linija, ukljuujui i linije koje slue za indiciranje poziva i
indiciranje postojanja signala za slobodno biranje od strane modema, za uspostavljanje simpleksne
komunikacije izmeu dva ureaja je dovoljno koristiti dvije, a za uspostavljanje dupleksne
komunikacije ukupno tri linije.
Kako je ve spomenuto, RS-232 definira prilino kompleksno oienje interfejsa, to esto zna biti
problematino pri pokuaju uspostave komunikacije po ovom standardu. Jedan od razloga za to je
postojanje dvije asimetrine uloge u komunikaciji (DTE i DCE), uz koritenje vrlo slinih konektora.
Radi toga postoje dvije osnovne vrste kablova kojima se povezuju ureaji koji komuniciraju po
standardu RS-232 (slika 4.?):
kabl DTE-DCE (straight kabl),
null-modem kabl (kabl DTE-DTE, cross-over kabl).
Kabl DTE-DCE predstavlja standardni kabl koji omoguava povezivanje hosta sa perifernim ureajem
kao to je tampa ili modem (slika 4.?).

Ukoliko se povezuju dva hosta, tada je potrebno koristiti DTE-DTE kabl (slika 4.?).

Ve postojanje ovoliko razliitih naina fizikog povezivanja ureaja predstavlja est izvor potekoa.
Jo jedan vaan element svakog standarda predstavlja definiranje naina upravljanja tokom prijenosa
podataka (to se jo naziva handshaking). Pod tim se podrazumijeva nain na koji predajnik zahtijeva
da pone sa slanjem podataka (odnosno nain na koji predajnik obavjetava prijemnik da e uslijediti
prijenos podataka), te nain na koji prijemnik predajniku saoptava da je spreman za prijem podatak
(odnosno nain na koji prijemnik moe zaustaviti prijenos podataka). Razlog za postojanje ovog
mehanizma lei u injenici da je prijemnik povezan sa primaocem podataka, a da se izmeu prijemnika
i primaoca obino nalazi odreena memorija malog kapaciteta (buffer). Ukoliko primalac ne preuzme

na vrijeme primljene podatke iz prijemnog buffera, on e se popuniti. Svaki novi podatak koji
prijemnik primi zbog toga ne moe biti pohranjen, te mora postojati mehanizam kojim prijemnik moe
zaustaviti slanje podataka od strane predajnika. Kada se prijemni buffer oslobodi, prijemnik ponovo
moe signalizirati predajniku da nastavi sa slanjem podataka. Na ovaj nain se obezbjeuje da prijemni
buffer ne bude prepunjen (buffer overflow), to rezultira gubitkom podataka. Veliina prijemnog
buffera ovisi o konkretnom mikroprocesoru i USART/UART-u, a o tome e biti rijei pri predstavljanju
tipinih mikrokontrolera.
U okviru standarda RS-232 su definirana dva naina upravljanja tokom prijenosa podataka izmeu
uesnika u komunikaciji:
hardversko upravljanje tokom prijenosa podataka,
softversko upravljanje tokom prijenosa podataka.
Za hardversko upravljanje tokom prijenosa podataka se koriste parovi linija RTS/CTS ili DTR/DSR,
to zahtijeva koritenje vie od tri linije za povezivanje uesnika u komunikaciji. Kako je prikazano u
primjeru na slici 4.?, predajnik postavljanjem signala RTS na vrijednost 0 signalizira da treba zapoeti
slanje podataka. Prijemnik postavljanjem signala CTS na vrijednost 0 signalizira da slanje podataka
moe zapoeti, nakon ega predajnik zapoinje slanje podataka. Ukoliko se npr. prijemni buffer
popuni, prijemnik e signal CTS postaviti na 1 i time zaustaviti predajnik. Kada se buffer oslobodi,
prijemnik ponovo postavi signal CTS na 0, nakon ega predajnik nastavi sa slanjem podataka. Kada svi
podaci budu preneseni, predajnik postavi signal RTS na 1. Oigledno se i signali za upravljanje tokom
podataka koriste u negativnoj logici. Na identian nain se koristi par signala DTR (koji postavlja
predajnik) i DSR (koji ostavlja prijemnik).

Danas se hardversko upravljanje tokom podataka kod standarda RS-232 rjee koristi, uglavnom zbog
neopravdanog poveanja broja linija potrebnih za povezivanje ureaja.
Softversko upravljanje tokom prijenosa podataka podrazumijeva koritenje specijalnih ASCII karaktera
kojima prijemnik pokree i zaustavlja slanje podataka od strane predajnika. Iako to nije iskljuivo
pravilo, za ovu svrhu se obino koriste karakteri sa ASCII kodovima 17 (0x11, DC1, odnosno XON) i
19 (0x13, DC2, odnosno XOFF). Na primjeru sa slike 4.? se vidi da prijemnik slanjem karaktera XON
predajniku signalizira da slanje podataka moe zapoeti. Predajnik zapoinje sa slanjem podataka
(ukoliko se podaci nalaze u predajnom bufferu), ili registruje da je prijemnik omoguen. Nakon to se
npr. prijemni buffer popuni, prijemnik poalje karakter XOFF. Predajnik po prijemu ovog karaktera
zaustavlja slanje podataka, sve do ponovnog prijema karaktera XON.

Obzirom da ugradbeni sistemi (naroito u aplikacijama u kojima se koristi komunikacija po standardu


RS-232) uglavnom prenose relativno male koliine podataka, pri emu brzine komunikacije nisu
velike, a broj greaka koje se pojavljuju u prijenosu je izuzetno mali, esto se ne koristi nikakvo
upravljanje tokom prijenosa podataka na nivou standarda RS-232. U takvim sluajevima se upravljanje
tokom prijenosa i provjera ispravnosti prijenosa mogu realizirati programski. Ovo u stvari predstavlja
naznaku slojevite organizacije komunikacije izmeu uesnika u komunikaciji, o emu e vie rijei biti
kasnije.
Kako je ve reeno, standard RS-232 definira bipolarne naponske nivoe kojima se predstavljaju
vrijednosti bita podatka. Obzirom da USART/UART koristi unipolarne naponske nivoe (5V ili 3,3V) za
predstavljanje bita podatka, za povezivanje mikrokontrolera sa drugim ureajem po RS-232 standardu
je neophodno izvriti odgovarajue pretvaranje jednih naponskih nivoa u druge (slika 4.?).

U tu svrhu se koriste razliita integrirana kola, koja pojednostavljuju ovo pretvaranje naponskih nivoa.
Tako npr. kolo MAX232 proizvoaa Maxim (slika 4.?) omoguava da se iz unipolarnog napajanja od
+5V, uz pomo dodatnih kondenzatora dobiju bipolarni naponski nivoi. Time je izbjegnuta potreba za
koritenjem vie naponskih izvora, to je neophodno kada se koriste neka starija integrisana kola.

ema povezivanja mikrokontrolera sa konektorom po RS-232 standardu uz koritenje kola MAX232 je


predstavljena na slici 4.?.

RS-422
Najvei nedostaci standarda RS-232 su ogranienje na samo dva uesnika u komunikaciji, te jako mala
udaljenost na kojoj se moe ostvariti pouzdana komunikacija. Ugradbeni sistem esto predstavlja dio
distribuiranog sistema, pri emu su elementi takvog distribuiranog sistema meusobno prilino
udaljeni. Tako se, na primjer, sistem za video nadzor nekog prostora ili objekta sastoji od centralne
jedinice za nadzor (koja moe biti PC raunar sa specijaliziranim softverom) i veeg broja kamera
rasporeenih po nadziranom prostoru ili objektu. Ove kamere esto posjeduju mogunost zadavanja
horizontalnog poloaja (PAN), vertikalnog poloaja (TILT) i mogunost uveavanja i umanjivanja
dijela prostora koji se posmatra (ZOOM). Ove posljednje tri funkcije su realizirane tako to kamera u
stvari predstavlja ugradbeni sistem sa svojim mikrokontrolerom, koji upravlja motorima koji mehaniki
realiziraju pomenute funkcije, a na osnovu komandi primljenih od strane centralne jedinice za nadzor.
Oigledno ovdje mora postojati simpleksna komunikacija od centralne jedinice za nadzor prema svim
kamerama (slika 4.?).

Standard RS-422 umjesto naponskih nivoa koristi diferencijalni naponski signal (slika 4.?), ime je
omoguena ispravna detekcija vrijednosti bita na puno veoj udaljenosti (ak do 1200 m) puno veim
brzinama (100kbps do 10Mbps). Pri tome se brzina od 10Mbps moe ostvariti na udaljenosti do 12m, a
brzinom do 100kbps se moe ostvariti prijenos na maksimalnoj udaljenosti. RS-422 se moe koristiti za
povezivanje dva uesnika u komunikaciji na veoj udaljenosti, ali standard dozvoljava postojanje
jednog predajnika i vie prijemnika (do 10 po standardu, ali savremene realizacije dozvoljavaju puno
vei broj prijemnika, to ovisi o optereenju koje predstavlja jedan prijemnik).

Kod diferencijalnog signala se, u odnosu na unipolarni ili bipolarni signal) za predstavljanje vrijednosti
bita ne koristi nivo napona u odnosu na masu, nego se svaka vrijednost bita kodira jednim smjerom
razlike potencijala izmeu dva provodnika (slika 4.?).

Meutim, da bi se ostvarila komunikacija od jednog predajnika do vie prijemnika, mora postojati


nain da svaki od prijemnika moe uzorkovati signal koji emituje predajnik. Osnovne topologije
komunikacijskih mrea koje ovo omoguavaju su:
potpuno povezana mrea (Mesh),
zvijezda (Star),
prsten (Ring),
sabirnica (Bus).
Slika 4.? prikazuje osnovne topologije komunikacijskih mrea koje se nalaze u upotrebi. Pod
komunikacijskom mreom podrazumijevamo mreu koja se sastoji od komunikacijskih vorova
(uesnika u komunikaciji) i veza izmeu komunikacijskih vorova.

Kod potpuno povezane komunikacijske mree se svaki komunikacijski vor povezuje sa svakim
komunikacijskim vorom. Oigledno ovakav nain povezivanja nije efikasan kod ine komunikacije,
poto podrazumijeva postojanje velikog broja meusobnih veza.
Zvijezda predstavlja mrenu topologiju, kod koje su komunikacijski vorovi povezani preko jednog
centralnog vora (koncentratora). Ovakva mrena topologija se koristi vrlo esto u savremenim
mreama. Jedan eventualni nedostatak topologije zvijezde lei u injenici da otkazivanje centralnog
vora prekida sve meusobne veze.
Prsten predstavlja mrenu topologiju kod koje svaki vor ima svog prethodnika i svog sljedbenika, a
sljedbenik posljednjeg vora u mrei je prvi vor. Prijenos podataka u ovakvoj mrei se vri ciklino,
tako to se podaci od vora poiljaoca prosljeuju do njegovog sljedbenika i na isti nain dalje, sve dok
ne stignu do primaoca. Topologija prstena se prije koristila jako esto, a i sada je u upotrebi u
odreenim industrijskim aplikacijama.
I na kraju, sabirnica predstavlja mrenu topologiju koja je vrlo pogodna za povezivanje vorova u
komunikacijskoj mrei, iz razloga to je omogueno relativno jednostavno postavljanje fizikog
medija. Fiziki medij (npr. parica) prolazi redom pored svakog komunikacijskog vora, ime se uz
adekvatan odabir staze koja povezuje vorove, minimizira duina medija. Eventualni nedostatak
topologije sabirnice lei u injenici da prekid sabirnice znai razdvajanje mree na dva dijela, uz
degradaciju uslova prostiranja na mrei, te da se zauzee sabirnice jako brzo poveava sa poveanjem
broja vorova.
Kada se koristi mrena sabirnica, svi vorovi povezani na sabirnicu mogu detektovati signale koji
postoje na sabirnici. Obzirom da svi vorovi dekodiraju signale sa sabirnice, potrebno je uvesti
odgovarajui mehanizam koji omoguava da poiljalac podataka specificira primaoca podataka.
Drugim rijeima, potrebno je da poiljalac osim podataka koji se prenose specificira i adresu primaoca.
Radi toga je potrebno definirati odgovarajui protokol, koji e omoguiti ispravan prijenos podataka od
poiljaoca do eljenog primaoca. O ovome e rijei biti malo kasnije.
Postoji jo jedna specifinost vezana za realizaciju sabirnice. Sabirnica se esto realizira koritenjem
koaksijalnog kabla ili (kod ugradbenih sistema jo ee) parice. Bez obzira koji ini medij se koristi
za realizaciju sabirnice, on e posjedovati odreenu raspodijeljenu otpornost, induktivnost i kapacitet.
Radi toga je za postizanje optimalnih uslova za prostiranje signala potrebno obezbijediti da je sabirnica
sa svakog kraja zatvorena (terminirana) karakteristinom impendansom. Kada se za realizaciju
sabirnice koristi parica, ova karakteristina impendansa iznosi oko 120. To znai da je na svakom
kraju parice koja predstavlja sabirnicu potrebno spojiti otpornik od 120, kako bi se izbjegla refleksija
signala na krajevima sabirnice, koja e za posljedicu imati slabljenje i deformaciju oblika signala. Kada
je sabirnica manje duine i kada su brzine prijenosa podataka manje, pouzdan prijenos podatak se moe
ostvariti i bez terminiranja sabirnice. Meutim, uz poveanje duine sabirnice i brzine prijenosa
podataka, terminiranje sabirnice karakteristinom impendansom postaje neophodno.
RS-485
Standard RS-422 je uveo novinu u pogledu vrste signala koji se koristi za predstavljanje naponskih

nivoa, te u pogledu broja prijemnika signala na liniji. Meutim, ogranienje na postojanje samo jednog
predajnika predstavlja smetnju za veliki broj aplikacija. Tako, recimo, moduli distribuiranog sistema za
upravljanje zgradom, osim primanja komandi od strane centralne jedinice sistema, treba da alju
podatke o stanju (prozor otvoren ili zatvoren, vrata zakljuana ili otkljuana) i mjerenja (temperatura,
vlanost i sl.) u prostorijama koje nadziru.
Standard RS-485 omoguava uvezivanje do 32 komunikacijska vora koritenjem sabirnike
topologije, pri emu na sabirnici moe postojati vie predajnika i vie prijemnika. Svaki
komunikacijski vor na sabirnici predstavlja jedinino optereenje (UL-Unit Load) i, iako standard
specificira maksimum od 32 vora, savremene RS-485 mree dozvoljavaju da se na sabirnicu prikljui
i do 128 vorova (tako to je jedinino optereenje koje predstavlja jedan vor na sabirnici smanjeno
etiri puta). RS-485 kao i RS-422 koristi diferencijalni signal, a na udaljenosti do 10m se postiu brzine
prijenosa podataka do 35Mbps. Maksimalna udaljenost do 1200 m se moe postii pri brzinama do
100kbps, kao i kod RS-422. Ukoliko je potrebno ostvariti komunikaciju na veim udaljenostima,
koriste se pojaavai (repeateri), tako da se udaljenost moe viestruko uveati. Meutim, sa
poveanjem duine sabirnice treba voditi rauna i o vremenu potrebnom za prijenos podataka s jednog
do drugog kraja sabirnice (to mora biti uzeto u obzir od strane algoritama koji se izvravaju na
vorovima, naroito ako se radi o aplikacijama u upravljanju dinamikim sistemima).
Povezivanje hardverskog modula za serijsku komunikaciju sa sabirnicom
Da bi se USART/UART povezao na sabirnicu, potrebno je koritenje odgovarajueg predajnika i
prijemnika (u sluaju da se radi o standardu RS-422), odnosno primopredajnika (u sluaju da se radi o
standardu RS-485). Nain povezivanja prijemnika i predajnika sa sabirnicom po RS-422 standardu, te
primopredajnika po RS-485 standardu je predstavljen na slici 4.?.

Kako se moe vidjeti na slici 4.? a), predajnik na RS-422 sabirnicu emituje signal koji dolazi do svih
prijemnika koji su na nju povezani. Kraj sabirnice je terminiran otpornikom od 120. U sluaju
sabirnice po standardu RS-485, oba kraja sabirnice su terminirana otpornikom od 120, obzirom da se
sada predajnici nalaze na veem broj mjesta na sabirnici. Jo jedna specifinost RS-485 sabirnice u

odnosu na RS-422 sabirnicu je to to je na svakom primopredajniku potrebno upravljati i smjerom toka


podataka. Naime, u svakom trenutku na sabirnici moe postojati samo jedan predajnik, a svi ostali
vorovi su prijemnici. Drugim rijeim, samo jedan primopredajnik treba imati omoguen predajnik,
dok svi drugi primopredajnici trebaju imati onemoguen predajnik, a omoguen prijemnik. Radi toga je
za povezivanje mikroprocesora sa RS-485 sabirnicom, osim koritenja signala TX, RX i mase,
potrebno koristiti jo jedan digitalni izlaz, ija funkcija e biti da se preko njega po potrebi omoguava
predajnik ili prijemnik (slika 4.?).
Primopredajnik je realiziran u formi integriranog kola i postoji veliki broj integriranih kola koja se
mogu koristiti za komunikaciju po RS-485 standardu. Jedno od takvih integriranih kola je kolo
MAX485 proizvoaa Maxim (slika 4.?).

Kada se na pin 2 ovog kola dovede napon od 0V, omoguava se prijemnik. Kada se na pin 3 dovede
napon od 5V ili napon od 3,3V, omoguava se predajnik. Najee se ova dva pina kratko spoje, tako
da se i prijemnik i predajnik mogu omoguiti i onemoguiti preko jednog digitalnog izlaza. Tako e u
sluaju da je na upravljakom digitalnom izlazu postavljen napon od 0V biti omoguen prijemnik, a
onemoguen predajnik. Kada se na digitalni izlaz postavi napon od 5V, bie omoguen predajnik, a
onemoguen prijemnik.
Primjer povezivanja etiri mikrokontrolera na RS-485 sabirnicu, uz koritenje integriranih
primopredajnika MAX485, je predstavljen na slici 4.?.

Postojanje vie poiljalaca na istoj sabirnici dovodi do potrebe za rjeavanjem jo jednog problema,
koji je ve maloprije spomenut. Naime, u jednom trenutku samo jedan predajnik moe emitirati signal,
odnosno u jednom trenutku samo jedan poiljalac moe slati podatke na sabirnicu. Radi toga je
potrebno definirati pravila koja e onemoguiti da u jednom trenutku vie poiljalaca pone slanje
podataka. Obzirom da je ovaj mehanizam dio implementacije protokola za komunikaciju, o tome e
vie rijei biti malo kasnije. Ovdje emo samo spomenuti da postoje dva osnovna tipa upravljanja
pristupom fizikom mediju:
master-slave,
oslukivanje prije predaje.
Master-slave upravljanje pristupom mediju podrazumijeva da postoji asimetrija u pogledu uloge
komunikacijskih vorova. Jedan komunikacijski vor predstavlja master vor, dok su ostali
komunikacijski vorovi slave vorovi. Cjelokupna komnikacija na dijeljenom komunikacijskom mediju
je kod ovog pristupa pod kontrolom master vora. Master inicira bilo kakav prijenos podataka, bilo da
se radi po prijenosu podataka prema nekom slave voru, bilo da se trai slanje podataka od nekog slave
vora. Drugim rijeima, master proziva slave vorove i u okviru poruke im alje komandu, na osnovu
koje slave vor ili prima poslane podatke ili izvrava neku akciju i vraa podatke koji su rezultat akcije.
Prozivanje slave vorova moe ii ciklino, ali esto se prozivanje vorova organizira po prioritetima.
U nekim implementacijama ovog pristupa postoji i mogunost da pod odreenim uvjetima slave vor
inicira slanje podataka, bez da je prozvan od strane master vora.
Ideja oslukivanja prije predaje je vrlo jednostavna i predstavlja jo jedan efikasan nain za upravljanje
pristupom dijeljenom komunikacijskom mediju. vor koji ima podatke za slanje, prije nego zaponje

slanje podataka na sabirnicu, oslukuje da li je na sabirnici ve u toku neka razmjena podataka. Ukoliko
detektuje postojei prijenos podataka, vor saeka da se prijenos zavri, pa tek kada je sabirnica
slobodna zapone sa prijenosom podataka. Meutim, i pored toga se moe desiti da dva vora trebaju
poeti slati podatke, te poto i jedan i drugi ustanove da je sabirnica slobodna, zaponu slanje podataka
u istom trenutku. Tada doe do kolizije na sabirnici i potrebno je da svi vorovi koji su zapoeli slanje
podataka prekinu emitiranje, saekaju neko vrijeme i ponove proceduru pristupa sabirnici. Sve ovo je
ugraeno u protokole koji omoguavaju prijenos podataka, a koriste slian mehanizam sluajnog
pristupa dijeljenom mediju.
SPI
SPI (Serial Peripheral Interface bus) predstavlja nain sinhrone serijske komunikacije, koji je
specificirala Motorola. Iako ni jedna meunarodna organizacija za standardizaciju nije izdala standard
vezan za SPI, zbog svoje jednostavnosti je ovaj nain komunikacije postao toliko rairen, da se moe
rei da predstavlja de facto standard u industriji. Gotovo da nema mikroprocesora ili mikrokontrolera
koji ne posjeduje barem jedan hardverski SPI modul. Svakako se SPI moe realizirati i programski, u
sluaju da na mikrokontroleru ne postoji hardverski modul.
SPI je namijenjen za komunikaciju putem sabirnice na maloj udaljenosti, izmeu komponenti
ugradbenog sistema. Tako se npr. SPI koristi za komunikaciju izmeu mikroprocesora i flash memorije,
displeja, D/A i A/D konvertora i sl.
Upravljanje komunikacijom je po master-slave principu, pri emu na sabirnici u jednom trenutku moe
postojati samo jedan master. Komunikacija je dupleksna i odvija se sinhrono, pri emu master generira
signal sinhronizacije. Ovaj signal se od master vora prenosi do svih slave vorova.
Za povezivanje mastera sa slave vorom se koristi ukupno pet linija (sl. 4.?):
MOSI (Master Out Slave In) nekada se oznaava i sa SI ili SDI,
MISO (Master In Slave Out) nekada se oznaava i sa SO ili SDO,
SCLK (Serial Clock) nekada se oznaava i sa SCK,
CS (Chip Select) nekada se oznaava i kao SS,
GND masa.

MOSI predstavlja jednosmjernu liniju preko koje master vor alje podatke slave voru. MISO je
jednosmjerna linija preko koje slave vor alje podatke master voru. SCLK linija slui da bi preko nje
master vor emitirao signal sata za sinhronizaciju. CS predstavlja izlanu liniju master vora, a ulaznu
liniju slave vora, koja slui da master vor omogui slave vor sa kojim komunicira, tako to e liniju
dovesti na napon 0V. Kada je ova linija na naponu +Vcc, slave vor je onemoguen i odspojen od
sabirnice. Master vor ima po jednu CS liniju za svaki slave vor sa kojim komunicira (slika 4.?).
Ukoliko u komunikaciji uestvuju samo jedan master i jedan slave vor, onda se ova linija ne mora

koristiti, a CS ulaz na slave voru tada treba povezati sa masom.


Svaki uesnik u komunikaciji koji komunicira preko SPI sabirnice posjeduje jedan pomini (shift)
registar. SPI koristi jednostavan nain razmjene podataka izmeu master i slave vora, tako to se
podaci upiu u pomini registar, a onda se sa svakim impulsom signala za sinhronizaciju jedan bit iz
pominog registra mastera prebaci u pomini registar slave vora (slika 4.?).

U isto vrijeme se i jedan bit iz pominog registra slave vora prebaci u pomini registra mastera.
Prijenos podatka izmeu pominih registara traje onoliko impulsa signala sinhronizacije kolika je
duina podatka. U sluaju da jedan od podataka koji su preneseni nije potreban (na primjer kada master
vor alje podatak slave voru, a ne oekuje prijem nikakvog podatka od slave vora), on se odbacuje.
Obino SPI moduli imaju pomini registar odreene duine, pri emu je mogue konfigurisati duinu
podatka koji se prenose, tako da SPI omoguava prijenos podataka ija duina moe biti razliita.

Duina podatka koji se obino prenosi preko SPI sabirnice je izmeu 4 i 16 bita. Neki moduli, kao to
su memorije i displeji, omoguavaju prijenos viebajtnih podataka u okviru jednog transfera. U takvim
sluajevima se prvo prenosi komanda (npr. komanda za upis vrijednosti niza bajta u memoriju), zatim
viebajtna adresa (npr. adresa poetne lokacije u memoriji), i na kraju niz bajta podataka (koji se
upisuju od poetne lokacije na dalje). Na ovaj nain je mogue prenijeti i vie KB podataka u okviru
jednog transfera.
Neki SPI moduli omoguavaju povezivanje vie slave vorova u lanac (daisy chain), kao na slici 4.?.

U ovom sluaj pomini registri svih slave vorova formiraju jedan veliki pomini registar. Sada nije
neophodno da master vor koristi CS linije da bi omoguio slave vor kome treba prenijeti podatke,
nego se podatak prenosi tako to se biti prebacuju odreen broj puta, sve dok ne dospiju u pomini
registar odredinog slave vora. Nedostatak ovakvog pristupa predstavlja injenica da vrijeme prijenosa
podatka do svakog od slave vorova nije identino, nego ovisi o poziciji pominog registra slave vora
u lancu.
Postoje etiri moda rada SPI sabirnice. Ovi modovi su odreeni polaritetom (CPOL) i fazom (CPHA)
signala za sinhronizaciju (tabela 4.?). Polaritet signala za sinhronizaciju odreuje koji nivo signala je
aktivan.

Tako e za CPOL=0 izlaz SCLK biti na nioj vrijednosti kada nema komunikacije, a za CPOL=1 e
ovaj signal u tom sluaju biti na vioj vrijednosti. Faza signala sinhronizacije odreuje da li e se
prijenos bita deavati na rastuu ili opadajuu ivicu signala za sinhronizaciju (slika 4.?). Svaki slave
modul podrava barem jedan od ova etiri naina rada, to je uvijek naznaeno u dokumentaciji
ureaja.
Treba napomenuti da brzina komunikacije putem SPI sabirnice nije standardizirana, ali se u pravilu
mogu postii velike brzine komunikacije (reda Mbps). Pri tome realizacija SPI ureaja moe ograniiti
maksimalnu brzinu, tako da je za svaki ureaj potrebno provjeriti u dokumentaciji koja je maksimalna
brzina kojom moe komunicirati.

I2C
SPI standard je omoguio da se na jednostavan nain poveu komponente koje se nalaze na maloj
udaljenosti unutar jednog mikroraunarskog sistema. Philips Semiconductors (dananji NXP) je
definirao svoje rjeenje za slinu namjenu, a nazvao ga je I 2C (Inter-Integrated Circuit). Nekada se ovaj
nain komunikacije oznaava i kao I2C ili IIC. I u ovom sluaju se radi o serijskoj sinhronoj sabirnici
na master-slave principu, na kojoj moe postojati vie master vorova i vie slave vorova (s tim da u
jednom trenutku samo jedan vor na sabirnici moe biti master). Ni I 2C ne predstavlja zvanini
standard definiran od strane organizacija za standardizaciju, ali se nalazi u irokoj upotrebi u industriji i
veina miroprocesora i mikrokontrolera posjeduje barem jedan hardverski I 2C modul, to omoguava
proirivanje broja i vrste raspoloivih hardverskih modula koje mikroprocesor koristi.
I2C koristi sabirnicu od samo dvije linije, koje se oznaavaju sa SDA (Serial Data) i SCL (Serial
Clock), kao to je to pokazano na slici 4.?.

Da bi se izbjeglo nastajanje kratkog spoja u sluaju kolizije na sabirnici (odnosno kada vie vorova u
istom trenutku zapone emitovanje podataka, pri emu npr. jedan vor emituje bit vrijednosti 1, dok
drugi vor emituje bit vrijednosti 0), koristi se tzv. multi-drop pristup. Kako se vidi na slici, linije I 2C
sabirnice su pomou pull-up otpornika (sa identinom namjenom kao kod digitalnih ulaza) povezane na
+Vcc. Sada svaki vor emituje signal na linije tako to sabirnicu dovede na potencijal mase kada
emituje bit sa vrijednou 0, odnosno tako to se odspoji od sabirnice kada emituje bit sa vrijednou 1.
Na ovaj nain e sabirnica biti na potencijalu +Vcc kada se emitute bit sa vrijednou 1 (ili kada nema
prijenosa podataka), odnosno na potencijalu mase kada se emituje bit sa vrijednou 0. U sluaju da se
na sabirnici pojavi kolizija i da jedan vor emituje vrijednost 1 (odspojen od sabirnice), dok drugi vor
emituje vrijednost 0 (sabirnica na masi), efekat e biti identian kao da se na sabirnicu emituje samo
vrijednost 0 i nee doi do kratkog spoja.

Brzina komunikacijse I2C sabirnicom je standardizirana i iznosi 10kbps(spori nain rada low-speed
mode), 100kbps (standardni nain rada standard mode) ili 400kbps (brzi nain rada fast mode).
Danas neki ureaji mogu koristiti i brzine od 1Mbps (fast-mode plus) i 3,4Mbps (high-speed mode)
Obzirom da se radi o sinhronom prijenosu podataka, poiljalac podatke na liniju SDA emituje
sinhronizirano sa signalom sinhronizacije na liniji SCK koji alje master vor. Uloga vora se u toku
komunikacije moe mijenjati, tako da jedan vor moe u jednom period biti master vor na sabirnici,
da bi kasnije promijenio ulogu i postao slave vor na sabirnici (i obrnuto).
U komunikaciji po I2C standardu se koristi vie razliitih protokola, koji omoguavaju prijenos
podataka izmeu vorova povezanih na sabirnicu i ovdje e samo kratko biti pojanjeni osnovni
principi na kojima se zasnivaju ovi protokoli.
Poruke koje vorovi meusobno razmjenjuju zapoinju START bitom, a zavravaju STOP bitom. I
START i STOP bit emituje master vor, a signali koji predstavljaju start bit i stop bit su dati na slici 4.?.

Nakon START bita, master emituje adresu slave vora na koga se poruka odnosi. Adresa slave vora
po I2C standardu moe biti 7-bitna ili 10-bitna. Na taj nain je teoretski na istu sabirnicu mogue
povezati 127, odnosno 1023 ureaja. Neke implementacije koriste ak i 16-bitnu adresu. Na istoj
sabirnici je dozvoljeno koritenje razliitih vrsta adresa, ukoliko su te duine adresa podrane od strane
ureaja koji su povezani na sabirnicu. Adresa 0 predstavlja adresu koja indicira slanje poruke svim
vorovima na sabirnici (broadcast).
Postoje dvije osnovne vrste poruka koje inicira master vor:
poruka za slanje podataka slave voru,
poruka za prijem podataka od slave vora.
I jedna i druga vrsta poruka omoguava prijenos podataka bajt po bajt, pri emu broj bajta koji se
prenose u okviru jedne poruke (pa ni duina poruke) nije propisan standardom.
Poruka za slanje podataka slave voru je prikazana na slici 4.?.

Nakon slanja adrese, master alje bit smjera kojim slave vor obavjetava da slijedi prijenos podataka
za slave vor (WR Write). Bit smjera ima vrijednost 0 ukoliko master vor alje podatke slave voru.

Nakon toga master vor oslobaa sabirnicu u trajanju od jednog bit intervala. Slave vor koji je
prepoznao svoju adresu potvruje da je primio komandu emitovanjem bita potvrde (ACK
Acknowledge). Nakon toga zapoinje prijenos bajta podataka, pri emu se emitovanje zapoinje od bita
najvie vrijednosti (MSB). Slave vor nakon svakog bajta podatka emituje bit potvrde (ACK,
vrijednost 0) da je ispravno primio bajt podatka ili bit negativne potvrde (NAK, vrijednost 1) da bajt
podatka nije uspjeno primljen.
Poruka za prijem podataka od slave vora je prikazana na slici 4.?.

Poruka zapoinje na identian nain kao i poruka za slanje podataka slave voru, nakon ega master
vor alje bit smjera za itanje podataka (RD Read) od slave vora. Bit smjera za itanje podataka
ima vrijednost 1. Slave vor koji je prepoznao svoju adresu alje bit potvrde (ACK) i odmah nakon
toga zapoinje slanje podataka bajt po bajt. Master vor svaki ispravno primljeni bajt potvruje slanjem
ACK bita, odnosno indicira neispravan prijenos bajta podatka slanjem NAK bita.
Vremenski dijagrami poruka za slanje podataka prema slave voru i za prijem podataka od slave vora,
zajedno sa prateim signalom za sinhronizaciju, su predstavljeni na slici 4.?.

Osim ova dva osnovna tipa poruka, I 2C koristi jo i druge formate poruka, ali njima ovdje nee biti
rijei.
Organizacija komunikacije
Prethodno je bilo rijei o osnovnim konceptima vezanim za serijsku komunikaciju, te o hardverskim
aspektima standarda za serijsku komunikaciju koji se najee koriste u ugradbenim sistemima. Vie
puta je napomenuto na koji nain se signal (odnosno vrijednosti bita) predstavlja na liniji, na koji nain
se rjeava problem upravljanja fizikim pristupom dijeljenom mediju, te nain na koji se obezbjeuje
upravljanje tokom podataka i ispravan prijenos podataka izmeu uesnika u komunikaciji. Ovi aspekti
komunikacije bi se mogli nazvati organizacijom komunikacije.
Treba istai da organizacija komunikacije izmeu vorova u nekoj mrei nikada nije monolitna
(odnosno nikada se svi aspekti komunikacije ne definiraju i ne rjeavaju cjelovito), nego se
komunikacija organizira u vie nivoa (slojeva). Ovakva slojevita organizacija komunikacije je puno

pogodnija, zato to omoguava da se odreeni aspekti komunikacije promijene, bez potrebe za


redefiniranjem svih komunikacijskih procedura. Primjera radi, slojevita organizacija komunikacije
omoguava da se sa komunikacije koja koristi standard RS-485 pree na beinu komunikaciju ili
obrnuto, bez potrebe da se mijenja programski kod koji realizira aplikaciju iji podaci se prenose, sve
dok interfejs prema funkcijama koje realiziraju prijenos podataka ostane nepromijenjen.
Ovakva slojevita organizacija komunikacije se naziva mrenom arhitekturom. Postoje dvije osnovne
standardne mrene arhitekture koje su danas u upotrebi, a koje se predstavljaju standardnim modelima:
ISO OSI model,
TCP/IP model.
ISO OSI referentni model
Meunarodna organizacija za standardizaciju (ISO International Standards Organization) je definirala
apstraktni model mrene arhitekture pod nazivom ISO OSI (ISO Open Systems Interconnection)
prikazan na slici 4.?. Ovaj model se sastoji od sedam slojeva, pri emu svaki sloj realizira jedan dio
usluga u prijenosu podataka. Usluga definira operacije koje odreeni sloj moe izvriti za sloj na viem
nivou (slika 4.?). Pri tome sloj na viem nivou usluge koristi putem interfejsa izmeu dva susjedna
sloja. Ovaj interfejs definira tzv. take pristupa usluzi (SAP Service Access Point). Ovisno o
slojevima izmeu kojih se nalazi, SAP moe predstavljati specifikaciju hardverskog povezivanja
izmeu slojeva, ili specifikaciju odgovarajuih funkcijskih poziva (API Application Program
Interface) preko kojih se odreena usluga moe koristiti.

U okviru svakog vora u mrei je implementiran odreeni broj slojeva mrene arhitekture.

Pri tome se komunikacija virtuelno odvija izmeu dva sloja u razliitim uesnicima u komunikaciji,
koji se nalaze na istom nivou, a u stvarnosti se komunikacija odvija vertikalno kroz slojeve uesnika u
komunikaciji na jednoj strani do fizikog medija, zatim kroz fiziki medij do uesnika u komunikaciji
na drugoj strani, pa redom kroz njegove slojeve (slika 4.?).
Komunikacija izmeu slojeva na istom nivou se odvija u skladu sa odreenim protokolom. Protokol
predstavlja skup pravila po kojima se odvija komunikacija, a u okviru kojih su definirani formati
poruka koje se razmjenjuju izmeu slojeva dva uesnika u komunikaciji, znaenje pojedinanih polja u
porukama, te nain provjere ispravnosti prijenosa podataka. Svaka poruka se sastoji od zaglavlja
(header), sadraja (payload) i repa (tail), to je predstavljeno na slici 4.?. Protokol specificira i postupke
tokom prijenosa podataka (nain zapoinjanja i zavretka prijenosa podataka i tok prijenosa podataka,
nain utvrivanja ispravnosti prijenosa podataka i nain retransmisije neispravno prenesenih ili
izgubljenih podataka). Obzirom da na ovom mjestu nee biti dato detaljno razmatranje pomenutih
koncepata i mehanizama, italac se upuuje na adekvatnu literaturu koja se bavi problematikom
komunikacijskih mrea.

U nastavku e ukratko biti opisane funkcije slojeva ISO OSI referentnog modela.
Fiziki sloj predstavlja najnii sloj ISO OSI modela i obuhvata one komunikacijske usluge koje se tiu
povezivanja sa fizikim medijem (oienje, predstavljanje bita podataka signalima na liniji,
modulacijske postupke i sl.). Veina standarda serijske komunikacije koji su ovdje bili opisani
obuhvata funkcije fizikog sloja. Tako je standard RS-232 (koji je nastao daleko prije nego to je
specificiran ISO OSI referentni model) definirao nain fizikog povezivanja dva uesnika u
komunikaciji, nivoe signala na liniji i koritene kontektore. Slino, RS-422 i RS-485 su definirali nain
koritenja sabirnice i nivoe signala.
Sloj linka podataka obuhvata komunikacijske usluge koje omoguavaju komunikaciju izmeu vorova
koji meusobno komuniciraju neposredno. U okviru ovog sloja se rjeavaju i problemi adresiranja
uesnika u komunikaciji koji dijele fiziki medij, upravljanja pristupom dijeljenom mediju, nain
provjere ispravnosti prijenosa podataka i postupanja u sluaju neispravnog prijenosa podataka.
Mreni sloj omoguava povezivanje veeg broja vorova u jedinstvenu mreu koja obezbjeuje
prijenos podataka izmeu bilo koja dva vora. Mreni vorovi u mrei mogu biti krajnji vorovi (preko
kojih se podaci alju u mreu i primaju iz mree ili vorovi koji prosljeuju poruke unutar mree
(odnosno vorovi koji obezbjeuju funkcionisanje mree). I u okviru ovog sloja se definira adresiranje
vorova, format poruka koji se razmjenjuju i naini provjere ispravnosti prijenosa podataka, ukljuujui
i postupke u sluaju neispravnog prijenosa podataka. U okviru funkcija koje obavlja mreni sloj se
nalaze i mehanizmi koji omoguavaju odreivanje staze kojom e odreena poruka biti proslijeena od
vora poiljaoca do vora poiljaoca. Ova funkcija se naziva rutiranjem (routing).
Transportni sloj omoguava prijenos podataka izmeu dva komunikacijska vora povezana na mreu,
pri emu se taj prijenos podataka predstavlja jednu cjelinu. Drugim rijeima, transportni sloj ostvaruje
komunikaciju izmeu vorova s kraja na kraj mree. I u okviru transportnog sloja se definiraju
odgovori na ista pitanja kao i u prethodnim slojevima, s tim da se sada radi npr. o adresi u okviru
jednog vora i provjeri ispravnosti podataka prenesenih s kraja na kraj veze.
Sloj sesije i sloj prezentacije predstavljaju slojeve koji definiraju pitanje trajanja odgovarajueg niza
aktivnosti uesnika u komunikaciji, to definira sesiju, odnosno nain predstavljanja prenesenih
podataka i njihovog znaenja u odgovarajuem kontekstu definiranom aplikacijom.
Aplikacijski sloj realizira nain na koji konkretna aplikacija koja se izvrava na jednom
komunikacijskom voru moe razmjenjivati podatke sa konkretnom aplikacijom koja se izvrava na
drugom komunikacijskom voru.
TCP/IP referentni model
ISO OSI referentni model je nastao kao formalna specifikacija od strane Meunarodne organizacije za
standarde. Meutim, danas se u irokoj upotrebi nalazi i TCP/IP referentni model, koji je nastao kao
opis naina na koji je organizirana komunikacija u okviru Interneta, najvee decentralizirane
komunikacijske mree na svijetu.
Iako se i ovdje radi o slojevitoj mrenoj arhitekturi, TCP/IP referentni model je puno jednostavniji i ne
specificira eksplicitno sve slojeve koji se susreu u ISO/OSI referentnom modelu. Mrena arhitektura
po TCP/IP referentnom modelu je predstavljena na slici 4.?.

Kako se vidi na slici, TCP/IP referentni model specificira aplikacijiski, transportni i mreni sloj, ije
funkcije su uglavnom uporedive sa funkcijama ovih slojeva u ISO OSI referentnom modelu. Pri tome
se moe rei da su funkcije sloja sesije i prezentacije iz ISO OSI referentnog modela u TPC/IP
referentnom modelu uklopljene u aplikacijski sloj. Ovo i ima smisla, a i bitno pojednostavljuje
posmatranje mrene arhitekture, poto su funkcije koje realiziraju usluge ovih slojeva obino tijesno
vezane uz samu aplikaciju za ije potrebe se podaci prenose. Isto tako, svi slojevi ispod mrenog (sloj
linka podataka i fiziki sloj) su integrisani u sloj koji se oznaava kao Host to Network, to takoer
ima smisla obzirom da su funkcije fizikog sloja i sloja linka podataka vrlo tijesno spregnute i nekada
je dosta teko razdvojiti gdje poinju funkcije fizikog sloja, a gdje sloja linka podataka. Generalno se
moe rei da TCP/IP referentni model predstavlja pragmatian pogled na mrenu arhitekturu, ali isto
tako postoji i dovoljno slaganje ovog referentnog modela sa ISO OSI referentnim modelom.
Uz to, TCP/IP referentni model je nastao kao opis osnovnog skupa protokola koji se koriste u okviru
Interneta i funkcija koje se realiziraju u prijenosu podataka pomou ovih protokola. Generalno se moe
rei da TCP/IP referentni model pravi puno manju razliku izmeu pojma usluga koje sloj realizira i
protokola koji omoguavaju razmjenu podataka izmeu entiteta u okviru istih slojeva na razliitim
komunikacijskim vorovima.
Funkcioniranje komunikacijske mree
Kako je ve reeno, u okviru svakog komunikacijskog vora je implementiran dio slojeva iz ISO OSI
specifikacije. Koji e slojevi biti implementirani, ovisi o konkretnoj aplikaciji i o funkciji koju
komunikacijski vor obavlja.
Posmatrajmo jednostavni primjer komunikacije po master-slave principu, izmeu vorova povezanih
na RS-485 sabirnicu. Realiziraemo dvije komande koje master vor moe poslati nekom slave voru.
Neka to budu komande:
postavi vrijednost bajta koji e se ispisivati na LED diode (bez bilo kakvog odgovora od strane
adresiranog slave vora),
oitaj vrijednost analognog ulaza specificiranog u okviru komande.
Kao prvo, trebamo utvrditi format poruke. U ovom jednostavnom primjeru e master vor slati poruke
sljedeeg formata:
#ASA ispisuje 0x41 na port

#AR0 oitava vrijednost sa analognog ulaza 0


Svaka poruka zapoinje znakom #, nakon ega slijedi bajt sa adresom slave ureaja. zatim slijede bajt
komande (S ili R) i bajt parametra komande (ASCII vrijednost koju treba ispisati na LED diode,
odnosno ASCII vrijednost sa brojem analognog ulaza koji je potrebno oitati).
Procesiranje ovakvih poruka od strane prijemnika moemo predstaviti grafikom stanja na slici 4.?.
Stanja prijemnika su:
S1 ekanje na poetak poruke,
S2 ekanje na prijem adrese,
S3 ekanje na prijem komande,
S4 ekanje na prijem parametra komande za ispis vrijednosti na LED diode,
S5 ekanje na prijem parametra komand za oitavanje analognog ulaza.

Prijemnik prelazi u novo stanje, ovisno o bajtu koji je primio. Prijelazi naznaeni na slici 4.? su:
b1 prijem karaktera koji oznaava poetak poruke (#),
b2 prijem bilo kojeg drugog karaktera,
b3 prijem adrese slave vora,
b4 prijem adrese nekog drugog slave vora,
b5 prijem bajta koji ne oznaava ispravnu komandu,
b6 prijem karaktera koji oznaava komandu za postavljanje vrijednosti LED dioda (S),
b7 prijem karaktera koji oznaava komandu za itanje analognog ulaza (R),
b8 prijem parametra komande S,
b9 prijem parametra komande R.
Ovako organizirana komunikacija omoguava prijenos podataka za potrebe pomenutog sistema.
Meutim, u ovom primjeru ne postoji nikakva provjera ispravnosti prenesenih podataka, niti se dobro
uoava slojevita organizacija komunikacije.
Radi toga emo osmisliti organizaciju komunikacije za sistem za daljinsko oitavanje temperature.
Tako npr. u sluaju da je deset vorova povezano RS-485 sabirnicom (odnosno kada mogu
komunicirati direktno), pri emu jedan vor predstavlja centralni vor sistema, a preostalih devet

vorova treba da alje vrijednosti temperature mjerene u po 10 taaka, potrebno je minimalno realizirati
fiziki sloj, sloj linka podataka i aplikacijski sloj.
Fiziki sloj rjeava pitanja povezivanja vorova sa sabirnicom, koritenja odgovarajuih
primopredajnika i nain predstavljanja signala na sabirnici. Sloj linka podataka rjeava pitanja naina
upravljanja prijenosom podataka, formate poruka koji se razmjenjuju i nain provjere ispravnosti
podataka prenesenih u poruci. Aplikacijski sloj specificira komande koje aplikacija koja se izvrava na
centralnom voru alje eljenom voru radi prikupljanja vrijednosti mjerenja i nain na koji se
specificiraju senzori koji se oitavaju.
Ve je reeno i da slojevi meusobno komuniciraju preko odgovarajuih taaka pristupa uslugama
(SAP). Aplikacija koja se izvrava na centralnom voru npr. moe biti aplikacija na PC raunaru koja
grafiki prikazuje vrijednosti izmjerenih temperatura na svim vorovima, pri emu su mjerenja
temperature sa svakog vora prikazana na zasebnom tabu, a vrijednost temperature koja se prikazuje se
moe birati koritenjem standardnih elemenata grafikog interfejsa. U okviru ove aplikacije se svaki
put kada je potrebno oitati vrijednost temperature na nekom drugom voru pozove odgovarajua
funkcija, koja e rezultirati porukom za aplikaciju na odredinom komunikacijskom voru.
Komunikacija izmeu centralnog vora i perifernog vora se odvija u skladu sa protokolom
realiziranim u okviru prethodno pomenute funkcije, koju poziva aplikacija. Ovaj protokol obuhvata
definiranje formata poruke, obino kao na slici 4.?, kao i naina upravljanja pristupu sabirnici i
mehanizma za omoguavanje ispravnog prijenosa podataka. Recimo da emo koristiti master-slave
nain upravljanja pristupom sabirnici, tako da e centralni vor predstavljati master stranu u
komunikaciji, a periferni vorovi e predstavljati slave stranu u komunikaciji. Master vor e
periodino prozivati sve slave vorove i svakom slave voru specificirati redom senzore ija se oitanja
trae. Svaki put kada master vor poalje poruku, pokrenue se tajmer, koji e se zaustaviti kada se
primi odgovor na poruku, nakon ega master vor nastavlja sa slanjem sljedee poruke. Ukoliko se desi
da nakon pokretanja tajmera protekne neko predefinirano vrijeme, a da odgovor od strane slave vora
ne stigne, to znai da je dolo do greke u prijenosu poruke. Neka u tom sluaju master vor ponovi
slanje poruke. U sluaju da nakon predefiniranog broja ponavljanja nije primljen ispravan odgovor od
strane slave vora, funkcija e indicirati aplikaciji da je odreeni vor van funkcije. U okviru aplikacije
treba biti implementirana reakcija na takav sluaj.
Nakon to je poruka formirana, poziva se funkcija fizikog sloja, koja e ovu poruku poslati na
sabirnicu, u skladu sa koritenim standardom RS-485. U okviru toga e se poruka bajt po bajt
emitovati, pri emu e se svakom bajtu pridruiti start i stop bit (i eventualno i bit pariteta).
Analizirajmo format poruke koja se razmjenjuje izmeu dva sloja linka podataka.
Poruka zapoinje START bajtom, nakon ega slijedi bajt adrese, zatim bajt komande, bajt parametra
komande, bajt za provjeru ispravnosti prijenosa poruke i STOP bajt. START bajt predstavlja
dogovorenu kombinaciju bita, na osnovu koje prijemni vorovi mogu detektirati poetak poruke. Bajt
adrese u poruci sadri adresu vora na koga se poruka odnosi, pri emu svaki vor povezan na
sabirnicu posjeduje jedinstvenu adresu. Bajt komande predstavlja dogovorenu kombinaciju bita, koji e
adresirani vor prepoznati kao naredbu za oitavanje jednog od senzora temperature. Bajt parametra
komande sadri adresu senzora temperature koji je potrebno oitati. I konano, bajt za provjeru
ispravnosti prenesenih podataka se moe formirati kao XOR vrijednost svih bajta od bajta adrese,
zakljuno sa bajtom parametra komande.

Svi slave vorovi e oslukivati sabirnicu i ekati da prime START bajt. Nakon to START bajt bude
detektovan, svi slave vorovi e oslukivati bajt adrese. Slave vor koji detektuje svoju adresu u poruci
e nastaviti primati poruku, a svi ostali slave vorovi e se vratiti u stanje u kome oekuju poetak nove
poruke. Nakon to adresirani slave vor primi ostatak poruke, izraunae XOR vrijednost svih bajta od
primljenog bajta adrese zakljuno sa primljenim bajtom parametra komande. Nakon to odredi ovu
vrijednost, uporedie je sa primljenom XOR vrijednou i ukoliko su ove dvije vrijednosti jednake,
nastavie sa procesiranjem poruke. Ukoliko se ove vrijednosti razlikuju, slave e odbaciti primljenu
poruku i vratie se u stanje u kome oekuje prijem START bajta koji oznaava poetak nove poruke.
Ako je primljena poruka ispravna, funkcija koja realizira prijem poruke e signalizirati aplikaciji da je
poruka primljena, te e aplikacija pozivom funkcije moi preuzeti podatak o komandi i parametru
komande koje treba izvriti. Nakon oitavanja senzora temperature specificiranog u parametru
komande, aplikacija e pozvati funkciju koja alje odgovor, prosljeujui joj oitanu vrijednost. Ova
funkcija e formirati poruku odgovora, iji format e biti kao na slici 4.?. Vidi se da je format ove
poruke vrlo slian formatu poruke zahtjeva, s tim da se sada umjesto polja komande koristi polje koje
signalizira da se radi o odgovoru, te umjesto polja parametra komande polje koje sadri oitanu
vrijednost temperature. Ova poruka e se poslati na sabirnicu na identian nain kao to je to bio sluaj
pri slanju poruke zahtjeva.
Kada master primi poruku koja sadri odgovor, provjerie njenu ispravnost i proslijediti je aplikaciji na
identian nain na koji je to uinio slave vor. U sluaju da master detektuje neispravan prijenos
podataka, ponovie poruku sa zahtjevom za oitavanje istog senzora.
Prethodno opisani postupak dosta detaljno opisuje cjelokupnu komunikaciju izmeu dvije aplikacije,
kako po vertikali slojeva svakog vora, tako i po horizontali izmeu slojeva na istom nivou u razliitim
vorovima i ilustruje opi pristup organiziranju komunikacije za potrebe konkretne aplikacije. Na
slian nain je mogue razraditi cjelokupnu komunikaciju i za druge aplikacije.

You might also like