USB 3.0 prizlerinin pinlerine baktığımda, ayrı iletim ve alım çiftleri olduğunu görebiliyorum, ancak USB 2.0 için yalnızca bir "veri" pin çifti var. USB 2.0, aygıtların aynı anda iletişim kurmamasını nasıl sağlar?
USB 3.0 prizlerinin pinlerine baktığımda, ayrı iletim ve alım çiftleri olduğunu görebiliyorum, ancak USB 2.0 için yalnızca bir "veri" pin çifti var. USB 2.0, aygıtların aynı anda iletişim kurmamasını nasıl sağlar?
Yanıtlar:
USB kesinlikle master-slave. Ana makine iletmesini söylemedikçe cihaz iletmez.
"Kesinti" olarak adlandırılan mod bile gerçekten sorgulayıcıdır: örneğin, her 8 milisaniyede bir (veya bir oyun fareniz varsa daha az), PC fareye "konumunuzun ne olduğunu" sorar ve fare yanıt verir.
Örneğin, bir USB seri arayüzünüz varsa. Arabirim seri hattan veri aldığında, PC'ye iletmez. Bunun yerine, bilgisayarın işlemi başlatmasını ve verileri istemesini bekleyecektir.
Bu web sayfasının , değiştirilen paketler hakkında iyi bir açıklaması var. Temel olarak, USB'nin mümkün olan en basit ve en ucuz çevre aygıtının çalışmasına izin vermek için uygulandığını unutmayın; bu, zekanın çoğunun ana bilgisayar, ana bilgisayar usb denetleyicisi, işletim sistemi ve sürücülerinde olduğu anlamına gelir. Bu spec okurken çok belirgindir.
Firewire (örneğin) tamamen farklı bir felsefeye sahiptir, çok daha güçlüdür, çoklu ana sistemdir, böylece cihazlar bir ana bilgisayar / ana sistemden yardım almadan birbirleriyle konuşabilir. Aslında felsefesinde USB'den ziyade üst üste bindirilmiş sabit senkronize transferli token ring gibi bir şeye daha yakındır. Ancak "multi master", karmaşık bir yazılım yığını çalıştıran cihazlarda güçlü bir mikrodenetleyici gerektirdiği anlamına gelir. Bu nedenle daha pahalıdır ve bu nedenle kameralar ve hızlı sabit disk muhafazaları gibi pahalı ürünlerle sınırlıdır. Bir firewire faresi bir anlam ifade etmiyor, çok pahalı olurdu. FireWire'ın başarısız olmasının sebeplerinden biri de bu.
USB çerçevesinde cihazlar aynı anda iletişim kuramazlar, çünkü yalnızca "USB ana bilgisayarı" konuşmalarına izin verdiğinde "konuşur". Ve USB host başka bir cihazın yalnızca ilk cihazla sıralı işlem protokolü tamamlandığında "konuşmasına" izin verir. Ve USB cihazlarının kendi başlarına "konuşmak" için hiçbir araçları yoktur, USB'de aktif bir kesme mekanizması yoktur. Kısaca, bu disiplinin uygulanma mekanizması aşağıdaki gibidir.
USB 2.0 aygıtları bağlandıktan sonra, ana bilgisayar bunları her aygıta benzersiz adresler atayarak numaralandırır.
Veri yolundaki her işlem USB ana bilgisayarı tarafından başlatılır.
Her USB işleminin başlığında belirli bir cihaz adresi bulunur. İşlemler tüm USB ağacı üzerinden yayınlandığında bile (belirli ana bilgisayar denetleyicisi örneğinde), yalnızca eşleşen adrese sahip cihaz işleme yanıt verir ve verileri alır ya da verilerle yanıt verir.
Daha sonra "ortaklar" bağlantısı, verileri başarıyla kimin aldığına dair bir onay gönderir. Tüm işlem, işlemin bütünlüğünü sağlamak için tanımlanmış belirteç sırası, zaman aşımı ve hata düzeltme kodları ile oluşturulmuş protokolü izler.
Diğer tüm cihazlar, yalnızca kendilerine yönelik olmayan trafiği dinliyor ve görmezden geliyor.
Bu konuda "yarı çift yönlü" arayüz.