विषयसूची:

डुअल ट्रेस ऑसिलोस्कोप: 11 कदम (चित्रों के साथ)
डुअल ट्रेस ऑसिलोस्कोप: 11 कदम (चित्रों के साथ)

वीडियो: डुअल ट्रेस ऑसिलोस्कोप: 11 कदम (चित्रों के साथ)

वीडियो: डुअल ट्रेस ऑसिलोस्कोप: 11 कदम (चित्रों के साथ)
वीडियो: Believe ME! Dandruff can cause a serious Scalp "INFECTION" 😱 #shorts 2024, नवंबर
Anonim
दोहरी ट्रेस ऑसिलोस्कोप
दोहरी ट्रेस ऑसिलोस्कोप

जब मैं अपने पिछले मिनी ऑसिलोस्कोप का निर्माण करता हूं तो मैं देखना चाहता था कि मैं अपने सबसे छोटे एआरएम माइक्रोकंट्रोलर को एसटीएम 32 एफ030 (एफ 030) कितना अच्छा प्रदर्शन कर सकता हूं, और इसने अच्छा काम किया।

टिप्पणियों में से एक में यह सुझाव दिया गया था कि STM32F103 (F103) के साथ "ब्लू पिल" बेहतर हो सकता है, F030 के साथ विकास बोर्ड से छोटा और संभवतः सस्ता भी हो सकता है। लेकिन मिनी ऑसिलोस्कोप के लिए मैंने विकास बोर्ड का उपयोग नहीं किया, लेकिन F030 एक और भी छोटे SMD-DIP बोर्ड पर, इसलिए एक ब्लू पिल निश्चित रूप से कोई छोटा नहीं होगा और मुझे संदेह है कि यह सस्ता भी होगा।

कोड अब Gitlab पर उपलब्ध है:

gitlab.com/WilkoL/dual-trace-oscilloscope

आपूर्ति

भाग सूची: - प्लास्टिक बॉक्स - परफ़बोर्ड (दो तरफा प्रोटोटाइप बोर्ड 8x12 सेमी) - ब्लू पिल - ST7735s TFT डिस्प्ले - लिथियम-आयन बैटरी - HT7333 3.3V कम ड्रॉपआउट नियामक - MCP6L92 दोहरी opamp - TSSOP8 से DIP8 बोर्ड - 12 मेगाहर्ट्ज क्रिस्टल (आवश्यक नहीं है)) - रोटरी एनकोडर प्लस नॉब (2x) - पॉवरस्विच - केला टर्मिनल (4x) - लिथियम-आयन चार्जर बोर्ड - कई प्रतिरोधक और कैपेसिटर - नायलॉन स्पेसर, नट और स्क्रू

उपकरण:

- सोल्डरिंग स्टेशन - सोल्डर 0.7 मिमी - कुछ तार - साइड कटर - चश्मा और लाउप - ड्रिल - मल्टीमीटर - ऑसिलोस्कोप - STLink-V2

सॉफ्टवेयर:

- STM32IDE - STM32CubeMX - STLink उपयोगिता - LowLayer लाइब्रेरी - ST7735s के लिए अनुकूलित लाइब्रेरी - Notepad++ - Kicad

चरण 1: इंटरलीव या एक साथ मोड

इंटरलीव या एक साथ मोड
इंटरलीव या एक साथ मोड
इंटरलीव या एक साथ मोड
इंटरलीव या एक साथ मोड

नीली गोली

लेकिन विचार था, और मुझे पता था कि F103 में दो ADCs हैं! क्या होगा अगर मैंने उन दो एडीसी को "इंटरलीव" मोड में एक साथ इस्तेमाल किया, कुछ ऐसा जो मैंने पहले एसटीएम 32 एफ 407 (एफ 407) के साथ किया है। सैंपलिंग की गति दोगुनी होगी। वह, एक तेज माइक्रोकंट्रोलर के साथ गठबंधन करें और यह मिनी ऑसिलोस्कोप के लिए एक महान उत्तराधिकारी बना देगा।

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

एक साथ मोड

लेकिन, दो एडीसी होने से कई और विकल्प मिलते हैं, दो एडीसी को "नियमित-एक साथ" मोड पर भी सेट किया जा सकता है। कैसे एक दोहरी ट्रेस-आस्टसीलस्कप के बारे में?

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

इच्छा सूची

दो चैनल

दोनों चैनलों पर परिवर्तनशील संवेदनशीलता

दोनों चैनलों पर ट्रिगर

दोनों चैनलों पर चर ट्रिगर स्तर

परिवर्तनीय ऑफसेट

सिंगल बैटरी पावर

मिनी-ऑसिलोस्कोप के समान बॉक्स में फिट करें

चरण 2: प्रोटोटाइप

प्रोटोटाइप
प्रोटोटाइप
प्रोटोटाइप
प्रोटोटाइप

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

चरण 3: एटेन्यूएटर्स

एटेनुएटर्स
एटेनुएटर्स

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

फिर मैंने "एनालॉग स्विच" के बारे में सोचा, जिनके साथ मैं खुद एक डिजिटल पोटेंशियोमीटर बना सकता हूं। मेरे भागों के संग्रह में मुझे चार एनालॉग स्विच के साथ CD4066 मिला। विचार प्रतिक्रिया रोकनेवाला के समानांतर प्रतिरोधों को अंदर और बाहर स्विच करके एक opamp चर का प्रतिक्रिया अवरोधक बनाना है।

यह बहुत अच्छी तरह से काम करता है, लेकिन ४०६६ में सिर्फ ४ स्विच होने और २ चैनल होने से तीन से अधिक संवेदनशीलता स्तर बनाना संभव नहीं था। मैंने प्रति डिवीजन 500mV, 1V और 2V को चुना क्योंकि वे वोल्टेज स्तर हैं जिनका मैं सबसे अधिक उपयोग करता हूं। स्क्रीन को 6 डिवीजनों में विभाजित किया गया है, जिससे -1.5V से +1.5V, -3V से +3V और -6V से 6V तक की रेंज बनती है।

"वर्चुअल-ग्राउंड" के साथ आप इन श्रेणियों को ऊपर और नीचे ले जा सकते हैं, इसलिए 0v से +12V तक भी संभव है।

चरण 4: वर्चुअल ग्राउंड

आभासी मैदान
आभासी मैदान
आभासी मैदान
आभासी मैदान

चूंकि ऑसिलोस्कोप सिंगल पावर रेल (3.3V) का उपयोग करता है, इसलिए opamps को वर्चुअल ग्राउंड लेवल की आवश्यकता होती है या वे काम नहीं करेंगे। यह वर्चुअल ग्राउंड लेवल PWM के साथ TIM4 के एक आउटपुट चैनल पर बनाया गया है, इसका कर्तव्य चक्र कुछ प्रतिशत से लगभग सौ प्रतिशत तक बदल जाता है। 1k रोकनेवाला और 10uF संधारित्र के साथ एक कम पास फ़िल्टर इसे (लगभग) 0V से (लगभग) 3.3V के वोल्टेज में बदल देता है। स्क्वेयरवेव की फ्रीक्वेंसी सिर्फ 100kHz से कम है, इसलिए साधारण लो पास फिल्टर काफी अच्छा है।

इस आस्टसीलस्कप के निर्माण में काफी देर से मैंने महसूस किया कि आपके पास चैनलों के लिए दो अलग-अलग ऑफ़सेट नहीं हो सकते हैं। यह इस तथ्य के कारण है कि एकल बिजली आपूर्ति के साथ इनपुट-ग्राउंड-लेवल को ऑप्स के वास्तविक जमीनी स्तर से अलग करना पड़ता है। इसलिए दोनों चैनल उसी तरह चलते हैं जैसे आप GND-सेटिंग बदलते हैं।

चरण 5: रोटरी एनकोडर और डिबगिंग

रोटरी एनकोडर और डिबगिंग
रोटरी एनकोडर और डिबगिंग
रोटरी एनकोडर और डिबगिंग
रोटरी एनकोडर और डिबगिंग

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

और जैसा कि आप देख सकते हैं, डिबगिंग जानकारी प्रदर्शित करने के लिए डिस्प्ले होना भी बहुत आसान हो सकता है।

चरण 6: प्रदर्शन और समय आधार

प्रदर्शन और समय आधार
प्रदर्शन और समय आधार

डिस्प्ले में १६० x १२८ पिक्सल का एक रिज़ॉल्यूशन है, इसलिए एक स्क्रीनफुल के लिए १६० नमूनों की आवश्यकता होती है, मैं एडीसी को 1.6 मिलियन नमूने प्रति सेकंड करने के लिए गति देने में कामयाब रहा और वह, बहुत अधिक माइक्रोकंट्रोलर (उस पर बाद में) के साथ, देता है प्रति डिवीजन 20us का न्यूनतम टाइमबेस (प्रति स्क्रीन 100us)। इस प्रकार 10kHz की तरंग पूरी स्क्रीन को भर देगी।

यह मेरे द्वारा पहले बनाए गए मिनी ऑसिलोस्कोप से केवल दोगुना तेज़ है। ओह ठीक है, अब यह दो चैनलों के साथ है:-)।

जैसा कि कहा गया है, डिस्प्ले 160 पिक्सल चौड़ा है इसलिए प्रति स्क्रीन केवल 160 मानों की आवश्यकता है। लेकिन सभी बफ़र्स में वास्तव में 320 नमूने होते हैं। तो डीएमए 320 मूल्यों को स्टोर करता है इससे पहले कि वह एक ट्रांसमिशन पूर्ण इंटरप्ट (टीसी) को ट्रिगर करता है। ऐसा इसलिए है क्योंकि ट्रिगरिंग सॉफ्टवेयर में की जाती है। नमूनाकरण एक यादृच्छिक क्षण में शुरू होता है, इसलिए यह बहुत कम संभावना है कि बफर में पहला मान वह स्थान है जहां ट्रिगर बिंदु होना चाहिए।

इसलिए ट्रेस_एक्स_बफर के माध्यम से पढ़कर ट्रिगर बिंदु पाया जाता है, यदि मान वांछित ट्रिगर मान पर है, यदि पिछला मान इसके ठीक नीचे है, तो ट्रिगर_पॉइंट पाया जाता है। यह काफी अच्छी तरह से काम करता है, लेकिन आपको वास्तविक डिस्प्ले आकार की तुलना में एक बड़ा बफर चाहिए।

यह भी कारण है कि कम टाइमबेस सेटिंग्स पर ताज़ा दर आपकी अपेक्षा से धीमी है। जब आप 200ms/div सेटिंग का उपयोग करते हैं तो डेटा से भरी एक स्क्रीन 1 सेकंड की होती है, लेकिन क्योंकि रूपांतरण की मात्रा दोगुनी हो जाती है, इसमें 2 सेकंड लगते हैं। तेज़ टाइमबेस सेटिंग्स पर आप इसे उतना नोटिस नहीं करेंगे।

टाइमबेस उत्पन्न करने के लिए TIM3 का उपयोग किया जाता है। यह एडीसी को चयनित टाइमबेस सेटिंग द्वारा आवश्यक गति के साथ ट्रिगर करता है। इसकी TIM3 की घड़ी 120 मेगाहर्ट्ज (ओवरक्लॉकिंग देखें) है, अधिकतम संख्या जिसके लिए यह गिनता है (ARR) यह निर्धारित करता है कि यह अन्य कैसे ओवरफ्लो करता है या, ST भाषा में यह अपडेट होता है। TRGO के माध्यम से ये अद्यतन दालें ADCs को ट्रिगर करती हैं। सबसे कम आवृत्ति जो उत्पन्न होती है वह 160 हर्ट्ज है, उच्चतम 1.6 मेगाहर्ट्ज है।

चरण 7: एडीसी और डीएमए

एडीसी और डीएमए
एडीसी और डीएमए

दो एडीसी एक ही समय में अपने इनपुट पर वोल्टेज को परिवर्तित करते हैं, वे उन दो 12 बिट मानों को एक 32 बिट चर में संग्रहीत करते हैं। तो डीएमए के पास ट्रांसफर के लिए सिर्फ एक वैरिएबल प्रति (डबल) रूपांतरण है।

इसलिए इन मूल्यों का उपयोग करने के लिए उन्हें दो मूल्यों में विभाजित करना आवश्यक है ताकि उनका उपयोग दो निशान प्रदर्शित करने के लिए किया जा सके। जैसा कि कहा गया है, F103 में ADCs को 12 बिट्स के अलावा अन्य रिज़ॉल्यूशन पर सेट नहीं किया जा सकता है। वे हमेशा 12 बिट मोड में होते हैं और इसलिए रूपांतरण हमेशा समान घड़ी की दालों की संख्या लेते हैं। फिर भी, एडीसी के ओवरक्लॉकिंग के साथ, प्रति सेकंड 1.6 एमएस नमूने किए जा सकते हैं (अतिरिक्त देखें: ओवरक्लॉकिंग)।

ADCs का संदर्भ Vdd, 3.3V रेल है। इसे और अधिक सुविधाजनक मूल्यों (प्रति विभाजन) में बदलने के लिए मैंने एटेन्यूएटर्स के मूल्यों की गणना की है, क्योंकि मेरे पास सटीक प्रतिरोधक मान नहीं हैं जो उन गणनाओं से निकलते हैं कुछ सुधार सॉफ्टवेयर में किए जाते हैं।

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

- स्थानांतरित किए जाने वाले डेटा की संख्या के लिए डीएमए सेटअप करें और डीएमए को सक्षम करें

- एडीसी की ट्रिगरिंग शुरू करें, ये प्रत्येक (डबल) रूपांतरण के बाद डीएमए हस्तांतरण का अनुरोध करेंगे

- रूपांतरणों की निर्धारित संख्या स्थानांतरित होने के बाद, डीएमए बंद हो जाता है

- एडीसी को तुरंत चालू करना भी बंद करें

- मेमोरी में डेटा पर आवश्यक सभी हेरफेर करें

- स्क्रीन पर निशान दिखाएं

- प्रक्रिया फिर से शुरू करें

चरण 8: यूजर इंटरफेस

प्रयोक्ता इंटरफ़ेस
प्रयोक्ता इंटरफ़ेस

१६० गुणा १२८ पिक्सेल की स्क्रीन बहुत बड़ी नहीं है और मैं इसका अधिक से अधिक उपयोग करना चाहता हूँ। तो इसका कोई हिस्सा धाराओं की सेटिंग के लिए आरक्षित नहीं है। पिछली कुछ पंक्तियों में लंबवत संवेदनशीलता, टाइमबेस, ट्रिगर स्तर और ट्रिगर चैनल प्रदर्शित होते हैं, लेकिन जब सिग्नल काफी बड़े होते हैं तो वे उसी क्षेत्र में दिखाई देंगे। जो विकल्प सक्रिय है उसे पीले रंग में दिखाया गया है, बाकी को सफेद रंग में दिखाया गया है।

चरण 9: भवन और संभावित सुधार

भवन और संभावित सुधार
भवन और संभावित सुधार
भवन और संभावित सुधार
भवन और संभावित सुधार
भवन और संभावित सुधार
भवन और संभावित सुधार
भवन और संभावित सुधार
भवन और संभावित सुधार

मैं इस प्रोजेक्ट को लेकर काफी खुश हूं। यह ठीक काम करता है और काम करता है, लेकिन यह बेहतर हो सकता है।

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

मैंने बीएनसी या एसएमए कनेक्टर के बजाय केले कनेक्टर का उपयोग करके जीवन को और अधिक कठिन बना दिया, इसका मतलब था कि परफ़ॉर्म का एक बड़ा हिस्सा "नो-गो-एरिया" था, यह स्पष्ट करने के लिए कि मैंने खुद को रोकने के लिए इसके ऊपर केप्टन टेप लगाया उस पर पुर्जे लगाने से।

इतने छोटे प्रोजेक्ट बॉक्स में यह सब डालने में एक और समस्या यह है कि एनालॉग और डिजिटल सर्किट एक साथ बहुत करीब हैं। आप देख सकते हैं दोनों निशानों पर काफी शोर नजर आ रहा है. यह मेरे पास ब्रेडबोर्ड पर भी नहीं था! जहाँ तक संभव हो एनालॉग और डिजिटल सर्किट के लिए बिजली लाइनों को स्थानांतरित करके एक छोटा सा सुधार किया गया था, लेकिन मेरी पसंद के लिए पर्याप्त नहीं था। एनालॉग सर्किट में सभी प्रतिरोधक मूल्यों को कम करने से भी मैंने (इनपुट प्रतिरोध 1MOhm के बजाय 100kOhm है) मदद नहीं की। मुझे संदेह है कि सबसे तेज़ टाइमबेस सेटिंग (20us/div) पर ट्रिगर करना, जो बहुत अच्छा नहीं है, सिग्नल पर कम शोर के साथ भी सुधार होगा।

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

अंतिम स्पर्श के रूप में मैंने बॉक्स को काला स्प्रे करने का फैसला किया, यह सभी बेज रंग के बक्से से एक बदलाव करता है।

चरण 10: कोड और एक लघु वीडियो

चरण 11: अतिरिक्त: ओवरक्लॉकिंग

अतिरिक्त: ओवरक्लॉकिंग
अतिरिक्त: ओवरक्लॉकिंग

जैसा कि मैंने F03 के साथ किया था, मैं देखना चाहता था कि F103 को कितनी अच्छी तरह ओवरक्लॉक किया जा सकता है। इस माइक्रोकंट्रोलर के विनिर्देशों का दावा है कि अधिकतम घड़ी की गति 72 मेगाहर्ट्ज से अधिक नहीं होनी चाहिए (जो निश्चित रूप से पहले से ही F030 से तेज है) लेकिन मैंने कई ब्लॉगों में पढ़ा था कि इसे ओवरक्लॉक करना आसान था, तो क्यों नहीं?

ब्लू पिल 8 मेगाहर्ट्ज क्रिस्टल के साथ प्रदान किया जाता है, पीएलएल गुणा करता है कि 9 से 72 मेगाहर्ट्ज के कारक के साथ। पीएलएल को 128 मेगाहर्ट्ज की घड़ी देकर 16 तक बढ़ाया जा सकता है। मेरी ब्लू पिल के लिए यह कोई समस्या नहीं थी, वास्तव में, मेरी सभी ब्लू पिल्स 128 मेगाहर्ट्ज पर बिना किसी समस्या के काम करती हैं।

लेकिन अब मैं यह जानना चाहता था कि असल सीमा क्या है। इसलिए मैंने 8 मेगाहर्ट्ज क्रिस्टल को हटा दिया और इसे 12 मेगाहर्ट्ज में से एक के साथ बदल दिया। फिर से मैंने PLL गुणक को तब तक बढ़ाया जब तक कि माइक्रोकंट्रोलर ने अंततः हार नहीं मान ली। वह 168 मेगाहर्ट्ज पर था! 156 मेगाहर्ट्ज पर यह अभी भी अच्छा काम करता है। मैंने इसे उस गति से घंटों तक दौड़ते हुए छोड़ दिया और इसे कभी दुर्घटनाग्रस्त होते नहीं देखा। इस आस्टसीलस्कप में मैं 120 मेगाहर्ट्ज के लिए बस गया, एक गति जिसे 12 मेगाहर्ट्ज क्रिस्टल और 10 पर पीएलएल के साथ-साथ 8 मेगाहर्ट्ज क्रिस्टल और 15 पर पीएलएल के साथ चुना जा सकता है। (मुख्य में SystemClock_Config देखें)

एडीसी अब भी तेजी से काम करते हैं, मैंने उन्हें 30 मेगाहर्ट्ज (14 के बजाय) पर चल रहा है, वे अभी भी 60 मेगाहर्ट्ज पर अच्छी तरह से काम कर रहे थे, एसटीएमइक्रोइलेक्ट्रॉनिक्स कुछ अच्छा हार्डवेयर बनाता है!

STMicroelectronics इन सीमाओं को अच्छे कारण के लिए डेटाशीट में रखता है, वे गारंटी देते हैं कि माइक्रोकंट्रोलर सभी परिस्थितियों में निर्दिष्ट 72MHz पर काम करता है।

लेकिन जैसा कि मैं -40 सेल्सियस, +85 सेल्सियस पर माइक्रोकंट्रोलर का उपयोग नहीं करता, सिर्फ 2.0 वोल्ट या 3.6 वोल्ट पर मुझे लगता है कि इसे ओवरक्लॉक करना सुरक्षित है। ऐसा तब न करें जब आप उनके माइक्रोकंट्रोलर के साथ एक उपकरण बेचने का इरादा रखते हैं, आप कभी नहीं जानते कि उनका उपयोग कहां किया जाएगा।

सिफारिश की: