أقرأ أيضاً
التاريخ: 17-8-2021
2085
التاريخ: 5-10-2021
1845
التاريخ: 10-5-2021
1739
التاريخ: 18-4-2021
1536
|
يعد المتحكم الدقيق مكوناً شائعاً في كثير من الأجهزة والأنظمة الإلكترونية الحديثة. وقد اصبح يستعمل على نطاق واسع بحيث أصبح من المستحيل أن تعمل في مجال الإلكترونات دون أن تتطرق إليه. ومن الأنظمة الإلكترونية التي تستخدم فيها المتحكم الدقيق ما يلي:
ويمكن للمرء أن يعد المزيد، وهذا يعطي الانطباع أن للمتحكم الدقيق العديد من الاستخدامات.
المعالج الدقيق هو تجميع لمجموعة من الوظائف في رقاقة إلكترونية واحدة، وهذه الوظائف هي:
أ - القدرة على تنفيذ مجموعة من التعليمات المخزنة لتنفيذ عمل يعرفه المستخدم.
ب- القدرة على الوصول إلى رقاقة الذاكرة الخارجية من أجل قراءة أو كتابة البيانات والمعلومات من وإلى ذاكرة المعالج.
- أنواع الذاكرة
يمكن أن تكون الذاكرة على أحد النوعين التاليين:
أ- ذاكرة للقراءة فقط (Read Only Memory - ROM) ويتم قراءة البيانات فقط من هذه الذاكرة، حيث أن هذه البيانات يتم تخزينها عند التصنيع.
ب- ذاكرة القراءة فقط المبرمجة القابلة للمسح:
Erasable Programable Read Only Memory (EPROM)
يشبه هذا النوع نوع الذاكرة في البند (أ)، ولكن يمكن للمستخدم أن يبرمج هذا النوع. ويمكن محو محتويات هذه الذاكرة، وذلك عن طريق تعريض الرقاقة إلى الأشعة فوق البنفسجية لفترة قصيرة من الوقت؛ ولذلك يمكن استخدامها مرات عديدة.
جـ - ذاكرة القراءة فقط المبرمجة القابلة للمسح الكترونياً:
Electrically Erasable Programmable Read Only Memory (EEPROM)
ويشبه هذا النوع نوع الذاكرة في البند (ب)، إلا أن جميع محتويات أجزاء هذه الذاكرة يمكن محوها عن طريق المعالج الدقيق. يتم استخدام ROM وEPROM لتخزين برنامج للمعالج الدقيق المستخدم في الأنظمة المختلفة التي تستخدم لتطبيقات محددة (أي أن صيغة البرنامج في هذه التطبيقات تبقى كما هي، ويتم تنفيذه كلما تم تشغيل النظام).
وعادة عندما يكون البرنامج قيد التطوير فإنه يخزن على ذاكرة من نوع EPROM أو EEPROM. وعندما يتم فحصه بشكل نهائي، تخزن النسخة النهائية منه على ذاكرة من نوع ROM.
د- الذاكرة الممكن الوصول إليها عشوائياً
Random Access Memory (RAM)
تحتاج جميع المعالجات الدقيقة إلى نوع ذاكرة، بحيث تستطيع أن تقرأ منه أو تكتب فيه. ولذلك تستخدم RAM لتخزين البيانات المتحركة Dynamic Data التي ممكن أن تتغير خلال فترة تنفيذ البرنامج.
إذن، فالمعالج الدقيق يحتوي على كلا النوعين من الذاكرة (ROM أو EPROM أو EEPROM) لتخزين شيفرة البرنامج (Program code وRAM لتخزين البيانات المتحركة. ويوضح الشكل التالي الترابط الأساسي بين المعالج الدقيق والذاكرة بنوعيها.
بعد أن بينا بعض المفاهيم الأساسية حول المعالج الدقيق، نحاول الآن التركيز على عمل المتحكم الدقيق ومكوناته، الذي يمكن تعريفه بأنه رقاقة تجمع عدة مكونات من المعالج الدقيق مثل:
انظر الشكل التالي:
ويوضح الشكل التالي المخطط الصندوقي للمتحكم الدقيق والوحدات المختلفة التي يتم تصنيعها على رقاقة واحدة من شركة Microchip.
تعد وحدة المعالجة المركزية بمثابة القلب للمتحكم الدقيق. وكان في السابق يستخدم CPU ذو 8 خانات. فعلى سبيل المثال تستخدم شركة موتورولا وحدة CPU من طراز 6800 معالجاتها الدقيقة من طراز هي 6805/6808
وفي السنوات الأخيرة، تم تطوير متحكمات دقيقة تتمحور حول نوع محدد من وحدة المعالجة المركزية مثل المتحكمات التي تصنعها شركة Microchip ومعروفة باسم PIC Controller.
يمكن الرجوع إلى المواقع الإلكترونية التالية للتعرف على المتحكمات الخاصة بالشركتين المذكورتين أعلاه
WWW.Motorola.com و WWW.Microchip.com.
تختلف سعة الذاكرة في المتحكم الدقيق من نوع إلى آخر. وبعضها قد لا يحتوي على ذاكرة مدمجة، مثل المتحكم 6503 Hitachi الذي لم يعد يصنع. ولكن معظم المتحكمات الحديثة تحتوي على ذاكرة مدمجة مقسمة بين ROM وRAM. وعادة تكون سعة ROM أكبر من سعة RAM. فمثلاً تتراوح سعة ROM بين 512 بايت و4096 بايت. وهناك بعض الأنواع مثل المتحكم الدقيق Hitachi H8/3048 الذي له ذاكرة من نوع ROM بسعة 128 كيلو بايت. وتجدر الإشارة هنا إلى أن هذه الذاكرة ممكن أن تكون ROM أو EPROM أو EEPROM. أما سعة RAM فتتراوح بين 25 بايت و4 کیلو بایت.
المنافذ هي الوسائل التي تربط بين المتحكم الدقيق والبيئة المحيطة به وتكون عادة مجموعة من الخانات الرقمية (8 خانات) أو ما يعرف بالبايت تسمى منفذاً (port)
ويمكن تحقيق منفذ المخرج Output Port باستخدام مجموع نطاطات من نوع D-flip-flops كما في الشكل التالي:
لاحظ أن هذا الشكل يوضح منفذاً ذا أربع خانات. يتم وصل المداخل إلى ناقل البيانات (Data Bus) بينما يتم وصل المخارج إلى الأجهزة المراد التحكم بها.
يمكن منفذ المدخل من تخزين البيانات التي يتم قراءتها من المعالج الدقيق عن طريق ناقل البيانات. يتم وصل ناقل البيانات عبر مصد (Buffer) ذي ثلاث حالات (Tri-states) إذ إن منفذ المدخل يوصل إلى ناقل البيانات فقط عند اختيار منفذ المدخل.
ويوضح الشكل التالي منفذ مدخل ذي أربعة مداخل:
يختلف عدد المداخل والمخارج باختلاف نوع المتحكم. فهناك متحكمات بأربعة مداخل/ مخارج. هناك أنواع لها 33 مدخلاً/ مخرجاً وفي بعض الأنواع يمكن أن يصل عدد المداخل/ المخارج إلى 78.
ويوضح الشكل التالي توصيل المتحكم الدقيق بالبيئة المحيطة به، (LED) ومرحل.
ليست جميع المتحكمات قادرة على تشغيل المرحل أو الثنائي الضوئي مباشرة فبعضها بحاجة إلى Buffer مثل الرقاقة 7406 التي لها مجمع مفتوح عاكس.
تحتوي معظم المتحكمات الدقيقة على وحدات طرفية تسهل عملية معالجة البيانات والإشارات الداخلة والخارجة من المتحكم، ومن هذه الوحدات:
وقد كانت هذه الوحدات سابقاً تصمم على رقاقات منفصلة إلا أنها هذه الأيام تأتي كجزء من المتحكم الدقيق، مما يعطي خدمة أفضل ويوفر من الحيز اللازم لربط هذه الوحدات.
وسنعرض فيما يلي وصفاً موجزاً لكل منها.
1- وحدة التوقيت
من المتطلبات العامة لأي متحكم دقيق قدرته على تشغيل وإطفاء مخرج معين مثل مرحل أو LED لفترة معينة من الزمن، ويمكن عمل هذه عن طريق تشغيل الجهاز وجعل المتحكم الدقيق يتحكم بعملية التوقيت ومن ثم إطفاء الجهاز، ويتم ذلك عن طريق عداد بحيث يتناقص العد بعد فترة معينة من الزمن.
إن هذه الطريقة غير مجدية وذلك لأن المتحكم الدقيق يمكن أن يقوم بأعمال أخرى أثناء فترة التوقيت. ولذلك يمكن إضافة مؤقت إلى المتحكم ليقوم بعملية التوقيت بينما يقوم المتحكم بأعمال أخرى. وتحتوي معظم المتحكمات على وحدة توقيت واحدة على الأقل لها عادة عدة مداخل ومخارج.
عن طريق مداخل المؤقت يمكن استعمال المؤقت لقياس فترة إشارة مطبقة على مدخل المؤقت كما في الشكل التالي:
يقوم المتحكم الدقيق بعد عد النبضات في خلال وحدة الزمن ليحدد بذلك سرعة الدوران. في هذا المثال، يقوم العمود الدوار بإنتاج نبضة واحدة كل دورة ويقوم المتحكم الدقيق بقياس الوقت المستغرق لإحداث دورة كاملة، وعليه يحدد السرعة الزاوية للعمود الدوار.
أيضاً عن طريق مخارج المؤقت يمكن التحكم بدارة (مثلاً دارة منطقية) كما في الشكل التالي.
يقوم المتحكم بتغيير زمن on وزمن off ديناميكياً عن طريق برمجة المؤقت خلال فترة تنفيذ البرنامج. ومن الوظائف الهامة التي يقوم بها المؤقت إحداث تأخير برمجة المؤقت بقيمة عدد معينة ومن ثم عدها تنازلياً حتى الصفر. وعندما يصل المؤقت إلى قيمة الصفر يتم تشغيل علماً Flag، الذي يكون مراقباً من قبل البرنامج لكي يعرف المتحكم الدقيق حتى يصل المؤقت إلى الصفر.
بما أن الوقت الذي يستغرقه المؤقت ليصل إلى قيمة الصفر هو عبارة عن قيمة العد المعينة مضروبة في الوقت الذي يستغرقه المؤقت، نحصل على مدة تأخير معينة.
2- المنفذ التسلسلي:
تحتوي بعض المتحكمات الدقيقة على منفذ تسلسلي بحيث يمكن نقل البيانات إلى متحكم دقيق آخر، جهاز حاسوب من خلال زوج من الأسلاك. ومع أن هذه طريقة شائعة لنقل البيانات إلا أنها أشد بطئاً عند نقل بيانات من منفذ تواز. ويمكن برمجة معدل نقل البيانات بين (300 baud في الدقيقة) إلى معدل 38400 baud في الدقيقة. ويسمى عادة المنفذ التسلسلي بـ (Serial Communication Interface (SCI) ، ومعظم (SCI) الموجودة في المتحكم الدقيق هي عبارة عن جزء من المنفذ التسلسلي القياسي الموجود في جهاز الحاسوب والذي يسمى Universal Asynchronous Receiver /Transmitter (UART))) ، يبين الشكل التالي متحكماً دقيقاً له وحدة (SCI) موصولاً مع جهاز حاسوب من خلال زوج Rx/Tx.
تجدر الإشارة هنا إلى المستوى المنطقي من منفذ SCI هي TTL. ولذلك عند ربط المتحكم الدقيق مع جهاز الحاسوب نحتاج إلى رقاقة لمواءمة ربط TTL. مع RS232. تقوم هذه الرقاقة بتحويل مستوى الاشارات من مستوى TTL إلى مستوى RS232 ويكون أيضاً هناك رقاقة مناظرة تعمل على مواءمة RS232 إلى مستوى TTL لرقاقة UART المستخدمة في جهاز الحاسوب، وهذه المواءمة غير موضحة في الرسم.
في بعض التطبيقات تكون هناك حاجة لمواءمة خاصة يتم تصميمها مع المنفذ. التسلسلي. كما في الشكل التالي:
تكون الإشارات في الطبيعة عادة تماثلية. فعلى سبيل المثال قد نحتاج إلى مراقبة إشارة تماثلية من مقياس الانفعال ((Strain Gauge أو من مجس يحول الحرارة إلى إشارة كهربائية تماثلية. وبما أن المتحكمات الدقيقة تستخدم أحياناً في مثل هذه التطبيقات فإنه يتم تزويدها بوحدة A/D تقوم بتحويل الإشارات التماثلية إلى رقمية.
وفي معظم الحالات يكون A/D من نوع التقريب التتابعي (Successive Approximation). ويكون هناك عدد من القنوات (channels) من 4 إلى 8 في معظم الحالات.
من غير المألوف في وحدات ADC أن يكون عدد الخانات أكبر من 10 خانات. يبين الشكل التالي متحكماً دقيقاً يستخدم لقياس اشارة تماثلية. مستوى الإشارة التماثلية. يتم برمجة التحكم الدقيق بحيث أن أحد مداخله يقبل إشارة دخل تماثلية. يقوم البرنامج بتحويل الإشارة التماثلية إلى إشارة رقمية، الحد الأدنى ويقوم بتحديد فيما إذا كان اتساع الإشارة التماثلية أكبر من حد معين يتم تحديده مسبقاً. عند ذلك يتم إضاءة ثنائي انبعاث ضوئي (LED) معين.
سنعرض في هذا الدرس متطلبات برمجة المتحكم الدقيق بلغة التجميع (Assembly Language). ومن ثم نورد بشيء من التفصيل مجموعة التعليمات الخاصة بالمتحكمات من نوع PIC مع أمثلة. كذلك سيتم التطرق إلى أساسيات البرمجة أثناء السياق.
يتم تصميم مجموعة التعليمات (Instruction Set) للمتحكم الدقيق بحيث يتم التحكم بطريقة فعالة في أجزاء المتحكم الداخلية، وكذلك الأجهزة المحيطة التي توصل مع المتحكم الدقيق من خلال منافذه.
تختلف مجموعة التعليمات من متحكم دقيق إلى آخر. فبعض المتحكمات له مجموعة تعليمات كبيرة مثل Hitach H83048 وموتورلا C6808. والبعض الآخر له مجموعة تعليمات صغيرة مثل مجموعة PIC من شركة Microchip.
تشبه متطلبات البرمجة للمتحكم الدقيق متطلبات البرمجة لأي جهاز حاسوب. وهذه المتطلبات هي:
تكون وظيفة البرنامج المجمع Assembler هي تحويل نص البرنامج
Source code)) الذي يكتبه المبرمج إلى ما يسمى بـ Object file code. ويتم ذلك باستبدال كل سطر مكتوب بلغة التجميع (Assembly Language) إلى ما يناظره بلغة الآلة machine code)) الذي سوف يتم تنفيذه من المتحكم الدقيق. وبما أنه لا يمكن تنفيذ ملف object code file مباشرة من المتحكم الدقيق، فإن هذا الملف يمر عبر برنامج يسمى الرابط (Linker).
وتكون وظيفة الرابط هي أخذ ملف object file الذي ينتجه المجمع، ويربطه مع وحدات نمطية (يتم تجميعها مسبقاً في ملف (Object file لإنتاج ملف قابل للتنفيذ، ويمكن تحميله في ذاكرة المتحكم الدقيق. في بعض الحالات يتم ضم المجمع والروابط في برنامج واحد بحيث يتم إنتاج لغة الآلة مباشرة. وهذا ما يحدث في المتحكمات الدقيقة من نوع PIC. يبين الشكل التالي المراحل اللازمة لإنتاج البرنامج.
لاحظ أنه فقط في مرحلة كتابة (تحرير البرنامج) يكون هناك تدخل من المستخدم. وبقية المراحل يتم عملها بشكل آلي من خلال أدوات المجمع والرابط.
يحتوي الملف الذي يكتبه المستخدم على تعليمات، يتم بموجبها تحديد المكان الذي سيتم وضع ملف hex فيه في المتحكم الدقيق.
|
|
دراسة يابانية لتقليل مخاطر أمراض المواليد منخفضي الوزن
|
|
|
|
|
اكتشاف أكبر مرجان في العالم قبالة سواحل جزر سليمان
|
|
|
|
|
المجمع العلمي ينظّم ندوة حوارية حول مفهوم العولمة الرقمية في بابل
|
|
|