क्या माइक्रोकंट्रोलर्स को मनमाने ढंग से कम आवृत्तियों पर चलाया जा सकता है?


103

उदाहरण के लिए, ATTiny13A के लिए डेटशीट, 0 मेगाहर्ट्ज की न्यूनतम आवृत्ति को सूचीबद्ध करता है। इसका मतलब यह है कि घड़ी को बिना किसी प्रभाव के किसी भी कम आवृत्ति पर चलाया जा सकता है? मैं मान रहा हूं कि यह कम क्लॉक स्पीड पर कम करंट खींचता है? क्या 0 मेगाहर्ट्ज का मतलब है कि आप घड़ी को पूरी तरह से बंद कर सकते हैं, और जब तक बिजली अभी भी लागू होती है, यह अनिश्चित काल तक अपनी स्थिति को याद रखेगा?


34
मैं जोड़ना चाहूंगा, यह एक उत्कृष्ट प्रश्न है। अधिकांश वरिष्ठ ईई वास्तव में पढ़ने और डेटाशीट के बारे में सोचने के लिए समय नहीं लेते हैं, जो या तो आपके लिए एक पूरक है या उनका अपमान है, मैं दोनों को इम्प्रेस करना चाहूंगा।
कोर्तुक

मुझे पूरी तरह से यकीन नहीं है कि आंतरिक आरसी थरथरानवाला बंद हो जाता है जब तक कि आप इसे विशेष रूप से (विभिन्न बिजली बचत विकल्पों के माध्यम से) निर्देश नहीं देते हैं। यह निश्चित नहीं है कि इसका क्या उपयोग किया जाता है, लेकिन कम से कम EEPROM और शायद ADC के लिए।
जिप्पी

1
@jippie आप क्या आंतरिक आरसी कह रहे हैं? उदाहरण के लिए ATMegaX में सिस्टम क्लॉक के लिए आंतरिक आरसी है (सामान्य रूप से 8Mhz, वैकल्पिक div 8 प्रीस्कूलर के साथ), इसमें वॉचडॉग ऑसिलेटर है। सिस्टम क्लॉक फ़्यूज़ चयनित है और बाहरी घड़ी का उपयोग करते समय संभवतः बंद है। दूसरों के रूप में आपने कहा कि बिजली की बचत मोड द्वारा अक्षम किया जा सकता है, लेकिन मुझे संदेह है कि सिस्टम घड़ी द्वारा बंद हो जाएगा।
डिएगो सी नस्सिमेंटो

जवाबों:


73

हाँ। यदि डेटाशीट "पूरी तरह से स्थिर संचालन" कहती है, तो आप इसे किसी भी गति पर, यहां तक ​​कि 0 हर्ट्ज पर भी देख सकते हैं। एक "गतिशील" चिप को एक विशिष्ट दर पर एक घड़ी की आवश्यकता होती है या यह अपनी स्थिति खो देता है।


1
क्या आपके पास एक माइक्रो का उदाहरण है जो इसे अनुमति देता है?
MrEvil

4
माइक्रोकंट्रोलर जिसमें ऑन-चिप फ्लैश होते हैं, वे फ्लैश लिखते समय एक न्यूनतम (और अधिकतम) फ्लैश घड़ी की गति निर्दिष्ट कर सकते हैं। हालाँकि, जब फ़्लैश से पढ़ते हैं, तो यह लागू नहीं होता है।
स्टीव मेलनिकॉफ़

8
MrEvil, प्रश्न में उल्लिखित Atmel AVR ATtiny श्रृंखला पूरी तरह से स्थिर है, जैसा कि मुझे लगता है कि सभी Atmel AVR चिप्स। और मुझे लगता है कि माइक्रोचिप PIC माइक्रोकंट्रोलर के सभी।
टॉडबोट

7
वास्तव में, मुझे लगता है कि ATTiny13A में ADC कम आवृत्तियों पर काम नहीं करता है, शायद नमूना-और-धारण संधारित्र के क्षय के कारण? "डिफ़ॉल्ट रूप से, क्रमिक सन्निकटन सर्किटरी को अधिकतम रिज़ॉल्यूशन प्राप्त करने के लिए 50 kHz और 200 kHz के बीच एक इनपुट घड़ी आवृत्ति की आवश्यकता होती है। ... ADC मॉड्यूल में एक प्रिस्कलर होता है, जो 100 kHz से ऊपर किसी भी CPU आवृत्ति से एक स्वीकार्य ADC घड़ी आवृत्ति उत्पन्न करता है।"
एंडोलिथ

8
एंडोलिथ - मैं मानता हूं, एडीसी आमतौर पर कम आवृत्तियों पर काम नहीं करते हैं। जहां तक ​​मैं बता सकता हूं, व्यावहारिक रूप से सभी आधुनिक माइक्रोकंट्रोलर पर सब कुछ "0 हर्ट्ज", उर्फ ​​"अनिश्चित काल तक रोकें" के लिए सभी तरह से ठीक काम करना जारी रखता है। विशेष रूप से, कई माइक्रोकंट्रोलर्स में एक "कम-शक्ति नींद" मोड होता है जो सभी घड़ियों को बंद कर देता है, जब तक कि कुछ - आमतौर पर एक बटन को धक्का देने वाला व्यक्ति - इसे जगाता है और यह वहीं से शुरू होता है जहां इसे छोड़ा था। en.wikipedia.org/wiki/Static_logic_(digital_logic)
दाविद

23

मैं एक और उत्तर पोस्ट कर रहा हूं, सिर्फ इसलिए कि आखिरी सवाल जो आपने पहले नहीं दिया था।

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

चिप्स मुझे 32768Hz थरथरानवाला और 1MHz एक के बीच परिमाण परिवर्तन का एक आदेश मिला है। मेरे पास ऐसे एप्लिकेशन हैं जहां मुझे गति की आवश्यकता नहीं थी, मुझे बस एक और छोटे आदमी की ज़रूरत थी जो मेरे लिए कुछ बुनियादी डेटा हैंडलिंग कर रहा था।

उम्मीद है की यह मदद करेगा।


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

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

13
@todbot अच्छा विचार है। :-) लेकिन पुशबटन की आलोचना अवश्य करें।
Starblue

4
एक "पीस क्रैंक" के साथ प्रयास करें (जैसा कि शब्दजाल अर्थ में: jargon.net/jargonfile/g/grindcrank.html ) :-)) (और हाँ, कई साल पहले मैंने एक के बाद एक स्ट्रू कोड बनाए थे जब मैं टर्बो पास्कल का उपयोग कर रहा था। स्कूल में :-)
एक्समैन

@todbot यह वास्तव में दूर की कौड़ी या मुश्किल नहीं है, यदि आप किसी मोटे तौर पर अमूर्तता को स्वीकार कर सकते हैं। ऐसे गैजेट का उपयोग करने वाले लोगों के कई उदाहरण हैं कि कंप्यूटर कैसे काम करता है। Myke Predko की एक बहुत अच्छी किताब है, और यह PCBs (हालांकि कंप्यूटर प्रोजेक्ट के लिए नहीं) के साथ भी आती है: amazon.com/Digital-Electronics-Guidebook-Michael-Predko/dp/…
लोऊ

17

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

ध्यान दें कि सामान्य रूप से, एक माइक्रोकंट्रोलर पर घड़ी को रोकना वर्तमान खपत को काफी हद तक कम कर देगा, लेकिन "नींद" सुविधा का उपयोग करने जितना नहीं। "रन" मोड में अधिकांश माइक्रोकंट्रोलर्स की वर्तमान खपत का अनुमान लगाया जा सकता है क्योंकि एक निरंतर प्रतिसाद धारा के साथ-साथ प्रति सेकंड वर्तमान चक्र की एक निश्चित मात्रा (जो प्रति चक्र चार्ज के रूप में अधिक स्वाभाविक रूप से व्यक्त की जा सकती है)। उदाहरण के लिए, एक चिप में 10uA का एक अर्ध-विद्युत प्रवाह हो सकता है, साथ ही 0.1mA / MHz (100pC / चक्र) की धारा भी हो सकती है। 10MHz पर इस तरह की चिप चलाने से 1.01mA का करंट निकलेगा। 1MHz पर इसे चलाने से 0.11mA निकलेगा। इसे 100KHz पर चलाने से 0.02mA मिलेगा। इसे 1Hz वुडल यील्ड 0.0100001mA पर चलाना। दूसरी ओर, चिप 1uA के स्लीप करंट की पेशकश कर सकता है। आम तौर पर, स्लीप मोड में प्रवेश करने से चिप के क्षेत्रों को पूरी तरह से बंद कर दिया जाएगा जो कि चिप के सोते समय कुछ भी उपयोगी नहीं होने वाला है, जिससे किसी भी रिसाव की स्थिति से बचा जा सकता है। यह कुछ मामलों में वोल्टेज को उन क्षेत्रों तक भी कम कर देगा जैसे रजिस्टर फाइलों को एक स्तर तक ले जाता है जहां रजिस्टर फाइलें उनकी सामग्री को पकड़ सकती हैं, लेकिन उन्हें बहुत तेज़ी से एक्सेस नहीं करती हैं (क्योंकि वे बिल्कुल एक्सेस नहीं होंगे, एक्सेस स्पीड कोई फर्क नहीं पड़ता) ।

कुछ पुराने माइक्रोप्रोसेसर, माइक्रोकंट्रोलर और अन्य उपकरणों में अधिकतम घड़ी-उच्च और / या घड़ी-कम समय था। ऐसे प्रोसेसर ने सर्किट्री को बचाने के लिए गतिशील तर्क का उपयोग किया। डायनेमिक लॉजिक के एक उदाहरण के रूप में, एक शिफ्ट रजिस्टर पर विचार करें: एक विशिष्ट स्टैटिक रजिस्टर बिट में वैल्यू को होल्ड करने के लिए दो-ट्रांजिस्टर सर्किट की आवश्यकता होती है, जबकि एक डायनामिक रजिस्टर बिट एक रीडआउट ट्रांजिस्टर के गेट पर वैल्यू रखता है। चार NFFs और प्रति बिट दो रेसिस्टर्स का उपयोग करके NMOS में दो-चरण वाली डायनामिक शिफ्ट रजिस्टर महसूस किया जा सकता है। स्टेटिक शिफ्ट रजिस्टर में आठ NFET और प्रति बिट चार प्रतिरोधों की आवश्यकता होगी। डायनेमिक लॉजिक अप्रोच आज लगभग इतना सामान्य नहीं है। 1970 के दशक में वापस, गेट कैपेसिटेंस पर्याप्त था और इससे छुटकारा नहीं मिला था। इस प्रकार इसका लाभ नहीं लेने का कोई विशेष कारण नहीं था। आज, गेट कैपेसिटेंस आमतौर पर बहुत कम है, और चिप निर्माता सक्रिय रूप से इसे और कम करने की कोशिश कर रहे हैं। डायनेमिक लॉजिक कार्य को मज़बूती से करने से अक्सर गेट कैपेसिटी बढ़ाने के लिए जानबूझकर काम करने की आवश्यकता होती है। ज्यादातर मामलों में, कैपेसिटेंस को बढ़ाने के लिए आवश्यक अतिरिक्त चिप क्षेत्र को प्रभावी ढंग से अधिक ट्रांजिस्टर जोड़ने के लिए इस्तेमाल किया जा सकता है ताकि कैपेसिटेंस को अनावश्यक बनाया जा सके।


आप NMOS और IIRC का उल्लेख करते हैं कि गतिशील तर्क की लोकप्रियता और पूरक MOS (CMOS) अभी तक उपलब्ध नहीं होने के बीच एक संबंध है।
jpc

@jpc: मैंने विभिन्न NMOS चिप्स की योजनाबद्धता की जांच की है - कुछ बड़े विस्तार से, जिसमें अटारी 2600 TIA शामिल है जो कि प्रतिभा का एक वास्तविक काम है - लोग अभी भी तीन दशक बाद इसके साथ करने के लिए नई चीजें ढूंढ रहे हैं। मुझे लगता है कि डिज़ाइन-सुविधा के दृष्टिकोण से NMOS बनाम CMOS का एक फायदा यह है कि 'शूट-थ्रू' (आकस्मिक हाई-लो और लो-साइड ड्राइव का एक साथ सक्रियण) एक गैर-कारक है, हालांकि मैं कुछ जिज्ञासाओं को स्वीकार करूंगा कि क्यों सीएमओएस कम पर्याप्त वोल्टेज पर नहीं चलता है कि एक इनपुट पर क्रॉस-ओवर बिंदु दोनों को सक्रिय करने के बजाय उच्च और निम्न साइड ड्राइवरों को छोड़ देगा।
सुपरकैट

@jpc: NMOS में, दो ट्रांजिस्टर और दो प्रतिरोधों के साथ XOR गेट को लागू करना संभव है, अगर इनपुट पर्याप्त रूप से "मजबूत" हैं। यहां तक ​​कि अगर किसी को दोनों निविष्टियों में इनवर्टर जोड़ना पड़ता है, तो एक चार-ट्रांजिस्टर चार-रोकनेवाला एक्सोर गेट कई अन्य दृष्टिकोणों से बेहतर होगा। मैंने कभी भी उपयोग किए गए दृष्टिकोण को नहीं देखा है, हालांकि, मैंने बीजीटी के आसपास 1978 का उपयोग करके एक समान सर्किट डिजाइन किया था (डिजाइन अवधारणा MOSFETS के साथ बेहतर काम करेगी, लेकिन मुझे उनके बारे में कुछ भी पता नहीं था)।
सुपरकैट

2
+1 - मुझे लगता है कि आपके द्वारा बताए गए असली रत्न की तरह यह है कि निचली घड़ी की गति बिजली की बचत करती है, लेकिन उतनी नींद मोड नहीं है जो विशेष रूप से बिजली बचत का अनुकूलन करने के लिए डिज़ाइन की गई है। मेरी आंत मुझे बताती है कि आप वास्तव में लगातार फ्रीक्वेंसी पर चलने से अधिक नींद मोड के विवेकपूर्ण उपयोग के साथ संयुक्त एक तेज थरथरानवाला चलाने से अधिक बिजली बचाएंगे।
जोएल बी

@JoelB: यह कई कारकों पर निर्भर करता है। कई प्रोसेसर पर, एक तेज घड़ी को चालू करने और वास्तव में इसका उपयोग करने में सक्षम होने के बीच देरी होती है; इस समय के दौरान, एक बिजली बर्बाद कर देगा। यदि किसी को 100x / सेकंड के लिए उठना होगा, तो यह लगातार शुरू करने और रोकने के बजाय धीरे-धीरे लगातार चलाने के लिए बेहतर हो सकता है। दूसरी ओर, यदि कोई व्यक्ति तेज घड़ी को शुरू और बंद करने जा रहा है, तो उस समय की मात्रा को कम करना अच्छा हो सकता है जब वह अतिरिक्त ऊर्जा को बर्बाद किए बिना ऐसा कर सकता है। उदाहरण के लिए ...
सुपरटैट

12

हां, आप घड़ी को पूरी तरह से बंद कर सकते हैं और बाद में परिणाम के बिना इसे फिर से शुरू कर सकते हैं। तुम भी एक pushbutton द्वारा घड़ी की जगह और अपने कार्यक्रम के माध्यम से कदम से कदम (आवृत्ति: लगभग 0.1 हर्ट्ज) जा सकते हैं।

पावर आवृत्ति के साथ लगभग रैखिक है: 10 मेगाहर्ट्ज पर माइक्रोकंट्रोलर 1 मेगाहर्ट्ज पर 10 गुना अधिक बिजली की खपत करेगा। इसका मतलब यह नहीं है कि 0 हर्ट्ज पर खपत पूरी तरह से शून्य है, हालांकि। हमेशा स्थैतिक अपव्यय होता है, लेकिन यह बहुत कम है, आम तौर पर 1 यूए या उससे कम।

पुनश्च: ध्यान दें कि एडीसी में न्यूनतम परिचालन आवृत्ति होती है। यदि आवृत्ति बहुत कम है, तो संधारित्र जिस पर वोल्टेज मापा जाता है, बहुत अधिक निर्वहन करेगा और आपका माप गलत होगा।


बटन दबाओ? बहस के बारे में क्या?
पीटर मोर्टेंसन

1
डिबगिंग की आवश्यकता है।
वोवेन

10

इस प्रश्न के देर से आने पर, यह मुझे एक परियोजना की याद दिलाता है जिसे मैंने कुछ समय पहले देखा था।

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

http://www.micro-examples.com/public/microex-navig/doc/077-picobat.html


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