قبل أن نبدأ تعلم صناعة الأنظمة المدمجة علينا أن نفهم الخطوات التي تساعدك على التخطيط لمشروع ناجح وفعال، فمثلا إذا جاءت فكرة لجهاز رائع، كيف تنفذها؟ ما هي الأدوات التي ستستخدمها؟ ما هي مراحل تطوير المشروع لتصل إلى منتج نهائي؟..
الصورة التالية توضح الخطوات التي يتبعها مصممو الأنظمة المدمجة في تطوير أي منتج بداية من الفكرة حتى صناعة المنتج بصورة تجارية، كما نرى هناك مساران أساسيان وهما تصميم الـ software وتصميم الـ Hardware.
مراحل تطوير الأنظمة المدمجة
أولا: مراحل تطوير برامج المتحكمات الدقيقة
مثل جميع أنظمة الحواسيب في العالم نجد أن المتحكمات الدقيقة لا يمكنها أن تعمل دون برنامج يكتب بداخلها وهذا البرنامج يجب أن يكتب بالصيغة الثنائية الرقمية Binary فقط الصفر والواحد، هذه الصيغة غير مناسبة للفهم بالنسبة للبشر ويصعب تفسيرها. لذا تقوم الشركات المصنعة للمعالجات والمتحكمات الدقيقة بصناعة بعض الأدوات البرمجية التي تسهل على المطورين أن يصنعوا برامج بلغات مفهومة وقابلة للقراءة. في البداية كانت الشركات تصمم برمجيات التجميع Assemblers التي توفر للمطور مجموعة من الأوامر تسمى بأوامر التجميع Assembly Instructions والتي كانت أوامر قصيرة وسهلة نسبيا مثل ADD (أجمع رقمين) أو SUB (اطرح رقمين) ،ولكن كان هناك عيوب كثيرة لكتابة البرامج بهذه اللغة مثل الحجم والوقت، حتى أن بعض البرامج كانت تصل إلى عشرات الآلاف من السطور. وكان هناك مثل شهير يقول "كتابة برنامج معقد بلغة الأسمبلي موازي لحفر أساسات ناطحة سحاب باستخدام ملعقة".
ظل الأمر هكذا فترة من الزمن حتى ظهرت اللغات عالية المستوى High level language مثل لغة السي وهي لغات سهلت كتابة الكود البرمجي وسهلت تحويله إلى لغة الآلة تلقائيا عن طريق المترجمات Compilers وبذلك أصبحت عملية تطوير الكود أسهل بكثير. باستخدام لغة السي يمكننا تطوير برامج المتحكمات الدقيقة كالتالي:
1. كتابة البرنامج بلغة السي: في هذه المرحلة تستخدم لغة السي للتعبير عن الوظائف التي نريد تنفيذها من التحكم الدقيق
2. توليد ملف ال Hex : ملف الهيكس هو الملف الذي يحتوي على البرنامج الحقيقي الذي سيخزن داخل ذاكرة المتحكم ويتم توليده تلقائيا من تحويل الكود المكتوب بلغة السي إلى الأوامر البرمجية بصيغة الـ hex عن طريق الـ toolchain.
3. رفع البرنامج من الحاسوب إلى ذاكرة المتحكم: هذه المرحلة التي يتم كتابة (أو كما يسميها البعض بعملية حرق burn) البيانات الرقمية داخل ذاكرة المتحكم ليبدأ بتنفيذها حيث يقوم برنامج الرفع uploader بقراءة ملف الهيكس وتحويل القيم المسجلة بداخله إلى بيانات ثنائية binary ثم يقوم بكتابتها داخل العنوانين المخصصة لها في ذاكرة المتحكم.
4. اختبار البرنامج واكتشاف الأخطاء: في هذه المرحلة يتم تشغيل الفتحكم الدقيق على لوحة التجارب أو على Test Kit للتأكد من أن البرنامج ينفذ المطلوب أو لاكتشاف أي اخطاء، وقد يتم تكرار هذا الأمر عشرات المرات حتى نصل إلى برنامج يؤدي جميع الوظائف المطلوبة منه بأقل نسبة خطأ،
ثانيا: مراحل تطوير العتاد
لتطوير اي مشروع سنحتاج أن نوصل المتحكم الدقيق بالمكونات الإلكترونية التي سيتحكم بها وهو ما يعرف بمفهوم ال Devices Interfacing (مواجهة الأجهزة المختلفة) فالمتحكم الدقيق لا يعمل بمفرده وإنما يحتاج أجهزة أخرى ليستقبل منها قراءات (مثل الحساسات Sensors) أو ليتحكم بها مثل الشاشات والمحركات.
هناك طريقتين أساسيتين لعمل ذلك وهماء استخدام اللوحات التطويرية Development Kit أو استخدام لوحة التجارب Breadboard، كل طريقة لها مميزات وعيوب.
1. Development Kit
هي لوحة اختبار مكونة من الفتحكم الدقيق + مجموعة كبيرة من العناصر الإلكترونية المتصلة به بصورة جاهزة للتشغيل مثل شاشة LCD, لوحة مفاتيح، أزرار تحكم، حساسات حرارية وضوئية، ريلاي Relay وبعض أدوات الاتصال الرقمية مثل محول RS232 وقد يوجد بها أكثر او أقل من ذلك، هذه اللوحات تسهل عملية التطوير بصورة كبيرة فهي تحتوي على معظم ما قد تحتاجه على لوحة واحدة جاهزة ومتصلة ببعضها البعض وبالتالي لن تحتاج لشراء مكونات أخرى أو توصيل عناصر إضافية وستوفر عليك وقت بناء الدوائر الإلكترونية.
الصور التالية هي لمجموعة مختلفة من ال Development kits
2. لوحة التجارب Breadboard
الطريقة الثانية هي استخدام لوحة التجارب البلاستيكية والتي تساعدك على بناء أي دائرة إلكترونية باستخدام الأسلاك، تتميز هذه اللوحة بأنه يمكنك بناء أي دائرة قد تخطر على بالك فمن السهل أن تفك وتركب أي عنصر أو شريحة إلكترونية (من نوع DIP) على هذه اللوحة سيتم استخدام هذه الطريقة في الكتاب لأنها الخيار الأرخص والأكثر توافرا في كل البلاد العربية.
معلومة إضافية: الشرائح الإلكترونية الـ (Package line-in Dual (DIP هي التي تمتلك صفين
من الأرجل المعدنية والتي يمكن توصيلها بثقوب على لوحة التجارب أو الـ PCB أما SMD
وهي اختصار لكلمة Device Mount Surface هي الشرائح صغيرة الحجم و تمتلك أرجل
معدنية صغيرة جدا ويتم لحامها على سطح الـ PCB فقط.
أضف تعليق:
0 comments: