৩. 8051 মাইক্রোকন্ট্রলারের সাথে পরিচিতি পর্ব
8051 হচ্ছে ইন্টেলের ডেভেলপ করা মাইক্রোকন্ট্রোলার। যার জন্ম আজ থেকে প্রায় ৩৭ বছর আগে ১৯৮০ সালের দিকে। এর ইন্টারনাল আর্কিটেকচার মুলত হার্ভার্ড আর্কিটেকচার এবং এটি CISC(Complex Instructions Set Computer)ইন্সট্রাকশন সেট বিশিষ্ট সিঙ্গেল চিপ ৮ বিট মাইক্রোকন্ট্রোলার, যার অর্থ হল এই মাইক্রোকন্ট্রোলারের সব অপারেশনই ৮ বিটের মধ্যে সীমাবদ্ধ। অর্থাৎ ১৬ বিটের কোন নাম্বার নিয়ে অপারেশন করতে হলে এটা প্রথমে ১৬ বিটের নাম্বারটিকে ৮ বিট আকারে ভেঙে নেয় এবং তারপর অপারেশন সম্পূর্ণ করে থাকে। ইন্টেল যখন এটা বের করে তখন এটা MCS51 ফ্যামিলি হিসেবে পরিচিত ছিল। প্রথম যখন ইন্টেল এটা বের করে তখন N-Mos টেকনোলজি ইউজ করেছিলো। কিন্তু পরের ভার্সন ডেভেলপ করার সময় তারা C-Mos টেকনোলজি ইউজ করে এরফলে পাওয়ার কঞ্জিউম অনেকাংশে কমে যায় এবং এম্বেডেড সিস্টেমে এই মাইক্রোকন্ট্রোলার ব্যাপক জনপ্রিয়তা অর্জন করে। C-Mos টেকনোলজি ইউজ করার জন্যে পরবর্তী ভার্সনে এর নামের সাথে C অক্ষরটি যুক্ত হয়। যেমন 80C51. এরপর পরবর্তীতে বিভিন্ন কোম্পানি যেমন Atmel এই মাইক্রোকন্ট্রোলার ম্যানুফ্যাকচার করে থাকে। এবং সেই অনুযায়ী এর নাম AT89S51,AT89S52,AT89S55 ইত্যাদি। প্রথমে AT অক্ষর দুটি Atmel কোম্পানির পরিচয় বহন করে।
8051
হল আসলে ফ্যামিলির নাম। এই ফ্যামিলির আন্ডারে কিছু মাইক্রোকন্ট্রোলার হল
AT89C51,AT89C52, AT89S51,AT89S52,AT89S55 ইত্যাদি। এই ফ্যামিলির
মাইক্রোকন্ট্রোলারের কিছু বিশেষ বৈশিষ্ট্য হল-
- এতে আছে ৪ কিলোবাইট অন চিপ প্রোগ্রাম মেমোরি অথবা রোম ।
- ১২৮ বাইট র্যাম। এর মধ্যে -
- ৩২ বাইট রেজিস্টার ব্যাঙ্কের জন্যে।
- ১৬ বাইট বিট অ্যাড্রেসেবাল।
- ৮০ বাইট জেনারেল পারপোজ র্যাম।
- ৪ টা রেজিস্টার ব্যাংক।
- ৮ বিটের ডাটা বাস।
- ১৬ বিটের অ্যাড্রেস বাস। অর্থাৎ ৬৪ কিলোবাইট পর্যন্ত এক্সটারনাল প্রোগ্রাম মেমোরি ইউজ করা যাবে।
- ১৬ বিট টাইমার ২টা Timer0 এবং Timer1।
- ৩টা এক্সাটারনাল এবং ২টা ইন্টারনাল ইন্টারাপ্ট।
- ইন্টারাপ্ট প্রাইরোটি লেভেল দুই।
- র্যামে বিট অ্যাড্রেসেবাল এরিয়া ১৬ বাইটের।
- ৪ টা ৮বিটের ইনপুট/আউটপুট বাইডিরেকশনাল পোর্ট।
- ১৬ বিটের প্রোগ্রাম কাউন্টার (PC) অথবা ডাটা পয়েন্টার (DP)।
- সিরিয়াল পোর্ট ফর UART কমিউনিকেশন।
- পাওয়ার সেভিংস মোড।
- ১২ মেগাহার্টজ ক্লক ইনপুটে ১ মেগা ইন্সট্রাকশন পার সেকেন্ড (1MIPS)।
উপরের
বৈশিষ্ট্যগুলো 8051 ফ্যামিলির ক্ষেত্রে কমন কিছু বৈশিষ্ট্য। বিভিন্ন
ম্যানুফ্যাকচার কোম্পানি এর সাথে কম বেশি কিছু এ্যাড করে এই ফ্যামিলিরই আরও
বিভিন্ন মডেল বের করেছে। সেসব সম্পর্কে আমরা ধীরে ধীরে জানতে পারবো।
আমরা যারা মাইক্রোকন্ট্রোলারের সাথে একেবারেই নতুন তাদের কাছে উপরের অনেক টার্মই হয়ত অপরিচিত লাগবে।
যেমন রেজিস্টার ব্যাঙ্ক,ইন্টারাপ্ট, UART কমিউনিকেশন, ১মেগা ইন্সট্রাকশন পার সেকেন্ড। এই টার্ম গুলো হয়ত অনেকের কাছেই নতুন। এগুলো সম্পর্কে আমরা পরে আরও বিস্তারিত জানতে পারবো। তবে এই যে ইনপুট/আউটপুট পোর্ট, টাইমার, ইন্টারাপ্ট, ইউ আর্ট কমিউনিকেশন এগুলাই হল একেকটা পেরিফেরালস যা আমরা মাইক্রোকন্ট্রোলারে একই চিপের ভিতরে পেয়ে থাকি। আলাদা করে এসব পেরিফেরালসের কোন চিপ আমাদের আর লাগাতে হয় না।
রেজিস্টার ব্যাংক হল মাইক্রোকন্ট্রোলারের কোডে আমরা যেসব ভ্যারিয়েবেল লিখব সেগুলাকে টেম্পরারিলি রাখার জায়গা যাতে সিপিউ সেগুলার উপর অপারেশন চালাতে পারে। কারন সিপিউ এর কাজ করার ক্ষমতা অনেক দ্রুত আর এই দ্রুত কাজ করতে যেয়ে যদি সে ডাটার জন্যে অপেক্ষা করে বসে থাকে তাহলে তো কাজগুলো সিংক্রোনাইজড হবেনা। তাই ডাটা গুলোকে আগে এসব রেজিস্টারে নিয়ে রাখা হয় কারন রেজিস্টারে এক্সেস টাইম অনেক দ্রুত। এগুলো অনেকটা টেম্পোরারি স্পেস যার প্রত্যেকের সাইজ ১ বাইট করে।
আর এই যে বললাম সিপিউ অনেক দ্রুত কাজ করতে পারে। সেটারই পরিমাপ করা হয় MIPS দিয়ে। ১২ মেগাহার্টজ ক্লক ইনপুটের জন্যে 8051 ১মেগা ইন্সট্রাকশন পার সেকেন্ডে কাজ করতে পারে। এর অর্থ হল 8051 এর সিপিউ ১ সেকেন্ডে প্রায় দশ লাখ ইন্সট্রাকশন এক্সিকিউট করতে পারে। ইন্সট্রাকশন বলতে মুলত অপারেশন বুঝানো হয় যা আমরা কোডে লিখে দিবো।
যেমন রেজিস্টার ব্যাঙ্ক,ইন্টারাপ্ট, UART কমিউনিকেশন, ১মেগা ইন্সট্রাকশন পার সেকেন্ড। এই টার্ম গুলো হয়ত অনেকের কাছেই নতুন। এগুলো সম্পর্কে আমরা পরে আরও বিস্তারিত জানতে পারবো। তবে এই যে ইনপুট/আউটপুট পোর্ট, টাইমার, ইন্টারাপ্ট, ইউ আর্ট কমিউনিকেশন এগুলাই হল একেকটা পেরিফেরালস যা আমরা মাইক্রোকন্ট্রোলারে একই চিপের ভিতরে পেয়ে থাকি। আলাদা করে এসব পেরিফেরালসের কোন চিপ আমাদের আর লাগাতে হয় না।
রেজিস্টার ব্যাংক হল মাইক্রোকন্ট্রোলারের কোডে আমরা যেসব ভ্যারিয়েবেল লিখব সেগুলাকে টেম্পরারিলি রাখার জায়গা যাতে সিপিউ সেগুলার উপর অপারেশন চালাতে পারে। কারন সিপিউ এর কাজ করার ক্ষমতা অনেক দ্রুত আর এই দ্রুত কাজ করতে যেয়ে যদি সে ডাটার জন্যে অপেক্ষা করে বসে থাকে তাহলে তো কাজগুলো সিংক্রোনাইজড হবেনা। তাই ডাটা গুলোকে আগে এসব রেজিস্টারে নিয়ে রাখা হয় কারন রেজিস্টারে এক্সেস টাইম অনেক দ্রুত। এগুলো অনেকটা টেম্পোরারি স্পেস যার প্রত্যেকের সাইজ ১ বাইট করে।
আর এই যে বললাম সিপিউ অনেক দ্রুত কাজ করতে পারে। সেটারই পরিমাপ করা হয় MIPS দিয়ে। ১২ মেগাহার্টজ ক্লক ইনপুটের জন্যে 8051 ১মেগা ইন্সট্রাকশন পার সেকেন্ডে কাজ করতে পারে। এর অর্থ হল 8051 এর সিপিউ ১ সেকেন্ডে প্রায় দশ লাখ ইন্সট্রাকশন এক্সিকিউট করতে পারে। ইন্সট্রাকশন বলতে মুলত অপারেশন বুঝানো হয় যা আমরা কোডে লিখে দিবো।
এরপরের পোস্টে আমরা 8051 এর পিন ডায়াগ্রাম এবং 8051 এর জন্য প্রয়োজনিও সার্কিট নিয়ে আলোচনা করবো।
মন্তব্যসমূহ
একটি মন্তব্য পোস্ট করুন