RS232 standard potpuno definiše jednu vrstu asinhrone serijske komunikacije. Standard prvo definiše tip, strukturu i moguće brzine prenosa serijske poruke bitova. Zatim, pošto je u pitanju asinhrona komunikacije i poruka može krenuti u bilo kom vremenskom trenutku, definisani su i načini detekcije starta i kraja poruke, kao i sinhronizovano čitanje poslate poruke od strane prijemnika.
Standard takođe definiše fizički nivo prenosa poruke. Definisani su naponski nivoi na liniji u toku prenosa poruke kao i hardver potreban za predaju i prijem poruke po RS232 standardu, čemu moraju da se pridržavaju svi RS232 primopredajnici.
RS232 bit stream
Po RS232 standardu informacija se šalje u vidu niza bitova na fizičkoj liniji veze. Ovi bitovi informacije su grupisana u vidu digitalnih reči. RS232 standard dozvoljava promenjivu dužinu reči, od 5 and 8 bitova. Ovo je broj bitova koji nose informaciju u jednoj RS232 poruci ili paketu. Vazno je da se i prijemnik i predajnik podese na jednaki broj bitova koji nose informaciju, inače dolazi do lošeg prenosa poruke. Za potpun prenos standard definiše dodatne bitove za sinhronizaciju i detekciju greške. Prisustvom ovih dodatnih sinhronizacionih bitova u poruci se gubi na vremenu i smanjuje se propusni opseg. Nadalje, pogrešno sinhronizovani prijemnik može u pogrešno vreme početi čitati poruku i dolazi do greške. Tada je potrebno ponovo uspostaviti sinhronizaciju i dodatno se gubi na vremenu. Asinhroni prenos se i dalje najviše koristi jer je jeftiniji (nema clock liniju) i otporniji je na šum, ali za veoma brze prenose se i dalje koristi sinhrona komunikacija.
Standard takođe definiše predefinisanu frekvenciju prenosa, broj bita poslatih u sekundi, koja se naziva baud rate. Kada predajnik prepozna start bit, on računa u kojim sledećim trenucima stižu ostali bitovi poruke. Za taj račun se koristi unapred definisana baud rate, koja u prijemniku i predajniku mora biti isto podešena, inače dolazi do greške.
RS232 standard dozvoljava samo dva fizička stanja na liniji za prenos. Prvi naponski nivo je -12V na liniji koji predstavlja ON stanje ili broj 1 ili marker. Drugi naponski nivo je +12V na liniji koji predstavlja OFF ili broj 0 ili prazno mesto. Kada nema transfera poruke, linija je na -12V što predstavlja stanje logičke 1 ili binarni broj 1. Za razliku od neaktivnih -12V, prvi bit u poruci je START bit i uvek je naponskog nivoa +12V, time signalizira početka poruke.
Slika br.1 Logički i naponski nivoi tipičnog RS232 paketa bitova. Prikazani paket prenosi 8 bitova (jedan 8 bitni karakter, 0xA6), kao primer je uzet bit parnosti 1, koriščen je samo jedan STOP bit
Start bit. Bit služi da prijemnik detektuje start, koji može početi u bilo kom momentu. START bit ima logički nivo 0, koji se razliku je od logičke 1 tokom neaktivne linije i njime uvek počinje RS232 poruka. Taj bit se često naziva i ATTENTION bit (pažnja!). Na RS232 liniji to je +12V koji se lako može razlikovati u odnosu na neaktivnih -12V.
Data bitovi. Bitovi idu redom nakon START bita. Bit 1 dovodi do -12V, bit 0 do +12V na RS232 liniji. Bit najmanjeg značaja (LSB – the least significant bit) je uvek prvi za slanje.
Parity bit. Bit parnosti služi za eventualnu detekciju greške i može se ugraditi u RS232 poruku, nakon zadnjeg MSB bita poruke a pre STOP bita. Ovaj bit postavlja predajnik tako što unapred proveri broj jedinica u poruci. Primljene bitove prebrojava i prijemnik i vrši poređenje svog rezultata parnosti sa primljenim bitom parnosti. Bit parnosti se postavlja na 1 ako je broj jedinica u informacionog delu poruke (bez START i STOP) paran, i na 0 ako je broj jedinica neparan. Ovo važi ako je RS232 veza u even parity modu koji zahteva da ukupan broj jedinica u poruci (bez STOP) bude neparan. Za slučaj odd parity logika je obrnuta. Za pravilan rad veze neophodno je da i prijemnik i predajnik imaju podešen isti tip parnosti. Ovo nije savršen način za detekciju greške pošto prijemnik dobija isti bit parnosti u slučaju parnog broja grešaka na prijemu. Korišćenje bita parnosti je uobičajeno nedovoljna provera tačnosti prenosa, pogotovo u šumom zagaženoj sredini. Zato se često koriste razne CRC i LRC metode kojima se proverava tačnost celokupne RS232 poruke, koji se računaju i porede nakon što su svi RS232 paketi primljeni. Drugi način je primena protokola visokog nivoa, koji u sebi ima ugrañene mehanizme za detekciju greške u poruci. Stop bits STOP bit zatvara okvir poruke. U slučaju da je prijemnik pogrešio u sinhronizaciji.
STOP bit. Bit daje novu šansu za resinhronizaciju. Ako prijemnik detektuje logičku 0 na mestu STOP bita, (do ovog mesta je došao korišćenjem unapred definisane baud rate) on uočava grešku i prekida prijem poruke. Ovo se zove framing error, greška okvira. Ovim se ispostavilo da bitovi informacije nisu unutar definisano okvira, t.j. okruženi START i STOP bitovi, koji se moraju pojaviti u preko baud rate jasno definisanom vremenskom okviru. Resinhronizacija se radi tako što prijemnik opet prati okvir poruke, i očekuje START i STOP bit u jasno definisanom razmaku. Time je prijemnik sposoban i da prepozna baud rate pristigle poruke i da se nakon određenog vremena sinhronizuje na tu novu brzinu transfera. Procedure za baud rate sinhronizaciju dva primopredajnika uvek izbegavaju slanje svih 0 u informacionom delu paketa jer prijemnik može da ih pomeša sa STOP bitom. Po RS232 standardu, STOP bit može imati više bitski dužina. Ako je STOP bit duži od ostalih , to ustvari definiše minimalno vreme u toku koga linija mora biti u idle state, t.j. neaktivna. Ovaj deo standarda je podrška sporim ureñajima. Obično se STOP bit postavlja trajanja 1, 1.5 or 2 bita.
Half i Full duplex RS232 komunikacija
RS232 standard ima posebne linije za prijem i predaju tako da dva primopredajnika mogu istovremeno da šalju i primaju podatke. Nije važno ni ko je prvi ni kada počeo, dve linije su potpuno nezavisne. Ukoliko se to programski i ostvari onda dobijamo full duplex vezu. U ovoj varijanti veze oba primopredajnika su jednakog značaja. Neki primopredajnici i/ili linijski driveri ne mogu istovremeno da primaju i šalju podatke. U tom slučaju se projektuje half duplex veza. Ovo znači da je komunikacija dvosmerna ali nije potpuna dvosmerna jer se odgovor šalje tek nakon prijema pitanja. U ovim sistemi uglavnom postoji jedan gazda na liniji (master) koji započinje komunikaciju i čeka odgovor od svoga podređenog (slave).
RS232 Fizički nivo
Prvobitna verzija RS232 standarda dozvoljava brzine prenosa do 20kb/s i uvodi limite naponskih signala koji su odgovarali opremi u to vreme. Sada su te granice malo pomerene i nove verzije standarda dozvoljavaju veće brzine prenosa i veće promene naponskih nivoa.
RS232 Naponi
Logička jedinica je definisana sa negativnim naponom -12V, dok je logička nula definisana sa pozitivnim naponom +12V. Limiti su prikazani u sledećoj tabeli
Na osnovu tabele se vidi da pojedini uređaji mogu dati i -9V, ili -5V za stanje logičke 1, bitno je da je napon u okvirima definisanim standardom. Naravno, na mali nivo napona lako utiče šum tako da su ±12V i dalje optimalni naponski nivoi koji sa jedne strane daju robusnu komunikaciju otpornu na šum, dok sa druge strane nisu blizu maksimalnim vrednostima na prijemnoj strani.
Maksimalna dužina kabla
RS232 standard ima jasan odgovor na ovo pitanje, dužina kabla je ne veća od 15.24 metara (50 feet) ili kapacitansa kabla ne sme biti veća od 2500 pF. Manja kapacitivnost kabla dozvoljava i duže daljine. Ovo važi za baud rate od 20kb/s, dozvoljena dužina kabla se umnogome uvećava kada se smanji brzina prenosa, kao što je prikazano u sledećoj tabeli.
Dalja objašnjejna termina i pojmova možete pronaći na sajtu Katedre za energetsku elektroniku i pretvarače, Fakultet tehničkih nauka u Novom Sadu.