जवाबों:
ट्रांसमिशन मामलों की गति क्योंकि USB आधा-द्वैध है: प्रतिक्रिया को प्रसारित करने के लिए, बस को चारों ओर घुमाया जाना चाहिए और दूसरी दिशा में प्रेषित डेटा। इसलिए मेजबान डेटा भेजता है और एक पावती या प्रतिक्रिया की प्रतीक्षा करता है। सभी स्थानान्तरण मेजबान द्वारा नियंत्रित होते हैं। डिवाइस में तब एक निश्चित (काफी कम) समय होता है जिसमें प्रतिक्रिया देनी होती है। यह समय लगभग 5m केबल के साथ दो सिग्नल ट्रिप के लिए लिया गया समय है।
(मैं इस दूसरे संदर्भ को सही नहीं पा सकता, लेकिन संबंधित विशिष्ट दस्तावेज सार्वजनिक हैं)
संपादित करें: इस अनुभाग को खोजने के लिए psmears का धन्यवाद
केबल और लंबी दौड़ समाधान
- केबल की लंबाई सीमाएं क्यों हैं, और वे क्या हैं?
A: केबल की लंबाई 26 बिट्स के केबल विलंब द्वारा सीमित थी ताकि अगले बिट को भेजे जाने से पहले ट्रांसमीटर पर विचार करने की अनुमति मिल सके। चूंकि USB स्रोत समाप्ति और वोल्टेज-मोड ड्राइवरों का उपयोग करता है, इसलिए ऐसा होना चाहिए, अन्यथा प्रतिबिंब चालक को ढेर कर सकते हैं और उड़ा सकते हैं। इसका मतलब यह नहीं है कि लाइन वोल्टेज पूरी तरह से बिट के अंत तक तय हो गया है; सबसे खराब स्थिति में। हालांकि, बिट के अंत तक पर्याप्त भिगोना है कि प्रतिबिंब आयाम प्रबंधनीय स्तर तक कम हो गया है। कम गति संकेतों को प्रभावित करने से ट्रांसमिशन लाइन प्रभाव रखने के लिए कम गति केबल की लंबाई 18ns तक सीमित थी।
- मैं 5 मीटर से अधिक लंबे केबल का निर्माण करना चाहता हूं, यह काम क्यों नहीं करेगा?
एक: यहां तक कि अगर आप कल्पना का उल्लंघन किया है, तो यह सचमुच आपको बहुत दूर नहीं मिलेगा। सबसे खराब-देरी के समय को मानते हुए, 5 हब्स और केबल्स के तल पर एक पूर्ण गति डिवाइस 280ps का टाइमआउट मार्जिन है। इस मार्जिन को 0ps तक कम करने से आपको केवल 5cm अतिरिक्त मिलेगा, जो शायद ही परेशानी के लायक हो।
तो मेरा जवाब केवल आधा सही है: गोल यात्रा की सीमा हब और केबल की सबसे खराब स्थिति श्रृंखला के लिए है, कुल 25 मीटर की गहराई के लिए।
Dan Neely यह भी सही है कि USB हमेशा कीबोर्ड, चूहों, प्रिंटर आदि जैसे "धीमे" बाह्य उपकरणों के लिए सबसे कम लागत वाला समाधान माना जाता था। यदि आप अधिक गति और अधिक दूरी के लिए पूर्ण द्वैध चाहते थे , तो 100baseT ईथरनेट प्राकृतिक विकल्प है।
इस पृष्ठ को देखें, /superuser/64744/maximum-length-of-a-usb-cable ।
Q1: अपने डिवाइस को कनेक्ट करने के लिए मैं कब तक एक केबल का उपयोग कर सकता हूं? A1: व्यवहार में, USB विनिर्देश पूर्ण गति उपकरणों के बीच एक केबल की लंबाई को 5 मीटर (16 फीट 5 इंच से थोड़ा कम) के बीच सीमित करता है। कम गति के उपकरण के लिए सीमा 3 मीटर (9 फीट 10 इंच) है।
Q2: मैं 3 या 5m से अधिक लंबे केबल का उपयोग क्यों नहीं कर सकता? A2: USB का इलेक्ट्रिकल डिज़ाइन इसकी अनुमति नहीं देता है। जब USB डिजाइन किया गया था, तो USB डेटा लाइनों पर विद्युत चुम्बकीय क्षेत्र के प्रसार को इस तरह से संभालने का निर्णय लिया गया था कि USB केबल की अधिकतम लंबाई 4m की सीमा में कुछ तक सीमित कर दी जाए। इस पद्धति के कई फायदे हैं और, चूंकि USB एक डेस्कटॉप वातावरण के लिए है, सीमा सीमाओं को स्वीकार्य माना जाता था। यदि आप ट्रांसमिशन लाइन सिद्धांत से परिचित हैं और इस विषय पर अधिक विवरण चाहते हैं, तो डेवलपर्स FAQ के यूएसबी सिग्नल अनुभाग पर एक नज़र डालें।
यह वास्तव में "बफर" यूएसबी के लिए संभव नहीं है, कम से कम शब्द के सामान्य अर्थों में नहीं। आमतौर पर, बफ़रिंग का अर्थ है विद्युत प्रवर्धन और शायद सिग्नल पुनर्जनन।
USB के साथ, होस्ट बस की संपूर्णता को ड्राइव करता है। एक मेजबान एक अनुरोध भेजता है, और डिवाइस को मेजबान को एक प्रतिक्रिया जारी करनी होती है। प्रतिक्रिया की शुरुआत को एक निश्चित समय के बाद मेजबान के पास पहुंचना होता है। एक केबल के बहुत लंबे समय के साथ, प्रसार की देरी मेजबान में समय पर पहुंचने के लिए प्रतिक्रिया के लिए बहुत लंबी है।
इसलिए वर्कअराउंड हैं, और उनमें से कोई भी सरल "बफरिंग" शामिल नहीं करता है क्योंकि बफरिंग अतिरिक्त देरी को जोड़ता है, और हमें किसी भी तरह मेजबान को लंबे समय तक अधिक सहिष्णु बनाने की आवश्यकता है।
वर्कअराउंड के दो वर्ग हैं:
वर्कअराउंड जो भौतिक या आभासी हब डालते हैं। यदि एक मेजबान बस पर एक हब की गणना करता है, तो हब खुद एक अतिरिक्त देरी जोड़ता है, और हब और होस्ट के बीच एक और संभावित पूर्ण लंबाई केबल है। हब से डाउनस्ट्रीम संलग्न करने वाले उपकरणों के लिए कोई भी अनुरोध अतिरिक्त देरी के साथ निर्धारित किया जाता है।
आप केबल के प्रत्येक 4m में सिंगल-पोर्ट हब डाल सकते हैं, जिसमें श्रृंखला में 7 हब तक हो सकते हैं। सीमा मेजबान से अंतिम डिवाइस तक हब के 7 स्तर है, इसलिए यदि आपके गर्भनिरोधक के ऊपर कोई भी हब हैं, तो आपको तदनुसार हब की संख्या कम करने की आवश्यकता है। कई यूएसबी होस्ट में आंतरिक-हब का एकल-स्तर शामिल है, इसलिए श्रृंखला में 6 हब के साथ एक यथार्थवादी सीमा 28 मीटर होगी। सभी हब्स लेकिन पहले वाले को आत्म-संचालित होने का नाटक करना होगा।
आप वर्चुअल हब्स को जोड़ सकते हैं, प्रीफेमिस के साथ एक बीफ़ियर ट्रांसीवर के साथ, जो प्लग में होस्ट में जाता है, फिर एक लंबे केबल पर यूएसबी ट्रैफ़िक को संचारित करता है। जब तक इस तरह के एक विस्तारित केबल के अंत में डिवाइस द्वारा प्राप्त संकेत कल्पना के भीतर हैं, और जब तक आपका रिसीवर एक लंबी केबल पर मानक डिवाइस द्वारा भेजे गए डेटा को पुनर्प्राप्त कर सकता है, तो आप ठीक हो जाएंगे। वर्चुअल हब जोड़े जाते हैं, ताकि होस्ट लंबे विलंब की अनुमति दे सके - लेकिन निश्चित रूप से कोई शारीरिक हब नहीं हैं, बस उनका एक प्रतिरूपण है।
Workarounds जो एक उपकरण का अनुकरण करते हैं जो प्रोटोकॉल के उच्च स्तर पर "धीमा" दिखाई देता है। ऐसा ही कुछ कैट -5 USB "एक्सटेंडर" काम करता है। यहां पांच साझेदार हैं: वास्तविक मेजबान (rHost), इसके द्वारा देखा गया एक उत्सर्जित उपकरण (eDev), एक लंबी केबल, एक उत्सर्जित होस्ट (eHost), और वे उपकरण जो इसे केबल के सबसे अंत में देखते हैं (rDev) ।
प्रारंभ में, eDev वहाँ नहीं होने का नाटक करता है। कुछ समय में eHost देखता है कि एक rDev प्लग किया गया था। यह इसे enumerates, और डेटा को eDev को अग्रेषित करता है। EDev तब प्लग-इन ईवेंट का अनुकरण करता है, और rHost इसे एन्यूमरेट करता है। RHost का मानना है कि यह rDev देखता है, लेकिन यह केवल eDev है, नाटक कर रहा है। इसी तरह, rDev सोचता है कि एक rHost को देखता है, लेकिन यह केवल एक eHost है, जो नाटक कर रहा है।
आखिरकार, rHost rDev के लिए कुछ हस्तांतरण जारी करना चाहता है, जो यह मानता है कि इसका कुछ उपयोग करना है। IN स्थानांतरण के लिए, eDev के पास कोई डेटा नहीं है (एक NAK के साथ उत्तर)। स्थानांतरण अनुरोध को eHost पर भेजा जाता है, जो इसे rDev के साथ फिर से निष्पादित करता है। इसके परिणाम eDev पर वापस भेज दिए जाते हैं, जो अगली बार मेजबान द्वारा स्थानांतरण के प्रयासों के परिणामों का उपयोग करता है।
OUT स्थानान्तरण के लिए, eDev को अनुमान लगाना होगा कि rDev का व्यवहार क्या होगा। यहां विभिन्न प्रयास और व्यवहार हैं जिनका प्रयास किया जा सकता है। EDev हमेशा डेटा प्राप्त करने और ACK के साथ उत्तर देने का एक तरीका है। स्थानांतरण को eHost पर भेजा जाता है, जो फिर rDev में स्थानांतरण को फिर से करता है। आदर्श रूप से, rDev अंततः डेटा और ACK का उपभोग करेगा। यदि यह सफल नहीं होता है, या यदि rDev एक STALL के साथ उत्तर देता है, तो जो eDev सबसे अच्छा कर सकता है, वह मेजबान से अगले स्थानांतरण पर इस तरह कार्य कर सकता है। वैकल्पिक रूप से, eDev हमेशा हस्तांतरण को NAK कर सकता है, आमतौर पर सही अनुमान के साथ कि मेजबान बाद में समान हस्तांतरण को फिर से आज़माएगा। यद्यपि मूल स्थानांतरण NAK-ed था, फिर भी इसे eHost पर भेजा जाता है, जो तब rDev के साथ स्थानांतरण को निष्पादित करता है। जो भी rDev का उत्तर है, वह जैसे ही सीखता है, eDev का उत्तर बन जाता है।
यथार्थवादी कार्यान्वयन रूढ़िवादी उत्तराधिकारियों के साथ शुरू होगा, जिसमें एनएके द्वारा स्थगित किए जाने वाले सभी स्थानांतरणों के लिए आरडीईवाई में पूर्ण राउंडट्रिप शामिल है। जैसे-जैसे स्थानान्तरण आगे बढ़ता है, rDev के अपेक्षित व्यवहार को सीखा जा सकता है, और eDev कम रूढ़िवादी बन सकता है। "एक्सटेंडर" मानक USB कक्षाओं के ज्ञान का उपयोग कर सकता है, और कुछ विक्रेता-विशिष्ट वर्ग / उपकरण ज्ञान / ब्लैकलिस्ट / श्वेत सूची में बेहतर प्रदर्शन की पेशकश कर सकते हैं।
अधिकांश डेटा-ट्रांसमिशन-ओवर-केबल योजनाओं में एक सभ्य अंतरराष्ट्रीय स्तर पर मान्यता प्राप्त मानक है, जिसमें बताया गया है कि उन्हें कैसे लागू किया जाए, जिसमें केबल की "विशेषता प्रतिबाधा" के लिए एक विनिर्देश शामिल है (इसे प्रतिरोध के रूप में सोचो, लेकिन एसी पर लागू होता है), समाप्ति प्रतिबाधा ( कनेक्शन के अंत में 'प्रतिरोध' जो आपके सिग्नल के प्रतिबिंब को प्रेषक की ओर केबल वापस उछालने से बचने के लिए आवश्यक है), अक्सर एक निर्दिष्ट 'स्लीव रेट' (सिग्नल के लिए समय लेता है) से संक्रमण के लिए 0-स्टेट टू 1-स्टेट या इसके विपरीत), और इसलिए 0/1 प्रति सेकंड (यानी केबीपीएस / एमबीपीएस / जीबीपीएस) के बीच संक्रमण की अधिकतम संख्या, और इसलिए सिग्नल अखंडता के क्षय होने से पहले केबल कितनी लंबी हो सकती है और सामान सही काम करना बंद कर देता है।
यूएसबी की तुलना में, RS232 में केबल प्रकार, विशेषता प्रतिबाधा, स्लीव दर, केबल लंबाई, कनेक्टर प्रकार पर सभी विनिर्देश हैं। ज़रूर, 25-पिन और 9-पिन 'डी' कनेक्टर आम थे, लेकिन वास्तव में RS232 को सभी प्रकार के कॉनवेक्टरों और केबलों और उत्पादों में डिज़ाइन किया गया था, जिसमें कोई वास्तविक विनिर्देश नहीं था। व्यवहार में, RS232 के साथ आप आमतौर पर कम बिट्स-प्रति-सेकंड (उर्फ 'बॉड' दर से गिरकर लंबी दूरी तक जा सकते हैं। आपके द्वारा प्राप्त की जाने वाली अधिकतम दूरी भी आपके केबल के प्रतिबाधा पर महत्वपूर्ण भाग में निर्धारित की जाएगी, चाहे वह परिरक्षित हो, अंत में समाप्ति हो, और इसी तरह।
और RS232 की तुलना USB से करने के लिए, आप 1960 के दशक के 'मानक' की तुलना कर रहे हैं, जो कि 115k2 (दुर्लभ अपवादों के साथ) में सबसे ऊपर है, 1990 के दशक और 2000 के दशक में 1.5.5 एमबीपीएस से शुरू होने वाले एक के साथ, परिमाण का एक क्रम तेज, फिर 12Mbps (लगभग 100x तेज़), फिर 480Mbps (लगभग 5000x तेज़), लेकिन इसका मतलब था कि केबल पैरामीटर और केबल की लंबाई ने इसे मज़बूती से काम करने में महत्वपूर्ण भूमिका निभाई । यह एक डेस्कटॉप परिधीय कनेक्शन मानक के रूप में डिज़ाइन किया गया था, इसलिए 5 मीटर को स्वीकार्य माना जाता था, और फिर केबलों और कनेक्टर्स और गति के सभी मापदंडों को उस बिंदु से नीचे रखा गया था। यदि USB को धीमा करने का एक तरीका था, तो आप शायद इसे लंबे समय तक केबल (बिना पुनरावर्तक) पर चला सकते हैं।