USB 2.0 टकराव से कैसे बचा?


33

USB 3.0 रिसेप्टैल्स के पिनों को देखते हुए, मैं देख सकता हूं कि अलग-अलग ट्रांसमिशन और रिसेप्शन जोड़े हैं, हालांकि यूएसबी 2.0 के लिए केवल एक "डेटा" पिन जोड़ी है। USB 2.0 कैसे सुनिश्चित करता है कि उपकरण एक साथ संचार नहीं कर रहे हैं?


2
CSMA / CD जैसी चीज़ों को देखने में भी आपकी रुचि हो सकती है, जो कि अन्य संदर्भों में कैसे हल की जाती है
PlasmaHH

1
अलग-अलग ट्रांसमिशन / रिसेप्शन जोड़े सभी संघर्षों को हल नहीं करते हैं। कल्पना कीजिए कि आपके पास एक पेनड्राइव और एक मॉडेम है, वे दोनों मेजबान को कुछ डेटा भेजना चाहते हैं, इसलिए वे दोनों संचारित करना शुरू करते हैं। कहा पे? एक ही जोड़ी पर: मेजबान प्राप्त करते हैं। संघर्ष अभी बाकी है। यह नहीं है कि यूएसबी कैसे काम करता है, लेकिन यह ठीक यही है कि 10/100 इथरनेट कैसे काम करता है: हर दिशा की अपनी जोड़ी होती है लेकिन हब पर "टकराव" प्रकाश झुलसाता रहता है।
Agent_L

जवाबों:


67

USB कड़ाई से मास्टर-दास है। जब तक मेजबान इसे संचारित करने के लिए नहीं कहता है तब तक यह उपकरण संचारित नहीं होता है।

यहां तक ​​कि तथाकथित "इंटरप्ट" मोड वास्तव में मतदान है: उदाहरण के लिए, प्रत्येक 8 मिलीसेकंड (या इससे कम अगर आपको गेमर माउस मिला), तो पीसी माउस से पूछता है "आपकी स्थिति क्या है" और माउस जवाब देता है।

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

इस वेबपेज में एक्सचेंज किए गए पैकेट के बारे में अच्छी व्याख्या है। मूल रूप से, ध्यान रखें कि यूएसबी को सबसे खराब और सबसे सस्ता संभव परिधीय कार्य करने की अनुमति देने के लिए लागू किया गया था, जिसका अर्थ है कि अधिकांश इंटेलिजेंस होस्ट, होस्ट यूएसबी कंट्रोलर, ओएस और ड्राइवरों में है। युक्ति पढ़ते समय यह बहुत स्पष्ट है।

फायरवायर (उदाहरण के लिए) के पास एक पूरी तरह से अलग दर्शन है, यह बहुत अधिक शक्तिशाली है, यह मल्टी-मास्टर है इसलिए डिवाइस होस्ट / मास्टर से मदद के बिना एक दूसरे से बात कर सकते हैं। यह वास्तव में अपने दर्शन के ज्यादा करीब है, जैसे कि USB की तुलना में आइसोक्रोनस ट्रांसफर के साथ टोकन रिंग के साथ कुछ ऐसा है। हालांकि "मल्टी मास्टर" का मतलब है कि उपकरणों में एक शक्तिशाली माइक्रोकंट्रोलर की आवश्यकता है, जो एक जटिल सॉफ़्टवेयर स्टैक चला रहा है। यह इसलिए अधिक महंगा है, और इस प्रकार कैमकोर्डर और फास्ट हार्ड ड्राइव बाड़ों जैसे महंगे उत्पादों तक सीमित है। एक फायरप्लेस माउस का कोई मतलब नहीं है, यह बहुत महंगा होगा। यही कारण है कि फायरफॉक्स असफल होने के कारणों में से एक है।


3
उत्कृष्ट स्पष्टीकरण, और फायरवायर के साथ बहुत उपयुक्त तुलना (और हाँ, चलो एक टोकन-आधारित आर्बिटिंग नेटवर्क का निर्माण करें ... वास्तविक रूप से, एक बस में अधिकांश 5 उपकरणों पर)।
मार्कस मुलर

3
यह एक अच्छा जवाब है, लेकिन मुझे लगता है कि यदि आप गणना का उल्लेख करते हैं तो यह अधिक पूर्ण होगा। यह पता लगाना कि कौन से उपकरण एक गतिशील नेटवर्क से जुड़े हैं जिसमें कोई मध्यस्थता क्षमता नहीं है (जैसे कि एक मल्टी-मास्टर नेटवर्क होगा) एक गैर-तुच्छ समस्या है, और कई मायनों में यह परिभाषित करता है कि यूएसबी एक सच्चे बस टोपोलॉजी का उपयोग क्यों नहीं कर सकता है।
जॉन

धन्यवाद;) मैं मेजबान की ओर से गणन के बारे में हालांकि विवरण नहीं जानता। लेकिन IMO वास्तविक कारण USB इस तरह है कि यह 1990 के दशक के मध्य में डिज़ाइन किया गया था और उस समय माइक्रोकंट्रोलर आज अधिक महंगे थे, और सस्ते उपकरणों का तरीका उन्हें जितना संभव हो उतना कम रैम और कोड के साथ गूंगा बनाना था। यथासंभव। इसके अलावा, यह बहुत अच्छी तरह से काम करता है, यह थोड़े मीठा स्थान मारा।
peufeu

5
गलत, USB एक बस है । यह अधिक परिचित "रैखिक" बस के विपरीत एक अलग टोपोलॉजी (स्टार) है। सभी यूएसबी 2.0 (एचएस) मेजबान लेनदेन को स्टार के सभी खंडों में प्रसारित किया जाता है, इसलिए यह "रैखिक" बस से बहुत अलग नहीं है। रैखिक बस के समान, सभी उपकरण बस गतिविधि को लगभग एक ही बार में देखते हैं। एकमात्र अंतर यह है कि डिवाइस प्रतिक्रियाएं कुछ अन्य उपकरणों के लिए दिखाई नहीं देती हैं जो विभिन्न शाखाओं पर बैठे हैं।
अले..चेंस्की

2
@rahuldottech शालीनता से अगर यह काम करता है , तो शांत है , लेकिन फायरवायर USB की तुलना में बहुत कम विश्वसनीय था, विशेष रूप से WRT प्लग एंड प्ले में। और यूएसबी के साथ, आप एक अतिरिक्त हब का उपयोग करके कई ड्राइव को एक ही पोर्ट पर आसानी से हुक कर सकते हैं। एक प्रदर्शन व्यापार है, लेकिन विश्वसनीयता और सुगमता ट्रम्प है।
लेफ्टरेंबाउट

18

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

USB 2.0 डिवाइस कनेक्ट होने के बाद, होस्ट प्रत्येक डिवाइस के लिए अद्वितीय पते निर्दिष्ट करके उन्हें एन्यूमरेट करता है।

बस में प्रत्येक लेनदेन को USB होस्ट द्वारा शुरू किया जाता है।

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

"पार्टनर्स" लिंक तब दिशा में एक पावती भेजेगा जो डेटा को सफलतापूर्वक प्राप्त करता है। लेन-देन की अखंडता को सुनिश्चित करने के लिए संपूर्ण लेन-देन निर्धारित टोकन, समय-आउट और त्रुटि सुधार कोड के साथ स्थापित प्रोटोकॉल का पालन करता है।

अन्य सभी उपकरण केवल ट्रैफ़िक को सुन और अनदेखा कर रहे हैं जो उन्हें निर्देशित नहीं है।

यह इसके बारे में है, यह "आधा-द्वैध" इंटरफ़ेस है।


1
USB प्रोटोकॉल से परिचित नहीं है, तो मेजबान को कैसे पता चलता है कि सही डिवाइस ने प्रतिक्रिया दी है?
डेरेक 會 會

@ डेरेक 會 朕 朕, मेजबान यह जानता है क्योंकि यह एकमात्र उपकरण है जिसे प्रतिक्रिया देने के लिए माना जाता है, कोई और प्रतिक्रिया नहीं देगा। USB 2.0 लेनदेन "परमाणु" हैं, कोई स्थगित प्रतिक्रिया नहीं है, सब कुछ टाइम-आउट पर निर्भर करता है। किसी भी समय पर प्रतिक्रिया (अपूर्ण लेनदेन) के परिणामस्वरूप पुन: प्रयास नहीं किया जाएगा।
अले..चेन्स्की

फॉलो-अप करने के लिए, मेरा सवाल यह है कि चूंकि हर डिवाइस एक ही बस से जुड़ा हुआ है, इसलिए मुझे एक और डिवाइस होने का नाटक करने से क्या रोक रहा है?
डेरेक 會 會

7
@ डेरेक 會 朕 功夫: कुछ भी नहीं। यही कारण है कि आप ऑफ-स्ट्रीट बाजारों से मिलने वाले यादृच्छिक USB कुंजी में प्लग नहीं करते हैं। आप उन पर भरोसा नहीं कर सकते।
मोनिका

7
@ डेरेक 會 功夫 ere, एक तरफ दुर्भावनापूर्ण इरादे, एक यूएसबी डिवाइस को एन्यूमरेशन के दौरान एक पते को स्वीकार करना पड़ता है, और एक अन्य डिवाइस का एक अलग पता होगा, जिसे सभी होस्ट द्वारा नियंत्रित किया जाता है। यह तब अलग नहीं होता जब कई मेमोरी मॉड्यूल एक समानांतर बस से जुड़े होते हैं, लेकिन प्रत्येक मॉड्यूल केवल डिकोडर / चिप का चयन करने के लिए प्रतिक्रिया करता है। और अगर दो USB डिवाइस गलती से जवाब देंगे (कहते हैं, होस्ट को पता असाइनमेंट के साथ खराब हो गया है), बस पर टकराव की गड़बड़ होगी, और कोई पैकेट सीआरसी (जो प्रत्येक यूएसबी टोकन से जुड़ा हुआ है), और संबंधित पोर्ट को पारित करेगा। भारी त्रुटियों के कारण अक्षम होना।
अले..चेन्स्की
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.