You are on page 1of 15

RS232 Temel Seri Haberleme Standard

I. Ne in Seri Haberleme?
Seri Portun kullanm ve genel olarak seri haberleme, Paralel Porta ve paralel veri haberlemesine
gre daha zordur. Birok kereler, Seri Porta bir cihaz balandnda, verinin kullanlabilmesi iin seri
iletiimin paralel dntrlmesi gerekir. Bunun iin bir UART (Universal Asynchronous Receiver
Transmitter) tm-devresi kullanlr. Yazlm ksmnda ise, Paralel Porta gre, daha ok i yk ve
kullanlan saklayc bulunur. Seri Port veya seri haberlemenin btn bu kadar olumsuz ynlerine
karn ne gibi avantajlar bulunur?
1.
Seri kablolar paralel kablolara gre daha uzun olur. Seri Port lojik 1 seviyesini 3 ile 25 volt ve
lojik 0 seviyesini +3 ile +25 volt arasnda iletir. Buna karn, Paralel Portta, 0 0 volt, 1 5V olarak
iletilir. Bu nedenle, Seri Port, 50V maksimum voltaj deiim aralnda sahip olmasna karn, Paralel
Port 5V maksimum arala sahiptir. Bundan dolay, kabloda oluan kayp, seri kablolarda, paralele
gre ok nemli deildir.
2.
Seri iletiimde paralele gre daha az tel kullanlr. Eer bir cihaz, bilgisayarda uzak bir yerde ise,
bu cihaza giden, ekirdeinde 3 telli bir kablo, 19 veya 25 telli bir kabloya gre ok daha ucuzdur.
Bununla beraber, her utaki arabirim fiyat da hesaba katlmaldr.
3.
Seri haberleme kullanlan krmz tesi (Infra Red) cihazlar gnmzde ok popler hale
gelmitir. Bu cihazlarda bir anda ancak bir bit veri seri olarak iletilebilir. byle bir haberlemenin paralel
olmas mmkn deildir.
4.
Gnmzde, tm-devresi zerinde d dnya ile iletiiminde kullanlan, seri haberleme
arabirimi bulunan mikrodenetleyiciler ok yaygnlamtr. Seri haberleme ular, mikrodenetleyicilerin
tmdevre u saysn azaltmaktadr. Genelde, TxD (Transmit Data) ve RxD (Receive Data) olarak
adlandrlan iki u kullanlmaktadr. Buna karn, 8-bir veri iletiminde, 8 u ve ou zaman da bir darbe
(Strobe) ucu gerekir.
>> RS232 Temel Seri Haberleme Standard
II. Seri Haberlemenin Temelleri
Bir mikroilemci, d dnya (hafza ve I/O birimleri) ile genelde 8-bitlik paralarla (8, 16, 32 ve 64 gibi)
haberleir. ekil II.2-1 de grld gibi, bu ekilde yaplan veri aktarm paralel veri aktarm (transfer)
olarak adlandrlr. Baz durumlarda, rnein PCnin yazc ile haberlemesinde, veri yolundan 8-bit veri
ile paralel haberleme yaplr.
Eer mesafe uzunsa paralel veri aktarm pek uygun deildir. Ayrca, 8-bit veri yolu pahaldr. Bu gibi
durumlarda seri haberleme daha uygun olur. ekil II.2-2 de grld gibi yaplan bir veri aktarm,
seri veri aktarm olarak adlandrlr. Tek bir veri hattnn kullanld bu tr haberlemenin ucuz
olmasnn yannda, iki farkl ehirde bulunan iki bilgisayarn telefon hatt zerinden, bu yntemi
kullanarak, haberlemesi mmkn olur.
Seri haberlemede, gnderici ksmnda 8-bit veri, paralelden seriye evrilir ve daha sonra tek bir
hattan karya gnderilir. Alc, seri veriyi paralele evirerek 8-bit veriyi oluturur. Eer veri telefon
hattnda iletilecekse, 0 ve 1ler ses tonlarna evrilir. Bu evrim modem (Modulator/Demodulator)
olarak adlandrlan bir cihaz tarafndan yaplr.
Eer mesafe ksa ise, saysal sinyal modlasyonuna gerek duyulmadan, basit bir hat zerinden veri
iletilir. IBM PCde klavye ile anakart haberlemesi bu ekilde yaplr. Telefon gibi, uzun mesafe veri
transferleri, haberleme hatlarn kullanr. Bu tr haberlemede, gndericide, 1 ve 0lar modulator ile
ses tonlarna evrilir; alcda ise bu ses tonlar demodulator ile 0 ve 1lere dntrlr.

ekil II.2-1 Seri Veri Aktarm.

ekil II.2-2 Paralel Veri Aktarm.


II.1 Senkron ve Asenkron Haberleme
Seri veri haberlemesinde senkron ve asenkron iki yntem kullanlr. Senkron haberlemede, bir anda
bir veri blou (karakterler dizisi) aktarm yaplrken, asenkron haberlemede bir anda sadece bir byte
iletilir.
Her iki haberleme yntemi yazlm ile gerekletirilebilir. Bununla beraber, bu ekildeki haberlemede
programlar uzun ve zor olaca iin, genelde seri veri iletiminde zel tmdevreler kullanlr. Bu
tmdevreler yaygn ekilde, UART (Universal Asynchronous Receiver Transmitter) veya USART
(Universal Synchronous Asynchronous Receiver Transmitter) olarak adlandrlr. IBM PCde kullanlan
COM Portu daha ilerde detayl olarak anlatlacak olan, 8250 UARTn veya gnmzde daha gelimi
srmlerini kullanmaktadr. 8251 ise bir USART tmdevresidir.
II.2 Seri veri Aktarm Kanallar
Seri veri iletimi tek ynde oluyorsa, PCden yazcya olduu gibi, bu veri iletimi simplex olarak
adlandrlr. Veri, hem gnderilip hem alnabiliyorsa bu ynteme duplex denir. Bu iletiimde eer veri bir
anda sadece bir ynde aktarlabiliyorsa half duplex, ayn anda her iki ynde aktarlyorsa full duplex
olarak adlandrlr. Full duplex haberlemede, bir hat, gnderme ve bir hatta alma iin olmak zere,
toplam iki tane hat kullanlr. Seri veri aktarmndaki kullanlan kanal durumuna gre yaplan
haberleme eitleri ekil II.4-1 de grlmektedir.

ekil II.4-1 Seri Veri Aktarm Yntemleri.


II.3 Asenkron Seri Haberleme
Seri veri haberlemesinde, veri gnderen ve alan ularn belli kurallara gre haberlemesi
gerekir.Protokol olarak adlandrlan bu kurallar, verinin nasl paketlenecei, bir karakterdeki bit says
ve verinin ne zaman balayp bitecei gibi bilgileri belirler.
Asenkron seri veri haberlemesi, karakter-tabanl iletiimlerde yaygn olarak kullanlr. Buna karn
blok-tabanl veri aktarmlar, senkron yntemi kullanlr. Asenkron yntemde, her gnderilecek karakter,

balama (SMART) ve bitirme (STOP) bitlerinin arasna yerletirilir. Bu ilem ereveleme (framing)
olarak adlandrlr. Asenkron haberlemedeki veri ereveleme ileminde, ASCII karakterler bir SMART
ile bir STOP biti arasnda paketlenir. SMART biti her zaman bir bittir, fakat STOP biti bir veya iki
bittir. ekil II.5-1 de grld gibi, SMART bit her zaman lojik 0 (dk), STOP biti lojik 1dir
(yksek). Verilen rnekte ASCII A, ikili olarak 01000001, SAMRT bit ile iki STOP bit arasnda
erevelenmitir. Seri iletiimde nce en dk deerli bit D0 (LSB) dar gnderilir.

ekil II.5-1 ASCII A (41H) Karakterinin erevesi.


ekil II.5-1 de grld gibi, seri veri aktarmnn yaplmad durumda, sinyal seviyesi 1dir (yksek)
ve bu durum iaret (mark) olarak adlandrlr. Lojik 0 (dk) ise boluk (space). Veri iletimi bir SMART
biti ile balar ve bunu takiben D0 (LSB) daha sonra D7ye (MSB) kadar geri kalan bitler ve son olarak
A karakterinin sonunu belirten iki stop biti gelir.
Asenkron seri haberlemede kullanlan tm-devreler ve modemler 5,6,7 ve 8 bit veri uzunluklar iin
programlanabilir. Veri uzunluuna ek olarak, bir veya iki tane STOP biti kullanlr. Eski sistemlerde
ASCII karakterler 7-bit idi. Yeni uzatlm ASCII karakterler yznden, bir ASCII karakter iin 8-bit
gerekir. Baz ASCII olmayan klavyeler 5 veya 6 bit karakterleri kullanlr. Baz eski sistemlerde, veri
alan cihazn yavaladndan dolay, cihaza, kendini ayarlamaya yeterli zaman vermek iin iki STOP
bit kullanld. Gnmzde modern PClerde genellikle bir STOP bit kullanlr.
Bir seri haberlemesinde, iletilen verinin dnda fazladan kullanlan bitler bir fazladan zaman
(overhead) ve yk oluturulur. rnein, ASCII karakterlerin iletiminde, eer iki STOP biti kullanlyorsa,
her bir 8-bit ASCII kodu iin toplam 11 bit iletilir. Yani her 8-bit iin, iletiim hattndan fazladan 3 bit
veya %30 ek yk bulunur.
Baz durumlarda, veri btnln korumak iin karakter bytenn (parity) biti veri erevesine eklenir.
Yani her karakter iin (sisteme bal olarak 7-bit veya 8-bit) SMART ve STOP bitlerine ek olarak bir tek
elik biti eklenir. Elik biti tek (odd) veya ift (even) olur. Tek-elik bit durumunda, elik biti dahil, veri
bitlerinin says bir ift saydr. rnein, ASCII A karakteri ikili 0100 0001 olarak 0 ift-elik bitine
sahiptir. UART tmdevreleri, daha sonra grlecei gibi, tek, ift veya eliksiz (no-parity) olarak
programlanabilir. Eer bir sistem elik biti gerektiriyorsa, elik biti verideki en deerli bitten (MSB)
sonra gnderilir. Bunu STOP biti takip eder.
II.4 Veri Aktarm Hz
Seri veri haberlemesinde veri aktarm hz saniyedeki bit says (bps-bit Per second) olarak belirtilir.
Veri aktarm hzn belirtmede dier yaygn olarak kullanlan ingilizce terim baud ratetir. Bununla
beraber, bu iki ifadenin birbirine eit olmas gerekmez. nk baud rate bir modem terminolojisidir ve
saniyede sinyaldeki deiim says olarak tanmlanr. Modemlerde baz durumlarda bir sinyal deiimi
ile birok veri biti transfer edilir. letiim teli dnldnde, bps ve baud rate ayndr. Bu yzden
anlatmda bps ve baud rate karlkl deimeli olarak kullanlmaktadr.
Bir bilgisayarn seri veri transfer hz haberleme portlarna baldr. rnein, eski IBM PC/XT 100 ile
9600 bps hzlarnda transfer edebilmekteydi. Bununla beraber, yeni PCler 19200 bps gibi yksek
hzlara kabilmektedir. Asenkron veri haberlemesinde, baud rate genellikle 100 000 bps ile snrldr.
II.5 Veri Haberleme Snflar

Seri haberlemeyi kullanan cihazlar iki snfa ayrlmaktadr. Bunlar DTE ( Data Terminal Equipment)
ve DCE (Data Communication Equipment) olarak adlandrlr. DTE, bilgisayar veya terminal gibi veri
gnderen veya alan cihazlardr. Buna karn DCE, modem ve yazc gibi veri aktaran cihazlardr. Tablo
1 de gsterilen sinyaller DTE ynnden tanmlanmtr.
DTE ve DCE arasnda en basit balant, ekil II.7-1 de grld gibi, en az tane u, TxD, RxD ve
toprak gerektirir. ki PC gibi, iki tane DTE cihaz arasndaki minimum balantda, 2 ve 3 numaral ular,
ekil II.7-2 deki gibi, karlkl apraz balanr.
>>>RS232 Temel Seri Haberleme Standard
III. RS232 Standard
Deiik reticiler tarafndan yaplm veri haberleme cihazlarnn uyumluluunu salamak amacyla,
EIA (Electronics Industries Association) tarafndan RS232 olarak adlandrlan standart 1960 ylnda
belirlendi. 1963 ylnda bu ilk standart deitirildi ve RS232A olarak adlandrld. Daha sonralar
1965te Rs232B ve 1969da Rs232C standartlar ilan edildi. Bu standartlar iin ksaca RS232
kullanacaz.
Gnmzde RS232 en yaygn kullanlan seri I/O arabirim standartlardr. Bu standart TTL lojik
ailesinden ok nceleri belirlendii iin, giri ve k voltaj seviyeleri TTl uyumlu deildir. RS232de
lojik 1 3V ile 25V arasnda, lojik 0 +3V ile +25V arasnda tanmlanr. 3V ile +3V aras tanmszdr.
Bu yzden herhangi RS232 cihazn, bir mikroileci-tabanl sisteme balamak iin, MC1488, MC1489
veya TSC232 gibi voltaj evriciler kullanlr. Bu tmdevreler hat srcleri/alclar (line driver/recevier)
olarak adlandrlr.

III.1 RS232 Sinyalleri


RS232 iin, ekil II.8.1-1 de grlen, bir DB-25 konnektr ile erilen toplam 25 u tanmlanmtr. Bu
ularn hepsinde sinyal bulunmaz. Kullanlan konnektr belirlemede, DB-25P (plug) erkek konnektr,
DB-25S (socket) dii konnektr iin kullanlr.

ekil II.8.1-1 RS232 DB-25P Erkek Konnektr


Modern bilgisayarlarda btn 25 uca gerek olmad iin IBM, ekil II.8.1-2 da grlen DB-9 seri I/O
standardn tanmlamtr.

ekil II.8.1-2 IBM PC 9-ulu Erkek Konnektr


Tablo II.8.1-1 de IBM PC 9-ulu ve 25-ulu konnektrde bulunan RS232 sinyalleri verilmitir.

U No (9-ulu)

U No(25Ulu)

Sinyal Ad

DataCarrierDetect (DCD)

Receive Data (RxD)

Transmit Data (TxD)

20

DataTerminalReady(DTR

Signal Ground (GND)

Data Set Ready (DSR)

Request To Send (RTS)

Clear To Send (CTS)

22

Ring Indicator (RI)

Tablo II.8.1-1 IBM PC 9-ulu ve 25-ulu konnektr RS232 sinyalleri.


III.2 RS232 Senkronizasyon Sinyalleri
ki cihaz arasnda gvenli veri iletiimi olabilmesi iin, veri aktarmnn dzenlenmesi gerekir. Bu
amala seri veri haberlemesinde senkronizasyon sinyalleri kullanlr. Bu sinyaller ok yaygn olarak
kullanldklar iin, bilinmeleri, herhangi bir UART tmdevresi veya modem cihaznn almasn
anlamada ok nemlidir. Bu senkronizasyon sinyalleri aada tantlacaktr.
1.
DTR (Data Terminal Ready): DTE (PC COM Portu) k, modem giri ucudur. Bu hat, modeme
terminalin (bir PC COM Portu, dolaysyla UART) veri iletiimi iin hazr olduunu belirtir. COM
Portunda bir problem varsa, bu sinyal aktif yaplmaz.
2.
DSR (Data Set Ready): DTE (PC COM portu) giri, modem k ucudur. Bu hat, terminale (bir
PC COM Portu, dolaysyla UART), modemin veri iletiimi iin hazr olduunu belirtir. Eer modem
herhangi bir nedenden dolay telefon hattna balanamyorsa, bu sinyal pasif yaplarak, veri
gndermek veya almak iin modemin hazr olmad PCye belirtilir.
3.
RTS (Request To Send): DTE (PC gibi) gnderecei verisi olduunda, bu ula modeme haber
verir.
4.
CTS (Clear To Send): RTS sinyaline cevap olarak, modem alaca veri iin yeri olduunda, bu
sinyali DTEye (PC UARTna) gndererek veri almaya hazr olduunu belirtir.
5.
DCD (Data Carrier Detect): Modem, telefon hattndan bir taycy (carrier) belirlediinde, bu
hatt aktif yaparak DTEye (PC) bu durumu haber verir.
6.
RI (Ring Indicator): Telefon aldnda, modem, DTEye (PC) bu sinyalle haber verir. Alt
senkronizasyon sinyalinden en az kullanlan bu sinyaldir. nk telefona modem cevap verir. Eer
telefona PCnin cevap vermesi isteniyorsa bu sinyal kullanlabilir.
Yukarda tanmlamalardan sonra, PC ve modem haberlemesi u ekilde zetlenebilir: DTR ve DSR
sinyalleri, PC ve modem tarafndan almakta ve hazr olma durumlarn belirtmede kullanlr. Buna
karn, RTS ve CTS veri akn kontrol etmede kullanlr. PC veri gndermek istediinde, RTS hattn

aktif yapmakta, buna cevaben, modem veri kabul etmek iin hazr ise (veri iin yeri var ise), CTS
sinyalini gnderir. Eer yok ise, modem CTSyi aktif yapmaz. Bu durumda PCnin tekrar ayn ekilde
denemesi gerekir.
III.3 RS232 Modem Balantlar
III.3.1 Bo (Null) Modem Balants
Bo (null) modem balants iki DTE cihazn balamada kullanlr. Bu yntem, Zmodem veya Xmodem
protokol gibi bir protokol kullanarak, a haberlemeleri veya bilgisayarlar aras dosya aktarmnda
kullanlan ucuz bir yoldur. Bu yntem ayrca birok mikroilemci gelitirme sistemlerinde kullanlr.
ekil II.8.3.1-1 de bo modem balants iin, bir rnek verilmitir. Grld gibi sadece hat, (TD,
RD ve GND) gerekir. Bu verilerin balant ile amalanan, bilgisayarn dier bir bilgisayardan ziyade,
sanki bir modem ile konuuyor gibi dnmesini salamaktadr. TD ve RD veri hatlar, karlkl
aprazlama balanm ve topraklar ortaklanmtr. Her iki makine da DTR sinyalleri DSR ve DCD
ularna balanmtr. DTR sinyali aktif yapldnda, DSR ve DCD hemen aktif olur. Bu noktada,
bilgisayar bal olduu bir sanal modemin hazr olduunu ve bu modemin DCD sinyalini aldn
dnr. Her iki bilgisayar ayn hzda haberletii iin ak kontrolne gerek yoktur. Bu yzden RTS ve
CTS sinyalleri her iki makinede birbirine balanmtr. Bir bilgisayar verisini gndermek
istediinde,RTS sinyalini aktif yapar. Bu sinyal CTSye geri bal olduundan, gnderme iin tamam
cevabn hemen alr ve bu ilemi yerine getirir.
RI sinyali her iki uta da balanmamtr. Bu sinyal telefon hattnda alma ilemini bilgisayara bildirir.
Telefon hattna bal bir modem olmad iin bu hat balantsz braklmtr.

ekil II.8.3.1-1 Bo Modem Balants


III.3.2 Geri Besleme (Loop-Back) Balants
Geri besleme (Loop-back) balants, zellikle seri Rs232 haberleme programlar yazarken,
gelitirme aamasndaki testlerde ok faydaldr. Bu balantda, ekil II.8.3.2-1 de grld, alma ve
gnderme hatlar birbirine balanmtr. Seri olarak dar gnderilen veri yine ayn porttan ieri alnr.

ekil II.8.3.2-1 Geri Besleme Balants

III.4 RS232 Seri Port Adresleri


Bir IBM PC, COM olarak belirtilen 4 tane Seri Porta sahiptir. Bu portlar 1,2,3, ve 4 (BIOS numaralar
0,1,2, ve 3) olarak numaralandrlmtr. PC aldnda POST (Power-On Self-Test) esnasnda, 4
COM portundan her biri iin UART tmdevresi test edilir. Eer COM portlar bulunur ise, I/O port
adresleri hafzada 0040:0000 ile 0040:0007 arasna yazlr. Tablo II.8.4-1 de Com adresleri
grlmektedir. Her UART iin atanan I/O adresi 16-bit olduundan, UART bana 2 byte gerekir.

COM Taba Adresi

sim

0000:0400

COM1

0000:0402

COM2

0000:0404

COM3

0000:0406

COM4

Tablo II.8.4-1 PC Seri Port Adres Atamalar.


Tablo II.8.4-2 de PC Seri Port standart I/O adres atamalar gsterilmektedir. Bu adresler birok
bilgisayar iin geerlidir.

sim

Adres

IRQ

COM1

3F8h

COM2

2F8h

COM3

3E8h

COM4

2F8h

Tablo II.8.4-2 PC Seri Port I/O Adres Atamalar.


Bir porta atanm olan adresi renmek iin deiik yntemler bulunur. rnein, sistem ayarlarna
baklarak bu renilebilir. Aada DOS debug program ile 0040:0000 adresine baklarak COM
atamalar renilmektedir.
>debug
-d 0040:0000
0040:0000

L8
F8 03 F8 02 00 00 00 00

Yukarda verilen rnekte, COM1 3F8h ve COM2 2F8h adreslerine atanm olup COM ve COM4e bir
atama yaplmamtr.
III.5 DTE/DCE Hzlar
Daha nce de belirtildii gibi, tipik bir veri terminal cihaz (DTE) bir bilgisayar ve tipik bir veri iletiim
cihaz (DCE) bir modemdir. Genellikle, DTEden DCEye ve DCEden DCEye olan veri hzlar sz
konusu olur. DTE ile DCE arasndaki hz, bilgisayar ile modem arasndaki hzdr ve bazen arasndaki
hzdr ve bazen terminal hz olarak belirlenir. Bu hz DCE-DCE hzndan fazla olmaldr. DCE-DCE
aras, modemler aras bir badr ve bu aradaki veri hz bazen hat (line) hz olarak belirtilir.
Gnmzde, 28.8K, 33.6K ve 56K gibi hzlarndaki modemler yaygndr. Yani bu modemlere gre, iki
DCE aras hzn, 28.8K, 33.6K ve 56K olmas beklenir. Yksek hzdaki bir modem iin, DTE-DCE
hznn yaklak 115200 bps (16550 UARTnn maksimum hz) olmas gerekir. Bu nokta genellikle pek
ok kiinin hataya dtkleri husustur. Kullanlan haberleme programlar DTE-DCE ayarlarn alr.
Bylece 9.6K bps, 14.4K bps gibi hzlar grlr ve bunlarn modem hzlar olduklar dnlr.
Gnmzde modemler veri sktrma ve ama fonksiyonlarna sahiptir. Sktrma oranlar olarak 1:4
ve hata daha yksek oranlar yaygndr. Bu 1:4 oran bir metin dosyas (text file) iin tipik bir deerdir.
Eer bir metin dosyas 28.8K (DCE-DCE) hznda aktarlyor ve kullanlan modem sktrma yapyor
ise, gerekte bilgisayarlar aras 115.2K olur. Bu yzden DTE-DCE hz modemin balant hzndan ok
fazla olmaldr.
Baz modemlerin zerinde 1:8 maksimum sktrma salayabilecei yazldr. Eer bu modem 33.6K
ise, modem ile UART arasnda, maksimum 268800 bps veri aktarm hz salanr. Bununla beraber
eer bir bilgisayarn UART en fazla 115200 bps hzna sahip 16550A ise modemimizin fazla
performansndan yararlanamayz. Eer maksimum 230400 bps hz salayan 16C650 UART
kullanlr ise bu problem olmaz.
Yukarda bahsedilen yksek oranlar baz durumlarda elde edilmez. nk modemlerin zerinde olan
sktrma oranlar maksimumdur. rnein, eer sktrlm bir dosya gnderilir ise, modem bu
dosyay sktrmak iin ok zaman harcar. Byle bir durumda modemin veri sktrma zelliinin
kapatlmas daha uygundur. Ayrca, baz dosyalar dierlerinden daha kolay skr. Bunun sonucu daha
yksek sktrma oranlarna sahip olunur.
III.6 Veri Ak Kontrol
DTE-DCE arasndaki hz DCE-DCE hzndan ok fazla ise, PCnin gnderdii veri, modemdeki buffer
alann ksa zamanda doldurduundan bir veri ak kontrol gerekir. Ak kontrol iin yazlm ve
donanm olmak zere iki yntem vardr.
Yazlm ak kontrolnde, baz yerlerde Xon/Xoff olarak belirtilen iki karakter kullanlr. Xon olarak
normalde ASCII 17 ve Xoff olarak ASCII 19 karakterleri kullanlr. Modemin iinde veriler iin snrl bir
alan olduundan, bilgisayar bu alan doldurduunda, modem Xoff karakteri gndererek, bilgisayara
daha fazla veri gndermemesini belirtir. Modem, veri iin yeri olduunda bilgisayara bir Xon karakteri
gnderir. Bunun sonucu bilgisayar daha fazla bilgi gnderir. Bu eit ak kontrolnn avantaj, veri
iletiminin yapld TD/RD hatlarna ek olarak baka hatlara gerek olmamasdr. Bununla beraber,
yava hzlarda olan haberlemeler, bu tr karlkl el skma senkronizasyonu, iletiimi daha da
yavalatr.
Donanm veri ak kontrol, ayn zamanda RTS/CTS ak kontrol olarak ta bilinir. Bu yntemde,
yazlm yntemindeki veri hatlarndan aktarlan fazladan karakter yerine, seri kablodaki iki hat kullanlr.
Bu ekilde yaplan bir ak kontrol iletiim hzn yavalatmaz. Bilgisayar veri gndermek istediinde
RTS (Request To Send) hattn aktif yapar. Eer modemde veri iin yer var ise, CTS (Clear To Send)
hattn aktif yapar ve bilgisayar veri gndermeye balar. Eer modem yere sahip deil ise CTS
sinyalini gndermez.
III.7 Dier RS232 Seri Haberleme Standartlar

Bir RS232 kablosunun uzunluu arttnda, sinyalde kapasitif yk artmaktadr. Bunun sonucu,
yksek veri hzlar gvensiz olmaktadr. Eer kablo uzunluu 5 feet veya daha az olursa,
RS232 ile 100 000 bps veri aktarm hz elde edilebilir. Veri hzn ve kablo uzunluunu
artrmak iin RS232nin elektriksel zellikleri yeniden tanmlanmaldr. Bunun sonucu,
RS232 ve RS 423 gibi yeni standartlar kmtr. Tablo II.9-1 de RS232 ile bu standartlarn
karlatrmasn gstermektedir.

Max. Kablo Uzun.(ft)


Max. Hz (baud)

RS232

RS422

RS423

50

4000

4000

20K

10M/40 ft

100K/30 ft

1M/400 ft

10K/300 ft

100K/4000 ft

1K/4000 ft

Tablo II.9-1 RS232nin RS422 ve RS423 ile Karlatrmas.


III. RS232 ile Basit Bir Uygulama
Uygulama konusu, giri ksmnda belirtildii gibi, RS232 COM Portu vastasyla bir konnektr kablo
zerinden iki bilgisayar arasnda ASCII karakter gnderip alarak asenkronize haberletirerek
gnmzde chat (sohbet) olarak adlandrlan, iki bilgisayarn ayn anda keyboard ile karakter gnderip
alarak kullanclarn anlamasn lokal olarak gerekletirmektir. Aslnda internet zerinden yaplan bu
ilemle mantksal ve teknik adan bir fark yoktur. nk, global a olan internete balanp kaynaklar
paylamak iin yine PC deki COM2, COM3 ve COM4 gibi donanmsal olarak ayn IRQ ya sahip seri
portlar modem vastasyla kullanrlar.
III.1 lk Aama : Programn Yazlm
Programn ilk aamas programn hazrlanmasdr. COMPORT lar iin C++, T.Pascal gibi birok dilde
kendine has reserved keys (ayrlm kelimeler) vardr. Ancak dorudan PC donanmna ulamak iin
Assembly dili kullanlmtr. Bylelikle Assembly dili iin yeni bir tecrbe kazanlmtr.
PCnin seri haberleme portlar, BIOS tabanl INT 14H kesme komutu kullanlarak eriebilir. Bu
aamada BIOS un INT 14H kesme komutunun fonksiyonlarndan ksaca bahsetmekte yarar vardr.
nk bu kesme komutu ile COM Portu zerinde Portlar programlama ve veri haberlemesi (almaverme) salanmaktadr.
III.1.1 BIOS INT 14H Kesmesi
PCnin seri haberleme portlar, BIOS tabanl INT 14H kesme komutu kullanlarak eriebilir. INT 14
komutunun eitli seenekleri AH saklaycs ile belirlenir. Bu komutu kullanarak iki PC birbirine veri
gnderebilir. PCler arasmda seri veri iletiimi u ekildedir:
*
Portu programlamak iin AH=0 yaplr. DX , COM portu belirler. 0 yklenirse COM1, 1 yklenirse
COM2, 2 yklenirse COM3, ...vb. COM1 ile COM3 ve COM2 ile COM4 n IRQ leri ayndr. AL ye 8-bit
lik binary say yklenir. Bu say ile seilmi COM Portun zellikleri tantlm olur. Tablo III.1.1-1 deki
gibidir.
*
Bir karakter kullanmak iin, nce AH = 1 ve AL = karakter, yklenir ve sonra INT 14 komutu
yrtlr.

*
Portun durumunu renmek iin, nce AH = 3 yaplr ve sonra INT 14 komutu yrtlr. COM
portunun durumu AH saklaycsnda geri dner. Bu okunan COM portunun durumu olup AL
saklaycsnda bulunan modemin durumu deildir. Daha sonra durum portunun D0 biti (recevived
data ready) kontrol edilir. Eer bu bit yksek ise, COM Portu zerinden bir karakter alnmtr ve
UART iinde bulunmaktadr. Burada belirlenebilecek AH daki hata deerleriTablo III.1.1-2 deki gibidir.

*
Alnan karakteri okumak iin AH = 2 yaplarak tekrar INT 14 komutu yrtlr. Sonuta AL
saklaycsnda veri bulunur.
size=4>
7

ANLAMI

TransfereHazr (DataAvailable in RDR)

stste Karakter Hatas (Over-Run Error)

Pariti Hatas (Parity Error)

Karakter Tayc Hatas (Framing Error)

(Break Detect)

TransferBufferRegisterBo (THR Empty)

TransferSaymaRegisterBo (TSR Empty)

Zaman Am (Time-Out)
Tablo III.1.1-2 Port Durum Ragister Bitlerinin Anlamlar; Port Hatalarn Belirleme.

ANLAMI

5 Data Biti

6 Data Biti

7 Data Biti

8 Data Biti

1 Stop Biti

2 Stop Biti

Pariti Yok

Pariti Tek

Pariti Yok

Pariti ift

110 bound

150 bound

300 bound

600 bound

1200 bound

2400 bound

4800 bound

9600 bound

Tablo III.1.1-1 BIOS INT 14H da 00H fonksiyonunun haberlemeyi balatma deerleri.

III.1.2 Programn Aklamas ve Algoritmas


Programn banda COM Portlarn kulland IRQ ler olan IRQ 3 ve IRQ 4 alr.
main:
in al,21h
and al,11100111b
out 21h,al
Ardndan COM Port DX ile seilir ve seilen COM Port programlanr.
{COM2 portu 4800bps ile parity bitsiz 1 Stop Biti ve 8-bit veri ile programlanr }
mov
mov
mov
int
end;

ah,0
dx,1
al,11000011b
14h

Programda daha sonra bir tua baslmas kontrol edilir.


okugonder:
{tus kontrolu}
mov
ah,01h
int
16h
Tua baslmam ise, COM2 Portu kontrol edilerek kar makineden veri gelip gelmedii anlalr.
{tusa basilmamissa COM2 den veri arar}
jz

alyaz

Tua baslm ise, baslan tuun hexadecimal ASCII karakter deeri AL ye alnr. Ayn zamanda INT
21H kesme komutuyla ekrann st ksmna baslr.
{tusa basilmissa}
mov
int
mov
mov
int

ah,0
16h
dl,al
ah,02h
21h

Eer baslan tu ESC karakteri ise programdan klr.


cmp al, 1bh
je cikis
Bu tuun haricindeki bir karakter, INT 14H 01H kesme fonksiyonu ile COM2 zerinden kar makineye
gnderilir.
mov
mov
int
inc

ah,1
dx,01
14h
i

end;
COM2 Portunda veri arama ve de veri varsa alma ilemi aadaki alt-programdaki gibi olabilir.
ncelikle COM Port durumu kontrol edilir. Transfer buffer boaltlr. Veri alp vermeye port hazrlanm
olur.
alyaz:
mov
mov
int
and
cmp

ah,03h
dx,01h
14h
ah,01h
ah,01h

Porta gelen veri yoksa, COM Porttan veri gnderme alt-programna geilir.

jne

okugonder

Aksi halde, COM Porttan INT 14H 02H kesme fonksiyonu ile veri AL ye alnr.
mov
mov
int

ah,02h
dx,01h
14h

Ardndan alnan karakter, INT 21H 02H kesme fonksiyonu ile ekrann alt ksmna baslr.
{karakteri ekrana yaz}
mov
mov
int
inc
jmp

dl,al
ah,02h
21h
J
Okugonder

end;
Program bu ekilde sonsuz bir dng iinde, tu gzlemeye devam eder ve ESC tuu ile program
bitirilir.Sadece, Gelen verinin ve gnderilen verinin ekrana baslmasn (karakterin ekranda yerinin
belirlenmesi) salamak amacyla Assembly de hazrlanan program Pascal a aktarlmtr.

Programn algoritmas aadaki gibidir.

gigibidir
III.1.3 Program Kodu
Uygulama ile ilgili dosyalar comportuygulamasi.zip dosyasnda bulabilirsiniz.
III.2 kinci Aama : Kablonun Hazrlan
ki ayr 25-pin female (dii) konnektrler ekil III.2-1 deki gibi 8 ulu data kablosu zerinden birbirine
balanmtr. ekilde 9-pin female konnektr iin karlklar verilmitir. Temel mantk olarak bir portun
gndermek ucu kar taraftaki dier bir portun alma ucu ve tersi birbirine balanmtr. TxD RxD ve
TxD RxD gibi.

D9

D25

D25

D9

TD

RD

RD

TD

SG

SG

20

DTR

DTR

20

DSR

DSR

CD

CD

RTS

RTS

CTS

CTS

ekil III.2 9 ve 25 Pinlik Konnektrler iin balant emas.

III.3 nc Aama : Test


ki bilgisayara hazrladmz kablonun konnektrleri balanarak her iki bilgisayarda da ComPort
program altrlmtr. Program kts aadaki gibidir.
Test aamasnda programda RS232 arasnda veri al-verii 9600 bound un zerine
karlamadndan bir kadar yava olmaktadr

You might also like