यदि आप एक नया माइक्रोकंट्रोलर दोषपूर्ण है, तो आप कैसे निर्धारित करते हैं?


11

मैं डिगाइकेटी से दोषपूर्ण जलडमरूमध्य के कुछ हिस्सों को कभी नहीं निपटा पाया, लेकिन 3 नए Atmel ATmega164A जो मुझे प्राप्त हुए हैं, वे बहुत ही अजीब व्यवहार प्रदर्शित कर रहे हैं।

मैंने घड़ी के साथ कुछ करने के लिए इसे नीचे कर दिया और यह निकला कि "फैक्ट्री कैलिब्रेटेड" आंतरिक थरथरानवाला से उत्पन्न घड़ी संकेत ठोस 1 मेगाहर्ट्ज के बजाय 650-700 किलोहर्ट्ज़ के बीच घबराना था। मैं अंशांकन बाइट में यह लिखने में सक्षम था कि यह 1 मेगाहर्ट्ज (अभी भी कुछ घबराहट के साथ) के करीब है और ज्यादातर चीजें काम करती हैं, लेकिन UARTs बस ठीक से व्यवहार नहीं करते हैं, वे छोटी दालों की एक सतत धारा का उत्पादन करने लगते हैं कोई बात नहीं आप उनसे क्या करने को कहते हैं।

मैंने इस माइक्रोकंट्रोलर के कम बिजली संस्करण से पहले (164P) शून्य मुद्दों के साथ निपटाया है और इसे जगह पर छोड़ने और उस पर घड़ी आउटपुट की जांच करने का फैसला किया है, और इसका ठोस 1 मेगाहर्ट्ज बिना किसी घबराहट के है। मैं इस निष्कर्ष की ओर झुक रहा हूं कि ये 164A चिप्स दोषपूर्ण हैं, लेकिन क्या कोई अन्य परीक्षण होगा जो मैं पुष्टि करने की कोशिश कर सकता हूं?


संपादित करें: मैंने सोचा था कि मैं उस प्रक्रिया का वर्णन करूंगा जिसके द्वारा मैं घड़ी को माप रहा हूं। मैंने क्लॉक आउटपुट फ़्यूज़ बिट सक्षम किया है और लॉजिक एनालाइज़र सैंपलिंग के साथ उचित पिन को बहुत ऊँची दर पर मापा है। मेरे पास एक प्रोग्राम है जो अंशांकन रजिस्टर में लिखता है OSCCALऔर मैं 1 मेगाहर्ट्ज के लिए अपने तरीके से परीक्षण और त्रुटि करने में सक्षम हूं।


# 2 संपादित करें: आगे की जांच के बाद, ऐसा प्रतीत होता है कि माइक्रोकंट्रोलर एक निश्चित कार्यक्रम आकार के बाद अभिनय करना शुरू कर देता हैसीमा। एक एकल स्रोत फ़ाइल के साथ एक नंगे हड्डियों वाला प्रोजेक्ट जो एक एलईडी चमकती है, ठीक प्रतीत होता है, लेकिन मेरी किसी भी अन्य फ़ाइल (जैसे UART लाइब्रेरी या जो भी हो) को संकलित करने और लिंक करने के बिना भी उन तरीकों से फ़ंक्शन कॉल करने के लिए माइक्रोकंट्रोलर में व्यवहार करने का कारण बनता है ऊपर वर्णित व्यवहार। बिजली कनेक्शन ठीक हैं और उचित डिकॉउलिंग का प्रयोग किया गया है। मेरे पास इस समय इसे और डिबग करने का समय नहीं है, इसलिए हम इसके बजाय कम पावर संस्करण के साथ आगे बढ़ गए हैं। मैं अनिश्चित हूं जहां समस्या 1 या तो हो सकती है) 164A और 164P कोड संगत 2 नहीं हैं) प्रोग्रामिंग प्रक्रिया इन दो uC की 3 के लिए अलग है) इकाइयां दोषपूर्ण हैं। मुझे हमारे बोर्ड के डिजाइन पर भरोसा है और बिजली के मुद्दों को दूर करेगा। दुर्भाग्य से, मैं वास्तव में एक सही जवाब नहीं दे सकता, इसलिए मैं इस प्रश्न को छोड़ दूंगा - शायद मैं ' भविष्य में फिर से समस्या पर वापस आता हूँ। उन सभी के लिए धन्यवाद जिन्होंने व्यावहारिक टिप्पणियां या उत्तर प्रदान किए, वे किसी और के लिए उपयोगी हो सकते हैं, जो बॉक्स से बाहर यूसी मुद्दों के साथ हो सकता है।


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

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

@ मॉडलन, इस मॉडल के लिए डेटशीट में कोई ज्ञात इरेटा नहीं है (नवीनतम डेटाशीट दिखाई देती है, 06/11)। किसी भी तरीके से निश्चित रूप से ध्यान देने योग्य है, धन्यवाद।
जॉन एल

@ जॉन हाँ, इसका मतलब है कि "लेकिन आपके मामले में कोई ज्ञात इरेटा नहीं है।"
कालेनजब

1
मैं दूसरा हूँ जो कर्टुक ने कहा था। यह मेरे लिए बिजली की आपूर्ति या डिकम्पलिंग समस्या की तरह बदबू आ रही है।
ओलिन लेथ्रोप

जवाबों:


3

उस तरह की विफलता होना दुर्लभ है। आप एक पिन पर थोड़ा और शोर देखने की उम्मीद कर सकते हैं, या उस पिन को पूरी तरह से गैर-कार्यात्मक है। लेकिन यह "कुछ हद तक काम करने के लिए, लेकिन उपयोगी तरीके से नहीं" दुर्लभ है। मुझे संदेह है कि डिजाइन के मुद्दे हैं जो समस्याओं का कारण बन रहे हैं, और 164 ए और 164 पी के बीच अंतर के साथ कुछ करना है। चूँकि घबराहट अधिक है, मैं बिजली से संबंधित चीजों को देखूंगा। क्या सभी बिजली / जीएन पिन जुड़े हुए हैं? क्या I / O पिन या तो उच्च या निम्न चालित या खींचे गए हैं? आदि।

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


2
मौका मिलने पर मैं सब कुछ ट्रिपल चेक करूंगा। मैं भी अपने स्वयं के निष्कर्ष पर संदेह कर रहा हूं, यह विचार कि यह कारखाने में पकड़ा नहीं जाएगा या मौका है कि यह संक्रमण में क्षतिग्रस्त हो गया था अत्यधिक संभावना नहीं है ... वापस रिपोर्ट करेंगे।
जॉन एल

कनेक्शन-वार, सब कुछ जांचता है। मैं अधिक विवरण प्रदान करने के लिए प्रश्न को संपादित करूँगा ...
जॉन एल।

2

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

भागों की प्रोग्रामिंग के बिना थरथरानवाला की सटीकता को सत्यापित करने का कोई आसान तरीका नहीं है, इसलिए मैं सिर्फ एक मामूली पोर्ट-टॉगल प्रोग्राम लिखूंगा (एक ऐसा जो कुछ भी नहीं करता है लेकिन एक I / O लाइन को wiggle करता है) और किसी और का प्रोग्राम है भागों, अधिमानतः विभिन्न प्रोग्रामिंग हार्डवेयर के साथ। एक बार जब आप wiggle को सत्यापित कर लेते हैं, तो आप अपने स्वयं के कोड को रिफ़्लेश कर सकते हैं और देख सकते हैं कि क्या समस्या बनी रहती है।


मैंने क्लॉक आउटपुट फ़्यूज़ बिट सक्षम किया और यह घड़ी सिग्नल को PORTB पर पिन पर डालता है। यह वह है जो मैं थरथरानवाला / घड़ी सटीकता निर्धारित करने के लिए नमूना ले रहा हूं। मैं प्रोग्रामिंग प्रक्रिया और टूल को दोहराता हूं, धन्यवाद।
जॉन एल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.