परजीवी / बैकफ़ीड आपूर्ति से बचने के लिए कम शक्ति वाले राज्यों के दौरान आईसी को डिस्कनेक्ट करने के उचित तरीके


10

मैं एक लो-पावर बैटरी-आधारित एवीआर-आधारित परियोजना पर काम कर रहा हूं, जो कुछ अलग-अलग उपकरणों को एकीकृत करता है, जिसमें एक नेओपिक्सल स्ट्रिप और एक Adafruit Pixie शामिल है । जब समग्र उपकरण मौन होता है, तो मैं लाइको बैटरी जीवन को अधिकतम करने के लिए 0.1mA से कम आकर्षित करना चाहूंगा।

मुझे यह सब काम कर रहा है (0.035mA मापा गया) लेकिन मुझे यकीन नहीं है कि मैंने जरूरी "सही" तरीके से किया था और मैं इस पर आधारित उत्पाद बनाने की योजना बना रहा हूं ताकि यह सही हो।

यहाँ छवि विवरण दर्ज करें (नहीं दिखाया गया: रिले के लिए एक फ्लाईबैक डायोड)

जब वीसीसी को डेटा पिन से बहने वाले प्रवाह के माध्यम से डिस्कनेक्ट किया जाता है, तो मुख्य चिंता मुझे उपकरणों की "परजीवी" शक्ति है। उदाहरण के लिए, पिक्सी (जो धारावाहिक के माध्यम से संचार करता है), कोई पावर डाउन मोड नहीं है और यहां तक ​​कि जब एक मिलकैंप के बारे में "बंद" नालियों। इसलिए मैंने इसके वीसीसी को डिस्कनेक्ट करने के लिए एक छोटा रिले रखा, और पता चला कि सीरियल पिन वास्तव में अभी भी पिक्सी को शक्ति दे रहा था। संकेत कहीं और सुझाव दिया है कि कई चिप्स बिजली संरक्षण के रूप में वीसीसी को अपने डिजिटल इनपुट पिन shunting एक डायोड है। इसे हल करने के लिए, मुझे नींद के दौरान सीरियल लाइब्रेरी और वास्तव में digitalWrite (PIN, LOW) को निलंबित करना पड़ा है।

WS2812b स्ट्रिप के साथ एक ही बात - VCC को डिस्कनेक्ट करना अभी भी डिवाइस को डेटा पिन से संचालित करने की अनुमति देता है। और अन्य डिज़ाइनों में जब मैंने एन-चैनल MOSFET के साथ GND को डिस्कनेक्ट कर दिया है, तो मैंने रिवर्स - डेटा लाइन के माध्यम से जमीन पर वर्तमान का एक पिछला प्रवाह देखा है! (यह PJRC पर एक पोस्ट प्रति डायोड के साथ हल किया जाना था ।) WS2812b वास्तव में एक मिलिम्प के बारे में ले जब भी प्रत्येक अनलिस्ट,

तो प्रश्न: क्या मिक्स में डेटा पिन होने पर सिस्टम स्लीप के दौरान किसी प्रोजेक्ट के कुछ हिस्सों से वीसीसी और जीएनडी को डिस्कनेक्ट करने का एक सामान्य, "साफ" तरीका है। सबसे अच्छा अभ्यास क्या है?

कुछ विचार:

  1. GND को बल VCC (निश्चित नहीं है कि कैसे? Hbridge?)। (यदि मैं ऐसा करता हूं, तो उन डेटा पिनों का क्या होता है जो उच्च हैं?)
  2. सभी डेटा पिन और इन उपकरणों के बीच एक त्रिकोणीय राज्य बफर रखें, और नींद के दौरान एक उच्च प्रतिबाधा राज्य में त्रिकोणीय राज्य बफर डाल, केवल पी या एन mosfet के साथ VCC या GND डिस्कनेक्ट
  3. जीएनडी को केवल एन मॉस्फ़ेट के साथ डिस्कनेक्ट करें, और सभी डेटा पिन पर डायोड रखें
  4. क्या किसी प्रकार की बिजली की कुंडी है जो वीसीसी और जीएनडी दोनों को डिस्कनेक्ट करती है और उन्हें एक "उच्च प्रतिबाधा" स्थिति में डालती है (जैसे कि बिजली के लिए एक त्रि-राज्य बफर?) इस तरह से डेटा लाइनों से "बाहर" बहने का कोई तरीका नहीं है।

क्या कोई मुझे इस तरह के "लोड डिस्कनेक्ट" समस्या से निपटने का सबसे साफ, सबसे दोहरावदार तरीका बता सकता है? (कहने की जरूरत नहीं है, मैंने इस समस्या को कम भाग्य के साथ गुजारने में घंटों बिताए हैं, हालांकि मुझे लोड स्विचिंग पर यह तकनीकी नोट मिला था लेकिन यह बैक-फीड और परजीवी पावर को संबोधित नहीं करता है)


हां यह सुपर कष्टप्रद है, मैंने वास्तव में ऐसे मामलों को देखा है जहां एक GPIO पिन तक पहुंचने वाली शक्ति वीसीसी पिन तक पहुंचने वाली कोई भी शक्ति के साथ AVR चालू कर सकती है (कोड निष्पादित) ...
vicatcu

2
मजेदार अवलोकन: मैंने इस सवाल को पोस्ट करने के बाद कुछ और Google खोज की और एसई पर यह सवाल शीर्ष रैंक के रूप में आया। Google ने 10 मिनट से भी कम समय में इस पृष्ठ को अनुक्रमित किया।
जेरेमी गिलबर्ट

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

संभवतः हाई-जेड-आईएनजी आपके सभी कनेक्शनों को किसी तरह से (ट्राई-स्टेट insC पिन, ट्राई-स्टेट बफ़र्स, एनालॉग स्विच, जो भी हो), जैसा कि पीटर स्मिथ और सीएल ने सुझाया है, सबसे अच्छा दांव है। तरीकों में से कौन सा बेहतर है, मुझे यकीन नहीं है। किसी भी स्थिति में: आप स्विचिंग के लिए रिले का उपयोग क्यों करते हैं, और उस मामले के लिए P-MOSFET (या एक lowside N-MOSFET नहीं), हालांकि lowside स्विचन शायद यहाँ थोड़ा कठिन होगा)?
फ्लैशकैक्टस

जवाबों:


5

जब मैं ऐसा करता हूं, तो मैं आमतौर पर प्रभावित डेटा लाइनों पर सीएमओएस एनालॉग स्विच का उपयोग करता हूं ।

ADG812 की तरह कुछ एसपीएसटी स्विच के 4 चैनल हैं जो आसानी से काफी तेज तर्क के लिए उपयुक्त हैं, और स्विच नोड्स के बीच एक बहुत ही उच्च प्रतिबाधा प्रदान करते हैं जब ऑफ स्टेट में।

ADG812 लीकेज से

इसके बारे में अच्छी बात यह है कि तकनीक यूनिडायरेक्शनल और बिडायरेक्शनल दोनों डेटा लाइनों के लिए काम करती है ।

ये हिस्से एक चमकदार मुस्कान पर भी चलते हैं:

ADG812 बिजली की आवश्यकताएं

बिजली डाउन करने का सामान्य क्रम:

  1. डेटा पथ स्विच बंद करें

  2. पावर डाउन डोमेन।

पॉवर अप इसके विपरीत है, बिल्कुल।

[अपडेट करें]

इन्हें वास्तव में अन्य नामों से जाना जाता है, जैसे पास गेट्स और ट्रांसमिशन गेट्स

ये एक सच्चे त्रि-राज्य बफर से काफी अलग हैं (जैसा कि आप ऊपर दिए गए लिंक में आरेख में देख सकते हैं), लेकिन साधारण तर्क के लिए, प्रभाव बेहतर है (यह स्वाभाविक रूप से एक द्विदिश उपकरण है) लेकिन कम शक्ति के साथ।


प्रश्न की अज्ञानता को क्षमा करें, लेकिन क्या यह त्रिकोणीय राज्य बफर से अलग है? (और उत्तर के लिए धन्यवाद!)
जेरेमी गिल्बर्ट

इन्हें "पास गेट्स" के रूप में भी जाना जाता है
vicatcu

3

यदि डेटा सिग्नल आपके माइक्रोकंट्रोलर से जुड़े हैं, तो आप बस उन पिनों को इनपुट के रूप में कॉन्फ़िगर करके उन्हें उच्च प्रतिबाधा बना सकते हैं। (यदि दूसरी चिप बहुत कम बिजली का उपयोग करती है, तो आप इसके Vcc को डेटा सिग्नल की तरह मान सकते हैं।)

अन्यथा, आप उन्हें बंद करने के लिए एनालॉग स्विच (74x66 लॉजिक चिप्स) का उपयोग कर सकते हैं। यूनिडायरेक्शनल सिग्नल के लिए, 74x125 भी काम करेगा।


आपको वास्तव में उन्हें उच्च-जेड बनाने की आवश्यकता नहीं है, आप बस माइक्रो की जीपीआईओ लाइनों को कम कर सकते हैं।
19

1
यह अधिक खतरनाक होगा यदि अन्य चिप कभी सिग्नल को उच्च ड्राइव कर सकती है।
सीएल।

बस इसलिए मैं पूरी तरह से समझता हूं, क्या पिंस को इनपुट्स पर हमेशा के लिए स्विच कर रहा है जैसा कि उन्हें उच्च प्रतिबाधा की स्थिति में रखा जाता है? क्या यह अधिकांश MCU या केवल AVR के लिए सामान्यीकृत है? क्या वह स्थिति वैसी ही है जैसी कि OE अक्षम होने पर आपको 74x125 से मिलेगी?
जेरेमी गिल्बर्ट

@JeremyGilbert सभी CMOS इनपुट में उच्च प्रतिबाधा है (वे MOSFET द्वार हैं, जो बहुत छोटे कैपेसिटर की तरह व्यवहार करते हैं)। एक अक्षम '125 आउटपुट में कोई गेट नहीं है, लेकिन अंतर नगण्य है।
सीएल।

1
ज्यादातर अनुप्रयोगों में @JeremyGilbert इनपुट आमतौर पर उच्च-जेड होते हैं; सब के बाद, यह कुछ भी समझ में मुश्किल है जब आप लाइन चला रहे हैं। कम से कम AVR के साथ (और शायद दूसरों को भी, लेकिन मुझे बारीकियों की जानकारी नहीं है), आपको आंतरिक पुलअप के लिए बाहर देखना होगा: यदि पिन इनपुट मोड में है (DDRx के माध्यम से कॉन्फ़िगर किया गया है) और आप LOW को लिखते हैं यह (पोर्टेक्स के माध्यम से), यह नियमित हाय-जेड मोड में है। हालाँकि यदि आप इनपुट मोड में उच्च लिखते हैं, तो आंतरिक पुलअप सक्षम है, और बाहर से पिन एक फ्लोटिंग लाइन के बजाय VCC के लिए ~ 50K रोकनेवाला जैसा दिखता है।
19 दिसंबर को फ्लैश कैक्टस

1

मुझे नहीं लगता कि एक आकार दुर्भाग्य से सभी रणनीति को फिट बैठता है। सबसिस्टम में बिजली स्विच करें जैसा कि आप पहले ही कर चुके हैं। सॉफ़्टवेयर में, कम बिजली वाले राज्यों के लिए कम पिन ड्राइव करें, जब तक कि ऐसा करने से उच्च शक्ति स्थिर स्थिति नहीं होगी। उस स्थिति में, पिन को उच्च ड्राइव करें। इनपुट्स को कभी फ्लोट न करें। सुरक्षित प्रारंभिक स्थितियों को स्थापित करने के लिए आवश्यक के रूप में अनुक्रम शक्ति।


1


I2C

आपके पास वह विकल्प नहीं है - आप अतुल्यकालिक धारावाहिक I / O का उपयोग करने के लिए मजबूर हैं। कुछ माइक्रोकंट्रोलर समस्या को हल करने के लिए I2C के समान दृष्टिकोण की अनुमति देते हैं। यदि आप सीरियल आउटपुट पिन को केवल सामान्य पुल-अप-फॉर -1, पुल-डाउन-फॉर-0 के बजाय पुल-डाउन- होने के लिए प्रोग्राम कर सकते हैं, तो आप स्विच्ड-वीसीसी टू पुल-अप रोकनेवाला जोड़ सकते हैं एक तर्क उच्च स्थापित करें।
यह समाधान आपके वर्तमान दृष्टिकोण के रूप में शोर-मजबूत नहीं है, लेकिन इसे AVR से आपके I / O मॉड्यूल को बैक-पॉवर करने की समस्या को हल करना चाहिए। यह वास्तव में एक "स्वच्छ" समाधान नहीं है, लेकिन यह आपके IO मॉड्यूल में माइक्रोकंट्रोलर (s) के लिए कहीं अधिक सुरक्षित है।

ढांच के रूप में

इस सर्किट का अनुकरण करें - सर्किटलैब का उपयोग करके बनाई गई योजनाबद्ध

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