Perangkat USB dengan 2 port - bagaimana melindungi pengguna dari memasukkan keduanya

11

Saya memiliki perangkat USB kecepatan penuh yang ingin saya berikan 2 port - masing-masing di ujung yang berbeda dari enklosur. Ini agar kabel dapat dihubungkan ke tempat yang paling nyaman. MCU saya (atmega32u4) hanya memiliki satu antarmuka, sehingga port fisik akan dibagikan, tetapi hanya satu yang harus dipasang pada satu waktu.

Tentu saja pengguna tidak dapat dipercaya untuk tidak menghubungkan kedua sisi sekaligus. Bagaimana cara melindungi dari ini?

Gagasan yang saya buat:

  • Hanya memasang mereka "apa adanya" dan berharap tuan rumah dapat menangani bergabung dengan D + / D-pin
  • Gerbang NAND dengan pin 5V terpisah sebagai input, output ke MOSFET yang memutus Vcc ketika keduanya terhubung.

Apakah opsi kedua terdengar masuk akal, atau diperlukan solusi yang lebih kompleks?

monty
sumber
Bagaimana Anda mengusulkan kabel dua port untuk menghubungkan D + dan D- bersama-sama? Anda harus menambahkan diagram yang menjelaskan tata letak yang Anda usulkan.
Solar Mike
@SolarMike Dibagikan di antara keduanya - dalam skenario "benar", dengan hanya satu kabel yang terhubung, D + / D- konektor lainnya akan dibiarkan menggantung.
monty
7
Anda juga harus mempertimbangkan merancang kasing dengan penutup yang bergerak sehingga hanya satu port usb yang terbuka sekaligus. Dengan begitu Anda berkomunikasi dengan jelas kepada pengguna bahwa mereka hanya diizinkan untuk menyambungkan ke salah satu port sekaligus alih-alih membingungkan mereka ketika mereka menyambungkan dua host dan satu tidak berfungsi.
Nonny Moose
4
jangan lupa tentang pengguna yang berhasil menemukan kabel usb pria-pria dan menghubungkan perangkat itu sendiri !!!
RozzA

Jawaban:

23

Seperti yang ditunjukkan, Anda tidak dapat menghubungkan dua host secara langsung ke perangkat - jadi jika Anda hanya menyambungkan keduanya dan seseorang menyambungkannya di kedua ujungnya, Anda akan mengalami masalah.

Namun Anda juga memiliki masalah jika hanya satu ujung yang terhubung. USB, terutama mode berkecepatan tinggi (480Mbps) dikontrol impedansi. Jika Anda menyambungkan kedua konektor data, Anda berakhir dengan apa yang dikenal sebagai rintisan dalam desain frekuensi tinggi. Kabel menuju konektor yang tidak digunakan akan menurunkan kinerja konektor aktif.

Untuk melakukan ini dengan benar, Anda ingin IC multiplexer. Anda dapat membeli multiplexer USB2.0 khusus yang dirancang khusus untuk aplikasi semacam ini - sesuatu seperti TS3USB30 . Itu akan memungkinkan Anda untuk menghubungkan jalur data dari kedua port ke input mux, dan menghubungkan output ke perangkat Anda secara internal. Mux akan memutuskan sambungan konektor yang tidak digunakan yang akan memutuskan sambungan saluran transmisi.

Untuk daya, saya mungkin akan menggunakan multiplexer daya seperti dioda ATAU-ing sirkuit. Garis VBUS dari salah satu port (sebelum power multiplexer) kemudian dapat digunakan sebagai input ke data multiplexer.

Ground akan menjadi umum (terhubung) antara dua port USB dan perangkat Anda.

Tom Carpenter
sumber
1
Saya tidak mempertimbangkan bertopik - bahwa multiplexer (dikombinasikan dengan power multiplex) terlihat ideal!
monty
3
Rintisan bertopik seharusnya tidak menjadi masalah pada Kecepatan Penuh, yang adalah semua yang Anda tanyakan dalam pertanyaan Anda.
Dave Tweed
1
@ DaveTeed saya menambahkan klarifikasi Kecepatan Penuh setelah saya menyadari jawaban ini mencakup Kecepatan Tinggi. Mengetahui saya bisa "lolos begitu saja" bagus untuk desain ini, tapi saya sangat menghargai mengetahui implikasi pada kecepatan yang lebih tinggi.
monty
Sekarang saya benar-benar tertarik bagaimana membuat atmega32u4 mendukung 480Mbps :)
Dmitry Grigoryev
9

Multiplexer seperti yang disarankan oleh Tom Carpenter adalah solusi yang bagus.

Tetapi untuk USB kecepatan penuh (12 Mbps), stub pada sinyal tidak terlalu penting. Jika jarak antara ujung rintisan tetap di bawah 1/10 panjang gelombang, yaitu di bawah ~ 2 meter, pantulan tidak akan terlalu banyak mengubah bentuk gelombang.

Selain itu, level tegangan pada D + dan D-pin akan tetap berada dalam kisaran yang dapat diterima, sehingga tidak ada banyak risiko kerusakan elektronik pada kedua host.

Masalah utama yang tersisa adalah jika Anda menghubungkan pin + 5V dari kedua host bersama-sama, mungkin ada arus besar yang terlibat. Anda dapat menggunakan dioda dari masing-masing pin + 5V konektor USB untuk membiarkan arus masuk, tidak pernah keluar.

jpa
sumber
4

Cara desain malas elektronik hanya akan menggunakan saklar multi-konektor fisik untuk memilih di mana yang digunakan.

Perhatikan bahwa ini akan memiliki manfaat tambahan karena dapat membuat keduanya tetap terhubung dan menggunakan sakelar untuk memilih input mana yang akan digunakan.

Lassi Kinnunen
sumber
2

Tidak ada cara yang sesuai dengan USB untuk melakukan ini. USB tidak dirancang untuk dibagikan antara dua host dan mencoba melakukannya akan menyebabkan situasi yang berpotensi bencana.

Paling-paling, Anda dapat menggunakan multiplexer USB atau beralih IC, dengan GPIO untuk menentukan konektor mana yang terhubung. Anda harus memutuskan koneksi USB mana yang lebih diutamakan, karena keduanya tidak dapat terhubung ke antarmuka USB Anda secara bersamaan.

Atau lihat alternatifnya. Mintalah satu komputer berkomunikasi dengan yang lain. Atau gunakan Bluetooth atau gunakan Wi-Fi atau jenis koneksi yang berbeda.

Pejalan kaki
sumber
Saya telah menambahkan klarifikasi untuk pertanyaan - hanya satu port yang akan digunakan sekaligus, dan (mudah-mudahan) gerbang NAND dapat memecahkan masalah yang diutamakan dengan sederhana menolak skenario "keduanya terhubung".
monty
Menurut Anda, situasi bencana seperti apa yang bisa terjadi?
jpa
1
@ jpa misalkan kedua sistem memiliki potensi "ground" yang berbeda 50V, misalnya. Menghubungkan keduanya ke D bisa menjadi "menarik". Bahkan jika potensialnya hanya 50mV berbeda, Anda mungkin telah membuat "ground loop" penghasil suara.
alephzero
1
@ alephzero Tentu, tetapi bahkan multiplexer atau beralih IC tidak akan menangani itu. Namun, koneksi ground pertama kali pada konektor USB, sebagian besar menghilangkan masalah itu.
jpa
2

Saya memiliki tablet Wacom dengan fitur ini. Mereka menangani masalah yang Anda gambarkan dengan menggunakan interlock mekanis.

Ada slider plastik yang memblokir satu port, atau yang lain, tergantung pada posisinya.

masukkan deskripsi gambar di sini

Drew
sumber
1

Mungkin akan lebih mudah untuk meninggalkan konektor USB di satu sisi enklosur dan menduplikasi dan / atau memindahkan semua elemen yang menghadap pengguna secara simetris. Kemudian penutup dapat diputar sehingga port USB menghadap konektor, sementara semua elemen lainnya masih dapat diakses dengan mudah.

Pilihan lain adalah menempatkan kedua port di satu sisi enklosur (di ujung yang berlawanan) dan menambahkan tangkai geser di dalam enklosur yang dapat dipindahkan pengguna untuk membuka satu port atau lainnya. 12 MHz USB memiliki peluang bagus untuk bekerja dengan port tambahan yang terhubung dengannya.

Dmitry Grigoryev
sumber