क्यों I2C को पुल-अप प्रतिरोधों के साथ काम करने के लिए डिज़ाइन किया गया था और पुल-डाउन वाले नहीं थे?


22

मैं समझता हूं कि I2C में, SCL और SDA लाइनें पुल-अप प्रतिरोधों का उपयोग करती हैं और पिन ड्राइवर खुले कलेक्टर NPN डिवाइस हैं जो पिंस को जमीन पर चला सकते हैं। यह I2C को एक फायदा देता है कि एक ही बस को अब कई दासों के साथ साझा किया जा सकता है, और यहां तक ​​कि अगर दो या दो से अधिक दास गलती से एक ही समय में बस को चलाने की कोशिश करते हैं तो इससे सिस्टम को कोई नुकसान नहीं होगा।

लेकिन यह पीएनपी ओपन ड्रेन ड्राइवरों और एसडीए और एससीएल लाइनों पर पुल-डाउन प्रतिरोधों का उपयोग करके भी किया जा सकता है । क्लॉक-स्ट्रेचिंग और मल्टी-मास्टर मध्यस्थता जैसी चीजें भी इसके साथ हासिल की जा सकती हैं।

क्या I2C प्रोटोकॉल का वर्तमान कार्यान्वयन उपरोक्त सुझाए गए वैकल्पिक कार्यान्वयन पर कोई लाभ देता है?


1
80 के दशक में खुले कलेक्टर ट्रांजिस्टर आईसीएस में बहुमत में लग रहे थे।
प्लाज्माएचएच

9
@PlasmaHH मुझे लगता है कि इसका कारण NPN था (जहाँ तक मुझे अस्पष्ट याद है) सब्सट्रेट में उच्च इलेक्ट्रॉन गतिशीलता के कारण प्रति क्षेत्र में अधिक वर्तमान क्षमता है, इसलिए इसके साथ "मजबूत" आउटपुट चरणों का निर्माण करना आसान है।
मार्कस मुलर

7
@ MarcusMüller वास्तव में, यह (और अभी भी) सच है। समान आकार दिए जाने पर NPN और NMOS फ़ेट्स "मजबूत" होते हैं। CMOS में एक कारक 2 से 3 विशिष्ट है। पीएनपी बनाम एनपीएन के लिए यह निर्माण प्रक्रिया पर निर्भर करता है लेकिन लगभग हमेशा पीएनपी एनपीएन की तुलना में कहीं अधिक कठिन और जटिल होते हैं। पी-डॉप्ड सब्सट्रेट (जैसा कि अधिकांश प्रक्रियाएं करते हैं) के साथ शुरू होने से यह (बेहतर एनपीएन) पर जोर देता है।
बिम्‍पेल्रेकी

@ Bimpelrekkie मुझे अपने ठोस राज्य भौतिकी वर्ग से 2.3 का एक कारक आज तक याद है :-)
winny

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

जवाबों:


30

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

ध्यान दें कि IIC उपकरणों को एक ही नेट या एक ही वोल्टेज से संचालित करने की आवश्यकता नहीं है। यह सच नहीं होगा यदि दोनों बस लाइनों को एकल आम बिजली वोल्टेज पर चलाया जाना था।


5
मेरी नीचता नहीं, और आपके पास मेरे जैसे ही कई वर्षों तक I2C का अनुभव होना चाहिए, इसलिए मेरी बात यहाँ गलतफहमी है, लेकिन: " IIC उपकरणों को [...] एक ही वोल्टेज से संचालित करने की आवश्यकता नहीं है " यह देखने में आता है कि 5V- संचालित और 3V- संचालित I2C डिवाइस (उदाहरण के लिए) समान I2C बस को बिना किसी अतिरिक्त घटकों या सावधानियों के साझा कर सकते हैं (क्योंकि आपने स्तर-अनुवादकों का उल्लेख नहीं किया था)। और निश्चित रूप से वे ऐसा नहीं कर सकते हैं, क्योंकि प्रत्येक डिवाइस के I2C तर्क थ्रेसहोल्ड अब अपने स्वयं के Vcc के लिए संदर्भित हैं। शायद स्तर-अनुवादकों के स्पष्ट उल्लेख की कमी के कारण गिरावट आई?
सैमगिब्सन

13
पुल-अप और I / O पिन का उपयोग करने के आधार पर, I2C-शैली संचार 5V और 3.3V उपकरणों के बीच सुचारू रूप से काम कर सकता है। उदाहरण के लिए, 5K के लिए 10K पुल-अप का उपयोग करते हुए, यदि वे 5V-सहिष्णु अशुद्ध इनपुट हैं या यदि वे अपने सुरक्षा डायोड में 150uA सहन कर सकते हैं , तो 3.3V डिवाइस का उपयोग करने की अनुमति देगा । और 3.3V के लिए पुलअप का उपयोग कम से कम धीमी गति से काम करेगा, 5V उपकरणों के साथ इंटरफेस करने के लिए जिनके पास इनपुट उच्च सीमा है जो 2.5V या उससे कम है।
सुपरकाट

7
@Sam: असल में 5 वी और 3.3 वी आईआईसी उपकरणों कर सकते हैं एक ही आईआईसी बस में हो। उनके आपूर्ति वोल्टेज की परवाह किए बिना निश्चित वोल्टेज स्तरों वाले उपकरणों को विशेष रूप से IIC कल्पना में उल्लेखित और स्वीकृत किया जाता है।
ओलिन लेट्रोप

5
फिलिप्स द्वारा पुराने दस्तावेज़ "द I2C- बस और इसे कैसे उपयोग करें" में, खंड 10.0 में प्रारंभिक (आमतौर पर NMOS) 5V I2C उपकरणों के निश्चित इनपुट थ्रेसहोल्ड का उल्लेख किया गया है। यह तब कहता है: " VDD से संबंधित इनपुट स्तरों वाले I2C- बस उपकरणों में एक सामान्य आपूर्ति लाइन होनी चाहिए, जिसमें पुल-अप रेज़िस्टर भी जुड़ा हो " (मेरा बोल्ड)। @supercat - आपने उल्लेख किया: " 5V डिवाइस जिसमें एक इनपुट उच्च सीमा है जो 2.5V या उससे कम है " क्या आप इस तरह के डिवाइस का उदाहरण देकर मेरी मदद कर सकते हैं? पुराने I2C डॉक्स को पढ़ना, मैं केवल उन पुराने 5V उपकरणों के लिए एक निश्चित 3V I2C Vih न्यूनतम का उल्लेख पा सकता हूं। धन्यवाद।
सैमगिबसन

2
@SamGibson: VDD से संबंधित इनपुट स्तरों वाले उपकरणों को उन वोल्टेज से संचालित करने की आवश्यकता हो सकती है जो एक दूसरे की एक निश्चित सीमा के भीतर हैं। वे कितने करीब होंगे यह इस बात पर निर्भर करता है कि वोल्टेज VDD से कैसे संबंधित हैं। PIC16F877 के लिए माइक्रोचिप डेटा शीट (एक 5V हिस्सा मनमाने ढंग से चुना गया) V (IH) को इसके सामान्य पिनों के लिए 0.25VDD + 0.8V के रूप में सूचीबद्ध करता है, हालांकि इसके श्मिट ट्रिगर इनपुट के लिए यह बहुत अधिक होगा। वीडीडी = 5.2 वी पर, एक सामान्य इनपुट में 2.1 वोल्ट का निर्दिष्ट वी (आईएच) होगा; मुझे हार्डवेयर I2C V (IH) के लिए एक युक्ति दिखाई नहीं दी, हालांकि सामान्य प्रदर्शन ग्राफ से पता चलता है कि यह सामान्य और ST इनपुट के बीच है।
सुपरकैट

24

अच्छे पुराने दिनों में, टीटीएल ड्राइवर एक सिग्नल को नीचे खींचने की तुलना में बहुत बेहतर थे। इसलिए, I2C की तरह प्रोटोकॉल, लेकिन यह भी बाधित लाइनों, रीसेट, और अन्य, सभी को वितरित पुल-डाउन के साथ एक पुल-अप का उपयोग करके लागू किया गया था।


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

2
मुझे बताया गया था कि CMOS के साथ पावर रेल वोल्टेज के करीब पहुंचना भी बहुत आसान है। एक और 'मुद्दा' जहां टीटीएल संघर्ष कर रहा था। (हो सकता है कि हमें खुद को इस बात के लिए भाग्यशाली
समझना

14

यह सबसिस्टम के बीच एक सामान्य संदर्भ के रूप में जमीन का उपयोग करना आसान है जिसमें आपूर्ति की मात्रा में भिन्नता हो सकती है। यदि आप आपूर्ति वोल्टेज तक खींचने के लिए पीएनपी ट्रांजिस्टर का उपयोग करते हैं, तो सभी उप प्रणालियों को एक ही आपूर्ति से जोड़ा जाना होगा।


8

अच्छे जवाब यहाँ लाजिमी हैं, लेकिन एक और कारण भी है।

यदि बस का अर्ध-राज्य जमीन पर है, तो यह बताने का कोई तरीका नहीं है कि बस जुड़ा हुआ है या बस अंतरिक्ष में लटका हुआ है।

मास्टर डिवाइस पर पुल-अप होना सामान्य है। दासों में आमतौर पर पुल-अप नहीं होता है। इसका कारण यह है कि पुल से नीचे की धारा को बस से जुड़े उपकरणों की संख्या के साथ निम्न स्तर तक बढ़ने की आवश्यकता होगी।

एक दास, जब बस में प्लग किया जाता है, तो यह पता लगा सकता है कि लाइन खींची गई है (यह मानकर कि इसका उपयोग नहीं किया जा रहा है) और यह जान लें कि बस वास्तव में वहां है और शांत है। यह एक जमीनी पक्षपाती बस के मामले में नहीं होगा।


उच्च बस को खींचे जाने का पता लगाने के लिए, एक गुलाम को इसे पहली बार में कम खींचना चाहिए। मुझे यकीन नहीं है कि विपरीत ध्रुवीयता के साथ एक समान प्रक्रिया क्यों संभव नहीं होगी।
दिमित्री ग्रिगोरीव

@DmitryGrigoryev क्यों यह पहले से ही कम है कि कुछ खींचने की आवश्यकता होगी?
ट्रेवर_जी

5

यदि मैं प्रश्न को सही ढंग से समझूं तो एक पहलू यह है:

  • आप पुल-डाउन प्रतिरोधों और पीएनपी ट्रांजिस्टर के बजाय पुल-अप प्रतिरोधों और एनपीएन ट्रांजिस्टर का उपयोग क्यों करते हैं?

सबसे पहले आपको ध्यान देना चाहिए कि आप द्विध्रुवी ट्रांजिस्टर (NPN, PNP) का उपयोग नहीं करते हैं, लेकिन MOSFETs (जो चार अलग-अलग वेरिएंट में मौजूद हैं)।

" पुल-अप और एनपीएन " संस्करण का उपयोग करने वाले डिवाइस एन-चैनल एन्हांसमेंट एमओएसएफईटी का उपयोग करते हैं। क्योंकि इस MOSFET का स्रोत गेट-सोर्स वोल्टेज (वर्तमान प्रवाह को नियंत्रित करने) को जमीन और जमीन के बीच वोल्टेज के बराबर करने के लिए जुड़ा हुआ है। तो MOSFET को 0 और Vdd के बीच वोल्टेज का उपयोग करके नियंत्रित किया जा सकता है।

" पुल-डाउन और PNP " संस्करण को लागू करने के लिए तीन संभावनाएँ होंगी :

  • पी-चैनल एन्हांसमेंट MOSFET का उपयोग करना

    एनएमओएस या सीएमओएस आईसी पी-चैनल एमओएसएफईटी पर तुलनीय विशेषताओं (प्रतिरोध आदि) के साथ एन-चैनल एमओएसएफईटीएस की तुलना में अधिक स्थान की आवश्यकता होती है।

    माइक्रोइलेक्ट्रॉनिक अंतरिक्ष में पैसा है इसलिए यदि संभव हो तो पी-चैनल MOSFETs से बचा जाता है।

  • एन-चैनल एन्हांसमेंट MOSFET का उपयोग करना

    ट्रांजिस्टर को चलाने वाले लॉजिक सर्किट के आउटपुट के लिए आपूर्ति वोल्टेज की "कम" वोल्टेज (जैसे + 5 वी) की आवश्यकता होती है और आपूर्ति वोल्टेज के ऊपर "हाई" वोल्टेज होता है (जैसे + 10 वी जब बाकी सर्किट की आपूर्ति की जाती है + 5 वी के साथ)।

    कारण: MOSFET के संचालन के दौरान स्रोत-ग्राउंड वोल्टेज Vdd होगा। गेट-सोर्स वोल्टेज पॉजिटिव होना चाहिए इसलिए गेट और ग्राउंड के बीच वोल्टेज भी अधिक होना चाहिए।

    आपको दो वोल्टेज की आपूर्ति की आवश्यकता होगी - और 0 ... + 5V से + 5V ... * 10V तक लॉजिक सर्किट के आउटपुट को स्थानांतरित करने वाला एक सर्किट ...

  • एक एन-चैनल कमी MOSFET का उपयोग करना

    दुर्भाग्य से मैं आपको इस समाधान के बारे में ज्यादा नहीं बता सकता। हालाँकि, मैंने Google का उपयोग करते हुए कुछ पृष्ठ पाया कि MOSFETs बढ़ाने की तुलना में MOSFETs का उत्पादन अधिक कठिन है और उन्हें इस कारण से बचा जाता है।

    मैं पावर इलेक्ट्रॉनिक्स (माइक्रोइलेक्ट्रॉनिक से नहीं) से जानता हूं कि ऊपर वर्णित "दो पावर-सप्लाई" वेरिएंट को घटते हुए MOSFETs पर भी पसंद किया जाता है। (लेकिन मैं आपको यह नहीं बता सकता कि क्यों।)

    EDIT का उपयोग करते हुए एन-चैनल की कमी MOSFETs आपको संभवतः एक नकारात्मक वोल्टेज (जैसे -5 वी) की आवश्यकता होगी, इसलिए आपको दो आपूर्ति वोल्टेज की भी आवश्यकता होगी ...


0

आम जमीन और पुल-अप डेटा लाइनों (सामान्य VCC और पुल-डाउन होने पर) के लिए एक और अतिरिक्त लाभ भी है:

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

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

यदि आप भी ऐसे उपकरणों की बिजली लाइनों (वीसीसी) को सीधे कनेक्ट करते हैं, तो आपको समस्याएँ आएंगी जब वे लाइनें अलग-अलग वोल्टेज पर स्वाभाविक रूप से होंगी (सुनिश्चित करें, यह यहां और वहां 5 वी कह सकती हैं, लेकिन यह बिजली स्रोतों के निर्माण और भाग के सहिष्णुता पर निर्भर करता है) यह 4.9V या 5.2V या यहां तक ​​कि बदलते हुए भी हो सकता है, अगर यह बैटरी चालित है और कभी-कभी कुछ मोटर चला रहा है, जिससे बिजली गिरती है और समय के साथ बढ़ती है)।

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

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


1
यह अनिवार्य रूप से डेव ट्वीड के उत्तर के समान है।
जंका

-2

अगर आप इसे खींचते हैं, तो आपको चिप के माध्यम से इतनी शक्ति नहीं भेजनी है।

क्योंकि चिप कुछ भी नहीं चलाती है, यह बस को 0 पर लाने के लिए एक शॉर्ट बना रही है, और इसे 1 पर लाने के लिए एक ओपन कर रही है।

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

अस्वीकरण: मैं इस बिंदु पर एक बहुत घटिया ईई हूं।


3
EE.SE में आपका स्वागत है। " आपको चिप के माध्यम से इतनी शक्ति भेजने की ज़रूरत नहीं है, अगर यह ऊपर खींच रहा है। " यदि पुल-अप और पुल-डाउन प्रतिरोधों का आकार समान है तो धाराएं समान होंगी। पुल-अप को चालू चिप से चालू करने और ड्राइविंग चिप में डूबने की आवश्यकता होगी। पुल-डाउन को ड्राइविंग चिप से चालू करने और चालित चिप से डूबने की आवश्यकता होगी। एक आकस्मिक कमी V + या जमीन तक हो सकती है।
ट्रांजिस्टर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.