तांबे के तार पर डेटा ट्रांसमिशन दरों को समझना


11

मैं एक Arduino के लिए सेंसर को जोड़ने के विभिन्न तरीकों पर शोध कर रहा हूं, और i2c एक लोकप्रिय तरीका लगता है। मैंने पढ़ा है कि यह केवल 400 या 100kbps की डेटा दर के साथ कम दूरी (कुछ मीटर, अधिकतम) पर विश्वसनीय है। मुझे यह समझने में कठिन समय हो रहा है कि इस प्रोटोकॉल की सीमाएं तांबे पर अन्य डेटा प्रसारणों की तुलना में इतनी कम क्यों हैं, जैसे कि गीगाबिट ईथरनेट। मैंने कैपेसिटेंस, वोल्टेज ड्रॉप, और दिए गए प्रतिरोध जैसे कारण देखे हैं, लेकिन उन सभी मुद्दों पर cat5 / 6 के मुकाबले ईथरनेट नहीं है? मूल रूप से, मैं जानना चाहता हूं कि कुछ तांबे के तार नीचे कुछ वोल्टेज को क्यों कम करते हैं, इन विशिष्ट तरीकों की तुलना करते समय अधिक सुसंगत परिणाम (बैंडविड्थ, दूरी) प्राप्त नहीं करते हैं।


बताई गई सीमाओं के साथ कई प्रमुख प्रोटोकॉल हैं जिन्हें अक्सर अनदेखा किया जाता है। ईथरनेट केवल एक पुनरावर्तक के बिना 30 फीट के लिए विश्वसनीय है। USB 10 फीट के नीचे है। इसका मतलब यह नहीं है कि लोग सीमा को धक्का नहीं देते हैं। उन क्रियान्वयन निर्णयों पर आधारित है कि आपको कितनी तेज़ / विश्वसनीय डेटा की आवश्यकता है, और क्या आप crc जाँच के डेटा ओवरहेड को वहन कर सकते हैं।
mreff555

मैं केवल यह बताना चाहता हूं कि भले ही I2C का इस तरह उपयोग करने का इरादा नहीं है, यह निश्चित रूप से 100 मीटर से अधिक का उपयोग करना संभव है। (यह एक ही सैद्धांतिक अधिकतम है। ईथरनेट के रूप में दूरी)। हालाँकि, या तो आपके पास बहुत कम बॉड्रेट होगा, या आपके पुल-अप की धाराएं लयबद्ध होंगी।
Opifex

@ ओफ़्फ़िस लुदिकस गति!
16

1
यह एक उत्तर नहीं है, और शायद मैं स्पष्ट कह रहा हूं, लेकिन I2C (या किसी अन्य प्रोटोकॉल) में सीमाएं अनिवार्य रूप से वायर सामग्री और प्रोटोकॉल के कारण हैं। आपके प्रश्न का क्रूक्स ऐसा प्रतीत होता है "अगर पद्धति X मुझे तांबे के ऊपर A मिल जाती है, तो Y और Z को भी मुझे A नहीं प्राप्त करना चाहिए?" जो स्वाभाविक रूप से सत्य नहीं है।
dwizum

6
30ft से, क्या आपका मतलब 328ft / 100m @ mreff555 है? यही कारण है कि मुड़ जोड़ी ईथरनेट के लिए कल्पना, पुराने समाक्षीय ईथरनेट भी लंबे समय तक (200 मीटर 10base2 के लिए, 500 मीटर 10base5 के लिए) था।
मार्क बूथ

जवाबों:


14

शैनन के प्रमेय एक केबल पर सूचना बैंडविड्थ की अंतिम सीमा निर्धारित करता है। इसके बारे में कुछ और जानकारी यहाँ दी गई है: https://www.gaussianwaves.com/2008/04/channel-capacity/

tl; डॉ। संस्करण: शैनन-हार्टले समीकरण:

  • सी=बीएलजी2(1+एसएन)(1)

जहां बी Hz, S में बैंडविड्थ हैएसएन सिग्नल-टू-शोर अनुपात है।

I2C स्पष्ट रूप से एक केबल के लिए शैनन सीमा के पास कहीं भी नहीं है। इसके बजाय, यह एक हल्की प्रोटोकॉल है जिसमें जानबूझकर धीमी गति से समय (100/400 kbit / s) का उपयोग किया जाता है, जो एक खुली कलेक्टर की बस का उपयोग करके मामूली I / O और नियंत्रण आवश्यकताओं के साथ छोटे उपकरणों के नेटवर्क के लिए लागू करना आसान बनाता है। I2C द्वारा निर्दिष्ट धीमा ऑपरेशन अधिकांश सिग्नल अखंडता मुद्दों से बचा जाता है।

I2C के तेजी से वेरिएंट हैं जो 1 Mbit और 3.2 Mbit / s दरों का उपयोग करते हैं। इन्हें सामान्य I2C की तुलना में लेआउट और समाप्ति पर अधिक ध्यान देने की आवश्यकता है और निश्चित रूप से सख्त, अधिक समय की मांग है।

खाद्य श्रृंखला शैनन-वार को आगे बढ़ाते हुए, Gbit ईथरनेट अपने थ्रूपुट को प्राप्त करने के लिए कई तकनीकों का उपयोग करता है:

  • विभेदक संकेत
  • कई जोड़े (4)
  • मल्टी-लेवल सिग्नलिंग, जिसे PAM-5 कहा जाता है
  • प्रीमेन्फिसिस / डेम्पहासिस
  • अनुकूली समकारी

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

वैसे भी हम शैनन सीमा के कितने करीब हैं? यहाँ और अधिक: https://pdfs.semanticscholar.org/482f/5afbf88a06d192f7cb052f543625c4b66290.pdf


हह, वूडू है: पूर्व-जोर और डे-जोर। तो ईथरनेट बस वर्ग दालों या यहां तक ​​कि साइन-वेव्स को लाइन के नीचे नहीं भेज रहा है और प्रार्थना कर रहा है कि गंतव्य तक पहुंचने तक यह बहुत अधिक विकृत नहीं होगा। यह एक एनालॉग वेवफॉर्म को आकार दे रहा है और इसे नीचे भेज रहा है।
DKNguyen

3
@DKNguyen 100 मेगाबिट या तेज ईथरनेट के लिए असली वूडू रिसीवर में होता है। अनुकूली समीकरण एल्गोरिदम का उपयोग किया जाता है, इन दिनों अक्सर डिजिटल रूप से लागू किया जाता है; प्राप्त संकेत कुछ डीएसपी हार्डवेयर (आपके $ 0.50 PHY डिवाइस के अंदर) के बाद ADC को फीड करता है। अधिक हाल के हाई-स्पीड प्रोटोकॉल में तकनीक फिर से काफी परिष्कृत है।
डरावना_जेफ

अनुकूली eq के बारे में Thx @scary_jeff। अनुस्मारक। इसे मेरे जवाब में जोड़ा।
हैकस्टैटिक ऑग

6

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

इसके बारे में इस तरह से सोचें: वायु एक माध्यम है। उस प्रकार की जानकारी क्यों दी जा सकती है जब कुत्ते एक-दूसरे से बात करते हैं, जब मनुष्य एक-दूसरे से बात करते हैं तो उससे बहुत कम? हवा के माध्यम से कुछ दबाव तरंगों को भेजने से इन दो प्रकार के जानवरों के बीच संचार में अधिक सुसंगत परिणाम क्यों नहीं निकलते हैं?

I2C के लिए सीमित कारकों में से कुछ (और कई अन्य प्रोटोकॉल) हैं:

  1. ओपन-कलेक्टर ड्राइव
  2. कोई प्रतिबाधा मिलान नहीं
  3. कोई संतुलित संचरण नहीं
  4. कोई त्रुटि जाँच नहीं
  5. सरल एन्कोडिंग योजना
  6. अपेक्षाकृत उच्च वोल्टेज स्तर (यदि आपका वोल्टेज कदम उतना बड़ा नहीं है, तो आप तेजी से संचारित कर सकते हैं क्योंकि आपके dV / dT का उच्च गति के लिए उच्च होना आवश्यक नहीं है)
  7. कोई अलगाव नहीं
  8. एकध्रुवीय वोल्टेज (ईथरनेट +/- 2.5V पर प्रसारित होता है जो शायद किसी तरह मदद करता है)
  9. दास के प्रसारण को मास्टर द्वारा देखा जाता है इसलिए मूल रूप से घड़ी को डेटा सिग्नल की तुलना में तेजी से एक गोल यात्रा करनी होती है

ये सभी चीजें सरल बनाने के लिए अच्छे हैं। उच्च डेटा दरों या लंबी दूरी के संचरण के लिए इतना अच्छा नहीं है।

वहाँ भी शायद कुछ अन्य voodoo हार्डवेयर में चल रहा है जिसके बारे में मुझे नहीं पता है।


6

अंगूठे के कुछ सरल नियम: जमीन जैसी कोई चीज नहीं होती है। सभी तार एंटेना हैं। सभी तार ट्रांसमिशन लाइनें हैं। हमेशा शोर होता है।

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


5

I2C एक खुली नाली वाली बस है , इसे सक्रिय रूप से कम खींचा जाता है, लेकिन पुल अप (सामान्य रूप से 100kHz, 400kHz वेरिएंट के लिए कम से कम) निष्क्रिय प्रतिरोधक हैं।

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

यह एक गुंजाइश को आग लगाने के लिए शिक्षाप्रद है और ध्यान दें कि I2C पर गिरने वाली बढ़त MUCH शार्पर है और फिर बढ़ती है।

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

एक बार जब दूरियां बढ़ जाती हैं, तो कुछ और बेहतर हो जाता है, लेकिन मामूली एप्रोम / तापमान / उपकरण विन्यास इंटरफेस के साथ एक बोर्ड पर, यह यथोचित रूप से अच्छी तरह से करता है (वर्थ ध्यान दें कि PHY प्रबंधन इंटरफ़ेस I2C जैसा एक बहुत कुछ दिखता है)।


2

अलग-अलग परिणाम हैं क्योंकि ड्राइवर सर्किट प्रत्येक तकनीक के लिए अलग है।

100kHz I2C आमतौर पर सिग्नल को उच्च स्तर पर रखने के लिए एक पुलअप अवरोधक का उपयोग करता है, और सिग्नल को कम स्तर पर डालने के लिए ओपन-ड्रेन ड्राइवर।

पुलअप रेसिस्टर्स आमतौर पर कई किलो-ओम होते हैं। एक केबल जितनी अधिक होगी, उतनी अधिक धारिता होगी। जिस समय लाइन को 0 से 1 तक संक्रमण करने में समय लगता है, वह लाइन और पुलअप रेसिस्टर वैल्यू पर कुल कैपेसिटेंस के समानुपाती होगा। कहीं न कहीं T = 2 * R * C के बारे में सही होगा।

उदाहरण के लिए यदि आपके पास एक 10 फुट केबल है जिसमें 20pF प्रति फुट कैपेसिटेंस था और आपने 10K पुलअप अवरोधक का उपयोग किया था तो यह T = 2 * 20pF / ft * 10 ft * 10K = 3.6us को कम से उच्च तक संक्रमण में ले जाएगा।

इस स्थिति में आप स्पष्ट रूप से शून्य बिट के बाद कोई भी एक बिट नहीं कर सकते हैं जो 3.6us से कम चौड़े थे, इसलिए आपकी संचरण दर 277kHz तक सीमित होगी।

एक वास्तविक I2C प्रणाली में I2C विनिर्देश आगे सेटअप को अनिवार्य करता है और डेटा और घड़ी संक्रमणों के आसपास के समय को पकड़ता है। वे समय या तो सैकड़ों नैनोसेकंड या माइक्रोसेकंड हैं। समय को उद्देश्य से बहुत धीमा कर दिया गया था ताकि उपकरणों को सस्ते में (पेनी) लागू किया जा सके, और बहुत कम बिजली (मिलिवेट्स) का उपभोग किया जा सके।

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

I2C के समान एक सेटअप तेजी से चल सकता है, निश्चित रूप से, बस 10K पुलअप को 100 ओम में बदल दें और अब आपके उदय का समय केबल के 10ft में 3.6us से 36ns तक चला जाता है। आप शायद लगभग 10MHz पर बहुत अधिक समस्याओं के बिना चला सकते हैं (इस तथ्य के अलावा कि नियमित रूप से I2C चिप्स उस तेजी से बात नहीं कर सकते हैं)।

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