Embedded Systems

الفصل الثاني عشر: الأنظمة المدمجة (Hardware & Software)

الهدف: فهم قيود الأنظمة المدمجة، أنواع المعالجات (Microcontrollers, FPGA)، وتحديات البرمجة.
1

Unique Characteristics

Resource Constrained (محدودة الموارد)

  • • ذاكرة محدودة جداً (Often KBs).
  • • طاقة محدودة (Battery Operated).
  • • قدرة معالجة منخفضة (مقارنة بالـ PC).

Critical Requirements

  • Real-time: الاستجابة يجب أن تكون فورية ومضمونة (Timing is crucial).
  • Reliability: يجب أن تعمل لسنوات دون إعادة تشغيل (Watchdog Timer).
2

Embedded Hardware Types

1. Microcontrollers (MCU)

كمبيوتر كامل على شريحة واحدة (CPU + RAM + ROM + I/O).
المميزات: رخيص جداً، جاهز للاستخدام (Off-the-shelf).
أمثلة: Arduino (AVR), PIC, 8051.

2. System on Chip (SoC)

نظام أكثر تعقيداً وقوة (يشغل OS مثل Linux/Android).
المميزات: أداء عالي، تكامل كبير.
أمثلة: معالجات الهواتف (Snapdragon, Apple A-series)، Raspberry Pi.

3. FPGA (Field Programmable Gate Array)

هاردوير "قابل للبرمجة". أنت تصمم الدائرة الكهربائية بالكود (VHDL/Verilog).
المميزات: سرعة هائلة (توازي)، مرونة عالية.
العيوب: غالي، صعب البرمجة.

3

HW/SW Codesign Lifecycle

في الأنظمة المدمجة، لا ننتظر انتهاء الهاردوير لنكتب السوفتوير. نعمل بالتوازي!

1. Specs
المواصفات
2. Partitioning
تقسيم العمل:
ماذا ينفذ الهاردوير؟
ماذا ينفذ السوفتوير؟
HW Design (Verilog)
SW Design (C/C++)
Integration
التكامل والاختبار
4

The Watchdog Timer

حارس النظام (Watchdog)

في الأنظمة المدمجة، لا يوجد إنسان ليضغط زر "Reset" إذا تجمد النظام.
الـ Watchdog Timer هو عداد تنازلي يعمل في الهاردوير.

آلية العمل:

  1. العداد يبدأ بالعد التنازلي (مثلاً من 1000).
  2. يجب على البرنامج (Software) إعادة ضبط العداد (Kick the dog) بانتظام قبل أن يصل للصفر.
  3. إذا تجمد البرنامج ولم يقم بإعادة الضبط ← يصل العداد للصفر ← يقوم الهاردوير بعمل Reset للنظام تلقائياً.
EXAM VAULT (خزنة الاختبار)
COMPARISON / مقارنة

Embedded vs. PC

  • PC: يركز على الأداء العالي (Throughput).
  • Embedded: يركز على الاستجابة (Responsiveness) واستهلاك الطاقة.
  • Memory: في الـ PC لدينا Virtual Memory ضخمة. في الـ Embedded الذاكرة ثابتة ومحدودة وغالباً لا يوجد Virtual Memory.
CONCEPT / مفهوم

Interrupt Latency

هو الوقت الضائع بين "وقوع الحدث" (Event) وبين "بدء تنفيذ كود المعالجة" (ISR Start).
في أنظمة الـ Real-time، يجب أن يكون هذا الوقت قصيراً جداً ومحدداً (Deterministic).

→ السابق (Ch 11) الفصل التالي (Ch 13) ←