RS-422 (güncel adıyla TIA/EIA-422), yüksek hızlı, uzun mesafeli ve gürültüye dayanıklı veri iletimi için geliştirilmiş bir diferansiyel seri haberleşme standardıdır. RS-232'nin mesafe ve hız sınırlamalarını aşmak amacıyla tasarlanmış olup, RS-485'in de doğrudan donanımsal temelini oluşturur. En belirgin özelliği tam çift yönlü (Full-Duplex) yapısı ve tek vericili / çok alıcılı (Single-Master / Multi-Drop) mimarisidir.

RS-422, veriyi göndermek ve almak için ayrı diferansiyel hat çiftleri kullanır. Bu sayede toplamda 4 adet sinyal hattı ve ortak bir referans (GND) hattı gerektirir:

Uzun mesafelerde sinyal yansımasını (reflection) önlemek amacıyla, alıcı uçlardaki RX+ ve RX- hatları arasına hattın empedansıyla eşleşen 100 Ω - 120 Ω Sonlandırma Direnci paralel olarak eklenmelidir.
| Parametre | RS-422 Standart Değeri |
|---|---|
| Maksimum Veri İletim Hızı | 10 Mbit/s (Kısa mesafede) |
| Maksimum İletim Mesafesi | 1200 Metre (~4000 Feet - 90-100 kbit/s hızda) |
| Çalışma Modu | Full-Duplex (Eşzamanlı Çift Yönlü) |
| Verici Sürücü Kapasitesi | 1 Verici (Driver) → Maksimum 10 Alıcı (Receiver) |
| Diferansiyel Çıkış Gerilimi | Min: ±2V, Tipik: ±5V |
| Alıcı Hassasiyeti | ±200 mV (Eşik seviyesi) |
RS-422 sürücülerinde yön pini (DE/RE) yönetimi gerekmeyen Full-Duplex çipleri kullanıldığı için, mikrokontrolcü tarafındaki kod doğrudan standart UART (HardwareSerial) kodudur. Yön değiştirme gecikmeleri (delay/flush) eklemeye gerek kalmaz:
#include <Arduino.h>
// RS-422 için ESP32 UART2 Pinleri
#define RX2_PIN 16 // Transceiver RXD pinine bağlı
#define TX2_PIN 17 // Transceiver TXD pinine bağlı
void setup() {
Serial.begin(115200); // Seri Monitör
// RS-422 için UART2 başlatılır (115200 Baudrate, 8N1)
// Yön pini gerekmez; verici ve alıcı sürekli aktiftir.
Serial2.begin(115200, SERIAL_8N1, RX2_PIN, TX2_PIN);
Serial.println("RS-422 Full-Duplex Düğüm Başlatıldı.");
}
void loop() {
// 1. Veri Okuma (Gelen paketleri anlık yakala)
if (Serial2.available()) {
String gelenVeri = Serial2.readStringUntil('\n');
Serial.print("RS-422'den Okunan: ");
Serial.println(gelenVeri);
}
// 2. Veri Gönderme (Eşzamanlı olarak karşı tarafa yazabiliriz)
static unsigned long sonZaman = 0;
if (millis() - sonZaman > 1000) {
sonZaman = millis();
// Yön kontrolü yapmak gerekmez, doğrudan yazılır
Serial2.println("RS422_TELEMETRY_DATA_OK");
}
}
| Özellik | RS-232 | RS-422 | RS-485 |
|---|---|---|---|
| Sinyal Tipi | Tek Uçlu (Single-Ended) | Diferansiyel | Diferansiyel |
| Çalışma Modu | Full-Duplex | Full-Duplex | Half-Duplex (Genellikle 2 tel) |
| Maksimum Mesafe | ~15 Metre | 1200 Metre | 1200 Metre |
| Maksimum Hız | 20 kbit/s - 115.2 kbit/s | 10 Mbit/s | 10 - 35 Mbit/s |
| Sürücü / Alıcı Sayısı | 1 Verici / 1 Alıcı (Point-to-Point) | 1 Verici / 10 Alıcı | 32 Verici / 32 Alıcı (Multi-Master) |
| Yön Kontrol (DE/RE) Pini | Gerekmez | Gerekmez | Gerekir (Half-Duplex'te) |
Henüz yorum yapılmamış. İlk yorumu siz yapın!