Introduction of PIC and AVR Microcontroller


मेरे ब्लॉग में आपका स्वागत है! इस पोस्ट में, मैं आपको सबसे लोकप्रिय और बहुमुखी माइक्रोकंट्रोलर्स में से एक से परिचित कराने जा रहा हूं:

Introduction of PIC and AVR Microcontroller

1.1. Introduction of PIC microcontroller:

पीआईसी माइक्रोकंट्रोलर का परिचय:

PIC माइक्रोकंट्रोलर। यदि आप इलेक्ट्रॉनिक्स, रोबोटिक्स, या एम्बेडेड सिस्टम में हैं, तो आपने शायद पहले PIC के बारे में सुना होगा। लेकिन वास्तव में यह क्या है और आपको इसकी परवाह क्यों करनी चाहिए? चलो पता करते हैं!

PIC का मतलब पेरिफेरल इंटरफेस कंट्रोलर है, और यह माइक्रोचिप टेक्नोलॉजी द्वारा विकसित माइक्रोकंट्रोलर्स का एक परिवार है। एक माइक्रोकंट्रोलर एक छोटा कंप्यूटर है जिसे विभिन्न कार्यों को करने के लिए प्रोग्राम किया जा सकता है, जैसे सेंसर, मोटर, एलईडी, डिस्प्ले आदि को नियंत्रित करना। PIC माइक्रोकंट्रोलर्स का व्यापक रूप से कई अनुप्रयोगों में उपयोग किया जाता है, जैसे कि औद्योगिक स्वचालन, ऑटोमोटिव सिस्टम, घरेलू उपकरण, चिकित्सा उपकरण और हॉबी प्रोजेक्ट।

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

पीआईसी माइक्रोकंट्रोलर्स का एक अन्य लाभ यह है कि वे सस्ते और आसानी से उपलब्ध हैं। आप उन्हें ऑनलाइन या अपने स्थानीय इलेक्ट्रॉनिक्स स्टोर से कुछ डॉलर या उससे कम में खरीद सकते हैं। आप ऑनलाइन बहुत सारे संसाधन और ट्यूटोरियल भी पा सकते हैं जो आपको PIC प्रोग्रामिंग के साथ शुरुआत करने में मदद कर सकते हैं। आपके लिए आवश्यक कुछ उपकरण हैं:

  1. एक पीआईसी प्रोग्रामर: यह एक उपकरण है जो आपके पीआईसी माइक्रोकंट्रोलर को आपके कंप्यूटर से जोड़ता है और आपको अपना कोड अपलोड करने की अनुमति देता है। PICkit, ICD, या USBasp जैसे कई प्रकार के PIC प्रोग्रामर उपलब्ध हैं। 
  2. एक विकास बोर्ड: यह एक सर्किट बोर्ड है जिसमें एक PIC माइक्रोकंट्रोलर और उस पर कुछ अन्य घटक होते हैं, जैसे कि बटन, LED, पोटेंशियोमीटर, आदि। इससे आपके लिए अपने कोड का परीक्षण करना और विभिन्न विशेषताओं के साथ प्रयोग करना आसान हो जाता है। आप तैयार विकास बोर्ड खरीद सकते हैं या अपना खुद का बना सकते हैं। 
  3. एक आईडीई (एकीकृत विकास पर्यावरण): यह एक सॉफ्टवेयर है जो आपको अपना कोड लिखने और डीबग करने में मदद करता है। इसमें आमतौर पर सिंटैक्स हाइलाइटिंग, कोड पूर्णता, त्रुटि जाँच आदि जैसी विशेषताएं होती हैं। PIC प्रोग्रामिंग के लिए कुछ लोकप्रिय IDEs MPLAB X IDE, PIC के लिए MikroC Pro, या Arduino IDE हैं।

1.2. Block diagram of PIC microcontroller and function of each block:

 मैं PIC माइक्रोकंट्रोलर के ब्लॉक आरेख (Block diagram )और प्रत्येक ब्लॉक के कार्य के बारे में बात करने जा रहा हूँ। 

PIC का मतलब पेरिफेरल इंटरफेस कंट्रोलर है और यह एक प्रकार का माइक्रोकंट्रोलर है जिसे विभिन्न कार्यों को करने के लिए प्रोग्राम किया जा सकता है। PIC माइक्रोकंट्रोलर लोकप्रिय हैं क्योंकि वे प्रोग्राम करने में आसान, कम लागत वाले और कई विशेषताएं (features) हैं।

Block diagram of PIC microcontroller and function of each block

PIC माइक्रोकंट्रोलर के ब्लॉक आरेख में निम्नलिखित ब्लॉक होते हैं(The block diagram of PIC microcontroller consists of the following blocks):

  • सीपीयू: यह माइक्रोकंट्रोलर का दिमाग है। यह प्रोग्राम मेमोरी में संग्रहीत निर्देशों को क्रियान्वित करता है और अंकगणितीय और तार्किक संचालन करता है। यह अन्य ब्लॉकों और बाह्य उपकरणों को भी नियंत्रित करता है।
  • प्रोग्राम मेमोरी: यह वह जगह है जहाँ प्रोग्राम कोड संग्रहीत होता है। यह फ्लैश मेमोरी हो सकती है, जिसे मिटाया जा सकता है और फिर से प्रोग्राम किया जा सकता है, या रोम, जो तय है और जिसे बदला नहीं जा सकता।
  • डेटा मेमोरी: यह वह जगह है जहाँ डेटा अस्थायी रूप से संग्रहीत किया जाता है। यह RAM हो सकता है, जो अस्थिर है और बिजली बंद होने पर अपनी सामग्री खो देता है, या EEPROM, जो गैर-वाष्पशील है और बिजली बंद होने पर भी अपनी सामग्री को बरकरार रखता है।
  •  I/O पोर्ट: ये वे पिन हैं जिनका उपयोग बाहरी उपकरणों, जैसे LED, स्विच, सेंसर आदि के साथ इंटरफेस करने के लिए किया जा सकता है। इन्हें इनपुट या आउटपुट पिन के रूप में कॉन्फ़िगर किया जा सकता है।
  • टाइमर/काउंटर: ये विशेष रजिस्टर हैं जिनका उपयोग समय अंतराल को मापने, देरी उत्पन्न करने, घटनाओं की गणना करने आदि के लिए किया जा सकता है। जब वे अतिप्रवाह या एक निश्चित मान से मेल खाते हैं तो वे व्यवधान भी उत्पन्न कर सकते हैं।
  • व्यवधान (Interrupts): ये ऐसे संकेत हैं जो प्रोग्राम के सामान्य निष्पादन को बाधित कर सकते हैं और एक विशेष रूटीन को निष्पादित कर सकते हैं जिसे इंटरप्ट सर्विस रूटीन (ISR) कहा जाता है। व्यवधान आंतरिक स्रोतों, जैसे टाइमर या धारावाहिक संचार, या बाहरी स्रोतों, जैसे बटन या सेंसर द्वारा उत्पन्न किए जा सकते हैं।
  • सीरियल कम्युनिकेशन: ये ऐसे मॉड्यूल हैं जिनका उपयोग सीरियल प्रोटोकॉल, जैसे UART, SPI, I2C, आदि का उपयोग करके अन्य उपकरणों के साथ संचार करने के लिए किया जा सकता है। वे एक या अधिक तारों पर क्रमिक रूप से डेटा बिट्स भेज और प्राप्त कर सकते हैं।
  • एडीसी (एनालॉग टू डिजिटल कन्वर्टर): यह एक ऐसा मॉड्यूल है जो एनालॉग वोल्टेज को डिजिटल वैल्यू में बदल सकता है। इसका उपयोग एनालॉग सेंसर, जैसे तापमान, प्रकाश, ध्वनि आदि को पढ़ने के लिए किया जा सकता है।
  • CCP (Capture/Compare/PWM)(कैप्चर/तुलना/PWM) मॉड्यूल: यह एक मॉड्यूल है जिसका उपयोग टाइमर मानों को पकड़ने या तुलना करने या पल्स चौड़ाई मॉडुलन उत्पन्न करने के लिए किया जा सकता है ( पीडब्लूएम) सिग्नल। इसका उपयोग मोटर नियंत्रण, आवृत्ति माप, तरंग निर्माण आदि जैसे अनुप्रयोगों के लिए किया जा सकता है।

2.1. Introduction of AVR microcontroller, Block diagram and function of each pin:

1. AVR माइक्रोकंट्रोलर का परिचय:

यदि आप माइक्रोकंट्रोलर्स के बारे में जानने में रुचि रखते हैं, तो आपने AVR माइक्रोकंट्रोलर्स के बारे में सुना होगा।

AVR Atmel द्वारा विकसित माइक्रोकंट्रोलर्स का एक परिवार है, जो अब माइक्रोचिप टेक्नोलॉजी का हिस्सा है। AVR माइक्रोकंट्रोलर्स का व्यापक रूप से हॉबीस्ट (hobbyist ) और शैक्षिक (educational) परियोजनाओं (PROJECTS) में उपयोग किया जाता है, विशेष रूप से Arduino प्लेटफॉर्म के साथ। लेकिन क्या AVR माइक्रोकंट्रोलर्स को इतना लोकप्रिय और बहुमुखी बनाता है? इस ब्लॉग पोस्ट में, हम आपको एवीआर माइक्रोकंट्रोलर्स की बुनियादी विशेषताओं (features) और विशेषताओं (characteristics) से परिचित कराएंगे, और आपको कुछ उदाहरण दिखाएंगे कि कैसे विभिन्न अनुप्रयोगों में उनका उपयोग किया जा सकता है।

2. Block Diagram:
AVR माइक्रोकंट्रोलर एक संशोधित (modified ) हार्वर्ड आर्किटेक्चर पर आधारित हैं, जिसका अर्थ है कि उनके पास प्रोग्राम कोड और डेटा के लिए अलग-अलग मेमोरी स्पेस हैं। यह उन्हें कोड और डेटा दोनों के लिए एकल मेमोरी स्पेस का उपयोग करने वाले कुछ अन्य माइक्रोकंट्रोलर्स की तुलना में निर्देशों को तेजी से और अधिक कुशलता से निष्पादित करने की अनुमति देता है। एवीआर माइक्रोकंट्रोलर 8-बिट RISC (रिड्यूस्ड इंस्ट्रक्शन सेट कंप्यूटर) इंस्ट्रक्शन सेट का भी उपयोग करते हैं, जिसका अर्थ है कि उनके पास कम संख्या में सरल और सुसंगत निर्देश होते हैं जिन्हें एक या दो घड़ी चक्रों में निष्पादित किया जा सकता है। इससे उन्हें प्रदर्शन और बिजली की खपत के लिए प्रोग्राम करना और अनुकूलित करना आसान हो जाता है।

Introduction of AVR microcontroller, Block diagram and function of each pin

AVR माइक्रोकंट्रोलर्स के पास उनके द्वारा प्रदान की जाने वाली सुविधाओं और विशिष्टताओं के आधार पर अलग-अलग मॉडल और वेरिएंट (variants,) होते हैं। अधिकांश AVR माइक्रोकंट्रोलर्स द्वारा साझा की जाने वाली कुछ सामान्य विशेषताएं (features) हैं:

  • प्रोग्राम कोड को स्टोर करने के लिए ऑन-चिप फ्लैश मेमोरी, जिसे सर्किट से चिप को हटाए बिना रिप्रोग्राम किया जा सकता है।
  • डेटा और वेरिएबल्स को स्टोर करने के लिए ऑन-चिप SRAM (स्टैटिक रैंडम एक्सेस मेमोरी), जिसे प्रोसेसर द्वारा जल्दी से एक्सेस किया जा सकता है।
  • गैर-वाष्पशील डेटा, जैसे कॉन्फ़िगरेशन सेटिंग्स या अंशांकन मान संग्रहीत करने के लिए ऑन-चिप EEPROM (इलेक्ट्रिकली इरेज़ेबल प्रोग्रामेबल रीड-ओनली मेमोरी), जिसे बिजली बंद होने पर भी बनाए रखा जा सकता है।
  • ऑन-चिप परिधीय (peripherals), जैसे टाइमर, काउंटर, एनालॉग-टू-डिजिटल कन्वर्टर्स (ADCs), डिजिटल-टू-एनालॉग कन्वर्टर्स (DACs), सीरियल कम्युनिकेशन इंटरफेस (UARTs, SPIs, I2Cs), पल्स-चौड़ाई मॉड्यूलेशन (PWM) आउटपुट, वॉचडॉग टाइमर आदि, जिनका उपयोग बाहरी उपकरणों और सेंसर के साथ इंटरफेस करने के लिए किया जा सकता है।
  •  ऑन-चिप इंटरप्ट सिस्टम, जो प्रोसेसर को मतदान या प्रतीक्षा किए बिना बाहरी या आंतरिक घटनाओं का जवाब देने की अनुमति देता है।
  • ऑन-चिप ऑसिलेटर और क्लॉक जनरेटर, जो प्रोसेसर और बाह्य उपकरणों के लिए क्लॉक सिग्नल प्रदान करते हैं। कुछ AVR माइक्रोकंट्रोलर्स के पास अधिक सटीक समय के लिए एक बाहरी क्रिस्टल ऑसिलेटर विकल्प भी होता है।
  • ऑन-चिप डिबग इंटरफ़ेस, जो प्रोग्रामर को डिबगर टूल को चिप से कनेक्ट करने और वास्तविक समय में इसके संचालन की निगरानी या संशोधन करने की अनुमति देता है।
  • कम बिजली मोड, जो प्रोसेसर और बाह्य उपकरणों को उपयोग में नहीं होने पर या कम आवृत्तियों पर काम करते समय उनकी बिजली की खपत को कम करने की अनुमति देता है।

AVR माइक्रोकंट्रोलर उनके मॉडल और वेरिएंट के आधार पर अलग-अलग पैकेज और पिनआउट में आते हैं। कुछ सामान्य पैकेज हैं DIP (डुअल इन-लाइन पैकेज), SOIC (स्मॉल आउटलाइन इंटीग्रेटेड सर्किट), TQFP (थिन क्वाड फ्लैट पैकेज), QFN (क्वाड फ्लैट नो-लीड पैकेज), आदि। आमतौर पर AVR माइक्रोकंट्रोलर का पिनआउट के होते हैं:

  • बिजली आपूर्ति पिन (वीसीसी और जीएनडी), जो चिप के लिए ऑपरेटिंग वोल्टेज और ग्राउंड रेफरेंस प्रदान करते हैं। 
  • रीसेट पिन (रीसेट), जो कम खींचे जाने पर चिप को रीसेट करता है
  • इनपुट/आउटपुट पिन (I/O), जिसे डिजिटल इनपुट या आउटपुट, एनालॉग इनपुट, PWM आउटपुट, सीरियल कम्युनिकेशन इंटरफेस आदि के रूप में कॉन्फ़िगर किया जा सकता है, जो कि उनके द्वारा समर्थित परिधीय कार्यों पर निर्भर करता है।
  • क्रिस्टल ऑसिलेटर पिन (XTAL1 और XTAL2), जो जरूरत पड़ने पर बाहरी क्रिस्टल ऑसिलेटर से जुड़ते हैं। – डिबग इंटरफेस पिन (MOSI, MISO, SCK, RESET), जो जरूरत पड़ने पर डिबगर टूल से जुड़ते हैं।
AVR माइक्रोकंट्रोलर्स के कुछ उदाहरण हैं:

  • ATmega8: This is one of the first and most popular AVR microcontrollers. It has 8 KB of flash memory, 1 KB of SRAM, 512 bytes of EEPROM, 23 I/O pins, 6 ADC channels, 3 timers/counters, 2 PWM outputs, 1 UART interface, etc. It comes in a 28-pin DIP or TQFP package. It is commonly found on Arduino boards.
  • ATmega16: This is an upgraded version of ATmega8. It has 16 KB of flash memory, 1 KB of SRAM, 512 bytes of EEPROM

Leave a Reply

Your email address will not be published. Required fields are marked *