RS485 Haberleşme Protokolü Hakkında

Başlatan batuhann, 14 Haziran 2021, 11:06:43

batuhann

Arkadaşlar selam, RS485 haberleşmesi ile ilgili aklıma takılan birkaç soru var. Şuanda çalıştığım bir projede RS485 haberleşme protokolünü kullanıyorum. Donanımsal olarak MAX485 entegresi kullanıyorum. Sistemde bir adet master ve 3 adet slave bulunuyor(şimdilik 3 adet sonrasında bu sayı artacak) ve bu slavelerin adreslerini yazılımsal olarak sırası ile 1, 2, 3 olacak şekilde ayarladım. MAX485 entegresinin doğası gereği half duplex haberleşme yapıyorum. Başlangıç aşamasında basitçe yapmak istediğim olay şu şekilde: Master cihaz bilgi almak istediği slave cihazın adresini gönderecek, slave cihaz kendi adresini doğru aldığına dair master cihaza doğrulama haberi verecek ve ardından bilgi aktarımı başlayacak. Bu olay sırasıyla sisteme bağlı olan slave cihazlar ile haberleşme şeklinde devam edecek. Böyle bir sisteme göre sormak istediğim sorular şu şekilde

1- RS485 yazılımı kısmında, RS232'de kullanılan yazılımın aynısı kullanılabilir mi? (MAX485 entegresinde bulunan DE ve RE pinlerine verilecek lojik sinyale göre veri gönderme ve veri alma modu seçiliyor bunun haricindeki yazılım kısmı aynı şekilde yapılabilir mi?). Benim anladığım kadarıyla haberleşme yazılımı aynı şekilde yapılabilir ama yine de sizlere sormak istedim.

2- USART haberleşme protokolünde senkron ve asenkron haberleşme modu bulunuyor. Senkron mod haberleşmede mikrodenetleyicinin ilgili 3 pininden haberleşme sağlanıyor (bunlar RX, TX ve XCK yani senkronizasyon için clock sinyali çıkış pini) Böyle bir sistemde senkron mod kullanılarak haberleşme yapılmaya çalışılırsa mikrodenetleycinin XCK pininden alınan clock sinyali uzun mesafelerde bulunan slave cihazlara nasıl sorunsuz bir şekilde aktarılabilir. Sonuçta mikrodenetleyiciler lojik voltajlarda çalışıyor ve XCK pininden doğal olarak 0-5 V  seviyelerinde bir voltaj çıkacak. Bu sinyali 50 metre gibi uzaklıklara sorunsuz şekilde aktarmak çok zor gibi.

3- Asenkron modda haberleşme yapılarak (sadece RX ve TX pinleri üzerinden) bu sistemin senkron bir şekilde çalışması nasıl sağlanabilir. Anladığım kadarıyla yazılımsal olarak senkron şekilde çalışması imkansız gibi. Bu konu ile ilgili sizlerin önerilerinizi merak ediyorum

Herkese iyi çalışmalar

OG

#1
RS485'de senkron iletişim kullanamazsın, çünkü hat 1 tane, senkron iletişim en az 2 hat ister (türüne göre de artar),

Asenkron iletişim ve tek yönlü (aynı an için) olmak şartı ile her türlü seri protokol kullanılabilir,
haberleşmede UART'ı kullanacaksan (donanım avantajı),
UART'ın yapısına uygun olduğu için, çok bilinen, 8N1 gibi formatlar işini kolaylaştırır.

485 için dikkat edilecek temel husus,
master veya slave'ler, gönderimi (TX) bittiği gibi hemen RX pozisyona geçmesi (DE ve RE\  pinlerinin LOW yapılması)
aksi halde çakışmalar yaşanır.

https://www.picproje.org/index.php/topic,59991.0.html
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.