FPGA बनाम माइक्रोकंट्रोलर – मुख्य अंतर को समझना

8554

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


आज एम्बेडेड बाजार के लिए कई माइक्रोकंट्रोलर कोर उपलब्ध हैं, जिनमें 8051 जैसे पारंपरिक डिजाइन से लेकर RISC या DSP मशीन तक शामिल हैं। विभिन्न डिजाइनों के बीच निर्णय गति, शक्ति, स्थापित आधार, पुन: उपयोग की संभावना और अन्य तकनीकी विचारों जैसे मानदंडों द्वारा निर्धारित किया जाता है। एम्बेडेड अनुप्रयोग कंप्यूटर सिस्टम में अध्ययन का एक निरंतर विस्तारित विषय हैं। MCU के बड़ी संख्या में संचार पोर्ट, पल्स चौड़ाई मॉड्यूलेशन (PWM) इकाइयाँ, और एनालॉग-टू-डिजिटल कन्वर्टर्स (ADC) एक ही चिप में पैक किए गए हैं जो इसे औद्योगिक अनुप्रयोगों के लिए आदर्श बनाते हैं।



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

 

माइक्रोकंट्रोलर क्या है?

 

माइक्रोकंट्रोलर एक इलेक्ट्रॉनिक उपकरण है जो माइक्रोकंप्यूटर परिवार से संबंधित है। माइक्रोकंट्रोलर के घटकों को एक चिप बनाने के लिए वेरी लार्ज स्केल इंटीग्रेशन (VLSI) की मदद से तैयार किया जाता है। उन्हें कंप्यूटर-ऑन-चिप के रूप में भी जाना जाता है। एक माइक्रोकंट्रोलर में प्रोग्राम कोड संग्रहीत करने के लिए एक निश्चित मात्रा में RAM और ROM (EEPROM, EPROM, आदि) या फ़्लैश मेमोरी होती है। अतिरिक्त सुविधाएँ टाइमर, समानांतर पोर्ट, सीरियल पोर्ट, इंटरप्ट पोर्ट, ADC, PWM और DAC हैं। एक माइक्रोकंट्रोलर मेमोरी और I/O क्षमताओं वाला एक माइक्रोप्रोसेसर है। CPU, मेमोरी और I/O बाह्य उपकरणों को एक चिप में एकीकृत करने के कारण माइक्रोकंट्रोलर का व्यापक रूप से एम्बेडेड सिस्टम में उपयोग किया जाता है।

 



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

 



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

 

FPGA (फील्ड प्रोग्रामेबल गेट एरे) क्या है?

 

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

 

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

 



FPGAs को अक्सर मौजूदा प्रोसेसर के लिए सह-प्रोसेसर के रूप में नियोजित किया जाता है, या तो समय-महत्वपूर्ण कार्यों को गति देने के लिए या सामान्य ALU की कार्यक्षमता का विस्तार करने के लिए। उदाहरण के लिए, माइक्रोकंट्रोलर का उपयोग करते समय, दो से अधिक पदों वाले समीकरणों की गणना करने के लिए अंकगणित और/या तार्किक संचालन की एक श्रृंखला की आवश्यकता होती है, और कई परिस्थितियों में, एक अस्थायी चर निर्दिष्ट किया जाना चाहिए। FPGAs संयोजन तर्क की उचित मात्रा का उपयोग करते हुए समानांतर में ऐसी गणनाओं को पूरा करके ऐसी प्रणालियों के प्रदर्शन में सुधार कर सकते हैं।

 

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

 



माइक्रोकंट्रोलर्स और FPGA के बीच मुख्य अंतर

 

प्रदर्शन

 

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

 

बिजली की खपत

 

माइक्रोकंट्रोलर (MCU) FPGA की तुलना में कम बिजली की खपत करते हैं क्योंकि माइक्रोकंट्रोलर का आकार छोटा होता है। माइक्रोकंट्रोलर बैटरी, इनवर्टर और कन्वर्टर चलाने के लिए आदर्श होते हैं। दूसरी ओर, FPGAs इमेज और वीडियो प्रोसेसिंग के लिए डिजिटल प्रोसेसिंग में बेहतर होते हैं।

 

लचीलापन और अनुकूलन

 

FPGA में चलते समय हार्डवेयर सेटअप लचीला होता है, जबकि माइक्रोकंट्रोलर में सभी बदलाव सॉफ्टवेयर डेवलपमेंट के ज़रिए किए जाते हैं। इस चीज़ ने माइक्रोकंट्रोलर को FPGA की तुलना में कम लचीला बना दिया। MCU में सॉफ्टवेयर-आधारित अनुकूलन अनुकूल है जबकि FPGA में हार्डवेयर-आधारित अनुकूलन आसान है।

 

विकास समय और जटिलता

 

MCU और FPGA मेमोरी आर्किटेक्चर और प्रदर्शन विशेषताओं के मामले में भिन्न होते हैं। एक माइक्रोकंट्रोलर में नॉन-वोलेटाइल मेमोरी होती है, जिसका मतलब है कि बिजली बंद होने के बाद, MCU अपनी मेमोरी को बनाए रखते हैं, जबकि FPGA में यह सुविधा अनुपस्थित है क्योंकि FPGA में रैंडम एक्सेस मेमोरी होती है। माइक्रोकंट्रोलर आमतौर पर C/C++ जैसी उच्च-स्तरीय भाषाओं का उपयोग करके प्रोग्राम किए जाते हैं, जबकि FPGA विकास के लिए Verilog या VHDL जैसी हार्डवेयर विवरण भाषाओं की आवश्यकता होती है। Verilog और FPGA हार्डवेयर समर्थित हैं जबकि C/C++ सॉफ़्टवेयर समर्थित भाषाएँ हैं।

 

माइक्रोकंट्रोलर और FPGA के बीच समानताएं?

 

मौलिक संघटक

 

एक माइक्रोकंट्रोलर एकीकृत सर्किट (IC) के साथ एकीकृत होने पर कुछ भी नहीं है, जबकि FPGA में ज़्यादातर IC और अन्य एकीकृत सर्किट होते हैं। संक्षेप में, दोनों प्रौद्योगिकियाँ एकीकृत सर्किट और उच्च-स्तरीय भाषा दोनों का मिश्रण हैं।

 

अनुकूलन

 

विनिर्माण के बाद, FPGAs और माइक्रोकंट्रोलर दोनों को पुनः प्रोग्राम किया जा सकता है, और बुनियादी ढांचे के निर्माण के बाद उनके कार्य में परिवर्तन किया जा सकता है। हालाँकि, FPGAs ज़्यादातर उच्च अनुप्रयोगों के लिए उपयुक्त हैं, जबकि Arduino जैसे MCUs सरल अनुप्रयोगों के लिए भी उपयुक्त हैं।

 

FPGAs और माइक्रोकंट्रोलर्स के लिए अनुप्रयोग

 

माइक्रोकंट्रोलर कम कीमत पर व्यापक रूप से उपलब्ध हैं और बिजली और इलेक्ट्रॉनिक्स अनुप्रयोगों के लिए कई तरह की सुविधाएँ प्रदान करते हैं। हालाँकि, MCU का उपयोग करने के लिए C/C++ जैसी उच्च-स्तरीय भाषाओं में विशेषज्ञता की आवश्यकता होती है। दूसरी ओर, FPGA की कीमत अधिक होती है लेकिन वे अधिक उपयोगकर्ता के अनुकूल होते हैं। माइक्रोकंट्रोलर कम बिजली पर कुशलता से काम करते हैं, जिससे ऊर्जा की आवश्यकता कम होती है। दूसरी ओर, FPGA को उच्च शक्ति की आवश्यकता होती है, जो संचालन के लिए अधिक ऊर्जा की मांग करता है। सॉफ़्टवेयर-आधारित समाधान सीधे अनुकूलित नहीं होते हैं, जबकि हार्डवेयर-आधारित समाधान सीधे अनुकूलित होते हैं। इनवर्टर, UPS और कन्वर्टर्स MCU के लिए आदर्श अनुप्रयोग हैं, जबकि वीडियो और इमेज प्रोसेसिंग उनकी समानांतर प्रसंस्करण क्षमताओं के कारण FPGA के लिए अधिक उपयुक्त हैं।

 

FPGAs और माइक्रोकंट्रोलर्स का उपयोग कब करें

 

हालाँकि, दोनों ही अनुप्रयोग पर निर्भर हैं। डिज़ाइनरों और इंजीनियरों ने पाया कि MCU अपने कॉम्पैक्ट आकार के कारण एम्बेडेड सिस्टम में अधिक परिष्कृत हैं और अधिकांश अनुप्रयोगों में DC-DC कन्वर्टर्स और कई अन्य पावर इलेक्ट्रॉनिक्स अनुप्रयोगों जैसे आकार की बाधाएँ हैं। दूसरी ओर, FPGAs आर्टिफिशियल इंटेलिजेंस, इमेज प्रोसेसिंग और वीडियो प्रोसेसिंग में टिकाऊ और कुशल हैं। FPGAs उपयोगकर्ता के अनुकूल हैं और MCUs की तुलना में भारी गणनाओं को बहुत तेज़ी से संभाल सकते हैं। MCUs की तुलना में FPGAs का उपयोग करने के लिए उपयोगकर्ता को कम विशेषज्ञता की आवश्यकता होती है।

 

FPGA बनाम अन्य

 

इस अनुभाग में FPGA, CPLD और MCUs के बीच अंतर का वर्णन किया गया है।

 

एफपीजीए बनाम सीपीएलडी

 

तुलना पहलू

FPGA

सीपीएलडी

आंतरिक ढांचा

Hलुक-अप टेबल के रूप में

Has कम जटिलता और छोटे तर्क ब्लॉक

पावर-ऑन समय

Tसमय नहीं लगता

Tसमय लगता है

बिजली की खपत

उच्च विद्युत उपभोग आवश्यकता

कम बिजली खपत की आवश्यकता


FPGA बनाम माइक्रोप्रोसेसर

 

तुलना पहलू

FPGA

माइक्रोप्रोसेसर

कार्यक्षमता और लचीलापन

एक कार्यक्रमसक्षम तर्क सरणी जो प्रसंस्करण, एन्क्रिप्शन और नेटवर्किंग सहित कई कार्य कर सकती है, उच्च लचीलापन प्रदान करती है

सामान्य कार्यों के लिए निर्देशों का क्रियान्वयन, विशिष्ट कार्यों के लिए डिज़ाइन और लचीलेपन की कमी

कार्य निष्पादन

समानांतर रूप से कार्य निष्पादित करता है, बड़े डेटा सेट को कुशलतापूर्वक संभालता है

कार्यों को क्रमिक रूप से निष्पादित करता है

मेमोरी के प्रकार

अस्थिर मेमोरी का उपयोग करता है और बिजली जाने के बाद पुनः प्रोग्रामिंग की आवश्यकता होती है

गैर-वाष्पशील मेमोरी का उपयोग करता है, बिजली बंद होने के बाद भी डेटा को बरकरार रखता है

बक्सों का इस्तेमाल करें

उच्च गति संगणना, डेटा स्ट्रीम प्रसंस्करण और कस्टम हार्डवेयर कार्यों के लिए उपयुक्त

सामान्य प्रयोजन कंप्यूटिंग के लिए उपयोग किया जाता है, जैसे कि OS नियंत्रण और I/O प्रबंधन


निष्कर्ष

 

MCU और FPGA दोनों ही बहुत सारे डिजिटल, इलेक्ट्रिकल और पावर एप्लीकेशन के लिए फायदेमंद हैं। माइक्रोकंट्रोलर किफायती होते हैं, कम बिजली की खपत करते हैं और सॉफ्टवेयर के अनुकूल होते हैं, जबकि FPGA महंगे होते हैं, अधिक बिजली की खपत करते हैं और हार्डवेयर के अनुकूल होते हैं लेकिन उनका प्रदर्शन उच्च होता है और समानांतर प्रोसेसिंग में आसानी होती है। RAM के कारण बिजली बंद होने पर भी MCU अपने कार्य को बनाए रखते हैं, जबकि FPGA में यह सुविधा उनकी अस्थिर मेमोरी के कारण अनुपस्थित होती है। हालाँकि दोनों ही डिज़ाइन-आधारित तकनीकों पर लागू होते हैं, लेकिन उपयोगकर्ता ऐसे एप्लीकेशन के लिए बिजली की खपत, विकास समय, समानांतर प्रोसेसिंग और लचीलेपन पर विचार कर सकता है जहाँ MCU और FPGA दोनों का उपयोग किया जा सकता है।

लेखक के बारे में

एमिली कार्टर

स्टीवन उच्च परिशुद्धता सर्किट बोर्ड के अनुसंधान एवं विकास तथा विनिर्माण पर ध्यान केंद्रित करते हैं, नवीनतम उद्योग डिजाइन और उत्पादन प्रक्रियाओं से परिचित हैं, तथा उन्होंने कई अंतरराष्ट्रीय स्तर पर प्रसिद्ध ब्रांड पीसीबी उत्पादन परियोजनाओं का प्रबंधन किया है। सर्किट बोर्ड में नई प्रौद्योगिकियों और रुझानों पर उनके लेख उद्योग के पेशेवरों के लिए गहन तकनीकी अंतर्दृष्टि प्रदान करते हैं।

20 पीसीबी को इकट्ठा करें $0

विधानसभा पूछताछ

फ़ाइल अपलोड करें

झटपट बोली

x
फ़ाइल अपलोड करें

फ़ोन संपर्क

+86-755-27218592

इसके अलावा, हमने एक तैयार किया है सहायता केंद्र। हम आपसे संपर्क करने से पहले इसकी जांच करने की सलाह देते हैं, क्योंकि हो सकता है कि आपके प्रश्न और उसके उत्तर को पहले से ही वहां स्पष्ट रूप से समझाया गया हो।

वीचैट समर्थन

इसके अलावा, हमने एक तैयार किया है सहायता केंद्र। हम आपसे संपर्क करने से पहले इसकी जांच करने की सलाह देते हैं, क्योंकि हो सकता है कि आपके प्रश्न और उसके उत्तर को पहले से ही वहां स्पष्ट रूप से समझाया गया हो।

WhatsApp सपोर्ट

इसके अलावा, हमने एक तैयार किया है सहायता केंद्र। हम आपसे संपर्क करने से पहले इसकी जांच करने की सलाह देते हैं, क्योंकि हो सकता है कि आपके प्रश्न और उसके उत्तर को पहले से ही वहां स्पष्ट रूप से समझाया गया हो।