|
UART (Universal Asynchronous
Receiver/Transmitter, evrensel asenkron alıcı/verici) bilgisayarın seri portunda
mikroişlemciden paralel bilgiyi seriye çevirir ve seri port üzerinden harici
cihaza gönderir veya harici cihazdan gelen seri bilgiyi port üzerinden alarak
mikroişlemciye iletilmek üzere paralele dönüştürür.UART genellikle bit
frekansının 16 katı frekansta gelen biti örnekler. Örneğin gelen veri 300bit/s
ise, UART frekansı 4800bit/s olur. START bit için 16bitlik süre bekler, daha
sonra ilk biti okumak için 8bitlik süre bekler ve diğer gelen bitleri de 16
bitlik sürelerle okur.
Doğru bir okuma olması için alıcı ve verici cihazlarının frekansları birbirinden
yaklaşık ±%3 oranında farklı olabilir. Bu yüzden alıcı ve verici tarafında
kararlı ve sabit frekanslı sinyal üreten resonatörler veya kristal osilatörler
kullanılır. Kişisel bilgisayarlarda UART çipinin frekansı 1.8432MHz. dir. Neden
böyle bir frekans seçildiği bu rakamın 16'ya bölündüğü ile anlaşılabilir.
1.8432Mhz., 16'ya bölündüğünde sonuç 115,200 çıkar ki bu da RS-232
haberleşmesinde kullanılan en yüksek hızdır ve diğer bütün hızlar (19200,9600
vb.) bu hızın belirli bir tam sayıya bölünmesiyle elde edilir. Aşağıda seri port
çıkışı veren bir UART kart, ve bu karta ait UART çip (kartın ortasında bulunan
en büyük çip) görülmektedir.
 |
| RS-232 portlu
UART Seri Haberleşme Kartı |
UART alıcı ve verici olarak
üç çeşit bilgi kodlama kullanır:
- İkilik veri (binary
data)
Veriler ikilik kodda gönderilir.
-
Metin verisi (text data)
Bazen metin dosyasının bir hedefe gönderilmesi durumunda kullanılır. Metin
dosyaları da genelde üçe ayrılabilir: ASCII(7bit +eşlik biti) , ANSI (8-bit)
ve Unicode (16bit). Bu formatta veriler yazı karakterlerinin kodları olarak
gönderilir. ASCII'de toplam 128 karakter, ANSI'de toplam 256 karakter ve
Unicode ise 65536 farklı karakter gönderilebilir.
-
ASCII Hex
Metin modu karakterlerden oluşan bir dosyayı göndermek için idealdir. Ancak
ikilik (binary) verilere sahip dosyaları da karakterler ile temsil ederek
gönderebiliriz. İkilik kodun kendisinin gönderilmesi yerine her bir 4 biti
temsilen bir on-altılık sayının karakteri gönderilir. Örneğin 104 sayısı 0110
1000 olarak ikilik koda çevrilir.
0110= 6, 1000= 8 olur. Böylece gönderilecek karakterler tespit edilmiş olur:
ASCII kod cetvelinde 6 rakam karakteri, 36'ya ve 8 rakam karakteri 38'e
karşılık gelir. Bu iki bayt birbirini takip edecek şekilde ikilik olarak
gönderilir. Ancak bu tür kodlamada fazladan bir bayt gönderilmiş olur ve
haberleşme verimi düşmüş olur. Çok sayıda verinin gönderilmeyeceği durumlarda
ise sorun oluşturmaz.
|

|
|
UART çipinin iç yapısı
|
Üstteki
şekilde kişisel bilgisayarlarda kullanılan UART entegresinin iç yapısı
görülmektedir. Bu çip, 8250 entegresinin bir türevidir. Günümüzdeki UART'lar
oldukça fazla yardımcı ve bellek (FIFO) birimleri içermektedirler. Modern UART
entegreleri genellikle 16550 entegresini temel almaktadırlar.
UART entegrelerinin temel görevi, paralel bilgiyi seriye ve seri bilgiyi de
paralele çevirmektir.
Seri
porta ait bilgilere erişmek için önce,
Bilgisayarım
simgesinin üzerine fare ile sağ-tıklama yapıldığında
Özellikler
maddesinin Donanım
sekmesinden aygıt yöneticisi
seçilir. Aygıt yöneticisinden
Bağlantı Noktaları ve İletişim Bağlantı Noktası (COM1)
veya (COM2)
seçilerek UART kartının özellikleri görülebilir.
Her bir port bilgisayar
tarafından bir adrese atanır ve ayrıca her biri için kesme (interrupt) numarası
belirlenir. Atana adres ve kesme numaraları bilgisayar tarafından yönetilen
kaynakların bir parçasıdır.
Atanan bu
kaynakların zorunlu kalınmadıkça ve ne yaptığınızı bilmedikçe değiştirmeyiniz.
Zira değiştirdiğiniz adres veya kesme numarası başka bir sistem tarafından
kullanılıyor ise cihazların çakışması engellenemez.
Ayrıca
bknz.
|
|
Önceki sayfa |
|
|
|
|