GPIO: क्यों तार बटन + 3.3v के बजाय जमीन पर?


14

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

मैं बटन को + 3.3 v से कनेक्ट कर रहा हूं इसलिए सिग्नल अधिक है क्योंकि यह अधिक समझ में आता है और कोड को अधिक तार्किक रखता है लेकिन एक कारण होना चाहिए कि ज्यादातर लोग जमीन से जुड़ने का पक्ष लेते हैं। क्या फायदे हैं?


नोट: जब मैं कहता हूं कि 'पुल अप रेज़िस्टेंट' का अर्थ है या तो एक भौतिक बाहरी रोकनेवाला या आंतरिक पुल-अप रोकनेवाला, कोड में कॉन्फ़िगर किया गया।
हावर्ड

जवाबों:


19

जीएनडी को वायरिंग बटन और लॉजिक का मुख्य कारण (और फिर पूरे इंटरनेट पर कॉपी किया गया) शक्ति अनुकूलन के कारण है।

  • जीएनडी के लिए अवरोधक के साथ एक पिन कम खींचना 0 वाट की लागत।
  • + Vcc को रोकनेवाला के साथ एक पिन हाई खींचने से बिजली खर्च होती है।

जटिल सर्किट या सर्किट पर जो बैटरी पर भरोसा करते हैं, यह शक्ति बहुत कीमती है।

अन्य कारणों में कम EMF पीढ़ी शामिल है। वायरलेस डिवाइस पर तर्क उच्च खींचने से अत्यधिक संवेदनशील आरएफ रिसीवर पर अनावश्यक क्रॉस टॉक का कारण होगा। ऐसे ट्रांससीवर्स पर शोर को फिल्टर करने के लिए इस्तेमाल किया जाने वाला एक जीएनडी प्लेन होता है और यहीं पर सभी लॉजिक को नीचे खींचा जाता है। तब प्रोसेसर स्विचिंग शोर को फ़िल्टर करने के लिए GND प्लेन का उपयोग करता है।


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

ठीक है, लेकिन मुझे बताएं कि क्या मैं गलत हूं। एक पिन को नीचे खींचना, जो 0v = 0wattsउपयोग है, लेकिन एक पिन को ऊपर खींच रहा है >0watts- किसी भी प्रकार, सूक्ष्म, मिलि, नैनो, नॉट मैटर। जैसा कि उल्लेख किया गया है, बैटरी पावर पर प्रत्येक नैनो वाट मदद करता है। लेकिन जैसा कि यहां पहले ही जवाब दिया गया है ... यूएसबी पर इसका मतलब कुछ भी नहीं है। क्या मैं गलत हूं?
पियोट्र कुला

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

यदि आपको एक एम्बेडेड डिवाइस डिजाइन करना था जो 2AA बैटरी पर चलता था और ग्राहक मांग करता है कि यह कम से कम 12 महीने तक चले। और आपको एक GPIO नीचे / ऊपर खींचना होगा। जिसका उपयोग आप सबसे अधिक बिजली बचाने के लिए करेंगे। (हम यहां माइक्रो मैनेजमेंट की बात कर रहे हैं)
पियोट कुला

4
इसके लायक क्या है, मैंने इस पर कुछ माप किए - और पुलडाउन जीत (बिजली की खपत के लिए) लेकिन केवल। 10k पुलअप से 3.3V = 9fW (हाँ फीमेलटॉट्स) - 10k पुलडाउन टू ग्राउंड = 5fW। यह निश्चित रूप से बैटरी क्षेत्र के एक बिट को बचाने में भी नहीं है।
स्टेफंडज़

10

जटिल ऐतिहासिक कारण हैं कि इलेक्ट्रिकल इंजीनियरों ने आम तौर पर इनपुट को प्रतिरोधों के साथ उच्च खींचा, और उन्हें स्विच करने के लिए स्विच का उपयोग किया।

हालांकि ये कारण रास्पबेरी पाई के शौक के उपयोग के लिए विशेष रूप से प्रासंगिक नहीं हैं। जो कुछ भी आपके लिए समझ में आता है उसका उपयोग करें।

यदि आप एक वाणिज्यिक उत्पाद बना रहे हैं, या चाहते हैं कि आपका डिज़ाइन थोड़ा बेहतर हो, तो आप निम्न व्यावहारिक आवश्यकताओं के लिए ग्राउंडिंग स्विच के साथ पुल-अप चुनेंगे:

  • एक लंबी जमीन का तार बिजली से जुड़े एक से कम ईएमआई / ईएमसी विकिरण जोखिम पैदा करता है
  • किसी चीज़ को ग्राउंड करना, और कनेक्ट करने के लिए एक ग्राउंड पॉइंट ढूंढना, बिजली लाइन की तुलना में आसान है
  • यदि स्विच या वायरिंग, आमतौर पर सर्किट से कुछ दूरी पर रखा जाता है, तो क्षतिग्रस्त हो जाता है और या तो मामले या उपयोगकर्ता को तार या आंतरिक स्विच भागों को छोटा करता है, कोई नुकसान नहीं हुआ है - यह सब जमीन पर है

2

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

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

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


एकमात्र समस्या यह है कि बूट चरणों के दौरान 1-3 ये पिन तैर रहे हैं (GPU से CPU हैंडओवर) तब चरण 4 पर लिनक्स कर्नेल बूट के दौरान पिन सही स्थिति में सेट हो जाते हैं। यह तर्क के लिए इंतजार कर रहे गेट्स के साथ गंभीर मुद्दे पैदा कर सकता है। तो उन्हें वैसे भी नीचे खींचने की सलाह दी जाती है ताकि बूट के दौरान फ्लोटिंग अवधि आपके सर्किट को मानसिक न बना दे!
पियोत्र कुला

1

मुझे नहीं लगता कि आरपीआई पर एक दूसरे को पसंद करने का कोई कारण है। ज्यादातर लोग शायद सर्किट को कॉपी या पोर्ट कर रहे हैं जो उन्होंने कहीं और देखे हैं।

सर्किट को कनेक्ट करते समय (तारों या पीसीबी के साथ) यह ठीक है कि जो भी अधिक सुविधाजनक हो उसे उठाएं और इसे अपने सॉफ़्टवेयर में सही अर्थ में अनुवाद करें।


0

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


-1

आंतरिक पुलअप रोकनेवाला के साथ पिन को जमीन से जोड़ने का मतलब है कि आप कम भागों का उपयोग करते हैं। आप सभी की जरूरत है एक बटन है; वर्तमान को सीमित करने के लिए बाहरी अवरोधक की आवश्यकता नहीं है।

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