الجزء الثانى
الميكروكونترولر: Microcontrollers
اولا : مقدمة
التجهيز للانطلاق :
فى عام 1960 بدات الالكترونات عصرا جديدا باكتشاف المواد الموصلة ومن ثم الترانزستور وسرعان ما تطور الى الدوائر المتكاملة والمعالجات الدقيقة .
بداية الميكروكونترولر :
فى عام 1971 وبعد ما تطور المعالج الدقيق والذاكرات واصبح من الممكن تجميع المعالج الدقيق والذاكرات ودوائر الدخل والخرج ودوائر المؤقتات فى شريحة واحدة .
وهناك اختياران اما ان نترك الاشياء والمكونات كما هى (منفصلة ) ويكون الاسم كما هو المعالج الدقيق او ندمج الكل معا ونسميه الميكروكونترولر او المتحكم الدقيق .
معظم المتحكمات الدقيقة متشابهة :
بمجرد ان نتعلم قيادة السيارة فانه من السهل التعرف على قيادة معظم السيارات لانها متشابهة . وجميع المتحكمات الدقيقة بينها تشابه . ولقد تعرفنا على بناء المعالج الدقيق ومن ثم يمكننا التحرك ( الانتقال ) بسهولة الى المتحكم الدقيق . وسوف لا نفاجىء بان كل المتحكمات الدقيقة متشابة جدا فى اساسها .
والانواع الاكثر انتشارا واستعمالا من المتحكمات الدقيقة هى ثلاثة انواع (وكل نوع به عائلات منه وكل عائلة بها افراد) . الاول 8051 وربما الاوسع استخداما منذ عشرون عاما ومازال يتم تطويره بشركات متعددة ولا توجد دلائل على هبوطه والثانى هو عائلة AVR المنتجة بمعرفة شركة اتميل Atmel وهى احدى الشركات القائدة فى هذا المجال . اما الاخير وهو المتحكم الدقيق PIC الذى سنتناوله بالتفصيل .
الميكروكونترولر : PIC
الميكروكونترولر PIC هو الاختيار الشائع المعتاد للبدء فى مجال الميكروكونترولر. والسبب الاساسى ان شركة ميكروشيب المنتجة له اعتمدت بجدية نظام الكومبيوتر ذو التعليمات المخفضة RISC . كما ان عدد التعليمات فقط 35 تعليمة ( للعائلة الوسطى كما سنرى بالتفصيل ) ويمكن بعدد قليل منها كتابة برنامج يمكن استخدامه . كما ان كل حركة ( انتقال ) للبيانات تعتمد على مسجل واحد فقط يسمى مسجل العمل ‘W’ اختصارا لكلمة ‘working’
عائلة الميكروكونترولر PIC :
الاختصار PIC فى اغلب المراجع هو اختصار للعبارة
Peripheral Interface Controller اى المتحكم ذو الربط ( الاتصال ) بالمحيط الخارجى . وفى بعض المراجع هو اختصار للعبارة
“Programmable Intelligent Computer” اى الكومبيوتر الذكى القابل للبرمجة .
وفى البعض الاخر هو اختصار للعبارة “Programmable Interface Controller.”
اى المتحكم ذو الربط (الاتصال) والقابل للبرمجة .
على الرغم من تواجد المئات من الموديلات للميكروكونترولر PIC الا انه يمكن تقسيم العائلة الى ثلاث مجموعات رئيسية وهى :
1- مجموعة تعمل بكلمة تعليمة بعرض 12-bit مثال PIC12C508 وتسمى عائلة خط الاساس ‘baseline’ او العائلة الصغرى
2- مجموعة تعمل بكلمة تعليمة بعرض 14-bit مثل 16F8X, 16F87X (PIC16F84 و PIC16F628 وPIC16F676 وPIC16F877 ) وتسمى العائلة الوسطى “mid-range” او عائلة المدى الاوسط
3- مجموعة تعمل بكلمة تعليمة بعرض 16-bit مثل 17C7XX, 18C2XX وتسمى عائلة الخصائص المرتفعة او ‘high-end’.
وسوف نتناول مجموعة العائلة الوسطى بالتفصيل والتى تسمى PICmicro X14 نسبة الى عدد الخانات (البتات) فى كلمة التعليمة . تم بعد ذلك نذكر الاختلافات مع بقية المجاميع .
ثانيا :التركيب البنائى للميكروكونترولر PIC
( العائلة الوسطى المسماه PICmicro x14 )
الخصائص العامة للتركيب البنائى
- يعتمد الميكروكونترولر PIC فى تركبيه البنائى على نظام الكومبيوتر ذو التعليمات المخفضة RISC .
2- يحقق اكبر قدر من الكفاءة نتيجة اعتماده على التركيب البنائى المسمى هارفارد Harvard حيث يوجد ممرات منفصلة لكل من البيانات والعناوين وكذلك حيزان منفصلان لكل من ذاكرة البرنامج وذاكرة البيانات .
3- تنفيذ التعليمة بما يعرف بطريقة خطوط النقل pipelining مما يعطى سرعة اعلا بينما المسجل ( او يسمى مسجل الملف ) يسمح لك بالقيام بنفس العمل بالمسجلات كما تفعل مع اى نوع من ال RAM .
4- تعليمات ذو دورة واحدة : بما يسمح بسرعة عالية فى تنفيذ الكود واستخدام تعليمات ذو كلمة واحدة يحسن الاداء الانتاجى ويخفض من مساحة الذاكرة المطلوبة .
5- استخدام تعليمة بكلمة كبيرة : يعطى امكانية حفظ البيانات نوع immediate فى نفس سطر الكود كالتعليمة نفسها والذى يؤدى الى تخفيض مجموعة التعليمات الى اقل عدد .
6- التعليمات متعامدة ومتماثلة : وهذا يعنى ان لكل مجموعة من التعليمات هناك تعليمة مسح Clear ولكل تعليمة زيادة بواحد Increment يوجد تعليمة انقاص بواحد Decrement وهكذا .
يمكنك اجراء كل التعليمات مع اى من المسجلات وبالتالى لا يوجد وظيفة خاصة او تعليمة خاصة للتعامل مع مسجل بعينه .
لنتناول هذه الخصائص بشىء من التفصيل :
اولا :مقارنة بين التركيب البنائى نوع هارفارد والتركيب البنائى نوع فون نيومان(الموجود بالميكروكونترولر ذو ال 8 بت الاخرى ) :
التركيب البنائى نوع فون نيومان به حيز واحد فقط لحفظ كل من ذاكرة البرنامج وذاكرة البيانات . وهذا يعنى ان من الضرورى جلب fetch التعليمات والبيانات من نفس حيز الذاكرات . مما يحدد مجال العمل لانك تستطيع فقط ارسال اما قطعة من البيانات او تعليمة واحدة فى نفس الوقت .
مع التركيب البنائى نوع هارفارد يوجد حيزان منفصلان للذاكرات . حيز للتعليمات ( ذاكرة البرنامج ) وحيز اخر للبيانات ( ذاكرة البيانات ) مما يمكنك من زيادة الطاقة الانتاجية لانه اثناء جلب التعليمة التالية يمكنك فى نفس الوقت كتابة نتائج التعليمة السابقة .
والميزة الاخرى هى : حيث ان الميكروكونترولر نوع 8- bit فان ذاكرة البيانات تكون بعرض
8-bitولكن ذاكرة البرنامج يمكن ان تكون باى عرض نختاره ( لانفصالهما عن بعضهما )
فى التركيب البنائى الحالى فان ذاكرة البرنامج المستخدمة تكون بعرض 12-bit او 14-bit او 16-bit . التركيب البنائى الذى سوف نناقشه يستخدم حيز ذاكرة البرنامج بعرض 14-bit .

القادم
ثانيا: عملية نقل التعليمات بطريقة خطوط النقل Pipelining