pregnancy

ما هو الميكروكنترولر وتاريخه





المايكروكونترولر :هو دارة الكترونية متكاملة تحتوي على معالج صغري داخلي وذاكرة داخلية قابلة للبرمجة لتخزين البرنامج التحكمي فيها وذاكرة أخرى لمعالجة البيانات كما أنها تحتوي على بوابات إدخال وإخراج البيانات والأوامر التحكمية كما وقد تحتوي على أدوات أخرى كالمحولات الرقمية التشابهية وبالعكس وعلى مقارنات الجهد ومكبرات العمليات و مولد نبضات الساعة والعدادات والمؤقتات وغيرها .




استخدامات المايكرو كونترولر : يستخدم في معظم الأجهزة التي من حولنا بدءا من دارة التحكم بوظائف الشاشة التحكمية التي أمامك مرورا بدارات التحكم الخاصة بالقرص الصلب و مشغل الأقراص الليزرية و متحكم بطاقة الشبكة وانهاء بمتخكم وظائف اللوحة الأم . وسنراه أيضا في جهاز التحكم بالتلفزيون وفي جهاز الفيديو وفي جهاز الإنذار ضد السرقة وفي علبة السرعة الالكترونية للسيارة وفي نظام منع انغلاق المكابح وفي دارة الإنارة الأوتوماتيكية لإشارات المرور والقائمة طويلة جدا تكاد لا تنتهي .


ومن أشهر الشركات التي قامت بتطوير وتصنيع المايكروكونترولر :


انتل INTEL


أتمل ATMEL


سوني SONY


مايكروشيب MICROSHIP


توشيبا TOSHIBA


إن إي سي NEC



تعريف اخر



عند ذكر جهاز ما فانه و في معظم الحالات لا بد وأن بداخله ميكروكنترولر.


لماذا يجب أن نفكر بعقلية الميكركنترولر دائما عندما نريد صنع جهاز ما؟


ببساطة لأن للميكركنترولر وحدة معالجة مركزية بالاضافة الي انواع من الذاكرة مبنية داخله وموقتات ومخارج ومداخل وعدادات و ADC و DAC و و و و الخ. وكل هذا في IC واحد كلفته تصل الى اقل من دولار احيانا و 10 دولار احيانا اخرى. وهذه الميكركنترولرات تضاهي احيانا بل وفي احيانا كثيرة قدرة الـ PC لا يزعل احد من اهل الـ PC انا اقول يتفوق بالتحكم. اذا الميكروكنترولر او المتحكم عبارة عن كمبيوتر مصغر في IC.


لهذا تجد الاجهزة الحديثة قليلة القطع بعكس الاجهزة القديمة والتى اساسها الدوائر المنطقية والتي ترفع من كلفة الاجهزة نظرا لكثرة القطع وكبر اللوحة الالكترونية وبالتالى فالتكاليف اكبر. والميكروكنترولر هو الحل لمعظم المشاكل الالكترونية وهو اساس معظم الاجهزة فحتى الريموت كنترول به ميكروكنترولر وكذلك الماوس والميكروويف وكل جهاز يتصرف بتلقائية.


الخلاصة: لابد من تعلم الميكروكنترولر لهذه الامة ان ارادت ان تصنع اجهزتها بايدي ابنائها.


ملاحظة : هناك انواع كثيرة من الميكروكنترولرات وشركات عديدة تنتجها ولاختيار الميكروكنترولر المناسب نحصر اولا المتطلبات - مثل كم مدخل وكم مخرج و عدد ساعات التوقيت و حجم الذاكرة المطلوبة - ونحاول استخدام الميكروكنترولر الذي يحوي بداخله كل ما نريد لنتمكن من صنع الجهاز باقل عدد قطع ممكنه.


توضيح الفرق بين الPC و الميكروكنترولر:


تصور أنك أضفت للـ PC الكروت التالية:


كرت SERIAL PARALLEL I/O
كرت ANALOG TO DIGITAL/ DIGITAL TO ANALOG CONVERTER
كرت I/O بقدرة 68 مخرج ومدخل
ذاكرة فلاش
و COMPARATOR
و CAPTURE /COMPARE UNIT تساعد فى التحكم بسرعة الموتورات واشياء اخرى


والآن تحول الـ PC وأصبح ميكروكنترولر ذو قدرة معالجة عالية وخاصة حسابياً .



طريقة كتابة برنامج للمايكروكنترولر :


الطريقة هي اما بلغة منخفضة كلغة الاسمبلي الخاصة بالمايكروكنترولر او بلغة عالية كلغة السى C او لغة البيسك يتم في كل الحالات انتاج ملف وهو بلغة الآلة يتم تنزيله على الميكروكنترولر بواسطة المبرمجة Programmer.


وهذه المايكروكنترولرات هي حقيقية عبارة عن IC تبرمجها باستخدام PROGRAMMER خاصة وكثير من المبرمجات تبرمج اكثر من نوع واحد من الميكروكنترولر وبعضها رخيص بدرجة كبيرة والبعض الاخر بامكانك بنائه وهناك مواقع عديدة ترشدك لتصميم المبرمج ولكني لا افضل هذا حيث اني افضل التركيز على تعلم المايكروكنترولر وبالتالى شراء مبرمجة مناسبة للمايكروكنترولر الذي تختاره.




تاريخه



تاريخ الميكروكنترولر :
فى سنة 1969 سافر فريق من المهندسين اليابانيين من شركة BUSICOM الى امريكا بدعوة من شركة INTEL حيث طلبت منهم بعض الدوائر المتكاملة للالات الحاسبة .
ومن بين هذا الفريق مهندس يدعى Marcian Hoff قام بوضع اقتراح جديد هو ضرورة ايجاد حلول بديلة للدوائر متكاملة حيث يتم بها تخزين للبرامج المستخدمة.
وكان هذا الاقتراح يتتطلب المزيد من وحدات الذاكرة فى مشروع الشركة اليابانية حول تصميم الدوائر المتكاملة الذى سوف يكون اكثر تعقيدا بهذا الاقتراح .


ولكن مع الوقت تم التفكير فى اول ميكروكنترولر وبدات فكرة Marcian Hoff فى التنفيذ .
ولتحقيق هذه الفكرة قام Frederico Faggin بمساعده شركة Intel فى انتاج اول ميكروكنترولر وحصلت على الحق فى بيعه عام 1971 ولكن بعد شراء رخصة من شركة BUSICOM بدون ان تعلم ان لديها هذا الكنز .


وفى خلال هذه السنة ظهر فى الاسواق الميكروبروسيسور 4004 ويحتوى على 4 bit .
وفى هذا الوقت طالبت الشركة الاميريكية CTC شركتى INTEL و Texas Instruments بعمل ميكروبرسيسور 8-BIT
وفى عام 1972 ظهر اول ميكروبروسيسور 8-BIT فى الاسواق تحت اسم 8008 وكان يحتوى على ذاكرة 16KB وكان سعره حوالى 360 دولار .
وفى هذا العام ادركت معظم الشركات اهمية هذا الاختراع العجيب فى تغيير مستقبل الدوائر المتكاملة وعلى راسهم Motorola حيث قامت بانتاج 6820 و 6850.
فى عام 1975 اعلنت شركة The MOS Technology عن ميكروبروسيسور 6501 و 6502 بى 25 دولار .
وايضا قام المهندس Frederico Faggin بترك العمل مع شركة INTEL وتكوين شركته الخاصة Zilog Inc وفى عام 1976 اعلن عن الميكرو Z80
حيث كان الاهتمام فى ذلك الوقت بتطوير برامج لى 8080
فلذلك قام Frederico Faggin باضافة امكانية التوافق مع الميكروبرسيسور 8080 الى Z80 حيث كان يقوم بتنفيذ البرامج المكتوبة خصيصا لى 8080 .
ومع زيادة سعة الذاكرة قام ايضا باضافة ذاكرة عشوائية RAM ولذلك حقق Z80 نجاحا باهرا فى ذلك الوقت .
ونتيجة هذا قامت انتل بتطوير ال 8080 الى 8085 ولكن لم يصمد ايضا امام Z80 .
وبعدها قامت العديد من الشركات بتطوير ذلك الكنز وانتاج العديد من الميكروكنترولات لها قدارت هائلة



الفرق بين الميكروكنترولر والميكروبروسيسور


ولذلك سنقوم الان بمقارنة مهمة جدا بين الميكروكنترولر والميكروبروسيسور .
اولا الميكروبروسيسور Microprocessor
تم صنع اول ميكروبروسيسور فى بداية السبعينيات يتألف المايكروبروسيسور من وحدة معالجة مركزية تدعى بـ CPU و هي اختصاراً لـ Central Processing Unit
ومن وحدتي الربط – وهى التي تربط المعالج مع الوسط الخارجي- المنطقي و تدعى عادةً بـ Peripheral I/O Ports.
كما يتواجد ذاكرة عشوائية صغيرة السعة RAM أما ذاكرة البرنامج فهي صغيرة جدا و قد صممت لحفظ جزئ صغير من البرنامج (و عادةً يكون جزء القراءة و الكتابة من و إلى EEPROM). كما يتم تخزين فيها بعض عناوين المعلومات المتوفرة في الذاكرة الخارجية EEPROM.
لذلك فالمايكروبروسيسور بحاجة إلى ذاكرة مساعدة و هذا يقتضي أن تكون وحدتي الاتصال مؤلفة من جزئيين:
و هي مدخل البيانات التي يجب أن يتم إيصالها للمعالج ليقوم بمعالجتها.
و لها 8 أو 16 أو 32 مدخل Pin على حسب نوع المعالج و قدرته أي 8 بت أو 16 بت أو 32 بت أما هذه البيانات تكون متوفرة عادة في الذاكرة المساعدة الخارجية.
وهي مخرج من المعالج يرسل عليه عناوين المعلومات المتوفرة في الوسط الخارجي (الذاكرة المساعدة مثلا).
فيقوم المعالج بوضع العنوان على شكل 8 أو 16 أو 32 بت و من ثم يقرأ المعلومة التي يحتاجها عن طريق مدخل البياناتData Lines.
و مثالا على بعض أصناف معالجات المايكروبروسيسور هو معالج 68000 من شركة Motorola و المعالج الشهير Z80.
الخلاصة: إن المايكروبروسيسور لا يمكنه أن يعمل مستقلاً بدون وجود بعض المساعدات مثل الذواكر مثلاً! و إذا ما نظرنا إلى دائرة تحوي معالج مايكروبروسيسور فيمكننا أن نشاهد بالقرب من المعالج الذواكر المساعدة مثل ROM-EPROM-EEPROM.
إذا فدائرة المايكروبروسيسور هي الأكثر تعقيدا من الميكروكنترولر
و هو عبارة عن مايكروبروسيسور تم تطويره بحيث تم وضع جميع المكونات التالية في شريحة واحدة مدمجة:
2- ذاكرة مؤقتة (عشوائية)
3 – ذاكرة قابلة للقراءة و الكتابة كهربائية EEPROM
4- مداخل الربط المنطقية بين المعالج و الوسط الخارجي Peripheral I/O Units
ويجب أن نذكر أن هناك بعض الحالات التي يتم استخدام ذاكرة إضافية للمعالج عندما تكون كمية المعلومات المراد تخزينها أكبر من سعة الذاكرة الداخلية للمعالج!
الخلاصة: المايكروكونترولر هو جيل جديد و مطور عن المايكروبروسيسور و أن جميع ملحقات المعالج تم وضعها في شريحة واحدة و من هنا فبناء دارة تحوي مايكروكونترولر تكون بسيطة و صغيرة و ليست معقدة!


و هناك معلومة أحب أن أوضحها, و هي أن الميكروكنترولر لا يتم برمجته مباشرة بلغة الC و لكن يقوم المترجم بتحويل أكواد الC إلي assembly و هذه الخطوة لا نشعر بها, و أنصحك أن تتعلم بعض الأسيمبلي لتعلم كيف يعمل الميكروكنترولر ثم تبدأ بالعمل بالسي لأنها أسرع و أسهل, و لا أحد يعتمد علي الأسيمبلي وحدها أبدا
و ما ستحتاج لشرائه هو:
  • ميكروكنترولر: معظم مبتدئي الـ AVR يفضلون ATmega8 لأنه رخيص الثمن و به كل ما تحتاجه للتعلم
  • Bread Board : و هي لوحة لتجميع الدوائر الإلكترونية البسيطة لاختبارها
  • دائرة power : لتغذية 5 فولت, مثل دوائر 7805 أو استخدام power supply قديم (السلك الأحمر يعطي 5 فولت)
  • دائرة و كابل للبرمجة: و هي تنقل البرنامج الذي تكتبه للميكروكنترولر من حاسبك إلي الميكروكنترولر, يمكن شراؤها جاهزة و يمكن عملها يدويا, و لكن أنصحك أن تشتريها جاهزة لأنها تحتوي علي ميكروكنترولر يحتاج إلي برمجة !
  • و ستحتاج إلي بعض المقاومات و الليدات و المكثفات و أيضا أسلاك التوصيل, و أنصحك بشراء التالي كبداية:
    • 10 مقاومات 330 أوم
    • 10 مقاومات 100 أوم
    • 10 مقاومات 1 كيلو أوم
    • 10 مقومات 10 كيلو أوم
    • 10 مقاومات 100 كيلو أوم
    • 10 ليد LED بأي لون
    • 5 مكثفات 10 uF
    • 5 مكثفات سيراميك برقم 105 (1 نانو فاراد)
    • 10 أزرار push button أو كما يسميها البائعون "بريس" أو "Press"
    • 4 دايود 1 أمبير
    • متر سلك انترنت أو تليفون لأنك ستقطعه لتوصيله علي ال bread board
    • قطعتين 7 segment, لان دوائر التعليم عادة ما تحتوي عليها
    • ترانزستور من نوع npn مثل 2n2222
هذا ما ستحتاجه كبداية و يمكن بعد ذلك شراء أشياء أخري قد تحتاج إليها
بالنسبة لكلمة pic فهو نوع من أنواع الميكروكنترولر مثل AVR, و هو أكثر انتشارا في المنتديات العربية رغم أن ال AVR أفضل حسب رأي كل من جربهمها معا!

أنصحك بزيارة هذا الموضوع, ففيه كل ما تحتاجه, و هناك عدد من الروابط أنصحك أن تقرأها بالترتيب:
العنصر الذي يتحكم في الآلة و يتم برمجته يسمي microcontroller, و هو يتم برمجته بلغة الassembly و لكن لتسهيل البرمجة, هناك compilers تحول لغات مثل C و Basic إلي أكواد assembly ليتم بها برمجة الـ microcontroller, و قد يكون هناك compilers للغة c++ و لكن لغة الـ C أبسط و تؤدي الغرض تماما, لذا تعد اللغة الأكثر انتشارا لبرمجة الـ microcontroller.
و لكي تبدأ في هذا المجال, عليك أولا أن تختار أحد أنواع microcontroller, و شخصيا أرشح لك AVR microcontroller, يمكنك أن تبدأ بهذه الوصلات بالترتيب:
http://www.engineers...microcontroller
http://hackaday.com/...g-introduction/
http://www.avrbeginners.net/
و هناك أيضا موضوع مثبت عل المنتدي هنا:
http://arabteam2000-...-نوع-atmel-avr/
ثم تبدأ بمشاركة مشاريعك أو عرض مشاريع الآخرين من هنا:
http://www.avrfreaks.net/
وفقك الله
و هو عن نوع ميكروكنترولر AVR, و أ ظن أن هذه الوصلات تكفي لتكون محترفا بإذن الله
منقول من اكثر من مصدر

شكرا لتعليقك

فهرس




    اندرويد