موضوع: مكونات الميكروكنترولر الأربعاء سبتمبر 10, 2008 4:17 pm
مكونات الميكروكنترولر
Memory unit وحده الذاكرة
وهى جزء من اجزاء الميكروكنترولر المسئول عن تخزين البيانات بها . وتقوم الذاكرة بترتيب البيانات فى امكان معينة ويكون لكل مكان فيها عنوان معين والفائدة من وضع العناوين هى سهولة استرجاع البيانات منها . وتستخدم الذاكرة فى كتابة وقراءة البيانات فيها ومنها فلذلك يوجد بها خط او باص لتحديد نوع العملية سواء كانت عملية قراءة او عملية كتابة بالاضافة الى الخطوط الاخرى وهى خط البيانات data bus حيث تقوم الذاكرة بتبادل البيانات مع وحدة المعالجة المركزية حسب نوع العملية فمثلا اذا كانت العملية هى قراءة فان البيانات ترسل من الذاكرة الى خط البيانات ثم تقوم وحدة المعالجة بقراءتها . اما اذا كانت العملية هى كتابة فانها تأخد البيانات الموجودة فى خط البيانات وتقوم بوضعها فى امكانها حسب العناوين المحدده من قبل وحدة المعالجة . الخط الاخر هو خط العناوين وهو خط له اتجاة واحد من وحدة المعالجة الى الذاكرة ولا يسمح بالعكس حيث تقوم وحدة المعالجة المركزية بارسال العناوين المطلوب تخزين البيانات فيها او قراءتها منها حسب نوع العملية .
Central Processing Unit وحدة المعالجة المركزية
وهى تتكون من جزءين هما وحده الحساب والمنطق : وهى الوحده التى تتم بها العمليات الحسابية مثل الجمع والطرح والضرب والقسمة وايضا العمليات المنطقية مثل اكبر من و اصغر من ويساوى
والجزء الثانى هى المسجلات registers : وهى امكان يتم بها تخزين مؤقت للبيانات بغرض تنفيذها فى وحده الحساب والمنطق .
Bus
وهو مجموعة الاسلاك التى تقوم بنقل الاشارات الكهربية الرقمية بين اجزاء الميكروكنترولر ويجد ثلاثة انواع من الباص .
Address bus ويحتوى على عدد اسلاك كافى للتعبير عن حجم الذاكرة فمثلا لو كان حجم الذاكرة 64 k فان عرض الباص يمكن استنتاجه من المعادلة الاتية
كود
[/url]
2^n=memory size
اذن فى المثال الموجود لدينا نجد n تساوى 8 وهى التى تعبر عن عرض الباص او عدد الاسلاك الموجودة به ويسمى 8-bit
data bus وهو الذى يستخدم فى نقل البيانات من وحدة الذاكرة الى وحدة المعالجة المركزية والعكس من وحدة المعاجة المركزية الى الذاكرة .
control bus وهو الخط المستخدم فى نقل اشارات التحكم من وحده المعالجة المركزية الى وحدات الميكروكنترولر المختلفة مثل أمر القراءة او الكتابة من الذاكرة ولا يسمح بالعكس
Input-output units وحدات الادخال والاخراج
وهى التى تربط الميكروكنترولر بالعالم الخارجى وتسمى ports وهى تعمل كانها اماكن فى الذاكرة حيث يقوم الميكروكنترولر بوضع البيانات بها ليقوم باخدها الجهاز الخارجى الموصل بها .
Timer unit وفائدته هى تنظيم عمليات وحده المعالجة المركزية حيث تقوم وحدة المعالجة بتنفيذ تعليمة واحده فى وحده الزمن وتعتمد سرعة الميكروكنترولر على تردد الساعة او Timer unit وايضا يسمح للميكرو القيام بالعمليات التى تعتمد على الزمن مثل عمليات العد counter
Serial communication وهى طريقة من انواع الاتصال بالعالم الخاجى والتى تسمح فى نقل البيانات فى صورة تتابعية مما يجعلها تصل لمسافات اكبر.
Watchdog فى الكمبيوترات العادية نجد زر اسمه reset او restart وهو المسئول عن اعادة تشغيل الكمبيوتر نتيجة لتوقفه لاى سبب ولكن فى الميكروكنترولر هذا الزر غير موجود . اذن فما الحل ؟ ولذلك تم اضافة هذه الوحده وهى عبارة عن عداد لمرات كتابه صفر نتيجة تنفيذ كل خطوة فى البرنامج . فعند توقف البرنامج نتيجة اى سبب فانه لا يتم كتابة للصفر وبالتالى فان العداد سيتوقف ويعاد تشغيل الميكرو واعادة تنفيذ البرنامج مرة اخرى .
Analog to Digital Converter ومن المعرف عند الجميع ان الميكروكنترولر يعمل بالنظام الرقمى digital ولكن هناك بعض البيانات القادمة اليه تكون غير رقمية (تناظرية ) Analog مثل السرعات المختلفة للمواتير او درجات الحرارة فلذلك لابد من وجود وحدة تحول هذه البيانات الى اشارات يفهمها الميكروكنترولر وهذه الوحدة تسمى ADC
وفى الشكل الاتى نجد التركيب العام
للميكروكنترولر والمكونات المادية التى يشملها .
Program وهذا الجزء الغير مادى من مكونات الميكرو ويكون عبارة عن مجموعة من السطور تحتوى على اوامر معينة فمثلا البرنامج الاتى
كود
START REGISTER1=MEMORY LOCATION_A REGISTER2=MEMORY LOCATION_B PORTA=REGISTER1 + REGISTER2 END
يقوم عند بداية التنفيذ بوضع القيمة الموجودة فى المكان A بالذاكرة الى المسجل رقم 1 الموجود فى وحدة المعالجة . وكذلك ايضا القيمة الموجودة فى المكان B سيقوم بوضعها فى المسجل رقم 2 وستقوم وحدة الحساب والمنطق بجمعهم ووضع الناتج فى البورت A.
وهذا البرنامج يمكن صياغته بالعديد من لغات البرمجة سواء عالية المستوى او غير عالية المستوى ومن اشهر هذه اللغات Assemblerو C و Basic