2 portlu USB cihazı - her ikisini de takan kullanıcılara karşı koruma


11

Kasanın karşı uçlarında birer adet olmak üzere 2 bağlantı noktası sağlamak istediğim Tam hızlı bir USB cihazım var. Böylece kablo en uygun yere bağlanabilir. MCU'mun (atmega32u4) yalnızca bir arayüzü var, bu nedenle fiziksel bağlantı noktaları paylaşılacak, ancak aynı anda yalnızca bir tanesi takılmalıdır.

Tabii ki kullanıcıların her iki tarafa aynı anda takmamalarına güvenilemez. Buna karşı nasıl korunulur?

Geldiğim fikirler:

  • Onları "olduğu gibi" bağlayın ve sunucunun birleştirilmiş D + / D- pinleriyle başa çıkabileceğini umun
  • Giriş olarak ayrı 5V pinli NAND geçidi, her ikisi de takılı olduğunda Vcc'yi ayıran bir MOSFET'e çıkış.

İkinci seçenek makul görünüyor mu veya daha karmaşık bir çözüm gerekli mi?


D + ve D-'yi birbirine bağlamak için iki bağlantı noktasını kablolamayı nasıl öneriyorsunuz? Önerdiğiniz düzeni açıklayan bir diyagram eklemelisiniz.
Güneş Mike

@SolarMike İkisi arasında paylaşılan - "doğru" senaryoda, yalnızca bir kablo bağlıyken, diğer konektörün D + / D'si sarkık kalır.
monty

7
Ayrıca kasayı hareketli bir kapakla tasarlamayı düşünmelisiniz, böylece aynı anda yalnızca bir usb bağlantı noktası ortaya çıkar. Bu şekilde, kullanıcıya iki ana bilgisayar bağlandığında ve biri çalışmadığında kafa karıştırmak yerine bağlantı noktalarından birine bağlanmalarına izin verildiğini açıkça bildirirsiniz.
Nonny Moose

4
bir erkek-erkek usb kablosu bulmayı başaran ve cihazı kendi içine takan kullanıcıyı unutma !!!
RozzA

Yanıtlar:


23

Belirtildiği gibi, iki ana makineyi doğrudan bir cihaza bağlayamazsınız - bu yüzden onları sadece birbirine bağladıysanız ve biri her iki ucuna da taktıysanız, bir sorununuz olur.

Bununla birlikte, yalnızca bir ucun takılı olması durumunda da bir sorun vardır. USB, özellikle yüksek hızlı (480Mbps) mod kontrollü empedanstır. Her iki konektör veri hattını birbirine bağlarsanız, yüksek frekanslı tasarımda saplama olarak bilinen şeyle sonuçlanırsınız. Kullanılmayan konnektöre giden kablo, aktif konnektörün performansını düşürecektir.

Bunu doğru bir şekilde yapmak için bir çoklayıcı IC istersiniz. Bu tür uygulamalar için özel olarak tasarlanmış özel USB2.0 çoklayıcıları satın alabilirsiniz - TS3USB30 gibi . Bu, her iki bağlantı noktasından veri hatlarını mux girişlerine ve çıkışı dahili olarak cihazınıza bağlamanızı sağlar. Mux, iletim hattı saplamalarını ayıracak kullanılmayan konnektörün bağlantısını kesecektir.

Güç için muhtemelen bir diyot OR-ing devresi gibi bir güç çoklayıcı kullanacağım. Bağlantı noktalarından birinden gelen (güç çoklayıcıdan önce) VBUS hattı, daha sonra veri çoklayıcısına giriş olarak kullanılabilir.

İki USB bağlantı noktası ile cihazınız arasında toprak ortak (bağlı) olacaktır.


1
Saplamaları dikkate almadım - çoklayıcı (güç çoklayıcı ile birlikte) ideal görünüyor!
monty

3
Saplamalar, tam hızda bir sorun olmamalı, bu da sorunuzda sorulan tek şey.
Dave Tweed

1
@DaveTweed Bu cevabın Yüksek Hız kapsamında olduğunu fark ettikten sonra Tam Hız açıklamasını ekledim. "Bundan kurtulabileceğimi" bilmek bu tasarım için iyidir, ancak kesinlikle daha yüksek hızlardaki sonuçları bilmeyi takdir ediyorum.
monty

Şimdi gerçekten atmega32u4 destek 480Mbps destek yapmak nasıl ilgileniyorum :)
Dmitry Grigoryev

9

Tom Carpenter'ın önerdiği gibi çoklayıcı iyi bir çözümdür.

Ancak tam hızlı USB (12 Mbps) için, sinyallerdeki saplamalar özellikle önemli değildir. Saplama uçları arasındaki mesafe dalga boyunun 1 / 10'unun altında, yani ~ 2 metrenin altında kalırsa, yansımalar dalga formunu fazla bozmayacaktır.

Ayrıca, D + ve D-pinlerindeki voltaj seviyeleri kabul edilebilir aralıkta kalacaktır, bu nedenle her iki ana makinede de elektronik hasar riski fazla değildir.

Kalan ana sorun, her iki ana bilgisayardan + 5V pinlerini birbirine bağlarsanız, ilgili büyük akımlar olabilir. Her bir USB konektörünün + 5V pininden bir diyot kullanabilirsiniz, sadece akımın girmesine izin verin, asla çıkmayın.


4

Tembel elektronik tasarım yolu, hangisinin kullanıldığını seçmek için fiziksel bir çoklu konektör anahtarı kullanmak olacaktır.

Bunun, hem fişe takılı kalmasını hem de hangi girişin kullanılacağını seçmek için anahtarı kullanmanın ek bir yararı olacağını unutmayın.


2

Bunu yapmanın USB uyumlu bir yolu yoktur. USB, iki ana bilgisayar arasında paylaşılmak üzere tasarlanmamıştır ve bunu yapmaya çalışmak potansiyel olarak felaket durumuna yol açacaktır.

En iyi ihtimalle, hangi konektörün bağlı olduğunu belirlemek için GPIO ile bir USB çoklayıcı veya anahtar IC kullanabilirsiniz. Hangi USB bağlantısının önceliğine karar vermelisiniz, çünkü ikisi de USB arabiriminize aynı anda bağlanamaz.

Veya alternatiflere bakın. Bir bilgisayarın diğeriyle iletişim kurmasını sağlayın. Veya Bluetooth kullanın veya Wi-Fi veya farklı bir bağlantı türü kullanın.


Soruya açıklama ekledim - bir kerede yalnızca bir bağlantı noktası kullanılacak ve (umarım) NAND geçidi, "her iki fişe takılı" senaryosunu basitçe reddederek öncelik sorununu çözebilir.
monty

Ne tür felaketlere yol açabileceğini düşünüyorsunuz?
jpa

1
@jpa, iki sistemin örneğin 50V farklı "toprak" potansiyeline sahip olduğunu varsayalım. İkisini de D- ile bağlamak "ilginç" olabilir. Potansiyeller sadece 50mV farklı olsa bile, gürültü üreten bir "topraklama döngüsü" yaratmış olabilirsiniz.
alephzero

1
@alephzero Elbette, ancak tipik bir çoklayıcı veya anahtar IC bile bunu yapmaz. Bununla birlikte, USB konektöründe ilk önce toprak bağlantısı, bu sorunu çoğunlukla ortadan kaldırır.
jpa

2

Bu özelliğe sahip bir Wacom tabletim var. Mekanik bir kilitleme kullanarak tanımladığınız sorunu ele alırlar.

Konumuna bağlı olarak bir bağlantı noktasını veya diğerini engelleyen plastik bir kaydırıcı var.

resim açıklamasını buraya girin


1

Belki de USB konnektörünü kasanın bir tarafında bırakmak ve kullanıcıya bakan diğer tüm elemanları simetrik olarak çoğaltmak ve / veya yerini değiştirmek daha kolay olacaktır. Daha sonra kasa, USB bağlantı noktası konektöre bakacak şekilde döndürülebilirken, diğer tüm öğelere hala kolayca erişilebilir.

Diğer bir seçenek, her iki bağlantı noktasını da muhafazanın bir tarafında (karşı uçlarda) bulmak ve kullanıcının içine bir bağlantı noktasını veya diğerini açmak için hareket edebileceği bir kayan saplama eklemektir. 12 MHz USB, ek bir bağlantısız bağlantı noktası ile çalışma şansına sahiptir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.