Chapter 2: Parts of a microcontroller | পর্ব ২ঃ মাইক্রোকন্ট্রোলারের বিভিন্ন অংশ
মাইক্রোকন্ট্রোলার শেখা খুব মজা। আজকালকার দৈনন্দিন ব্যবহারের প্রায় সব যন্ত্রপাতিতেই মাইক্রোকন্ট্রোলার ব্যবহৃত হয়। মাইক্রোকন্ট্রোলার দিয়ে যেকোনো সিস্টেম ডিজাইন করা তুলনামূলকভাবে সহজ।নিচের ডায়াগ্রামটির মাঝখানের ব্লকটি দ্বারা একটি মাইক্রোকন্ট্রোলারকে বোঝানো হয়েছে। মাইক্রোকন্ট্রোলারটি বিভিন্ন মোটর,ডিসপ্লে ডিভাইস ইত্যাদিকে নিয়ন্ত্রন করতে পারে, বাইরের কোনো পিসি বা ল্যাপটপের সাথে যোগাযোগ করতে পারে, কোনো সেন্সরের ভ্যালু পড়তে পারে, এমনকি কোনো নেটওয়ার্কের সাথেও সংযুক্ত হতে পারে। মাইক্রোকন্ট্রোলার কিভাবে কাজ করে তা বুঝতে হলে আমাদের প্রথমে এর বিভিন্ন অংশের সাথে পরিচিত হতে হবে।
১)সিপিইউঃ মাইক্রোকন্ট্রোলারের জীবন হল সিপিইউ। রেজিস্টর, অ্যারিথমেটিক লজিক ইউনিট( এ এল ইউ) ইন্সট্রাকশন ডিকোডার এবং কন্ট্রোল সারকিটের সমন্বয়ে এই অংশটি গঠিত। সিপিইউ প্রোগ্রামের মেমোরি থেকে ইন্সট্রাকশন সংগ্রহ করে, সেই ইন্সট্রাকশনকে ডিকোড করে এবং সেই অনুযায়ী কাজ করে। একটি ইন্সট্রাকশন অনুযায়ী কাজ করা হয়ে গেলে সিপিইউ পরবর্তী ইন্সট্রাকশন সংগ্রহ করে এবং সেটি অনুযায়ী কাজ করে। এবং প্রোগ্রাম শেষ হওয়া পর্যন্ত সে এভাবেই কাজ করে যায়।
২)রম(রিড ওনলি মেমোরি): রমের কাজ হল প্রোগ্রামের ইন্সট্রাকশনগুলোকে সংরক্ষন করে রাখা।
৩)ফ্ল্যাশঃ ফ্ল্যাশ হল একটি প্রোগ্রামেবল মেমোরি। প্রোগ্রাম ইন্সট্রাকশন এবং ডাটা সংরক্ষনের কাজে রমের পরিবর্তে ফ্ল্যাশ মেমোরি ব্যবহার করা যেতে পারে। ফ্ল্যাশের একটি গুরুত্বপূর্ণ প্যারামিটার হল, একে কতবার লেখা এবং মোছা যায়।
৪)র্যাম(র্যান্ডম এক্সেস মেমোরি): একটি প্রোগ্রাম এক্সিকিউশনের সময় ডাটাগুলোকে পরবর্তিতে ব্যবহারের জন্য সংরক্ষন করে রাখা প্রয়োজন। ডাটা সাধারণত র্যামে সংরক্ষিত থাকে।
৫)ইইপিরমঃ মাইক্রোকন্ট্রোলারের ডাটা সংরক্ষনের উল্লেখযোগ্য আরেকটি অংশ হল ইইপিরম। মাইক্রোকন্ট্রোলার একটি কাজ করাকালীন সময়ে হঠাৎ করে বিদ্যুৎ সংযোগ বিচ্ছিন্ন হয়ে গেলে ইইপিরম ডাটা সংরক্ষণ করে।
৬)ক্লক ওসিলেটরঃ মাইক্রোকন্ট্রোলার একটি নির্দিষ্ট রেইটে কাজ সম্পাদন করে।এই রেইটটি নির্ধারিত হয় ক্লক ওসিলেটরের ফ্রিকোয়েন্সি দ্বারা। কন্ট্রোলারে বিদ্যুৎ সংযোগ দেবার সাথে সাথেই ক্লক ওসিলেটরটি চালু হয়ে যায়।
৭)রিসেট এবং ব্রাউন আউট ডিটেকটর সার্কিটঃ সোজা ভাষায় রিসেট সার্কিটের কাজ হল মাইক্রোকন্ট্রোলারকে রিস্টার্ট করা।ব্রাউন আউট ডিটেকটর হল এমন একটি সার্কিট যা মাইক্রোকন্ট্রোলারে পর্যাপ্ত পরিমাণে বিদ্যুৎ সরবরাহ হচ্ছে কিনা তা পর্যবেক্ষন করে। যখনই ভোল্টেজ কমে যায়, ব্রাউন আউট ডিটেকটর প্রসেসরকে রিসেট করে দেয় যাতে করে মাইক্রোকন্ট্রোলারের ভেতরকার রেজিস্টর, কিংবা মেমোরি ক্ষতিগ্রস্থ না হয়।
৮)সিরিয়াল পোর্টঃ সিরিয়াল পোর্ট মাইক্রোকন্ট্রোলারের একটি কার্যকরী অংশ। এই অংশটির মাধ্যমে বাইরের কোন যন্ত্রের সাথে মাইক্রোকন্ট্রোলার যোগাযোগ স্থাপন করতে সক্ষম হয়। সিরিয়াল পোর্ট ইউজারের চাহিদামতো কয়েকটি স্পিডে অপারেট করতে পারে। সিরিয়াল পোর্ট মাইক্রোকন্ট্রোলার থেকে ডাটা গ্রহন করে একই সময়ে মাত্র একটি করে বিট আউটপুটে স্থানান্তর করে।একইভাবে, বাইরের কোনো ডিভাইস থেকে ডাটা গ্রহন করার সময়ও মাইক্রোকন্ট্রোলার এক সময়ে মাত্র একটি করে বিট গ্রহন করে। সিরিয়াল কম্যুনিকেশন দুই ধরনের হতে পারে। যথা-ক)সিঙ্ক্রোনাস খ)অ্যাসিঙ্ক্রোনাস। সিঙ্ক্রোনাস কম্যুনিকেশনের টাইমিং্যের জন্য ক্লক সিগন্যাল প্রয়োজন। আসিঙ্ক্রোনাস কমিউনিকেশনের জন্য ক্লক সিগন্যালের প্রয়োজন নেই। কমিউনিকেশনের শুরু এবং শেষ বোঝার জন্য এক্ষেত্রে স্টার্ট এবং স্টপ বিট ব্যবহার করা হয়।
৯)ডিজিটাল আই/ও পোর্টঃ আই/ও দ্বারা ইনপুট/আউটপুট বোঝানো হয়।
১০)এ ডি সি( অ্যানালগ টু ডিজিটাল কনভারটার): এডিসি অ্যানালগ সিগন্যালকে ডিজিটাল সিগন্যালে রুপান্তর করে।
১১) ডি এ সি(ডিজিটাল টু অ্যানালগ কনভারটার):ডি এ সি ডিজিটাল সিগন্যালকে অ্যানালগ সিগন্যালে কনভার্ট করে। একটি ৮-বিট/৫ ভোল্ট সিস্টেমে ‘৫০’ সংখ্যাটির অ্যানালগ আউটপুট হবে ৫০/২৫৬*৫=০.৯৭৬৫৬২৫ ভোল্ট। ১২)টাইমার/কাউন্টারঃ টাইমার কনফিগারেশনের মাধ্যমে মাইক্রোকন্ট্রোলারকে একটি নির্দিষ্ট সময় পরপর কোনো কাজ করানো সম্ভব। কাউন্টার দিয়ে কোনো একটি নির্দিষ্ট ঘটনা কয়বার ঘটল তা গননা করা সম্ভব।
১২)পি ডব্লিউ এমঃ পালস উইডথ মড্যুলেটরঃ পালস উইডথ মড্যুলেটরের মাধ্যমে একটি পালসের প্রস্থ্য কমানো-বাড়ানোর যায়। এই পদ্ধতিকে কাজে লাগিয়ে মোটরের স্পিড, এল ই ডির উজ্জলতা ইত্যাদি কমানো-বাড়ানো যায়।
১৩)আই টু সি(ইন্টার ইন্টিগ্রেটেড সার্কিট): আই টু সি হচ্ছে একটি দুই তারবিশিষ্ট একটি সিরিয়াল কমিউনিকেশন প্রটোকল। এই প্রটোকলের মাধ্যমে সর্বোচ্চ ১২৮ টি ডিভাইস একটি নেটওয়ার্কে সংযুক্ত হতে পারে। প্রতিটি নোড* একেকটি মেসেজ শুরু করতে পারে এবং ডাটা আদান-প্রদান করতে পারে। নেটওয়ার্কে একটি সিরিয়াল ডাটা নাইন এবং একটি সিরিয়াল ক্লক লাইন থাকে। নেটওয়ার্কের প্রতিটি নোডের একটি নিজস্ব অ্যাড্রেস থাকে । প্রতিটি মেসেজের শুরুতে সেই অ্যাড্রেসটি দেখেই বোঝা যায় কোন নোডের সাথে মেসেজ আদান-প্রদান হচ্ছে। এই প্রোটোকলের সুবিধা হল এটির মাধ্যমে মাত্র দুটি তার দিয়েই একটি নেটওয়ার্কের সকল ডিভাইসকে পরস্পরের সাথে সংযুক্ত করা সম্ভব । নোড*=যেকোনো আইটুসি পেরিফেরাল ডিভাইস। যেমনঃ আরটিসি, ইইপিরম ইত্যাদি।
১৪)ইউ এস এ আর টি(ইউনিভার্সাল সিঙ্ক্রোনাস অ্যাসিঙ্ক্রোনাস রিসিভার ট্রান্সমিটার): ইউ এস এ আর টি বা ইউজার্ট হচ্ছে একটি সিরিয়াল পোর্ট অ্যাডাপ্টর। যা সিঙ্ক্রোনাস ও অ্যাসিঙ্ক্রোনাস দুই মোডেই মাইক্রোকন্ট্রোলারকে সিরিয়াল কমিউনিকেশন করতে সক্ষম করে।
১৫)ওয়াচডগ টাইমারঃ ওয়াচডগ টাইমার একটি বিশেষ ধরনের টাইমার যা মাইক্রোকন্ট্রোলারকে হ্যাং হয়ে যাওয়া থেকে রক্ষা করে।
১৬)স্লিপ অ্যান্ড পাওয়ার ডাউন মুডঃ প্রায় সব মাইক্রোকন্ট্রোলারই এই দুটি মুড সাপোর্ট করে। বিদ্যুৎ সাশ্রয়ের জন্যই মুডগুলো সিলেক্ট করা হয়। ধরা যাক, একটি মাইক্রোকন্ট্রোলারকে এমনভাবে প্রোগ্রাম করা হল যেন এটি এক মিনিট পরপর কোনো একটি পোর্ট দিয়ে ডাটা গ্রহন করবে। যদি এক্ষেত্রে মাইক্রোকন্ট্রোলারটিকে ডাটা গ্রহনের পরপরই স্লিপ মোডে পাঠিয়ে দেওয়া হয় তাহলে বিদ্যুৎ সাশ্রয় করা সম্ভব হবে।
ATmega16 মাইক্রোকন্ট্রোলারের বিভিন্ন অংশঃ
যেকোনো মাইক্রোকন্ট্রোলার নিয়ে কাজ করার আগে তার ডাটাশিটটি সংগ্রহ করে নেওয়া প্রয়োজন। ATmega16 মাইক্রোকন্ট্রোলারের ডাটাশিট এখানে পাওয়া যাবে। ATmega16 একটি ৮- বিটের মাইক্রোকন্ট্রোলার অর্থ্যাৎ এর সবগুলো রেজিস্টর ৮-বিটের।
১)ইন সিস্টেম সেলফ প্রোগ্রামেবল ফ্ল্যাশ প্রোগ্রাম মেমোরিঃ এখানে প্রোগ্রাম লোড হয়। ইন সিস্টেম প্রোগ্রামিং এর অর্থ হল মাইক্রোকন্ট্রোলার কোনো একটি সার্কিটে থাকা অবস্থাতেই একে রিমুভ না করে প্রোগ্রাম করে ফেলা সম্ভব। এতে সিস্টেম সফটওয়্যারকে আরও দ্রুত এবং সহজে আপডেট করা সম্ভব হয়।
২)এসর্যামঃ ১ কেবি
৩)ইইপিরমঃ ৫১২ বাইট
৪)আই/ও পিনঃ মাইক্রোকন্ট্রোলারের পিন মোট ৪০ টি। এর মধ্যে ৩২ টি আই/ও পিন।
৫)টাইমারঃ দুটি ৮-বিট এবং একটি ১৬-বিট টাইমার।
৬)এডিসিঃ ১০ বিট রেজ্যুলেশন সমৃদ্ধ ৮ চ্যানেলের এডিসি।
৭)সিরিয়াল পোর্টঃ মাইক্রোকন্ট্রোলারটি সিরিয়াল কম্যুনিকেশনে সক্ষম।
৮)অপারেটিং ভোল্টেজঃ ৪.৫ ভোল্ট-৫ ভোল্ট। আমরা ৫ ভোল্ট ব্যবহার করব।
৯)পিন কনফিগারেশন: নিচে দেখান হল-
যত দেখিছ তত অবাক হচ্ছি. Thanks Techshop BD.