मुझे किस स्थिति में ब्राउन-आउट डिटेक्शन फ़ीचर ऑफ़ को एक माइक्रोकंट्रोलर पर रखना चाहिए?


33

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

मैं सोच रहा था कि क्या ऐसी कोई परिस्थितियां हैं जिनमें ब्राउन-आउट रीसेट सुविधा को सक्षम करने की अनुशंसा नहीं की गई है?


4
ब्राउन-आउट डिटेक्टर भी वर्तमान का उपभोग कर सकते हैं जिसे माइक्रोपावर अनुप्रयोगों के लिए ध्यान में रखा जाना चाहिए।
HL-SDK

जवाबों में बताए गए बीओ-डिटेक्शन की विविध कमियों को देखते हुए, इस पर भी विचार करें: क्या आप अपने विशेष मामले में कोई कस्टम निश्चितता प्राप्त कर सकते हैं? कुछ मामलों में आप पर्याप्त आपूर्ति या पूर्ण ब्लैकआउट की गारंटी दे सकते हैं => BOD के लिए पुन: स्रोतों को बचाएं
Mark

जवाबों:


11

जैसा कि कहा गया है, ब्राउन-आउट सर्किट को सक्षम करना अक्सर वर्तमान खपत में वृद्धि करेगा। इसके अलावा, क्योंकि निर्माता आम तौर पर यह सुनिश्चित करना चाहते हैं कि ब्राउन-आउट सर्किट किसी भी वोल्टेज पर यात्रा करेगा जो कि चिप के अन्य भागों को कार्य करने के लिए पर्याप्त कम हो सकता है, कई हिस्से ब्राउन-आउट अक्षम के साथ कम वोल्टेज पर काम करने में सक्षम होंगे । उदाहरण के लिए, एक नियंत्रक कमरे के तापमान पर 1.5 वोल्ट से नीचे सबसे अधिक समय तक काम कर सकता है लेकिन, कुछ तनावपूर्ण परिस्थितियों (जैसे ऊंचा तापमान) के तहत 1.99 वोल्ट पर खराबी हो सकती है। यह सुनिश्चित करने के लिए कि डिवाइस किसी भी स्थिति में रीसेट हो जाएगा जहां खराबी हो सकती है, ब्राउन आउट सर्किट को 2.1 वोल्ट +/- 100 मीटर पर यात्रा करने के लिए डिज़ाइन किया जा सकता है।

यदि इस तरह के नियंत्रक वाला एक उपकरण दो क्षारीय AA बैटरियों से संचालित होता है, तो ब्राउनआउट सर्किट को सक्षम करने से डिवाइस प्रति सेल 1.1 वोल्ट की बैटरी वोल्टेज के साथ अनुपयोगी हो सकता है, और संभवत: यह उस समय तक ऑपरेशन को समाप्त करने का कारण होगा जब तक वोल्टेज नहीं पहुंचता। प्रति सेल 1.05 वोल्ट। ब्राउनआउट सर्किट को निष्क्रिय करने से संभवतः ऑपरेशन प्रति सेल कम से कम 0.9 वोल्ट तक बढ़ जाएगा, और संभवतः प्रति सेल 0.75 वोल्ट भी। कम वोल्टेज पर होने वाली कोई भी खराब खराबी, जंक बैटरियों पर बढ़ी हुई नाली से परे किसी भी तरह की हानि का कारण बन सकती है, तो ब्राउनआउट सर्किट को निष्क्रिय करना बैटरी जीवन को बेहतर बनाने का एक सरल तरीका होगा, भले ही यह प्रयोग करने योग्य बैटरी से वर्तमान ड्रॉ को कम नहीं करता हो।


22

सब कुछ सहिष्णुता है, इसलिए ब्राउन आउट रीसेट स्तर को न्यूनतम स्तर से कुछ ऊपर सेट किया जाना चाहिए जिस पर चिप को ठीक से काम करने की गारंटी है।

इसलिए चिप के खराब होने से पहले ब्राउन आउट अच्छी तरह से किक कर सकता है। आप अपने आप से पूछना करने के लिए इस क्षेत्र, जहां चिप के लिए, है तो हो सकता है , समारोह ठीक लेकिन यदि आप सुनिश्चित नहीं हो सकता है आप किसे चुनेंगे

  • चिप को काम करने दें और आशा करें कि यह सबसे अच्छा हो (यह काम कर सकता है!), या
  • ब्राउन-आउट सर्किट द्वारा चिप को रीसेट होने दें (और रीसेट में रखा जाए)।

यदि खराबी की लागत पहले से काम नहीं करने की लागत से बहुत अधिक है, तो पहले विकल्प को प्राथमिकता दी जानी चाहिए। एक हवाई जहाज 'ब्लैक बॉक्स' पर पिंग-फीचर के बारे में सोचें। हर तरह से, अगर कोई मामूली मौका है कि यह एक पिंग दे देगा तो चलें!

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

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


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


रॉकेट स्थिति के लिए, सबसे अच्छा समाधान एक बैकअप कंप्यूटर है जो पहले विफल होने की स्थिति में ले जाएगा, और पहला बंद है, ठीक है ??
रोस ऐकेन

कुछ पाठ जोड़ा
राउटर वैन Ooijen

वास्तव में एरियन 5 कहानी बहुत अधिक जटिल है, और त्रुटि से निपटने में विफलता का कारण था। esamultimedia.esa.int/docs/esa-x-1819eng.pdf
starblue

1
नहीं, त्रुटि से निपटने का कारण नहीं था। यह एक सिद्ध प्रणाली का उपयोग था (यह एरियन 4 पर उड़ गया था) नए डेटा के साथ परीक्षण किए बिना अपने मूल विनिर्देशों के बाहर डेटा के साथ । (इस तरह के परीक्षणों की मूल रूप से योजना बनाई गई थी, लेकिन बाद में एक लागत में कमी कार्यक्रम में
बिखरे हुए थे

10

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

यदि कार्य के लिए आंतरिक बीओआर अपर्याप्त है (उदाहरण के लिए सहिष्णुता उपयुक्त नहीं हो सकती है), तो हो सकता है कि इसे बंद कर दें और कुछ बाहरी का उपयोग करें।

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


10

यदि कोई बग ठीक से काम नहीं करता है, तो आप BOR को अक्षम करना चुन सकते हैं।

मॉड्यूल: वोल्टेज नियामक

यदि BOR घटना होती है, तो डिवाइस BOR स्थिति से बाहर नहीं निकल सकता है।

अंक 15 को PIC32MX534 / 564/664/764 में देखें परिवार सिलिकॉन इरेटा और डेटा शीट स्पष्टीकरण


8
आउच। यह प्यारा इरेटा किस हिस्से से संबंधित है?
स्पेरो पेफेनी

1
कुछ ऐसा कैसे होता है जो इसे उत्पादन में बनाता है?
मैट यंग

1
यह प्रफुल्लित करने वाला है। और प्रफुल्लित करने से मेरा मतलब है लगभग अपराधी।
इग्नासियो वाज़केज़-अब्राम्स

1
विशेष उपकरण PIC32MX664F और केवल कुछ सिलिकॉन संशोधन थे। अधिकांश समय यह BOR से बाहर निकलता है, जो आमतौर पर हर 20 में से एक बार होता है।
mjcopple

@ मैट यंग: क्योंकि इन PIC माइक्रोकंट्रोलर्स के अधिकांश उपयोग, BOR केवल तब ही इसे बंद करने से पहले मौजूद होते हैं, जब आप प्लग को खींचते हैं, तो सिलिकॉन यादृच्छिक निर्देश निष्पादित करना शुरू कर देता है। यदि आपके पास रॉम में एक नियमित दिनचर्या है, तो इसके लिए संभव है कि यदि बीओआर मौजूद नहीं था, तो खुद को डब्ल्यू / कचरा फ्लैश करने का प्रयास करें।
जोशुआ

5

यदि आप स्लीप मोड में वर्तमान खपत को कम करना चाहते हैं। जैसे ATmega328P के लिए आप BOD को बंद करके इसे 17uA कम कर सकते हैं। सोते समय सब कुछ बंद कर दें और चिप एक छोटे 1.8uA की खपत करता है!

(स्रोत: http://www.rocketscream.com/blog/2011/07/04/lightweight-low-power-arduino-library/ )


2

ऐसी परिस्थितियां हैं जहां आप इसके बजाय बाहरी, कस्टम-निर्मित ब्राउन-आउट सर्किट का उपयोग करना पसंद कर सकते हैं।

ऐसे माइक्रोकंट्रोलर हैं जहां भूरे-ओटी स्तरों का संकल्प काफी छोटा है।

मान लेते हैं कि आप wherec के साथ काम करते हैं जहाँ दो उच्चतम भूरे रंग के स्तर 4.3 V और 2.7 V (AVR के मामले में सामान्य) हैं। आपने निर्धारित किया है कि आपके द्वारा उपयोग की जाने वाली आवृत्तियों पर, 2.7 V असुरक्षित है। हालाँकि, 4.3 V बहुत अधिक होगा, क्योंकि यह एक बिजली की विफलता के बाद चलने के समय की लंबाई को सीमित करेगा।

मुझे अक्सर उन उपकरणों के साथ काम करना पड़ता है जो अक्सर बाहरी बिजली की आपूर्ति से कनेक्शन खो सकते हैं और फिर कैपेसिटर या बैटरी पर जीवित रहना पड़ता है। 4.3 V के ब्राउन-आउट स्तर होने से डिवाइस बहुत जल्द बंद हो जाएगा। 2.7 से डेटा भ्रष्टाचार को बढ़ावा मिलेगा। हालांकि, यदि उदाहरण के लिए, 3.5 वी एक सुरक्षित ब्राउन-आउट स्तर होगा, तो आप बाहरी ब्राउन-आउट सर्किट बनाना चाह सकते हैं जो आपके माइक्रोकंट्रोलर की रीसेट लाइन को खींचकर काम करता है। इस मामले में आंतरिक ब्राउन-आउट सर्किट का कोई फायदा नहीं है और इसे निष्क्रिय किया जा सकता है।

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


1
मुझे पता है कि आप AVR पर नहीं उठा रहे हैं, लेकिन मैं यह उल्लेख करने के लिए मजबूर हूं कि 1) विभिन्न AVR लाइनों में अलग-अलग BOR थ्रेसहोल्ड हैं, और 2) AVRs रीसेट सिग्नल को बाहरी रूप से nRESET पर दिखाई देते हैं, इसलिए यदि आप बहुत सावधानी से एक का उपयोग कर सकते हैं एक रीसेट नियंत्रक के रूप में।
इग्नासियो वाज़केज़-अब्राम्स

1

हमारे द्वारा उपयोग किए जा रहे माइक्रोकंट्रोलर्स पर सिलिकॉन में एक बग के कारण स्टार्टअप के एक हिस्से के दौरान हमें वीबीओआर को बंद करना पड़ा। वोल्टेज पंप पर कैप को चार्ज करने से डिवाइस को पल-पल में न्यूनतम और वीबीओआर से ऊपर रखा जाएगा। इसलिए हमने पॉवरअप के दौरान VBOR को बंद कर दिया और बाद में इसे लगभग 10ms कर दिया।

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