تعلم تصميم برامج الأنظمة المدمجة embedded systems بطريقة إحترافية - azhar technical هندسة إتصالات و إلكترونيات و صيانه الأجهزة و الآلات pdf
Mohon Aktifkan Javascript!Enable JavaScript

تعلم تصميم برامج الأنظمة المدمجة embedded systems بطريقة إحترافية

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

أمثله على الإنظمة المضمنة embedded system

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

مكونات الأنظمة المدمجة embedded system 

هى فى الإصل عباره عن إندماج لمكونات مادية hardware مع البرمجيات software وتتحكم البرمجيات فى المكونات المادية لإداء المهمة المطلوبة على أكمل وجه .

الفرق بين الأنظمة المدمجة و الحواسيب العادية 

الإنظمة المدمجة بإختصار هى أجهزة كمبيوتريه لأغراض خاصة أومحدوده بدقة عالية .
لكن الأجهزة العادية (الحواسيب) التى تستخدم لأغراض عامه .

أهم تحديات الأنظمة المضمنه

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

أهم سمات الأنظمة المدمجة ( إيمبيدد سيستم)

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

إستخدامات الأنظمة المدمجة 

  • الأجهزة المنزلية والتحكم فيها .
  • المصانع والتحكم والمراقبة والجودة والمزارع أيضا .
  • المعدات العسكرية والتحكم و التوجيه .
  • الإتصالات والرادرات والإنارة .
  • الأقمار الصناعية و السيارات .
  • الهواتف المحمولة والأجهزة الذكية .

تصميم برامج الأنظمة المدمجة من الصفر للمبتدئين و المحترفين 

لجعل المقال عملى بشكل أكبر دعنا نأخذ مثال حقيقي نطبق عليه مثلا مشروع إنارة و إطفاء لمبة ( led blinking project ) كل 500ms وهو مشروع بسيط ولكن جيد بشكل كافى لتعلم تصميم برامج الأنظمة المدمجة بطريقة إحترافية .

الخطوة الأولى فى تحديد متطلبات أى مشروع بالأنظمة المدمجة سواء مادية أو برمجية هى تحليل المشروع :
  • أولا فى مشروعنا هنتعامل مع LED وهى عنصر رقمى ( digital ) :
وكما نعرف إن ال LED بتكون فى حالة ON ---> 1
و تكون فى حالة OFF----->0
  • ثانيا بما إننا هنتعامل مع عنصر خارجى فبالتالى هنستخدم
                     Digital Input/Output pins) DIO)  
  • وبعد ما اتفقنا اننا هنسخدم digital pin محتاجين نتحكم انها تكون Output .
  • كمان محتاجين دالة علشان تعمل التأخير الزمنى (delay) .
  • خلينا نطول شوية كمان ونقول إننا محتاجين المشروع بتاعنا يكون Modular بمعنى انه متكون من أكتر من ملف من نوع (.c) .

تقسيم المشروع لطبقات 

بعد تحليل المشروع وتحديد المتطلبات يتم تقسم المشروع لطبقات طبقا للحاجه حسب التحليل السابق . الآن فى مثالنا سوف نقوم بتقسيم المشروع إلى (3) طبقات كما هو موضح بالصورة 
طبقات الأنظمة المدمجة

1- (Micro-controller Abstraction ( MCAL
ودى الطبقة اللى بتشمل ملفات  من نوع (.c) اللى بتتحكم فى الريجيستر داخل المايكروكنترولر .
2- (Hardware Abstraction ( HAL
ودى الطبقة الى بتشمل ملفات  من نوع (.c) اللى بتتحكم فى ال Hardware component فى مثالنا هنا هى ال LED.
3-( Application Abstraction ( APP
ودى الطبقة اللى بتشمل ملفات  من نوع (.c) اللى بتحتاج فى تنفيذها إلى منطق أو Logic يعنى بناء على حدث معين يتم تنفيذ هذه التعليمات .

الآن نحاول تطبيق الكلام السابق على مشروعنا فعليا بالتالى نحن بحاجه لكتابة ثلاث أكواد أو بحاجه إلى ثلاث ملفات من نوع (.c) وهم :
1- للتحكم ب GPIO reg للتحكم فى جعلها OUTPUT .
2- للتحكم فى ال LED سواء ON/OFF.
3- دالة للتحكم فى زمن الإضفاء و الإنارة ل LED.

إذا وظيفة الملف الأول هى التحكم فى حالة أطراف التحكم الرقمى لإستخدامها كخرج ثم التحكم فى حالتها سواء High / LOW.

و الملف الثانى للتغير فى حالة الـ LED بمعنى اخر الإتصال و تفعيل الملف الأول .

الملف الثالث مهمة الفاصل الزمنى ليغير الحالة كل 500ms .

فى النهاية الملف الرئيسي main.c سوف يقوم بنداء الملف الثانى والذى يعتمد فى تنفيذه على الملف الأول والثالث . ( جرب بنفسك كتابة هذا البرنامج وحاول ربط الملفات ببعضها وأخبرنا بنتيجة تجربتك و تناقش مع أكبر جروب عربى على فيس بوك مهتم بالأنظمة المدمجة من هنا ) .

قد تتسائل ما أهمية عمل كل هذه الخطوات لكتابة كود برمجى للأنظمة المدمجة ؟؟
فى الشركات الكبيره مهم جدا ما يسمونه بـ ( إمكانية إعادة الإستخدام) ففى مثالنا لاحظ الآن أنك تستطيع إستخدام الملف الثانى فى مشروع آخر وهو مايوفر الكثر من الجهد والوقت و المال أيضاً .

أهم كتب الأنظمة المدمجة بصيغة pdf

إمبيدد سيستم ببساطة pdf
تعلم أساسيات الأنظمة المدمجة مع الرائع عبدالله على و كتابه simply avr pdf كتاب أكثر من رائع باللغه العربية مصمم بشكل جميل جدا يبدأ معك من الأساسيات حتى الإحتراف للتحميل إضغط هنا 


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

إنتظروا المزيد من المقالات التى تخص :
مجالات عمل embedded systems
كورس الانظمة المدمجة
كتاب الانظمة المدمجة pdf
كتب امبيدد سيستم
افضل كورس embedded systems
كتاب الانظمة المضمنة pdf
تعلم embedded system
مرتب مهندس embedded system

اشترك في آخر تحديثات المقالات عبر البريد الإلكتروني:

0 الرد على "تعلم تصميم برامج الأنظمة المدمجة embedded systems بطريقة إحترافية "

إرسال تعليق

إعلان أسفل عنوان المشاركة

إعلان وسط المشاركات 1

إعلان وسط المشاركات اسفل قليلا 2

إعلان أسفل المشاركات