17-Pic-Seri İletişim 2- I2C(Inter IntegratedCircuit)

 I2 C(Inter IntegratedCircuit) 

Seri haberleşme veri yolu azlığı ve maliyet açısından birçok alanda tercih edilen bir iletişim yöntemidir. Bundan dolayı birçok firma seri iletişim yöntemini kullanan cihazlar üretmektedir. Bun entegrelerin seri iletişim yöntemine I2C yöntemi denilir.


Rs-232 Nedir? Rs-485 Ne demektir? Rs232 nasıl çalışır? Rs485 nerede kullanılır?

RS232, RS422, RS423 VE RS485 bilgisayarlar ve diğer elektronik cihazlarda kullanılan seri haberleşme metotlarıdır.

 Kuşkusuz ki RS232 bu seri haberleşme metotları arasında en iyi bilinenidir, hemen hemen tüm bilgisayarlarda bir RS232 çıkışı bulunmaktadır.

RS232 maksimum 20 kbps veri iletim hızında sadece bir DTE ( data terminal cihazı ) nin sadece bir DCE ( data haberleşme cihazı ) ye bağlanabildiği bir haberleşme ara yüzüdür ve bu iki cihaz arasındaki maksimum kablo uzunluğu 15 metre olabilir. Bu mesafe ilk zamanlarda yeterli gelmekteydi ancak daha sonra teknoloji ve buna bağlıolarak ihtiyaçlar değişti :

- Daha uzun mesafede haberleşme
- Birden fazla DTE bağlama
- Daha hızlı haberleşme

RS485 EIA tarafından tanımlanmış çok yönlü bir seri haberleşme standardıdır. Yukarıda belirtilen ihtiyaçların hepsini sağlar. Bu yüzden birden fazla cihazın birbirleriyle haberleşmesi gereken veri işleme, ve kontrol uygulamalarında yoğun bir şekilde kullanılır.


RS232 nin en temel problemi sinyal hattı üzerindeki gürültüden kolay etkilenir olmasıdır. RS232 protokolü alıcı ve verici arasındaki data ve handshakeline voltajlarını ortak bir toprak hattı kullanarak karşılaştırır. Toprak hattındaki herhangi bir voltaj artımı felaket sonuçlar doğuracaktır. Bu yüzden RS232 tetikleme seviyesi +/- 3volta ayarlanmıştır. Bu nedenle mesafe arttığında gürültü hızla artar. RS485 standardında ise sinyal referansı için ortak sıfır kullanılmaz. Bu sebeple RS485 alıcı ve verici ünite arasındaki voltaj seviye farkı bir problem oluşturmaz. RS485 sinyalleri değişkendir ve her bir sinyal Sig+ ve Sig- hatları üzerinde iletilir. RS485 alıcısı sinyal hattı üzerindeki kesin voltaj seviyesi yerine iki hat arasındaki voltaj farkını karşılaştırır. Bu sayede bir çok haberleşme sorunun temeli olan toprak döngüsü önlenmiş olur.


RS485 in network yapısı data işleme ve kontrol uygulamalarında yoğun bir şekilde kullanılmasının ana nedenidir. 12 kohm giriş direnci ile networke 32 cihaza kadar bağlantı yapılabilir. Daha yüksek giriş direnciyle bu sayı 256 ya kadar çıkarılabilir. RS485 tekrarlayıcıları ile bağlanabilecek cihaz sayısı birkaç bine, haberleşme mesafesinde birkaç kilometreye çıkabilir. RS485 bunun için ayrıca bir donanım istemez yazılım kısmıda RS232 den zor değildir.


seri haberleşme

Yukarıdaki resim RS485 network yapısını göstermektedir. N kadar düğüm çok noktalı RS485 networküne bağlanmıştır. Hattın iki ucundaki R dirençleri 100 ohm seçilerek yansıma önlenmiş olur böylece daha yüksek hız ve daha uzun mesafeye erişilmiş olur.


RS485 in belli başlı teknik özellikleri
Maksimum sürücü sayısı : 32
Maksimum alıcı sayısı : 32
Çalışma şekli : HalfDuplex
Network Yapısı : Çok noktalı bağlantı
Maksimum Çalışma Mesafesi : 1200 metre
12 m kablo uzunluğunda maksimum hız : 35 Mbps
1200 m kablo uzunluğunda maksimum hız : 100 kbps
Alıcı giriş direnci : 12 kohm
Alıcı giriş duyarlılığı :+/- 200 mvolt
Alıcı giriş aralığı : -7…12 volt
Maksimum sürücü çıkış voltajı : -7…12 volt
Minimum sürücü çıkış voltajı ( yük bağlı durumda ) : +/- 1.5 volt


Seri İletişim için kullanılan programlar

Bilgisayarda simülasyon yapmak istediğimizde port çakışmasıyla karşılaşırız. Bunun için sanal portlar oluşturabiliriz. Bunun için viturualserial port programları bulunmaktadır. Aşağıda bu amaçta bir program görülmektedir. Aşağıda sanal com1 ve com2 bulunmaktadır. C# yazılmış bir programla isis aynı anda çalıştırılıp çalıştırılabilir. 


C# kodu

CCS kodu

if(!serialPort1.IsOpen) serialPort1.Open();


            serialPort1.Write("v");

gl = serialPort1.ReadLine();

            textBox1.Text = gl;


          serialPort1.Close();

        }


bilgi=read_adc();

sicaklik=bilgi*2;

//putc(sicaklik);

gb=getc();

itoa(sicaklik,10,gd);

if (gb=='v')

      {

//output_high(PIN_D1);

puts(gd);


      }



Aşağıdaki program C# ile yazılmış progra ile isis programı arasında iletişimin yapıldığı bir resimdir. 


Yorumlar