...
👋 مرحباً!
تواصل معنا الآن

مدخل إلى عالم الأنظمة المدمجة | متحكم AVR كنموذج مثالي

  • مارس 21, 2024
متحكم AVR

هل تساءلت يومًا كيف تعمل الأجهزة الإلكترونية من حولك؟ من الهواتف الذكية إلى السيارات. من الروبوتات إلى الأجهزة المنزلية. جميعها تعمل بفضل تقنية النظم المضمنة.

إذ تُعرف هذه الأنظمة بقدرتها على أداء وظائف محددة بدقة وكفاءة عالية. مما يجعلها عنصرًا أساسيًا في تطوير التكنولوجيا الحديثة.

سنتحدّث في هذا المقال عن مفهوم النّظم المدمجة ومكوناتها. ونُسلط الضوء على متحكم AVR ودوره في هذه الأنظمة. لذا تابع معنا لتعرف أكثر!

مفهوم الأنظمة المدمجة Embedded Systems

النظام المضمّن أو المدمج هو عبارة عن مجموعة من الأجهزة (Hardware) والبرمجيات (Software) المترابطة بإحكام والمصممة لأداء وظيفة محددة أو عدة وظائف. ويمكن أن يكون مستقلّ أو جزء من نظام أكبر.

غالبًا ما تعتمد الأنظمة المدمجة الحديثة في عملها على متحكمات دقيقة (Microcontrollers) ومعالجات دقيقة (Microprocessors) و SOC و FPGA. هذه الدوائر المتكاملة هي المسؤولة عن تنفيذ العمليات والحسابات المحددة داخل النظام المضمّن.

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

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

بنية الأنظمة المدمجة Embedded Systems Architecture

بغضّ النظر عن الوظيفة التي يؤديها النظام المضمن فإن النظرة الأبسط لبنيته تُظهر مجموعتين رئيسيتين من المكونات:

1-مجموعة مكونات الأجهزة (Hardware)

المدخلات النموذجية في النظام المضمّن عبارة عن المتغيرات والبارامترات التي تصل من الحساسات ومنافذ الدخل والخرج I/O. وأما المخرجات فهي عبارة عن إجراءات تحكم على محركات النظام أو معلومات مُعالَجة للمستخدمين أو أنظمة فرعية أخرى ضمن التطبيق.

  • في بعض الحالات يتفاعل النظام المدمج مع المستخدمين من خلال واجهة مستخدم (User interface) تتضمن:
  •  مفاتيح وأزرار (Keys & Buttons).
  • حساسات (Sensors).
  • ثنائيات باعثة للضوء LEDs وشاشات LCDs وأجهزة عرض أخرى بحسب التطبيق.

ويمكن أن يختلف البناء المحدد لنظام معين اختلافًا جوهريًّا عن نظام آخر وذلك بناءً على التطبيق نفسه. وعلى الرغم من هذه الاختلافات فإن هناك ثلاثة مكونات أساسية للأجهزة ضرورية في النظام المضمّن نوضّحها في الجدول التالي:

المكوّن  الوصف
وحدة المعالجة المركزية (CPU)
  • غالبًا ما تكون على شكل متحكّم دقيق Microcontroller. 
  • تنفذ تعليمات البرامج لمعالجة مدخلات النظام واتخاذ القرارات التي توجّه تشغيله.
ذاكرة النظّام (Memory System)
  • تخزن البرامج والبيانات اللازمة لتشغيل النظام.
  • كما وتميّز معظم الأنظمة بين ذاكرة البرنامج وذاكرة البيانات.
  • كذلك تخزن ذاكرة البرنامج البرامج التي ننفذها الـ CPU.
  • من ناحية أخرى ذاكرة البيانات فتخزّن البيانات التي يعالجها النظام.
منافذ الإدخال والإخراج (I/O)
  • تسمح بنقل الإشارات بين وحدة المعالجة المركزية وكذلك العالم الخارجي.

2- مجموعة مكونات البرمجيات (Software Components)

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

1- برمجيات التطبيقات (Application Software ):

تعد برمجيات التطبيقات تُشكل الواجهة التي يتفاعل من خلالها المستخدمون مع الأنظمة المدمجة، مما يتيح إمكانيات لا متناهية في التخصيص والتطبيق العملي.

  • تتيح برامج التطبيقات للمستخدم تشغيل مجموعة متنوعة من التطبيقات على النظام المضمن عن طريق تغيير الكود المثبّت عليه.
  • تحدد وظيفة النظام المدمج وتتحكم في كيفية تفاعله مع المستخدم والعالم الخارجي.
  • يتم كتابة الكود البرمجي بواسطة لغات عالية المستوى مثل لغة الـ C.

2- نظام التشغيل في الوقت الحقيقي (Real-time Operating System RTOS ):

نظام التشغيل في الوقت الحقيقي يُعد العمود الفقري للأنظمة المدمجة، موفراً الدعم الضروري لتشغيل التطبيقات بكفاءة ودقة زمنية عالية. تعمل هذه المكونات الثلاثة معًا لتوفير وظيفة كاملة للنظام المضمن حيث توفر الأجهزة الأساس المادّي، وتحدد برامج التطبيقات سلوك النظام، أما الـ RTOS يدير تشغيل البرامج والتفاعل مع الأجهزة.

  • يشرف نظام التشغيل على طريقة عمل النظام ويعمل كواجهة بين الأجهزة وبرامج التطبيقات.
  • يدير RTOS برامج التطبيقات ويوفر آلية لتشغيل المعالج وفقًا لجدولة محددة مما يساعد على التحكم بتأثير التأخير.
  • يضمن نظام التشغيل في الوقت الحقيقي استجابة النظام المضمّن للأحداث في الوقت المحدد، وهو أمر مهم للعديد من التطبيقات.

متحكم AVR

 AVR Microcontroller 

وحدة التحكم الدقيقة AVR هي عبارة عن شريحة إلكترونية تم تصميمها بواسطة شركة Atmel، متحكم AVR، بقلبه النابض وبنيته المُبسطة، يعتبر العقل المُدبر للأنظمة المدمجة، موفرًا القوة والمرونة اللازمتين لمواجهة تحديات التكنولوجيا المعاصرة.ولكن بداية ما هو المتحكم الدقيق Microcontroller؟

يعتبر الـ Microcontroller بمثابة العقل المدبّر للنظام. ويمكنك فهم ماهية المتحكم الدقيق من خلال مقارنته بالكمبيوتر الشخصي PC الذي يحتوي على اللوحة الأم بداخله. وفيها يتم استخدام معالج دقيق (Microprocessor) يوفر ذواكر RAM و EEPROM و واجهات لبقية النظام كالمنافذ التسلسلية (منافذ USB) وأقراص التخزين وواجهات العرض.

من ناحية أخرى يحتوي المتحكم الدقيق  على جميع هذه الميزات (أو معظمها) مدمجة على شريحة واحدة، لذا فهو لا يحتاج إلى لوحة أم، ويمكن توصيل العديد من المكونات إليه مباشرةً.

العوائل الثلاثة لكل متحكم AVR في عالم الأنظمة المدمجة 

العوائل الثلاثة لمتحكم AVR تشمل Tiny AVR، Mega AVR، وXmega AVR، كل واحدة مصممة لتناسب مجموعة متنوعة من التطبيقات في عالم الأنظمة المدمجة.

1- Tiny AVR:

ذاكرة أقل، حجم صغير، وهي مناسبة للتطبيق الأبسط.

2- Mega AVR:

تقدم Mega AVR ذاكرة وصول عشوائي كبيرة تصل إلى 256 Kbyte وتضم عددًا وافرًا من الواجهات الطرفية، مما يجعلها مثالية للتطبيقات المتوسطة إلى المعقدة. كما وهي الأكثر شيوعًا والتي تتمتع بذاكرة أكبر تصل إلى 256 Kbyte كذلك عدد أكبر من الأجهزة الطرفية المدمجة، من ناحية أخرى هذه المواصفات مناسبة للتطبيقات من المتوسطة إلى المعقدة.

3- Xmega AVR:

يُستخدم للتطبيقات المعقدة التي تتطلب ذاكرة برامج كبيرة وسرعة عالية. كذلك في الجدول التالي مقارنة بين أهم صفات الفئات الثلاثة:

اسم الفئة عدد الأرجل (Pins) حجم الـ Flash Memory  الصفات المميزة
Tiny AVR 6-32 Pin 0.5-8 KB صغر الحجم.
Mega AVR 28-100 Pin 4-256 KB وحدات طرفية موسّعة.
XMega AVR 44-100 Pin 16-384 KB

برمجة متحكم AVR

مثل ما للحاسوب الشخصي نظام تشغيل يتحكم بكيفية عمله كما وتأدية وظائفه، فإن للمتحكم الدقيق برنامج خاص يخبره بآلية العمل.

علاوة على أن برمجة متحكمات AVR هي عملية كتابة التعليمات البرمجية اللازمة لتوجيه عمل المتحكّم.

يمكن كتابة هذه التعليمات بلغة التجميع (Assembly Language) وهي لغة أقرب إلى لغة الآلة التي يفهمها المتحكم.

من ناحية أخرى تتيح لغة التجميع فهمًا أفضل لكيفية عمل المتحكم ولكنها تتطلب برمجة كل التفاصيل بما في ذلك إدارة الذاكرة وهيكل البرنامج، مما يجعلها مملة. ولتسهيل عملية البرمجة، يتم استخدام لغات برمجة عالية المستوى مثل C. علاوة على أن اللغات عالية المستوى تسمح  بكتابة سطر واحد من الكود لإنجاز مهمة قد تتطلب عدة أسطر بلغة التجميع. كما تتعامل هذه اللغات مع إدارة الذاكرة وبنية البرنامج تلقائيًا، مما يجعلها أسهل في الاستخدام.

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

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

لماذا متحكم AVR في الأنظمة المدمجة؟

تعتمد متحكمات AVR على بنية RISC (مجموعة التعليمات المُقلّصة) بـ 8 بت أو 32 بت، من ناحية أخرى هي تقنية تصميم معالج تُركّز على تبسيط مجموعة التعليمات، مما يجعل المعالج أسرع كما وأكثر كفاءة في استخدام الطاقة. وهذا يعني:

  • أوامر المعالج بسيطة وسهلة التنفيذ.
  • كذلك عدد الأوامر محدود، مما يجعل المعالج أكثر كفاءة.
  • كما ويمكن للمعالج معالجة المزيد من الأوامر في الثانية الواحدة.

مزايا بنية RISC في متحكم AVR

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

  • سرعة عالية: يمكن للمعالج معالجة البيانات بسرعة أكبر.
  • كفاءة طاقة عالية: كذلك يستهلك المعالج طاقة أقل.
  • سهولة الاستخدام: من ناحية أخرى يسهل على المبرمجين كتابة البرامج للمعالج.
8051 PIC AVR
السرعة بطيء معتدل السرعة  سريع
الذاكرة صغيرة كبيرة كبيرة
البنية Architecture CISC RISC RISC
مبدل تشابهي رقمي ADC لا تحتوي تحتوي  تحتوي
المؤقتات Timers تمؤقتات مدمجة تحتوي على مؤقتات مدمجة كذلك تحتوي على مؤقتات مدمجة
قنوات PWM لا تحتوي تحتوي على قنوات PWM مدمجة كذلك على قنوات PWM مدمجة 

كما ترى فإن مجال الأنظمة المدمجة مجال واسع وعميق ويتطلب الكثير من التعلّم والصبر ولكنّه مجال ممتع ويستحقّ المتابعة والإبحار فيه.

من هذا المنطلق ندعوك إلى الانضمام إلى الكورس الشّامل Embedded AVR Full Diploma المقدم من أكاديمية My Communication لتبدأ رحلتك في عالم الأنظمة المضمنة. 

فماذا تنتظر بعد!

في النهاية .. وفي ختام هذه المقالة، نأمل أن نكون قد قدمنا لكم لمحة عامة عن عالم الأنظمة المدمجة، وشرحنا مكوناتها ووظائفها، كما ركزنا على متحكم AVR كنموذج مثالي لهذه التقنية.

من ناحية أخرى ندعوكم لمزيد من الاستكشاف كما والتعلم حول الأنظمة المضمنة، فهي تُعدّ مفتاحًا لمستقبل التكنولوجيا، كذلك توفر فرصًا إبداعية هائلة في مختلف المجالات.

بحث

Seraphinite AcceleratorOptimized by Seraphinite Accelerator
Turns on site high speed to be attractive for people and search engines.