Hazırlayan: Bülent ŞIVGIN – RS485 (balanced data transmission) hakkında Türkçe detaylı bilgiler bulunuyor uzun mesafeli seri iletişim uygulamaları için RS-485 kullanılıyor projeleriniz için gerekli bir çok bilgi, hesaplama ve daha fazlası. Emeği geçen hazırlayan kişilere teşekkürler.
RS-485
Bilindiği üzere RS-232 kısa mesafeli iletişim için tasarlanmış bir seri iletişim standardıdır. RX ve TX üzerinden iletilen bilgiler referans seviyesi olan GND’ye göre belirlenmektedir. RS-232 ile kısa mesafeli ve 115.2 K gibi hızlara ulaşılabilmektedir. Gürültülü ortamlar için uygun değildir. RS-232 sürücüleri bir çok alıcıyı aynı anda sürebilecek şekilde dizayn edilmemiştir.
RS-485 daha uzun mesafelerde, gürültülü ortamlarda, daha yüksek hız gerektiren yerlerde, daha çok alıcı vericinin gerektiği yerlerde kullanılmak üzere geliştirilmiş bir seri iletim ortamıdır. Bilindiği üzere RS-232 standardında yazılım katmanında kullanılan protokolün ne olacağı, iletim katmanında konnektörlerin ne olacağı gibi özellikler kesindir. RS-485 standardı ise sadece iletim katmanı için standart belirlemiştir. Yazılım katmanında kullanılacak protokol ve kullanılacak konektör tiplerini kullanıcının isteğine bırakmıştır.
RS-485’in temeli dengelenmiş hat üzerinden verilerin iletilmesi (Balanced Data Transmission) mantığına dayanır. RS232 dengelenmemiş (unbalanced) iletim ortamı olarak adlandırılır. RS-485 üzerinden veriler A ve B adları verilen iki kablo üzerinden iletilir. Bu iki uç dengelenmiş hatlardır. Dengelenmiş hatlarda vericilerde diferansiyel (fark kuvvetlendiriciler) sürücüler, alıalarda ise diferansiyel alıcılar (fark alıcılar) bulunur. Böyle bir hat aşağıda gözükmektedir.
Balanced Data Transmission
Dengelenmiş hattın mantığı şöyledir, eğer veri iletilirken iletim ortamında bu iki hatta da aynı yolla gürültü bulaşırsa, alıcının girişindeki fark kuvvetlendiricileri bu iki hattın farkını alacaklarından girişteki toplam gürültü miktarı sıfır olacaktır. Dolayısı ile hat boyunca veriye binen gürültünün alıcı girişindeki etkisi minimuma inecektir. Ayrıca fark kuvettlendiricilerinin Orta Nokta (Comon Mode) özelliğinin iyi olması nedeni ile verid ve alıcının GND farklarından oluşabilecek sorunlarda minimuma indirgenebilmektedir.
RS-485 sürücülerinin bu özelliği burulmuş (tvvisted pair) kablo kullanılması ve doğru sonlandırma yapılması ile çok uzun mesaflerde (1200 m) çok yüksek hızlar (10 Mbitsn) sağlayacaktır. Burulmuş kablo iki burgu arasında faz farkı yaratarak gürültünün azalmasına yardımcı olurken, sonlandırma işlemi iletim ortamındaki yansımayı minimuma indirecektir.
RS485 standardı alıcı ile vericinin GND’leri arasında 7 Volta kadar farka müsade eder. Buda çipin 5V besleme voltajına göre -7 V ile +12V (5+7) GND kaymasına müsade etmesi demektir. Böylelikle alıa ve vericinin farklı güç kaynakları dolayısı ile oluşacak GND fakından dolayı oluşan sorunları minimuma indirger. RS-485 sürücüler 60 mA sağlayacak şekilde dizayn edilir. Bu 60 mA, 32 adet alıcının devreye bağlanması, sonlandırma direncinin sisteme dahil edilmesi ve en kötü şartlar göz önüne alınarak belirlenmiştir. RS-485 sürücüleri termal shut down (ısı ile kapanma) özelliğine sahip olup A ve B uçlarından fazla akım çekilmesine izin vermeyerek çipi korurlar. RS-485 alçılarının giriş direnci 12KOhm olarak standartlaştırılmıştır.
RS485 üzerinden veri A ve B adı verilen (bazı kaynaklarda + ve – olarak belirtilir) iki kablo üzerinden iletilir. RS485 birbirine göre tam zıt iki sinyal kullanır. Yani A sıfır iken B birdir, iletilen veri’nin durumu bu iki sinyalin aritmetik farkından tespit edilir.
Eğer Va-Vb’nin aritmetik farkı 200mVdan büyük ve eşit ise çıkış bir, eğer Va-Vb’nin aritmetik farkı -200mVdan küçük ve eşit ise çıkış sıfırdır. Aşağıda herhangi bir UART çıkışında b’01010101′ bilgisinin hem RS232 den hemde RS485’de nasıl ifade edildiği verilmiştir.
Aşağıda bir RS-485 sürücüsü olan SN75176 entegresinin blok diagarmı ve doğruluk tablosu verilmiştir.
RS485 standardı 32 adet Alıcı-Verici çiftinin aynı anda sisteme bağlanmasına izin verir. Ancak istisnai durumlar olarak çok düşük hızlarda sisteme 64 hatta 128 uç bağlanabilir. Ancak sistemin kararlı çalışması garanti edilemez. RS-485 topolojisi 2 uçlu ya da 4 uçlu şekilde olabilir. İki uçlu yapıda veriler master (efendi) ile slave (köleler-uç noktalar) arasında half dublex (aynı anda tek yönlü) olarak yapılır. Yani data akışı tek yönlü olup, veri ya efendiye doğrudur ya da uç noktalara doğrudur. Uç noktalar efendi ile konuşabilecekleri gibi birbirleri ile de konuşabilirler. Ancak hatta bir kargaşa oluşmaması için hattın veri trafiğinin biri tarafından kontrol edilmesi gerekir. Bu işi efendi yapar.
Dört uçlu yapıda veriler full dublex (aynı anda iki yönlü) olarak efendiden uç noktalara ve uç noktalardan efendiye doğru iletilebilir. Bu yapıda uç noktaların efendiye ilettikleri bilgi diğer uç noktalar tarafından dinlenemez. Uç noktalar birbirleri ile konuşamaz. Bu yapıda da aynı anda iki ya da daha fazla uç noktanın veri göndermek istemesi ile oluşacak kargaşayı önlemek için hattaki veri trafiği efendi tarafından kontrol edilir.
Yukarıda bahsedildiği gibi RS485 iletim ortamı alıcı ve verici arasında -7V ile +12V arasında GND kaymalarına izin verir. Ancak bu GND kaymalan bunun üzerinde olursa data iletiminde problem çıkar. Bu tür durumları önlemek için ilave bir GND hattı kullanmak faydalı olacaktır. Aşağıda iki uçlu bağlantı için toprak bağlantısının kullanımı verilmiştir. Kullanılan 100 Ohm luk dirençler kısa devre korma dirençleridir.
RS-485 hattı yakınında motor gibi çok gürültü üreten cihazlann güç kabloları geçiyorsa buradaki oluşacak kısa süreli geçiş voltajları RS485 hattı üzerine yüksek voltaj binişleri yapacaktır. Pratik olarak güç hatlarından data hatlarına girişim güç hattındaki voltajın %10’u kadardır. Yani data hattının yanındaki bir güç hattında oluşacak olan 1000 Voltluk bir pik darbe data hattına 100 Voltluk bir voltaj bindirecetir. Bu da alıcı devrelerinin bozulmasına neden olucaktır. Bu tür ortamlarda çalışacak RS-485 cihazları için galvanik izalasyon devreleri kullanılması uygun olacaktır. Galvanik izalasyon devresi optik ya da trafolu olabilir. Optik izalasyonlu devrede kullanacak optokuplerlerin hızları hattın hızını belirleyecektir.
RS-485 bağlantı yapısında efendi ile uç noktalar bir sıra üzerinde dizilmesi en uygun bağlantı şeklidir. Ayrıca uç noktaların ana hatta en kısa bağlantı ile bağlanması çok önemlidir. Aşağıda bazı bağlantı şekilleri verilmiştir.
RS-485 de data hattındaki veri hızı birçok parametreye bağlı olsa da çok iyi ayarlanmış uzun olmayan bir hatta 25 Mbite kadar hızlara ulaşılabilir. Aşağıda hat uzunluğu ile elde edilebilecek hat hızı arasındaki ilişki verilmiştir.
10 metreye kadar olan mesafelerde SN75ALS176 türü bir sürücü ile 25 Mbit saniyelik hızlara ulaşılabilir. Hat uzunluğu 10 metrenin üzerine çıkmaya başlayınca hat kayıplarından (hattın kapasitif etkisinden dolayı hat alçak geçiren filtre özelliği gösterir) dolayı hız düşer. Hattın başında veiciden çıkan sinyalin yükselme süresi 3ns iken 20 metrelik hattın sonunda bu süre lOns’ye ye kadar çıkar. Bu da hattın alçak geçiren filtre özelliğidir. Pratik olarak bir hatta ulaşılabilecek
hız;
Data Hızı x Hat Uzunluğu<10E8
olarak formüle edilebilir. Bu formüle göre hat uzunluğu 100 metre olan bir RS485 iletişiminde kullanılacak hız 1 Mbit/saniye dir. Ayrıca çok uzun hatlarda kullanılan kablonun direncide gözönüne alındığında hat vericiden çıkan sinyalin alıcıya ulaşana kadar zayıflamasına neden olur. Burulmuş bir 1000 metrelik 2×0.6 mm kablonun direnci 100 ohm civarındadır.
Gürültü etkisini azaltmak için burulmuş kablonun blendajlı (shield) türü tercih edilmelidir. Genellikle 24AWG türü ve karakteristik empedansı 100-120 Ohm olan tercih edilmelidir. RS-485’de Blendajın her iki ucu da topraklanmalıdır. Eğer blendajın sadece bir tarafı topraklanırsa boşta bırakılan uç yüksek frekanslar için anten görevi yaparak etraftaki gürültüyü toplar, bu nedenle blendajın iki ucu da topraklanmalıdır.
Blendajın sadece bir tarafının topraklanması audio uygulamalan gibi daha düşük frekanslı iletişim ortamları için uygundur. Blendaj genelede cihazın metal kutusuna bağlanarak topraklanırken diğer tarafta basit bir RC devresi üzerinden cihazın meatl akşamına bağlanmaldır. Diğer taraftaki RC devresi blendaj üzerinden akabilecek doğru akımın sınılanmasına yardımcı olur.
RS-485 iletişim ortamındaki en önemli konulardan biri de hattın sonlandınlmasıdır. Eğer iletim hattının empedansı uç noktanın empedansı ile uyumlu olmaz ise iletilen sinyal yük tarafından tamamen emilemeyeceği için sinyalin bir kısmı hatta yansır. Bir hatta yansıma var ise hattadaki sinyal kararlı bir düzeye gelmiyeceği içn hattaki verinin sıfır mı bir mi olduğu tespitinde sorun olur. Çünkü hattaki yansımanın etkisi ile sinyal seviyesi sürekli değişir. Eğer kaynak, iletim kattı ve yük empedansı uyumlu ise bu yansıma minimuma indirgenir. Tabi sonlandırmanın dezavantajıda vardır.
Devre dizaynını karmaşıklaştırır. Sonlandırmanın kullanılıp kullanılmayacağına sistemde kullanılacak kablo uzunluğuna ve data hızına göre karar verilmelidir. Bu konu için kural şudur; eğer iletim hattının iletim gecikme süresi (propagation delay) bir bit süresinden çok daha az ise sonlandırmaya gerek yoktur. 1200 metrelik bir kabloda bilginin 2.7 mikrosaniyede iletildiği ve sinyalin stabil hale gelmesi üç turda (round trip) olacağı farzedilerse sinyal yaklaşık 8.1 mikrosaniyede stabil hale gelicektir. 9600 bpslik bir hızda bir bit süresi 104 mikrosaniye olduğu göz önüne alınırsa 8.1 mikrosaniye çok küçük bir zaman olarak kalıcak ve verinin durumu tespit edilene kadar hat kararlı hale gelmiş olacaktır.
Bu hızda sonlandırma yapmaya gerek kalmayacaktır. Sonlandırma dirençleri sadece hattın başında ve sonunda olmalıdır. Aradaki uç noktalarda kesinlikle sonlandırma dirençleri kullanılmamalıdır. Sonlandırma dirençlerinin seçimi en basit olarak kullanılan kablonun karekteristik empedansı ile aynı olması şeklindedir. Bu şekilde yansıma önlenir.Genellike 100 ya da 120 Ohm karakteristik empedanslı kablolar tercih edildiğinden sonlandırma dirençleri de bu değer de seçilebilir.
Bu yöntemin tek dezavantajı sonlandırma dirençleri üzerinden gereksiz güç harcaması olabilir bunu önlemek için seri bir kapasitör kullanılabilir. bu kondansatörün değeri 100 nF seçilebilir. 90 Ohm dan küçük sonlandırma dirençleri kullanılmamalıdır. Aşağıda bir kaç çeşit sonlandırma yöntemi gösterilmiştir.
RS-485 iletim ortamındaki diğer önemli bir konu ise tüm noktaların dinleme ya da tri-state konuma geçmesidir ki bu durumda hattın sıfır mı yoksa bir mi olduğu belli değildir. Bu da önemli bir sorundur. Çünkü start pulsi bekleyen alıcılar için bu belirsizlik durumu yanlış bir start pulsi algılamasına yol açabilir. Hattın belirsiz bir durumda olmasını engellemek için hattın bir şekilde güvenilir bir seviyede tutulması gerekir. Bu da en basit olarak pull-up ve pull-down dirençleri ile sağlanabilir. Hattın sonunda (bu master tarafında olabilir) transiver (alıcı vericide) A hattı bir dirençle 5 Volta, B hattıda bir dirençle GND ye bağlanır. Bu dirençlerin seçimi hatta kaç adet uç bağlı olduğu ve sonlandırma dirençleriyle ilgilidir. Aşağıda bu dirençlerin seçimi ile ilgili iki adet örnek verilmiştir:
Örnek 1: Sistemde 10 adet aha verici noktası olduğunu ve hattın 120 Ohmluk sonlandırma dirençleri ile sonlandırıldığını farzedersek. Burada kulanılacak pull-up ve pull down dirençleini hesaplayalım. Her bir RS-485 alıcı verici modülünün giriş direnci 12 KOhm dur. Toplam 10 adet modülün parelel direnci 1200 Ohm olur. Ayrıca hatta bağlı olan 2 adet 120 Ohmluk sonlandırma direncide 60 Ohm luk parelel bir direnç oluşturur sistemdeki toplama parelel direnç değeri 57 Ohm olur. Sisetmin kararlı çalışması için A ve B uçları arasında 200 mV’luk bir voltaja ihtiyaç vardır. 57 Ohmluk direnç üzerinde 200 mV oluşturmak için 3.5 mA akıma ihtiyaç vardır. 5V luk bir besleme için 3.5 mA lik akımı 1428 Ohm direnç ile elde ederiz. Bunun 57 Ohmu parelel dirençlerden geldiğine göre pull-Up ve Pull-down dirençleri 685 Oh olarak seçilirse sistem tüm uçların alıcı olduğu durumda kararlı çalışır.
Örnek 2: Sistemde 32 uç var ve sistem düşük hızla çalştırılıyor ve sonlandırma dirençleri kullanılmıyor bu durumda gereken pull-up ve pull-down dirençlerini hesaplayalım; her bir RS-485 alıcı verici modülünün iç direnci 12 Kohm ise toplam parelel direnç 375 ohm olur. A ve B uçları arasında 200 mV voltaj elde etmek için 0.53 mA akıma ihtiyaç vardır. 5Voltta bu akımı 9375 ohmluk bir dirençle elde ederiz. Bu direncin 375 ohmu zaten modüllerin iç dirençlerinin parelel değerinden gelmektedir. Dolayısı ile 4.7 KOhmluk dirençler seçilebilir.
Aşağıda PIC ve SN75176 kullanılan RS-485 iletim altyapısı için örnek bir devre verilmiştir. Bu temel devre yukarıdaki kurallar çerçevesinde geliştirilebilir.
NOT: Okurlarımızdan @Adil yukarıda ki şemada A ve B dirençlerinin ters olduğunu bildirdi A`nın direnci 5 volta B`nin direnci GND hattına bağlanacak diyor bilginiz olsun. Bildirim için teşekkürler
Bülent ŞIVGIN (2006)
Yararlanılan Kaynaklar:
Texas Instruments Data Transmission Design Seminar 1998
www.microchip.oom….. Application Note774
www.National.com….. .Application Note 409-972-903-979-1057
http://www.hw-server.com/docs/rs485.html
www.bb-europe.com…….RS-485 Application Note
Yayım tarihi: 2009/12/01 Etiketler: haberleşme, rs232, rs485, rs485 protokol, rs485 türkçe bilgi, rs485 uzatma, seri iletişim, SN75176
Selam
öncelikle böyle güzel ve faydalı bir site sundunuz için tebrik etmek isteri
buradaki link kırık lütfen 4shared veya bir başka share sitesine paylaşabilirmisiniz.
şimdiden çok teşekkürler..
kolay gelsin
tüm bilgiler yazıya aktarıldı
Sevdiğm tüm arkadaşlarıma bu siteyi tavsiye ediyorum
eline sağlik Gew
teşekkür ederim. RS485 ile ilgili bilgilere…
Teşekkürler…
teşekkürler gerçekten imternetteki rs485 üzerine yazılmış tek türkçe kaynak diyebilirim.
ben bülent bu yazdığım makaleyi değişik yerlerde görmekten memnun oldum. herkese yardımcı olduğunu umuyorum. saygılar
bide cccs veya c dilinde örnek proje paylaşırsanız ne de güzel olurdu
Şu zamana kadar okuduğum en iyi RS-485 kaynağı.Çok teşekkür ederim..
Bülent Hocam engin bilgilerinizi paylatığınız için teşekkür ederim. 250 metre mesafede 1 master 32 slave için cat5 kablolu bir sistem tasarlamam gerekiyor.tavsiyeleriniz ne olur?
Bu kadar değerli bilgileri, emek döküp anlaşılır şekilde ve türkçe . Bravo. Ellerinize sağlık.