अधिकतम I2C बस की लंबाई?


38

केबल की अधिकतम लंबाई क्या है जो दो I2C उपकरणों (I2C मास्टर-> I2C दास) को जोड़ने के लिए इस्तेमाल की जा सकती है?

हां, मुझे पता है कि I2C वास्तव में इंट्रा-बोर्ड संचार के लिए डिज़ाइन किया गया है। मुझे डेमो का समर्थन करने के लिए कई I2C दासों के लिए एक सामान्य I2C बस का उपयोग करने के "डिजाइन लक्ष्य" के साथ काम सौंपा गया है।

स्पष्टता के प्रयोजनों के लिए, आइए मान लें कि 100 kHz की I2C बस दर।


1
अधिकतम लंबाई आती है जिसे मैं लंबाई द्वारा पेश किए गए समाई के साथ खेलता हूं। बहुत अधिक समाई और यह आपकी गति को प्रभावित कर सकता है। तो हमेशा की तरह, यह निर्भर करता है।
गुस्तावो लिटोव्स्की

@GustavoLitovsky आप समाई के बारे में सही हैं। यह उपयोग किए जा रहे केबलों के प्रकार पर भी निर्भर करता है (परिरक्षित बनाम गैर-परिरक्षित)। मुझे एक सामान्य दिशानिर्देश में सबसे अधिक दिलचस्पी है।
नैट

2
@ राष्ट्रीय दिशानिर्देश: 400pF की अधिकतम शुद्ध बस समाई। : (कुछ हद तक प्रश्न से संबंधित एक ऊंचा हो गया I2C बस के संस्मरण ।)
निक एलेक्सीव

1
I2C = अंतर-एकीकृत सर्किट बस। यह बक्से के बीच लंबी दूरी के लिए डिज़ाइन नहीं किया गया है, और निश्चित रूप से 400kHz पर नहीं।
स्परोहो फेफेनी

1
बस गणना से अलग कुछ व्यक्तिगत अनुभव में फेंकना चाहता था। मैं एक देव बोर्ड से एक I2C करने के लिए एक USB करने के लिए USB कनवर्टर करने के लिए एक unhielded तार के बारे में 3ft के साथ जा रहा प्रदर्शन किया है। सुंदर नहीं लग रही थी, लेकिन इसने 90% समय काम किया।
mcmiln

जवाबों:


16

इस NXP दस्तावेज़ I2C- बस विनिर्देश और उपयोगकर्ता पुस्तिका के अनुसार, फास्ट मोड, और रेसिस्टर पुलअप के लिए, समाई 200pF से कम होनी चाहिए ।

वर्तमान स्रोत पुलअप के साथ आप 400pF पर जा सकते हैं, लेकिन प्रतिरोधों के साथ नहीं।

यदि आपका तार 20pF / 30cm है ​​और आपके पास एक और 50pF आवारा और इनपुट समाई है, तो आप केबल लंबाई के 2.25 मीटर तक सीमित हैं। विभिन्न मान्यताओं के कारण अलग-अलग संख्याएँ होंगी।


1
@KrunalDesai यह विशेष रूप से NXP दस्तावेज़ में ऊपर वर्णित है। I2C- बस विनिर्देश और उपयोगकर्ता पुस्तिका
Spehro Pefhany

1
एक वास्तविक दुनिया के उदाहरण के लिए, निनटेंडो Wii के "Wiimote" में 400kHz I2C ( wiibrew.org/wiki/Wiimote/Extension_Controllers ) का उपयोग किया गया है , जो ननचुक ( wiibrew.org/wiki/Wiimote/Extension_Controllers/Nunchuck ) जैसे बाह्य उपकरणों के साथ संचार करता है। आप देख सकते हैं, एक केबल है जो लगभग 1 मी है। निष्क्रिय एक्सटेंडर एक अतिरिक्त 1m ( amazon.com/Extension-Cable-Wii-Nunchuck-N support/dp/B0039OEV9K) को देने के लिए बेचे जाते हैं , इसलिए वे जोर दे रहे हैं, लेकिन उस 2.25% की सीमा के भीतर रह रहे हैं।
राब स्टारिंग

16

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

कुंजी आपके इनपुट वोल्टेज सीमा को जानना है। सुनिश्चित करें कि ग्राउंड लीड में वोल्टेज ड्रॉप इस से अच्छी तरह से नीचे है, या एक उच्च जमीन की क्षमता पर एक ट्रांसमीटर वोल्टेज को काफी कम खींचने में सक्षम नहीं होगा। ग्राउंड ऑफसेट के लिए सहिष्णुता का अभाव IMHO RS485 का उपयोग करने का सबसे बड़ा कारण है या ट्रांससीवर्स (कुछ एप्लिकेशन नोटों में I2C ओवर कैन का उल्लेख किया गया है) हो सकता है।

आदर्श रूप से, सभी उपकरणों की अपनी दीवार मस्सा और बैटरी होगी और उपकरणों के बीच जमीन के तार पर कोई शक्ति नहीं भेजी जाएगी।

लेकिन, उदाहरण के लिए CAT5 को लेने देता है। CAT5 52pf / m से अधिक नहीं हो सकता है, या यह CAT5 नहीं है।

52mf केबल के 100 मीटर की क्षमता 5200pf या 5.2nf है।

5.2n गुना 20kohms (पुलअप) लगभग 104 माइक्रोसेकंड का समय निरंतर देता है। इसकी गति लगभग 10kHz या तो है।

2.2kohm पुलअप का उपयोग करते हुए, आप शायद 100kHz तक पहुँच सकते हैं।

मैंने सुना है कि उपकरणों में एसडीएल और एससीके पर एक रोकनेवाला होना चाहिए, क्योंकि बड़े कैपेसिटिव लोड वे चला रहे हैं, जैसे कि 180 या 200 ओम।

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

केवल नकारात्मक पक्ष यह है कि एक ट्रांसीवर 70 मीटर तक पहुंच सकता है और 1 या 2 मी बस सुन रहा है, इसलिए I2C या प्रत्यक्ष टीटीएल UART अत्यधिक कम बिजली स्थितियों में उपयोगी हो सकता है, लेकिन विचार करें कि वास्तव में भेजने में आप कितना समय खर्च करते हैं।


7

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


ऐसा लगता है कि आप USB केबल की लंबाई के बारे में बात कर रहे हैं । ओपी कच्चे I2C को केबल करने के बारे में पूछ रहा है । यह एक पूरी तरह से अलग विषय है। अगर मैं गलत हूं, तो अपना जवाब संपादित करें और मैं अपना पद छोड़ दूंगा।
DoxyLover

1
25 मीटर एक usb के लिए भी बहुत कुछ है ...
व्लादिमीर क्रेवरो

3
नहीं, मैं वास्तव में डिवाइस CPU और I2C सेंसर चिप्स के बीच I2C कनेक्शन के बारे में बात कर रहा हूं , मेजबान और सीपीयू के बीच यूएसबी कनेक्शन नहीं। यहाँ एक उदाहरण है: yoctopuce.com/EN/products/yocto-meteo/doc/…
martinm

1
यदि आप I2C और पावर के लिए मुड़ जोड़ी का उपयोग करना चाहते हैं, तो आप किस जोड़ी को एक साथ जोड़ेंगे? (एसडीए, एससीएल), (वीसीसी, जीएनडी) या (एसडीए, जीएनडी), (एससीएल, वीसीसी)?
Cano64

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

4

IIC एक समकालिक प्रोटोकॉल है, और इस तरह, यह दूरी और शोर के संबंध में सिस्टम आवश्यकताओं को पूरा करने के लिए धीरे-धीरे मनमाने ढंग से चलाया जा सकता है।

एक केबल पर IIC का उपयोग करने के कई उदाहरण हैं, 1990 के दशक में वापस ACCESS.bus से यह कैसे वीडियो प्रदर्शन से EDID जानकारी प्राप्त करने के लिए आज इसका उपयोग किया जाता है।


एक अन्य उदाहरण Wii Nunchuck है, जो 4 फुट परिरक्षित केबल का उपयोग करके I usingC के माध्यम से Wii रिमोट से जुड़ा है।
tcrosley

4

NXP के P82B96 की तरह कुछ का उपयोग बस पर वोल्टेज के स्तर को बदलने के लिए किया जा सकता है, जिससे अधिक लंबी दूरी की अनुमति मिलती है।

डेटापत्रक 3 मीटर, 25 मी, 100 मी और 250 मी की I2C केबल लंबाई के लिए उदाहरण हैं।

अन्य चिप्स हैं जिनकी समान कार्यक्षमता है।


NXP चिप के साथ समस्या यह है कि आप दो बार कई तारों की आवश्यकता को समाप्त करते हैं। कोई अन्य विचार? द्विदिश आईसी मैंने पाया है कि 5V से ऊपर नहीं जाता है।
मथायस उरलिच
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.