AVR, MSP430, STM32 परिवारों और मेरे व्यक्तिपरक छापों के माइक्रोकंट्रोलर

AVR, MSP430, STM32 परिवारों और मेरे व्यक्तिपरक छापों के माइक्रोकंट्रोलर


नमस्कार, हेब्र के निवासियों। इस लेख में मैं AVR, MSP430, STX32 परिवारों के प्रोग्रामिंग माइक्रोकंट्रोलर में अनुभव के अपने छापों को साझा करना चाहता हूं।

परिचय

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

AVR माइक्रोकंट्रोलर परिवार

विषय "माइक्रोप्रोसेसर कंट्रोलर" एक उदाहरण के रूप में Atmel AVR Atmega परिवार का उपयोग करके प्रोग्रामिंग माइक्रोकंट्रोलर के लिए बिल्कुल समर्पित था। इस विषय पर प्रयोगशाला का काम AVR स्टूडियो 4.18 सॉफ्टवेयर वातावरण में इस परिवार के असेंबलर पर Atmega16 के साथ प्रोग्रामिंग डिबग बोर्डों में शामिल था।

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

मेरे लिए एक अद्भुत नई दुनिया खुल गई है। लेकिन फिर यह सब अगले पाठ्यक्रम तक थोड़ा कम हो गया, जिसमें एक ही बोर्ड की प्रोग्रामिंग हुई, लेकिन कोडांतरक में नहीं, बल्कि ई-एलएबी वातावरण में पास्कल में। कुछ लोग इस पर्यावरण के बारे में जानते हैं, लेकिन व्यर्थ। वास्तव में, वहाँ किसी भी arduino से बहुत पहले, इस वातावरण में बाहरी उपकरणों के लिए कई पुस्तकालय शामिल थे जिनका उपयोग करना आसान है। विश्वास नहीं होता?

अपने लिए यहां देखें। यहां आपके पास E-LAB और JTAG-debuggers हैं।
लेकिन लैब लिखने के समय, JTAG डिबगिंग उपलब्ध नहीं थी। इसलिए, हमने ई-लैब में निर्मित सिम्युलेटर का उपयोग किया। तब तक, E-LAB लाइब्रेरी आपको राउंड-रॉबिन के सिद्धांत पर काम करते हुए RTOS के साथ प्रोजेक्ट बनाने की अनुमति देती है।
ई-लैब के हाल के संस्करण भी सहकारी मल्टीटास्किंग का समर्थन करते हैं।
सिद्धांत रूप में, प्रयोगशाला के इन दो चक्रों से, मैंने माइक्रोकंट्रोलर्स के साथ अपना परिचय शुरू किया और, विशेष रूप से, एवीआर परिवार। अब क्या कहूं?
एवीआर दुनिया में सबसे लोकप्रिय माइक्रोकंट्रोलर परिवार है, मुझे लगता है।
Arduino-mania ने केवल इसे प्रबलित किया। ये आसानी से सीखने वाले माइक्रोकंट्रोलर अभी भी पहले परिचित के लिए सबसे अच्छा समाधान बने हुए हैं। वे आपको SPI, I2C, UART इंटरफेस का उपयोग करके सरल एप्लिकेशन बनाने में अनुभव प्राप्त करने की अनुमति देते हैं, आपको इनपुट / आउटपुट पोर्ट के संचालन को समझने की अनुमति देते हैं, सबसिस्टम को बाधित करते हैं। वास्तव में, इस परिवार पर आप मूल बातें सीख सकते हैं और छोटे और मध्यम आकार के प्रोजेक्ट बना सकते हैं। AVR स्टूडियो के नवीनतम संस्करणों में, आप C में प्रोजेक्ट कर सकते हैं।

और यदि आप अपने हाथों में टांका लगाने वाला लोहा लेते हैं, तो आप अपने आप को एक प्रोग्रामर और जेटीजी डिबगर दोनों प्रदान कर सकते हैं।
शुरू करने की इच्छा है? बहुत सारी चीजें भी है।
Atmel के मालिकाना डिबग बोर्ड और प्रोग्रामर बेहद महंगे हैं।
AVR का मुख्य नुकसान सहायक गणितीय ब्लॉकों के बिना एक कमजोर कंप्यूटिंग कोर है, और आठ-बिट स्थिति को बढ़ा देता है। यानी जटिल गणितीय गणना में बहुत समय लग सकता है। माइक्रोकंट्रोलर के पास एकत्रित या प्राप्त जानकारी को संसाधित करने का समय नहीं हो सकता है। Atmega16 के लिए आखिरी परियोजना मैंने Atmel AVR विकास पर्यावरण के लिए IAR एंबेडेड वर्कबेंच में C में किया था।

MSP430 माइक्रोकंट्रोलर परिवार

एवीआर परिवार के बाद, माइक्रोकंट्रोलर दुनिया ने पहले ही मुझे इसके कुछ रहस्यों का खुलासा कर दिया है।
और यहाँ एक नया विषय आया, जो माइक्रोकंट्रोलर प्रोग्रामिंग के लिए भी समर्पित था, लेकिन यह पहले से ही टेक्सास इंस्ट्रूमेंट्स MSP430 परिवार, अर्थात् एक msp430f169 माइक्रोकंट्रोलर एक डिबग बोर्ड पर एक ज़ीफ़ पैनल और न्यूनतम तारों के साथ था।
इसके लिए कार्यक्रम विकास और डिबगिंग MSP-FET430UIF JTAG डीबगर का उपयोग करते हुए MSP430 पर्यावरण के लिए IAR एम्बेडेड कार्यक्षेत्र में हुई।
सबसे पहले, इस परिवार में मुझे निर्माता से आंतरिक बाह्य उपकरणों के साथ काम करने के कार्यक्रमों के उदाहरण पसंद आए। खैर, यह JTAG और IAR से मेरी हुकिंग लेता है। एक बार JTAG डिबगिंग का प्रयास करने के बाद, आप केवल प्रोग्रामिंग के साथ विकास पर वापस नहीं आना चाहते हैं। दरअसल, JTAG डिबगिंग के तहत, आप चरणबद्ध तरीके से देख सकते हैं कि मेमोरी में रजिस्टरों में क्या होता है और कोड वर्तमान में निष्पादित हो रहा है, ब्रेकपॉइंट सेट करें। उस समय से, मैं IAR पर आदी हो गया। आखिरकार, यह एक क्रॉस-प्लेटफॉर्म कंपाइलर है जो कई माइक्रोकंट्रोलर परिवारों के लिए जारी किया गया है। यह एक बार इंटरफ़ेस को याद रखने के लायक है और हर बार जब आप एक नए माइक्रोकंट्रोलर परिवार में स्विच करते हैं, तो उसे फिर से जारी करना होगा। क्या यह चमत्कार नहीं है? लेकिन नशे की लत।

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

AVP के विपरीत MSP430 परिवार सोलह-बिट और एक एकीकृत हार्डवेयर गुणक के उपयोग के कारण अधिक उत्पादक है।
कम पावर मोड का उपयोग करने की क्षमता मोबाइल पोर्टेबल उपकरणों में उपयोग किए जाने पर बैटरी जीवन में वृद्धि प्रदान करती है। और माइक्रोकंट्रोलर्स MSP430F5419 और MSP430F5438, जिसके साथ मैंने काम किया, 25 MHz की आवृत्ति पर ARM को कसकर पकड़ लिया गया। इसलिए वे इतने शक्तिशाली मध्य किसान हैं। यदि आपके पास मालिकाना JTAG डिबगर, MSP-430 के लिए IAR, एक सामान्य डिबगिंग बोर्ड है, तो उनके साथ काम करना एक खुशी है।

STM32 माइक्रोकंट्रोलर परिवार

आखिरी बार जो मैं मिला वह STMicroelectronics का STM32 परिवार था।
एआरएम वास्तुकला स्वयं कई परिवारों का द्वार है।
क्योंकि विभिन्न कंपनियों के इन माइक्रोकंट्रोलरों में से कई के लिए, आपको केवल एक जेटीजी-प्रेषक जे-लिंक या इसके क्लोन की आवश्यकता होगी। और यह भी कि अगर एआरएम विकास पर्यावरण के लिए आईएआर एंबेडेड वर्कबेंच उपलब्ध है, तो दरवाजे खुले हैं
STM32 परिवार की दिशा में एक प्लस एक अंतर्निर्मित परिधीय पुस्तकालय की उपस्थिति है, जो आपको AVR और MSP430 के विपरीत, न्यूनतम श्रम के साथ अपने स्वयं के उपयोगकर्ता पुस्तकालयों को जल्दी से लिखने की अनुमति देता है। माइक्रोकंट्रोलर्स की एसटीएम 32 लाइन में एकीकृत परिधीयों के साथ उनकी आंतरिक भरने के लिए कई विकल्प शामिल हैं, जिसमें से लागत भी भिन्न होती है। उदाहरण के लिए, MSP430 परिवार के माइक्रोकंट्रोलर के रूप में कोर्टेक्स-एम 3 कोर पर आधारित STM32L152VBT6 माइक्रोकंट्रोलर, कम बिजली की खपत के उद्देश्य से और 32 मेगाहर्ट्ज पर संचालित होता है।

एक अन्य STM32F107VCT6 माइक्रोकंट्रोलर भी कोर्टेक्स-एम 3 कोर पर इस डिवाइस के इस वर्ग को सौंपे गए अधिकांश कार्यों के लिए उपयुक्त है और इसमें 72 मेगाहर्ट्ज की आवृत्ति है। यह तुरंत स्पष्ट है कि कोर्टेक्स-एम 3 कोर पर आधारित माइक्रोकंट्रोलर एमएसपी 430 और एवीआर की तुलना में "भारी" गणित और प्रसंस्करण के लिए अधिक उपयुक्त हैं। मैंने कोर्टेक्स-एम 4 कोर पर इस एसटीएम 32 एफ 407 वीजीटी 6 परिवार के "हैवीवेट" के साथ भी काम किया, जिसकी आवृत्ति 168 मेगाहर्ट्ज तक पहुंचती है। बिग ब्रदर जटिल गणितीय समस्याओं को हल करने के लिए एकदम सही था। इसके अलावा, इसमें फ्लोटिंग पॉइंट गणित के लिए एक हार्डवेयर FPU है। STM32 परिवार के लिए, बोर्डों की DISCOVERY लाइन विकसित की गई है, जो आपको अंतर्निहित ST-JTAG डीबगर के साथ एक बोर्ड प्राप्त करने की अनुमति देती है, और इसका उपयोग आपके स्वयं के डिजाइन के बोर्ड को प्रोग्राम करने के लिए किया जा सकता है।

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

निष्कर्ष

अंत में, मैं कहना चाहता हूं। यह माना जाता है कि सभी परिवारों के अपने फायदे हैं। सभी को शौक़ीन यादें हैं।

Source: https://habr.com/ru/post/In219803/


All Articles