D + ve D- nin farklı sinyaller olduğunu duydum, bir USB cihazını bilgisayara bağlarken bunları değiştirmem önemli mi?
D + ve D- nin farklı sinyaller olduğunu duydum, bir USB cihazını bilgisayara bağlarken bunları değiştirmem önemli mi?
Yanıtlar:
Boş duruma girerken ve çıkarken, polarite önemlidir ve D + ve D-çizgilerini değiştirmek sorunlara neden olur.
USB verileri NRZ kodludur, öyle ki "Bir" fiziksel seviyedeki bir değişiklik ile gösterilmez ve "Sıfır" fiziksel seviyedeki bir değişiklik ile temsil edilir (aşağıdaki şekle bakınız). Bu nedenle sinyalin tersine çevrilmesi (örneğin, D + ve D- 'nin değiştirilmesiyle) veri iletimi sırasında işlevsel bir değişiklik yapmaz. Ancak, veri iletiminden önce ve sonra cihazla iletişimi kesebilecek sorunlar olabilir.
Ana bilgisayar, her veri hattında 15 kΩ dirençli direnç içerir. Hiçbir cihaz bağlı değilken, bu her iki veri hattını da "tek uçlu sıfır" durumuna (USB belgelerinde SE0) çeker ve sıfırlama veya bağlantısız bağlantıyı gösterir. Bir USB cihazı, 1,5 kΩ direnç ile veri hatlarından birini çeker. Bu, ana bilgisayardaki aşağı çekme dirençlerinden birini güçlendirir ve veri hatlarını "J" adı verilen boşta bir durumda bırakır. USB 1.x için veri hattı seçimi, cihazın hangi sinyal hızlarında olduğunu gösterir; tam bant genişlikli cihazlar D + yüksek çekerken, düşük bant genişlikli cihazlar D− yüksek çekiyor.
Veriler NRZI kodluyken, senkronizasyon dizisi ve EoP sabit durumlar (J / K / SE0) cinsinden tanımlanır. D + ve D- değiştirildiğinde, J durumu K ile değiştirilir ve SE0 hala SE0'dir (her iki hat da düşük). Böylece senkronizasyon sırası ve EoP inversiyonda yanlış olur. USB 1.x'te, D + ve D- değiştirilirse, tam bant genişlikli cihazlar düşük bant genişliği ve bunun tersi olarak tanınır. Böylece cihaz, ana bilgisayar ile aynı hızda iletişim kurmayacaktır.
EOP (paketin sonu) adı verilen bir USB paketinin ucu, vericinin 2 bit süren SE0 (D + ve D− maks. Bundan sonra, verici D + / D− çizgilerini sürmeyi durdurur ve yukarıda belirtilen yukarı çekme dirençleri onu J (boşta) durumda tutar.
D + / D-swapplı bir sürücüde, ana bilgisayar doğru (SE0, SE0, J) yerine sırayı (SE0, SE0, K) görecektir. Ana bilgisayar daha sonra sorunlara neden olabilecek paketin sonunu tanımakta başarısız olabilir.
Cihaz ve ana bilgisayar kesinlikle USB spesifikasyonlarına uyuyorsa, D + ve D-pinlerini değiştirmek arızaya neden olur. Ev sahibinin tasarımcısının böyle bir arıza modu öngördüğü ve onun için uygunluğa sahip olduğu düşünülebilir. Ancak bu şekilde değiştirilmiş bir kablonun pratikte işlevsel olup olmayacağı, kesinlikle şartnamelere uygun olmayacaktır.
Başka bir üye, Andrew Kohlsmith, USB hub'ının pimleri yanlışlıkla değiştirildiğinde bunu yaşadı. Sorun kendini göstermeyen bağlı cihazlar olarak ortaya koydu. USB cihazı açık olduğunu ancak göbeğin akış yukarı tarafındaki bilgisayar tarafından (sunucuya doğru şekilde bağlanmış) hiç tanınmadığını gösterecekti.
Düzenleme: yorum yapanlara teşekkür ederiz. Yardımcı notlarınıza vurgu ve detaylar ekledim.
Aygıtların yalnızca d + ve d- değiştirildiğinde, düşük hızda pazarlık yaptıklarını gördüm. Bu, tam hızlı (12 mbps) bir cihaz ve VIA yonga seti tabanlı bir port ile yapıldı.