मायक्रो कंट्रोलरचे विश्व- प्रकरण १

कोणत्याही मायक्रो कंट्रोलरमधे साधारणपणे सारख्याच प्रकारची यंत्रणा असते. पुढील आकृती पहा. त्यातील उपयंत्रणांचे वर्णन पुढील प्रमाणे….

पॉवर सप्लाय

कोणत्याही कार्य करणाऱ्या यंत्रणेला ऊर्जेची गरज असतेच. मायक्रो कंट्रोलर ही यंत्रणा इलेक्ट्रॉनिक असल्यामुळे तिला विद्युत ऊर्जेचा पुरवठा केला पाहिजे. त्यासाठी स्थिर ५ व्होल्टस देणारे रेग्युलेटर सर्किट वापरले जाते. आकृती पहा.

Vcc व ग्राउंड या दोन पिना प्रत्येक मायक्रो कंट्रोलर वर असतातच. या पिनांना पाच व्होल्टचा पॉवर सप्लाय बाहेरून जोडला जातो. हे व्होल्टेज पाचच व्होल्टस् असण्याचे कारण पूर्णपणे तांत्रिक आहे. मायक्रो कंट्रोलर हा डिजिटल इलेक्ट्रॉनिक्सच्या तत्वांवर चालतो. पाच व्होल्ट म्हणजे लॉजिकल 1 किंवा HIGH, तर 0 व्होल्ट्स म्हणजे लॉजिकल ० किंवा LOW असे मानले जाते. त्यानुसार त्याचा पॉवर सप्लायसुद्धा ५ व्होल्टचा ठरवला गेला आहे. या पॉवर सप्लाय मधून अत्यंत कमी म्हणजे सुमारे १८ मिलिवॉट-सेकंद इतकीच ऊर्जा खेचून घेतली जाते.

क्रिस्टल ऑसिलेटर

प्रत्येक मायक्रो कंट्रोलरला कामे करण्यासाठी एका घड्याळाची गरज असते. आकृती पहा. बाहेरून लावलेला क्रिस्टल वापरून चिपच्या आतील सर्किट एक ऑसिलेटर तयार करते. क्रिस्टलच्या प्रकारानुसार 1 MHz पासून ते 16MHz पर्यंत वारंवारता (frequency) असलेला ऑसिलेटर घड्याळाचे काम करतो. हे घड्याळ नेमके कसे वापरले जाते हे आपण नंतर पहाणारच आहोत. ATMEGA मालिकेतील चिप्समधे अंतर्गत घटक वापरून क्रिस्टलविनाच असे घड्याळ तयार करण्याची सोयही असते. मात्र हे घड्याळ फार अचूक कालावधी निर्माण करू शकत नाही. ते अनेकदा पुढे किंवा मागे पडते. काही उत्पादनांमधे अचूक कालावधी मापनाची गरज नसते अशा वेळी अंतर्गत घड्याळाचा वापर करता येतो.

गणित व तर्क कक्षः Arithmetic Logic Unit

आकृती पहा. हा विभाग म्हणजे मायक्रो कंट्रोलरची बुद्धी होय. या विभागात बेरीज, वजाबाकी, गुणाकार या सारख्या गणिती क्रिया करणारी डिजिटल यंत्रे बसवलेली असतात. त्या शिवाय AND, OR, EXOR, NOT अशा तार्किक-म्हणजे लॉजिकल प्रक्रिया करणारी डिजिटल यंत्रे बसवलेली असतात. मायक्रो कंट्रोलरचे काम चालू असताना, हा विभाग सातत्याने कार्यरत असतो.

नियंत्रण कक्षः Control And Timing Unit

हा मायक्रो कंट्रोलर मधील सर्वात किचकट विभाग आहे. गणित व तर्क (ALU- Arithmetic Logic Uint) विभाग, विविध पिना, ऑसिलेटर घड्याळानुसार सर्व प्रक्रियांचे नियंत्रण (synchronisation) करणे. मायक्रो कंट्रोलर मधील विविध सोयी लिहिलेल्या प्रोग्रामनुसार उपलब्ध करून देणे अशी अत्यंत महत्वाची कामे हा विभाग करतो. हा विभाग समजून घेण्यासाठी डिजिटल इलेक्ट्रिॉनिक्स मधील combinational and sequencial ciruits या विषयावर प्रभुत्व असणे गरजेचे आहे. या पुस्तकात या विभागाबद्दल आपण फार चर्चा करणार नाही.

स्मृति कक्षः Memory

आकृती पहा. येथे तात्पुरती मेमरी (एका ओळीत ८ फ्लिप-फ्लॉप बसवले तर अशी मेमरी तयार होऊ शकेल. एक फ्लिप-फ्लॉप म्हणजे एक बिट) दाखवली आहे. ८ बिट्सचे १०२४ गठ्ठे एकत्र आले की ही मेमरी बनते. प्रत्येक मेमरी बाइटला स्वतःचा पत्ता (address) असतो.

मेमरीचे मुख्यतः दोन प्रकार आहेत. एक म्हणजे तात्पुरती मेमरी आणि दुसरी कायमची. तात्पुरती मेमरी ही जोवर चिप पॉवर सप्लायला जोडलेली आहे तोवरच काम करते. तात्पुरत्या मेमरीला इंग्रजीत volatile memory म्हटले जाते. संगणकीय परिभाषेत या मेमरीला RAM असेही म्हणतात. ही मेमरी, प्रोग्राम प्रमाणे कार्यवाही चालू असताना जी माहिती, म्हणजे संख्या तात्पुरत्या साठवाव्या लागतात, त्यासाठी प्रोग्रामकडून वापरली जाते. आपण ज्यावेळी पहिला प्रोग्राम कसा लिहायचा हे शिकू, त्यावेळी तात्पुरत्या मेमरीचे कार्य नीट समजून येईल. ATMEGA8 या चिपमधे, एकूण १०२४ बाइट्स (एक किलो बाइट्स) इतकी RAM उपलब्ध आहे.

मात्र कायमच्या मेमरीत एकदा साठवून ठेवलेली माहिती पॉवर सप्लाय बंद केला तरीही तशीच राहते. आपण लिहिलेला प्रोग्राम याच मेमरीत साठवून ठेवला जातो. मेमरीच्या या प्रकाराला programme memory असेही म्हटले जाते. कायमच्या मेमरीचे आणखी एक उदाहरण म्हणजे EEPROM. या मेमरी बद्दल आपण पुढे चर्चा करणार आहोतच. ATMEGA8 या चिपमधे एकूण ८ किलो बाइट्स (८१९२ बाइट्स) इतकी programme memory उपलब्ध आहे. तर ५१२ बाइट्स इतकी EEPROM उपलब्ध आहे.

संवेदना आणि कृतीः Input/Output

मायक्रो कंट्रोलरला बाहेरून काही सिग्नल मिळतात, आणि काही सिग्नल्स मायक्रो कंट्रोलर बाहेर पाठवत असतो. समजा, कंट्रोलरला जोडलेले एक पुश-बटण दाबून सोडून दिल्यावर, कंट्रोलरला लावलेला LED दिवा तीन वेळा चालू बंद करून थांबायचे आहे.

आकृती पहा. येथे एक स्प्रिंगयुक्त पुश बटन वापरून ATMEGA8 या चिपला सिग्नल दिला आहे.

  1. जेव्हा बटन दाबले जाते, तेव्हा कंट्रोलरची I/O पिन ग्राउंडला टेकते आणि लॉजिक low ची संवेदना मायक्रो कंट्रोलरला होते.
    जेव्हा बटन सोडून दिले जाते तेव्हा स्प्रिंगमुळे मागे येते, आणि I/O पिन रेझिस्टरमार्गे ५ व्होल्टला जोडली जाते. त्यावेळी लॉजिक HIGH ही संवेदना मायक्रो कंट्रोलरला होते.
  2. कायमच्या मेमरीत प्रोग्रामर व्यक्तीने एक प्रोग्राम (प्रणाली) लिहून ठेवलेला असतो. त्यातील सूचनांचे, त्याच क्रमाने, तंतोतंत पालन करून येणाऱ्या (Input) संवेदनेवर प्रतिक्रिया म्हणून, कृती केली जाते. उदा. एकदा बटण दाबून ते सोडून दिल्यास LED दिवा तीन वेळा चालू बंद करणे.
  3. आतील प्रोग्राम बदलला की संवेदनेवर अवलंबून असलेली कृतीसुद्धा बदलते. अशा तऱ्हेने, एकदा इलेक्ट्रॉनिक घटक भाग जोडले की केवळ प्रोग्राम बदलून या साऱ्या यंत्रणेची वागणूक बदलता येते. अशी लवचिकता ही सर्व मायक्रो कंट्रोलर यंत्रणांची खरी शक्ती असते.

रीसेट सर्किट

मायक्रो कंट्रोलरच्या एखाद्या यंत्रणेला जेव्हा (+5V मधून) पॉवर दिली जाते, त्यानंतर लगेचच कायमच्या मेमरीत लिहिलेल्या प्रोग्रामच्या पहिल्या सूचनेपासून सुरुवात करणे आवश्यक असते. त्यासाठी एक पल्स, कंट्रोलर चिपच्या रीसेट पिनला दिली जाते. ती मिळाल्यावर लगेचच कंट्रोल युनिट (नियंत्रण कक्ष) पुढील कृती करतेः

  1. प्रोग्राम मेमरीमधील सर्वात पहिल्या मेमरी स्थानावरः म्हणजे 0x0000, येथे उडी मारते व प्रोग्रामर व्यक्तीने लिहिलेली तेथील सूचना वाचते.
  2. तेथील सूचनेचा अर्थ लावून त्यानुसार (ALU मधील) योग्य त्या यंत्रणेशी संपर्क साधला जातो.

अनेक प्रकारांनी अशी रीसेट पल्स तयार करता येते. त्यासाठी काही खास चिप्सही बाजारात उपलब्ध आहेत पण काही खास कारणांसाठीच त्या वापराव्यात. कारण फक्त एक रेझिस्टर व एक कपॅसिटर वापरूनही अशी पल्स सहजतेने देता येते. आकृती पहा.