2 पोर्ट के साथ यूएसबी डिवाइस - दोनों में उपयोगकर्ता प्लगिंग से कैसे बचाव करें


11

मुझे एक फुल स्पीड USB डिवाइस मिली है, जिसके लिए मैं 2 पोर्ट प्रदान करना चाहता हूं - प्रत्येक एक बाड़े के विपरीत छोर पर। यह इतना है कि जहां भी सबसे सुविधाजनक है वहां केबल को जोड़ा जा सकता है। मेरे MCU (atmega32u4) में केवल एक इंटरफ़ेस है, इसलिए भौतिक पोर्ट साझा करेंगे, लेकिन एक समय में केवल एक प्लग किया जाना चाहिए।

बेशक उपयोगकर्ताओं को एक साथ दोनों पक्षों में प्लग नहीं करने के लिए भरोसा नहीं किया जा सकता है। इससे कैसे बचाव करें?

मेरे द्वारा लिए गए विचार:

  • बस उन्हें "जैसा है" तार दें और आशा है कि मेजबान डी + / डी-पिन से जुड़ सकते हैं
  • इनपुट के रूप में अलग 5V पिन के साथ NAND गेट, एक MOSFET को आउटपुट जो Vcc को डिस्कनेक्ट करता है जब दोनों को प्लग किया जाता है।

क्या दूसरा विकल्प उचित लगता है, या अधिक जटिल समाधान की आवश्यकता है?


D + और D- को एक साथ जोड़ने के लिए आप दो पोर्टों को वायरिंग करने का प्रस्ताव कैसे देते हैं? आपको एक लेआउट जोड़ना चाहिए जिसमें आप प्रस्तावित लेआउट की व्याख्या करते हैं।
सौर माइक

@SolarMike दोनों के बीच साझा किया गया - "सही" परिदृश्य में, केवल एक केबल जुड़ा होने के साथ, दूसरे कनेक्टर का D + / D- लटकने से बचा रहेगा।
मोंटी

7
आपको चलती कवर के साथ मामले को डिजाइन करने पर भी विचार करना चाहिए ताकि एक बार में केवल एक यूएसबी पोर्ट ही उजागर हो। इस तरह से आप उपयोगकर्ता से स्पष्ट रूप से संवाद करते हैं कि उन्हें केवल दो मेजबानों में प्लग इन करने के बजाय एक पोर्ट में से एक में प्लग करने की अनुमति दी जाती है और वे काम नहीं करते हैं।
नॉन

4
उस उपयोगकर्ता के बारे में मत भूलना जो एक पुरुष-पुरुष यूएसबी केबल खोजने का प्रबंधन करता है और डिवाइस को अपने आप में प्लग करता है !!!
रोजा

जवाबों:


23

जैसा कि बताया गया है, आप सीधे दो मेजबानों को एक उपकरण से नहीं जोड़ सकते हैं - इसलिए यदि आपने उन्हें एक साथ तार दिया और किसी ने दोनों छोरों पर प्लग किया, तो आपको समस्या होगी।

हालाँकि, आपको एक समस्या है यदि केवल एक छोर को प्लग किया गया है। USB, विशेष रूप से उच्च गति (480Mbps) मोड को प्रतिबाधा नियंत्रित किया जाता है। यदि आप दोनों कनेक्टर डेटा लाइनों को एक साथ तार करते हैं तो आप उच्च आवृत्ति डिजाइन में स्टब के रूप में जाना जाता है। अप्रयुक्त कनेक्टर पर जाने वाली केबल सक्रिय कनेक्टर के प्रदर्शन को नीचा दिखाएगी।

इसे ठीक से करने के लिए, आप एक मल्टीप्लेक्स आईसी चाहते हैं। आप इस तरह के आवेदन के लिए विशेष रूप से डिज़ाइन किए गए समर्पित USB2.0 मल्टीप्लेक्स खरीद सकते हैं - TS3USB30 जैसा कुछ । यह आपको दोनों पोर्ट से डेटा लाइनों को mux इनपुट से कनेक्ट करने और आउटपुट को आंतरिक रूप से आपके डिवाइस से कनेक्ट करने की अनुमति देगा। Mux अप्रयुक्त कनेक्टर को डिस्कनेक्ट कर देगा जो ट्रांसमिशन लाइन स्टब्स को डिस्कनेक्ट कर देगा।

पावर के लिए मैं शायद एक पावर मल्टीप्लेक्स जैसे डायोड OR-ing सर्किट का उपयोग करूंगा। बंदरगाहों में से एक (पावर मल्टीप्लेक्स से पहले) VBUS लाइन का उपयोग डेटा मल्टीप्लेक्सर के इनपुट के रूप में किया जा सकता है।

ग्राउंड दो यूएसबी पोर्ट और आपके डिवाइस के बीच आम (जुड़ा) होगा।


1
मैंने स्टब्स पर विचार नहीं किया - वह मल्टीप्लेक्स (पावर मल्टीप्लेक्स के साथ संयुक्त) आदर्श लग रहा है!
मोंटी

3
स्टब्स को फुल स्पीड पर कोई समस्या नहीं होनी चाहिए, जो कि आपने अपने प्रश्न के बारे में पूछा है।
डेव ट्वीड

1
@DaveTweed मैंने हाई स्पीड कवर के इस उत्तर को महसूस करने के बाद फुल स्पीड स्पष्टीकरण जोड़ा। यह जानना कि मैं "इसके साथ दूर हो सकता हूं" इस डिजाइन के लिए अच्छा है, लेकिन मैं निश्चित रूप से उच्च गति पर निहितार्थ जानने की सराहना करता हूं।
मोंटी

अब मैं वास्तव में दिलचस्पी रखता हूँ कि कैसे atmega32u4 को 480Mbps का समर्थन किया जाए :)
दिमित्री ग्रिगोरीव

9

टॉम बढ़ई द्वारा सुझाए गए मल्टीप्लेक्सर एक अच्छा समाधान है।

लेकिन पूर्ण गति यूएसबी (12 एमबीपीएस) के लिए, संकेतों में स्टब्स विशेष रूप से महत्वपूर्ण नहीं हैं। यदि स्टब के बीच की दूरी तरंगदैर्घ्य के 1/10 वें से नीचे रहती है, यानी ~ 2 मीटर से नीचे, तो प्रतिबिंब तरंग को अधिक विकृत नहीं करेंगे।

इसके अलावा, D + और D- पिन पर वोल्टेज का स्तर स्वीकार्य सीमा के भीतर रहेगा, इसलिए किसी भी मेजबान को इलेक्ट्रॉनिक क्षति का बहुत अधिक जोखिम नहीं है।

मुख्य समस्या जो बनी हुई है यदि आप दोनों होस्ट से + 5V पिन को एक साथ जोड़ते हैं, तो बड़ी धाराएं शामिल हो सकती हैं। आप प्रत्येक USB कनेक्टर के + 5V पिन से एक डायोड का उपयोग कर सकते हैं केवल वर्तमान में आने दें, कभी बाहर नहीं।


4

आलसी इलेक्ट्रोनिक डिजाइन तरीका सिर्फ एक भौतिक मल्टी कनेक्टर स्विच का उपयोग करने के लिए होगा जिसके बीच एक का उपयोग किया जाए।

ध्यान दें कि इससे उन दोनों को जोड़ने में सक्षम होने और स्विच का उपयोग करने में सक्षम होने का अतिरिक्त लाभ होगा कि किस इनपुट का उपयोग किया जाना है।


2

ऐसा करने का कोई USB अनुपालन तरीका नहीं है। USB को दो होस्ट के बीच साझा करने के लिए डिज़ाइन नहीं किया गया है और ऐसा करने का प्रयास संभावित विनाशकारी स्थितियों को जन्म देगा।

सबसे अच्छे रूप में, आप USB मल्टीप्लेक्स का उपयोग कर सकते हैं या आईसी को स्विच कर सकते हैं, जो GPIO के साथ यह निर्धारित करने के लिए कि कौन सा कनेक्टर जुड़ा हुआ है। आपको यह तय करना होगा कि किस USB कनेक्शन में पूर्ववर्तीता है, क्योंकि दोनों एक ही समय में आपके USB इंटरफ़ेस से कनेक्ट नहीं हो सकते हैं।

या विकल्प देखें। एक कंप्यूटर दूसरे से संवाद करें। या ब्लूटूथ का उपयोग करें या वाई-फाई या एक अलग कनेक्शन प्रकार का उपयोग करें।


मैंने प्रश्न में स्पष्टीकरण जोड़ा है - केवल एक बंदरगाह का उपयोग कभी भी किया जाएगा, और (उम्मीद है) नंद द्वार "परिदृश्य में प्लग किए गए" दोनों को सरलता से नकारते हुए पूर्ववर्ती समस्या को हल कर सकता है।
मोंटी

आपको लगता है कि यह किस तरह की विनाशकारी स्थिति है?
जेपीए

1
@jpa मान लें कि दोनों प्रणालियों में "ग्राउंड" क्षमताएँ हैं जो 50V भिन्न हैं, उदाहरण के लिए। उन दोनों को D- से जोड़ना "रोचक" हो सकता है। यहां तक ​​कि अगर क्षमता केवल 50mV अलग हैं, तो आपने शोर पैदा करने वाला "ग्राउंड लूप" बनाया हो सकता है।
एलेफोज़रो

1
@alephzero ज़रूर, लेकिन यहां तक ​​कि एक विशिष्ट मल्टीप्लेक्सर या स्विच आईसी भी नहीं होगा। यूएसबी कनेक्टर में पहले कनेक्ट होने वाला मैदान, हालांकि, ज्यादातर उस समस्या को समाप्त करता है।
जप

2

मेरे पास इस सुविधा के साथ एक Wacom टैबलेट है। वे यांत्रिक इंटरलॉक का उपयोग करके आपके द्वारा बताई गई समस्या को संभालते हैं।

एक प्लास्टिक स्लाइडर है जो एक पोर्ट, या दूसरे को ब्लॉक करता है, यह स्थिति पर निर्भर करता है।

यहाँ छवि विवरण दर्ज करें


1

शायद बाड़े के एक तरफ यूएसबी कनेक्टर को छोड़ना और डुप्लिकेट और / या अन्य सभी उपयोगकर्ता-सामना करने वाले तत्वों को सममित रूप से स्थानांतरित करना आसान होगा। फिर संलग्नक को घुमाया जा सकता है ताकि यूएसबी पोर्ट कनेक्टर का सामना कर रहा है, जबकि अन्य सभी तत्व अभी भी आसानी से सुलभ हैं।

एक अन्य विकल्प संलग्नक के एक तरफ (विपरीत छोर पर) दोनों बंदरगाहों का पता लगाना है और एन्क्लोज के अंदर एक स्लाइडिंग स्टब जोड़ना है जिसे उपयोगकर्ता एक पोर्ट या दूसरे को खोलने के लिए स्थानांतरित कर सकता है। 12 मेगाहर्ट्ज यूएसबी के पास एक अतिरिक्त डिस्कनेक्ट किए गए पोर्ट के साथ काम करने का एक अच्छा मौका है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.