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?
protection
usb-device
monty
sumber
sumber
Jawaban:
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.
sumber
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.
sumber
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.
sumber
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.
sumber
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.
sumber
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.
sumber