UART'ta baud rate, frame yapısı ve parity nedir? RS-485 UART'tan nasıl farklıdır?
Cevap
UART asenkron seri haberleşmedir: ortak saat hattı yoktur, iki taraf aynı baud rate'e önceden anlaşır. Hatlar: TX, RX, GND (opsiyonel RTS/CTS akış kontrolü).
Frame yapısı
Idle(1) | Start(0) | D0 D1 ... D7 | [Parity] | Stop(1) | Idle- Start bit: Hat 1'den 0'a düşer; alıcı senkronize olur.
- Data: 5–9 bit, LSB önce.
- Parity (opsiyonel): Even, odd veya none. Tek bit hatayı yakalar, çift bit hatayı yakalayamaz.
- Stop bit: 1 veya 2 bit, hat 1'e döner.
En yaygın ayar 8N1: 8 data, parity yok, 1 stop. Bir byte = 10 bit; 115200 baud'da efektif hız ≈ 11.520 byte/s.
Baud toleransı
Alıcı her biti ortasından örnekler ve her frame'de start bit ile yeniden senkronize olur. İki taraf arasındaki toplam saat hatası tipik olarak %2–3'ün altında olmalıdır. Dahili RC osilatör kullanan MCU'larda yüksek baud oranlarında sorun çıkabilir; kristal tercih edilir.
Hata türleri
- Framing error: Stop bit beklenen yerde 1 değil (baud uyuşmazlığı).
- Parity error
- Overrun: Yeni byte geldi ama önceki okunmadı (DMA veya ring buffer ile çözülür).
RS-232, TTL UART ve RS-485
| Özellik | TTL UART | RS-232 | RS-485 |
|---|---|---|---|
| Sinyal | Single-ended, 3.3/5 V | Single-ended, ±3..±15 V (ters mantık) | Diferansiyel (A/B) |
| Mesafe | Kart içi | ~15 m | ~1200 m |
| Topoloji | Noktadan noktaya | Noktadan noktaya | Multi-drop bus, 32+ cihaz |
| Duplex | Full | Full | Genelde half (2 tel) |
RS-485 yalnızca fiziksel katmandır; MCU tarafında yine UART kullanılır. Half-duplex'te transceiver'ın DE/RE pini gönderim sırasında açılır ve son byte'ın stop biti tamamen gönderildikten sonra (TC bayrağı) kapatılmalıdır. Hattın iki ucuna 120 Ω sonlandırma direnci konur. Üzerinde genelde Modbus RTU çalışır.
İlgili Haberleşme Protokolleri soruları
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.