الميكروكنترولر …ماهو؟
هو قطعه الكترونيه رقميه صغيره تستخدم لحفظ مجموعه من التعليمات بداخلها والتي تسمي برنامج والتي ممكن من السهل التعديل فيها بدلا من اعادة تغيير التوصيلات والاسلاك كما كان يحدث سابقا.
ماهو الفرق بين الميكرو كنترولر والميكروبروسيسور؟
اولا :الميكروبروسيسور
- يتكون الميكروبروسيسور من وحدة معالجه مركزيه CPU
- وحدتي ربط لربط المعالج مع الوسط الخارجي Peripheral I/O Ports
- ذاكره عشوائيه صغيره RAM, كما توجد ايضا ذاكره صغيره جدا لحفظ جزئ صغير من البرنامج,وعادة تكون القراءه والكتابه من والي ال EEPROM
وتتكون وحدتي الاتصال من جزئين:-
1- البيانات Data Lines
هي مدخل البيانات ويتم ايصالها بالمعالج لمعالجتها,ويمكن ان يكون المدخل 8 او 16 او 32 مدخل (pin) علي حسب نوع المعالج, وهذه البيانات عادة تكون مخزنه فالذاكره المساعده الخارجيه.
2- العناوين Address Lines
وتكون مخرج من المعالج , ترسل عليها عناوين المعلومات الموجوده فالوسط الخارجي (الذاكره المساعده مثلا),يضع المعالج العنوان علي شكل 8 او 16 او 32 بت ,ثم يقوم بقراءة المعلومات عن طريق مدخل البيانات Data Lines .ومن اشهر معالجات الميكروبروسيسور
- 68000 من شركة Motorola
- والمعالج Z80
باختصار: الميكروبروسيسور لا يحتوي بداخله علي ذاكره , لذلك يحتاج فالغالب الي ذواكر مساعده مثل
EEPROM -ROM- EEPROM
ثانيا : الميكروكنترولرMicrocontroller
هو عباره عن تطوير للميكروبروسيسورحيث تم وضع جميع المكونات الاتيه في شريحه واحده مدمجه
1- وحدة المعالجه المركزيه CPU
2- ذاكره عشوائيه RAM
3- ذاكره للقراءه والكتابه EEPROM
4- Peripheral I/O Unites والتي تربط بين المعالج والوسط الخارجي
[COLOR=blue] وفي بعض الاحيان يحتاج المعالج الي ذاكره اضافيه عندما تكون كمية المعلومات المراد تخزينها اكبر من سعة الذاكره الداخليه للمعالج.
مكونات الميكروكنترولر
1- وحدة الذاكره Memory unit
هي احد اجزاء الميكروكنترولر والمسئوله عن تخزين البيانات بداخلها .
تبدا الذاكره بترتيب البيانات بداخلها في اماكن معينه حيث يكون لكل مكان فيها عنوان محدد حتي يكون من السهل استرجاع البيانات منها.
وحيث ان الذاكره تستخدم لكتابة البيانات فيها او القراءه منها لذلك يوجد بداخلها BUS لتحديد ما اذا كانت العمليه قراءه او كتابه.
كما يوجد ايضا خطوط اخري مثل:-
خط البيانات data bus
تتبادل الذاكره البيانات مع وحدة المعالجه المركزيه حسب نوع العمليه اذا كانت قراءه اوكتابه.
عند القراءه يتم ارسال البيانات من الذاكره الي خط البيانات ويتم قرائتها بواسطة وحدة المعالجه المركزيه.
عند الكتابه يتم اخذ البيانات الموجوده علي خط البيانات ثم يتم وضعها في اماكنها بالذاكره علي حسب العناوين التي تحددها وحدة المعالجه.
خط العناوين address bus
يكون لهذا الخط اتجاه واحد ويكون من وحدة المعالجه الي الذاكره وليس العكس,ويتم ارسال العناوين المطلوب الكتابه فيها او القراءه منها بواسطة وحدة المعالجه المركزيه.
2-وحدة المعالجه المركزيه CPU
وهي اختصار Central Processing Unit
وتتكون من جزئين:
- وحدة الحساب والمنطق Arthimatic Logic Unit
وهي المسئوله عن اجراء العمليات الحسابيه مثل الجمع والطرح والضرب والقسمه وايضا تستخدم لاجراء العمليات المنطقيه.
- Registers
وهي تستخدم لتخزين البيانات تخزين مؤقت حتي يتم نتنفيذها بوحدة الحساب والمنطق.
- BUS
وهو عباره عن مجموعة الاسلاك التي تستخدم لنقل الاشاره بين اجزاء الميكروكنترولر وتنقسم الي ثلاث انواع:
-Address Bus
ويتم استنتاج عرض الBus من هذه المعادله
2^n=memory size
- Data Bus
يستخدم لنقل البيانات من الذاكره الي وحدة المعالجه المركزيه والعكس.
- Control Bus
تستخدم لنقل اشارات التحكم المختلفه من وحدة المعالجه المركزيه الي الميكروكنترولر ولايسمح بالعكس.
- وحدات الادخال والاخراج I/O Units
وتعرف باسم port وتستخدم لربط الميكروكنترولر بالعالم الخارجي,وتستخدم كانها اماكن فالذاكره حيث يضع بها الميكروكنترولر البيانات حتي يقوم الجهاز الخارجي الموصل بها باخذها.
- Timer Unit
تنظم العمليات التي تقوم بها وحدة المعالجه المركزيه وهي تقوم بتنفيذ امر واحد فالثانيه,وتعتمد سرعة الميكروكنترولر علي هذه الوحده.
- Serial Communication
هي نوع من انواع الاتصال بالعالم الخارجي والتي تسمح بنقل البيانات لمسافه اكبر.
- Watchdog
يستخدم زر restart او reset فالكمبيوتر عند توقفه ولكن لا يوجد مثل هذا الزرفالميكروكنترولر.
تستخدم هذه الوحده فالميكروكنترولر لهذا الغرض فعند تنفيذ كل خطوه فالبرنامج يتم كتابة صفر وبالتالي عند توقف البرنامج لاي سبب يتم كتابة صفر, ولذلك سوف يتوقف العداد ويعاد تشغيل الميكروكنترولر ويعاد تنفيذ البرنامج.
- ADC
analog to digital converter
يعمل الميكروكنترولر بالنظام الرقمي(digital) ولكن في بعض الاحيان قد تصل اليه الdata في شكل analog مثل سرعات المواتير ودرجات الحراره ,لذلك تستخدم الADC لتحويل البيانات الي اشاره يفهمها الميكروكنترولر.
وهذا هو الشكل العام للميكروكنترولر ومكوناته الداخليه
- Program
هو عباره عن مجموعه من الاوامرلتنفيذ تعليمات محدده
ويمكن صياغه هذه البرامج بالعديد من اللغات غير عالية المستوي مثل Assembler او عالية المستوي مثل c
الميكروكنترولر PIC16F84
اولا سوف نذكر بعض الملاحظات علي هذا النوع
- هذا النوع هو 8-Bit ميكروكنترولروتركيبه يكون من النوع RISC ويعرف ايضا باسم Harvard
ويكون الشكل العام لهذا التركيب كما هو موضح
ويوجد نوع اخر من تركيب الميكروكنترولات يسمي von-Neumann اوCISC
وتركيبه يكون كما بالشكل
ويتضح الفرق بين النوعين من الرسم, ولمزيد من التوضيح :-
النوع الاول Harvard هو الاحدث وهو يعمل علي زيادة سرعة الميكروكنترولر وذلك بسبب فصل باص البيانات عن باص العناوين.
اما فالنوع الاخر Neumann يكون الباصان موجودين معا وتنتقل البيانات اوالتعليمات التي يتم تنفيذها مع البرنامج واحده ثم الاخري علي هذا الباص وهذا يتسبب في بطئ وحدة المعالجه المركزيه.
وكلمة RISC هي اختصارReduced Instruction Set Computer
ومعناها ان عدد التعليمات التي يتم تخزينها في هذا النوع قليل وتصل الي 35 تعليمه.
اما كلمة CISC فهي اختصار Complex Instruction Set Computer
- ذاكرة البرنامج
وتكون من النوع Flash اي يمكن بسهوله مسح ما عليها من بيانات واعادة الكتابه عليها مره اخري
والبيانات الموجوده عليها لايمكن استرجاعها اذا حدث انقطاع فالتيار الكهربي,وحجمها 1000 كلمه والكلمه تساوي 2 بايت
- EEPROM
يخزن بها بيانات وتعليمات الميكروكنترولر ولا يتم ازالة ما بها عند فصل التيار الكهربي, وهي ذاكرة للقراءه فقط, وحجمها 64 بايت.
- RAM
تستخدم ايضا لتخزين بيانات الميكروكنترولروالتي يستخدمها اثناء تنفيذه للبرنامج, مثل البيانات المؤقته التي توضع عند مداخل ومخارج الميكروكنترولر حتي تستخدمها الاجهزه المتصله به,وحجمها 64 بايت.
وهذا الميكروكنترولر له بورتان:-
1- PORTA وبه 5 ارجل.
2- PORTB وبه 8 ارجل.
- FREE-RUN TIMER
وهو register موجود داخل الميكروكنترولر ويقوم بالعد بدا من صفر وحتي 255 ويخصص زمن محدد بين كل عده والعده التي تليها
[/color]