क्या विद्युत उत्पादन परीक्षण का समर्थन करने के लिए एक एम्बेडेड सिस्टम तैयार किया जा सकता है?


0

पृष्ठभूमि
डेस्कटॉप कंप्यूटर और लैपटॉप को दोहरे बूट में कॉन्फ़िगर किया जा सकता है। उदाहरण: उबंटू और विंडो एक ही कंप्यूटर / लैपटॉप पर।

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

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

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


जवाबों:


5

मैंने एक चिकित्सा उपकरण में 8-बिट माइक्रोकंट्रोलर के साथ कुछ ऐसा ही किया है। कारखाने में फर्मवेयर के दो टुकड़े थे:

सबसे पहले, कारखाना परीक्षण फर्मवेयर डाउनलोड किया जाता है। इसमें उप-प्रक्रिया का उपयोग करने और कारखाने के परीक्षण उपकरण से बात करने के लिए एल्गोरिदम है। फैक्टरी परीक्षण किया जाता है।

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

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


आपकी प्रतिक्रिया के लिए धन्यवाद। मैं बड़े प्रश्न को छोटे टुकड़ों में तोड़ूंगा, और उम्मीद है कि मैं आपके मस्तिष्क को अवधारणा विकसित करने के लिए चुन सकता हूं
Mahendra Gunawardena

2

आप जो पूछते हैं वह आमतौर पर विभिन्न रूपों में किया जाता है। एम्बेडेड माइक्रोकंट्रोलर के लिए, यह आमतौर पर दो रूपों में से एक लेता है:

  1. दो अलग-अलग फर्मवेयर बिल्ड हैं, एक विनिर्माण परीक्षण के लिए और एक सामान्य ऑपरेशन के लिए। परीक्षण प्रक्रिया डिवाइस में पहले फर्मवेयर को लोड करती है, परीक्षण, कैलिब्रेशन आदि करती है, फिर डिवाइस में दूसरे फर्मवेयर को लोड करती है। इसमें पहले चरण में लिए गए अंशांकन माप के आधार पर उत्पादन फर्मवेयर में कुछ मूल्यों को अनुकूलित करना शामिल हो सकता है।

  2. उत्पादन फर्मवेयर में विनिर्माण परीक्षण सुविधाएँ जोड़ें। यह मेरे अनुभव में अधिक सामान्य है।

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

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

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


1

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

यह मुश्किल नहीं होगा, और कुछ उत्पादों में किया जाता है, बूटलोडर के लिए I / O की जांच करना और लोड करने के लिए छवि का चयन करना।

यहां एक वास्तविक दुनिया उदाहरण है: मेरे सेल फोन पर "फास्टबूट" नामक एक प्रारंभिक भाग है जो एक बटन (नीचे मुझे लगता है कि मात्रा, फिलहाल याद नहीं कर सकता है) की जांच करता है जहां या तो यह मुख्य एंड्रॉइड सिस्टम को लोड करेगा कुछ भी दबाया नहीं जाता है, या एक पुनर्प्राप्ति छवि को दबाया जाता है। पुनर्प्राप्ति छवि बहुत तेज़ी से शुरू होती है, लेकिन इसकी सीमित कार्यक्षमता है। यह फाइल सिस्टम को एक्सेस कर सकता है और इसमें कुछ डायग्नोस्टिक टेस्ट के विकल्प डालने के लिए खिंचाव नहीं होगा।

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

परिशिष्ट: मूल उत्तर में एक बटन प्रेस या छवि का चयन करने के लिए इसी तरह का पता लगाने के बारे में विस्तार से पूछने के लिए एक टिप्पणी थी।

कई मामलों में बूटलोडर को बाकी सिस्टम (अक्सर C या असेंबली) के समान कोड में लिखा जाता है। जैसे, इसमें हार्डवेयर का समान स्तर होता है जो सामान्य सॉफ़्टवेयर के पास होता है। कई मामलों में, बटन या समान एक साधारण I / O लाइन है जिसे प्रोसेसर पर एक प्रत्यक्ष GPIO के रूप में पढ़ा जा सकता है, या एक साधारण GPIO एक्सपैंडर (जैसे SPI या I2C बस) में पढ़ा जाता है, जिसमें से कोई एक बूटलोडर की छवि में ज्यादा जगह नहीं है।

स्पष्ट रूप से निर्माण परीक्षण (वसूली या क्षेत्र परीक्षण के विपरीत) के लिए डिज़ाइन की गई किसी चीज़ के लिए उपयोगकर्ता के सुलभ बटन पर इसे लागू किए जाने की संभावना कम होगी। एक सस्ता लेकिन आसानी से गलती से फंसी हुई विधि पीसीबी पर एक जोड़ी सोल्डर पैड होगा जो परीक्षण को लागू करने के लिए एक साथ छोटा किया जा सकता है (एक साधारण स्क्रू ड्राइवर का उपयोग करने से लेकर बेड-ऑफ-नेल स्टाइल रिग के साथ लागू किया जा सकता है)।

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