You are on page 1of 4

Parametri RS-232 komunikacije

Da bi prijemnik i predajnik uspješno komunicirali, potrebno je konfigurisati i prijemnik i predajnik na identičan način. Ova
konfiguracija minimalno podrazumeva definisanje:

1. Brzine serijske komunikacije (engl. baud rate ), izražene brojem bita u sekundi. Tipične brzine RS-232 komunikacije su
9600b/s, 19200b/s, 38400b/s, 57600b/s i 115200b/s

2. Broja bita podataka (5, 6, 7 ili 8)

3. Da li se koristi bit pariteta i ako se koristi, da li će on biti setovan za paran ili neparan broj jedinica u okviru bita podataka

4. Broj stop bita koji se koristi (1 ili 2)

Nakon što su prijemnik i predajnik konfigurisani, prijemnik poruke prolazi kroz sledeća stanja čekajući na poruku:

1. Čeka se početak poruke pojavom start bita, tj. opadajuće ivice na prijemnoj RxD liniji.

2. Nakon detekcije početka poruke, prima jedan po jedan bit poruke tako što očitava napon na RxD liniji svakih kT + T/2,
k=0,1,...8, T=1/(baud rate). Da bi ovo bilo moguće, neophodno je da prijemnik i predajnik imaju usklađenu brzinu
komunikacije, jer je slanje asinhrono (prijemnik nema nikakvu indikaciju kada je na liniji dostupan “novi” bit).

3. Nakon prijema cele poruke, proverava da li je bit pariteta u skladu sa bitovima podataka (u slučaju da je konfigurisano
korišćenje bita pariteta). Ukoliko jeste, podatak je prihvaćen, u suprotnom primljeni podatak se odbacuje i neophodno ga je
ponovo primiti.
Paralelno sa prijemom poruke preko RxD linije, moguće je istovremeno slati poruku nezavisne komunikacione linije TxD. To
znači da UART ustvaruje dvosmernu (full-duplex ) komunikaciju.

UART komunikacija

Rad serijskog porta kod PC računara i kod većine savremenih mikrokontrolera zasnovan je na standardizovanom RS-232
protokolu. Hardverska jedinica unutar mikrokontrolera koja je zadužena za ovakav tip komunikacije obično se naziva UART
(engl. Universal Asynchronous Receiver-Transmitter).

Serijska komunikacija se kod PC računara izvodi upotrebom Intelovog UART (Universal Asynchronous Receiver Transmitter)
kola 8250 kod XT ili 16450 kod AT računara, kao i UART kolo 16550. Oba su kola slična, s tim što kolo 16450 ima neka
poboljšanja. Kolo 8250 ima 10 dok kolo 16450 ima 12 programibilnih jednobajtnih registara.

UART je skraćeno od Universal asynchronous receiver/transmitter - univerzalni asinkroni prijemnik/odašiljač. Koristi se zajedno
sa RS-232. UART pretvara podatke između paralelnih i serijskih formata. Može se konfigurirati brzina prijenosa i format slanja
podataka. Za pravilan rad, UART na strani primatelja i na strani odašiljača mora biti podešen na iste parametre veze. Na PC
računalima UART je mapiran na fiksnu adresu. U
tablici 1. prikazane su adrese na koje su mapirani UART
sklopovi pojedinih serijskih priključaka.
Tabela 1. Adrese UART za serijske priključke
Interrupt request – IRQ – prekid signala/ linija prekida

UART čip ima 12 registara koji su mapirani na 8 različitih U/I (ulazno/izlaznih) lokacija. Kako ima više registara nego lokacija,
postoji bit DLAB (Divisor Latch Access Bit). DLAB-om se preko iste memorijske lokacije može pristupiti različitom registru.

UART = Universal Asynchronous Receiver/Transmitter je osnova svake serijske komunikacije bilo na razini računala ili
kontrolera i služi za pretvorbu paralelnog podatka (najčešće 8-bitnih odnosno 1 byte) u serijski oblik sa svrhom da se smanji
potreban broj linija za komunikaciju odnosno omogući prijenos podataka kroz druge medije (npr. optiku). U predajniku se
paralelni podatak pretvara u serijski niz bitova dok ga prijemnik ponovo vrača u paralelni. Za komunikaciju se koriste dva pina,
Tx-predajni i Rx-prijemni. Na razini UART-a komunikacija je dvosmjerna (full duplex) što znači da je moguć istovremeni prijem i
predaja podataka. S obzirom da je komunikacija asinkrona, da bi prijemnik mogao ispravno dekodirati poslani niz bitova
predajnika potrebno je zadovoljiti još nekoliko osnovnih zahtjeva:

 neaktivno stanje RX/TX linije je digitalna jedinica "1"


 svako slanje podatka započinje START bitom koji je uvijek digitalna nula "0"
 nakon START bita odašilju se bitovi podatka (najčešće 8) počevši od bita najniže važnosti (LSB)
 ponekad se iza bitova podatka šalje i paritetni bit pomoću kojeg se utvrđuje ispravnost prijema podatka (za sada ću ga
zanemariti)
 slanje podatka završava STOP bitom koji je uvijek "1" (vračanje u neaktivno stanje) trajanje svakog bita definirano je
brzinom komunikacije u broju bitova u sekundi (Baud/kBaud) i mora biti jednako podešeno na oba kontrolera kao i broj
bitova podataka, paritetni bit i broj stop bitova.

UART kolo 16550 sadrži u sebi prijemni i predajni FIFO bafer kapaciteta 16 bajta što mu omogućuje brzinu prenosa do 115.2
kb/s. Glavni zadaci UART kola su sledeci:

 Da preuzme podatke koji dolaze sa magistrale u paralelnom formatu i da ih pretvori u serijski prenos.
 Obrnuto, kada prima podatke serijskim prenosom da ih pretvori u paralelni format.
 Daje signale procesoru o spremnosti za prijem ili predaju podataka.
 Omogućava izbor načina rada, dužinu podataka, proveru ispravnosti prenosa, izbor brzine prenosa i sl.

Prilikom serijskog prenosa podataka moguća je pojava sledećih vrsta grešaka:

 Greška uokvirenja (framing error). Do ove greške dolazi u slučaju kada prijemnik očekuje STOP bit, ali se on ne
pojavljuje.
 Greška prekoračenja (overrun error). Nastaje kada se pojavljuje novi znak u prijemniku a prethodni nije upotpunosti
primljen.
 Greška pariteta (parity error). Nastaje kada bit pariteta ne odgovara stanju bitova u primljenim bitovima podatka.

You might also like