USB (Universal Serial Bus), 1990'ların ortalarında Compaq, DEC, IBM, Intel, Microsoft, NEC ve Nortel konsorsiyumu tarafından çevre birimlerinin bilgisayarlara bağlanmasını standartlaştırmak amacıyla geliştirilmiş asenkron/senkron seri bir haberleşme ve güç iletim standardıdır. RS-232, Paralel Port ve PS/2 gibi karmaşık ve yavaş arayüzlerin yerini alarak günümüzün en yaygın veri ve güç iletim standardı haline gelmiştir.

Klasik USB 2.0 mimarisi, yarı çift yönlü (Half-Duplex) diferansiyel sinyalleşme kullanır ve 4 ana hattan oluşur (USB 3.0+ versiyonlarında ek SuperSpeed diferansiyel çiftleri eklenmiştir):
USB,Strict bir Host-Centric (Merkezi Ana Bilgisayar) Tiered-Star (Kademeli Yıldız) topolojisine sahiptir. Veriyolundaki tüm trafiği Host (Master) yönetir; hiçbir cihaz Host sorgulamadığı sürece kendiliğinden veri gönderemez (USB OTG hariç). Tek bir USB kontrolcüsüne Hub'lar aracılığıyla teorik olarak 127 adede kadar cihaz bağlanabilir.
| Transfer Tipi | Hata Kontrolü | Kullanım Alanı / Cihaz Örnekleri |
|---|---|---|
| Control Transfer | Var (Garantili) | Cihaz konfigürasyonu, numaralandırma (Enumeration) ve komutlar. |
| Interrupt Transfer | Var (Düşük Gecikmeli) | Klavye, Fare, Joystick (HID Sınıfı) gibi periyodik küçük paketler. |
| Bulk Transfer | Var (Yüksek Doğruluk) | USB Bellekler, Harici Diskler, Yazıcılar (Bant genişliği kalırsa iletilir). |
| Isochronous Transfer | Yok (Akan Veri) | USB Kulaklıklar, Mikrofonlar, Web Kameraları (Gecikmesiz gerçek zamanlı akış). |
Günümüz modern mikrodenetleyicilerinde (ESP32-S2/S3, STM32F4 vb.) harici FTDI/CH340 gibi dönüştürücülere ihtiyaç duymadan doğrudan çip içindeki dahili USB donanımı kullanılarak Native USB CDC (Sanal COM Port) oluşturulabilir:
#include <Arduino.h>
// ESP32-S3 Native USB (USB CDC) Etkinleştirilmelidir
// Arduino IDE -> Tools -> USB CDC On Boot: "Enabled"
void setup() {
// Harici UART çipi olmadan doğrudan dahili USB PHY kullanılır
Serial.begin(115200);
// USB Bağlantısının kurulmasını bekle
while (!Serial) {
delay(10);
}
Serial.println("ESP32-S3 Native USB CDC Haberleşmesi Başlatıldı!");
}
void loop() {
// USB'den veri geldi mi kontrol et
if (Serial.available()) {
String komut = Serial.readStringUntil('\n');
komut.trim();
Serial.print("USB Üzerinden Alınan Komut: ");
Serial.println(komut);
if (komut == "STATUS") {
Serial.println(">> Sistem Durumu: OK (Dahili USB Çalışıyor)");
}
}
static unsigned long sonZaman = 0;
if (millis() - sonZaman > 2000) {
sonZaman = millis();
// USB Paketlerini yüksek hızda PC'ye aktar
Serial.printf("USB Canlılık Sinyali (Uptime: %lu ms)\n", millis());
}
}
| USB Standardı | Lansman Yılı | Maksimum Veri Hızı | Mod / Sinyalleşme |
|---|---|---|---|
| USB 1.1 | 1998 | 12 Mbps (Full Speed) / 1.5 Mbps (Low Speed) | Half-Duplex (2-Tel) |
| USB 2.0 | 2000 | 480 Mbps (High Speed) | Half-Duplex (2-Tel) |
| USB 3.2 Gen 1 (USB 3.0) | 2008 | 5 Gbps (SuperSpeed) | Full-Duplex (Ekstram Çiftler) |
| USB 3.2 Gen 2x2 | 2017 | 20 Gbps (SuperSpeed+) | Full-Duplex (Dual-Lane Type-C) |
| USB4 2.0 | 2022 | 80 Gbps / 120 Gbps (PAM3 Sinyalleşme) | Dynamic Tunneling (PCIe, DP, USB4) |
Henüz yorum yapılmamış. İlk yorumu siz yapın!