قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

   

الصورة الرمزية سعيد قادر
سعيد قادر
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2009
الدولة: العراق/ كوردستان
المشاركات: 2,892
نشاط [ سعيد قادر ]
قوة السمعة:
قديم 07-08-2010, 11:46 PM المشاركة 33   
افتراضي



جزاك الله خير الجزاء على ماتقدمه لغيرك شكرا جزيلا لك ولتعبك فى الموضوع ومتابع معاك انشاء الله

اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 07-08-2010, 11:47 PM المشاركة 34   
افتراضي التصفير Reset :


التصفير Reset :

مقدمة :
المقصود بعملية التصفير هو "العودة إلى الوضع الإبتدائى" المعروف والمستقر وهى عملية ضرورية للأسباب الاتية :
1- التصفير يضمن وجود حالة معروفة لبعض السجلات مثل عداد البرنامج PC وسجلات التحكم فى المنافذ وغيرها .
2- السماح لنظام الساعة فى المتحكم أن يستقر على التردد الصحيح المحدد .
3- التأكد بأنه عند وجود إنخفاض كبير فى جهد التغذية فإن المتحكم سوف يعيد تشغيل نفسه من جديد .
أى ان التصفير reset يستخدم فى وضع الميكرومونترولر فى حالة معروفة بعد حدوث حالة ما تستدعى ذلك
عند حدوث تصفير للميكروكونترولر يبدأ التنفيذ (بعد الخروج من التصفير) من العنوان ( 0 ) بذاكرة البرنامج حيث يوجد أول التعليمات التى سوف تنفذ ومن ثم بدء وتجهيز سجلات الوظائف الخاصة داخل الميكروكونترولر من جديد .

أنواع التصفير :
يمكن للميكروكونترولر ( كمثال PIC16F84A ) أن يفرق بين أنواع التصفير الاتية :
1- التصفير عند توصيل التغذية Power-on reset (POR) .
2- التصفير أثناء العمل العادى للمتحكم عن طريق الطرف MCLR (بجعله منخفضا ).
3- التصفير أثناء الراحة Sleep عن طريق الطرف MCLR أيضا .
4- التصفير بواسطة مؤقت المراقبة WDT أثناء العمل الطبيعى (عند حدوث طفحان overflow).
5- التصفير بواسطة مؤقت المراقبة WDT أثناء الراحة Sleep .

علاقة بدأ (بناء) توصيل القدرة والتصفير: Power-up and Reset :
عند بدأ توصيل القدرة إلى الميكروكونترولر يجب أن يبدأ العمل بتنفيذ البرنامج من عنوان البداية (يعرف بإسم متجه التصفير reset vector ) وهذا لن يحدث إلا إذا تم بناء دائرة داخلية للكشف عن بناء القدرة وإجبار عداد البرنامج PC على أن يكون (0 ) (يشير إلى العنوان الذى عليه الدور فى التنفيذ) .
علاوة على أنه من المفيد جدا تعيين سجلات الوظائف الخاصة SFR بحيث تكون الأجهزة الطرفية فى البداية فى حالة آمنة وغير ممكنة disabled .
هذه الحالة " جاهز للبدء أو الانطلاق" تسمى " التصفير " Reset .
تبدأ وحدة المعالجة المركزية فى العمل عندما تترك حالة reset .
فى الميكروكونترولر PIC16F84A (كمثال) دخل خاص للتصفير يسمى MCLR‘Master Clear’ (الطرف 4) .







يكون الميكروكونترولر فى حالة التصفير طالما أن حالة هذا الطرف المنطقية منخفضة . عندما يتحول إلى الحالة المنطقية المرتفعة يبدأ تنفيذ البرنامج .
إذا تحولت حالة هذا الطرف إلى الحالة المنطقية المنخفضة أثناء تنفيذ البرنامج يقف تنفيذ البرنامج فورا ويجبر الميكروكونترولر إلى الدخول فى نظام التصفير .
يظل هناك تساؤل عن : متى يسمح للبرنامج بالبدأ بالتنفيذ الفعلى ؟
لحظة توصيل القدرة هى الأخطر على أى نظام يعتمد على المعالجات الدقيقة.
كل من مصدر القدرة ومذبذب نبضات الساعة تأخذ وقتا محدد للإستقرار وفى الأنظمة المعقدة قد تستقر الدوائر المختلفة فى أوقات مختلفة . هذا الوضع يتم تناوله بحذر .
كيف يتم تأخير بدأ تنفيذ البرنامج لحين استقرار وثبات القدرة ؟
أعتمدت شركة ميكروشيب على سياسة تقليل عدد العناصر الخارجية . لذلك يحتوى الميكروكونترولر PIC16F84A بداخله على دوائر خاصة بالتصفير .
فهو يحتوى على مؤقت بناء القدرة Power-up Timer (PWRT) والذى يمكن تمكينه للعمل عن طريق الخانة 3 بكلمة التهيئة أو الإعدادات . حيث يقوم الميكروكونترولر PIC16F84A بالكشف على توصيل القدرة ويقوم المؤقت PWRT بالحفاظ على الميكروكونترولر فى حالة التصفير لمدة محددة من الزمن (كمهلة) , بمجرد إنتهاء هذه المدة يترك الميكروكونترولر حالة التصفير ويبدأ فى تنفيذ البرنامج . عندئذ ما الحاجة الى الدخل MCLR ؟
يجب إدراك أن هذا الدخل يجب أن لا يترك دون توصيل بل يجب توصيله إلى جهد المنبع لتلافى حدوث تصفير خاطىء نتيجة التداخلات .

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 07-08-2010, 11:48 PM المشاركة 35   
افتراضي آلية (ميكانيزم) التصفير عند توصيل القدرة Power On Reset (POR) :


آلية (ميكانيزم) التصفير عند توصيل القدرة Power On Reset (POR) :

أ‌- توليد نبضة "التصفير عند توصيل التغذية"
تتولد نبضة "التصفير عند توصيل التغذية" بالشريحة عند الإحساس بإرتفاع جهد التغذية الموجب VDD (فى الحدود 1.2V - 1.7V ) .
للإستفادة من هذا النوع من التصفير (POR) يتم توصيل طرف التصفير MCLR مباشرة (أو خلال مقاومة) إلى الجهد الموجب VDD .
عندما يستقبل الجهاز إشارة التصفير POR (وإذا لم يكن هناك حالة تصفير أخرى ) يبدأ تنفيذ البرنامج من عند متجه التصفير reset vector .
يجب ملاحظة أنه لعمل دائرة POR بالطريقة الصحيحة يجب توصيل القدرة بدأ من 0V ويكون معدل الزيادة فى الجهد الموجب VDD سريعا .




ب‌- مؤقت بناء ( نمو) القدرة Power-up Timer (PWRT)
إاشارة التصفير POR تعمل على بدء مؤقت خاص بها يسمى (PWRT) والذى يعمل على الحفاظ على الجهاز فى حالة تصفير لمدة تأخير إضافى تسمى (TPWRT) للسماح بمهلة زمنية أكبر لوصول جهد التغذية إلى مستوى الآمان .
مؤقت بناء القدرة (PWRT) يعطى تأخير زمنى ( كمهلة ) قدره 72 ms من بعد عملية بناء القدرة . وهذا المؤقت يعمل على مذبذب RC داخلى (لأن المذبذب الخارجى لم يعتمد عليه بعد ) وبالتالى تظل الشريحة فى حالة التصفير طوال فترة المؤقت PWRT . وهذا التأخير يسمح للجهد VDD بالإرتفاع إلى القيمة المقبولة.
بواسطة خانة التهيئة PWRTE يمكن تمكين أو عدم تمكين enable/disable المؤقت PWRT





ت‌- مؤقت التأخير لبدء المذبذب Oscillator Start-up Timer (OST)
عند إستخدام نظام العمل بمذبذب كريستال فإنه يتم تشغيل مؤقت آخر خاص يسمى OST .
هذا المؤقت يعطى تأخير زمنى لمدة 1024 دورة من دورات المذبذب ( الواصل الى الدخل OSC1 ) من بعد إنتهاء زمن التاخير للمؤقت PWRT .
هذا التاخير لضمان بدء واستقرار المذبذب الكريستال أو الكوارتز . وهذا الزمن يعمل فقط مع الأنظمة XT و LP و HS وفقط عند تمكين Power-on Reset أو الإستيقاظ من الخمول (النوم) SLEEP .
عندما يكون الإرتفاع فى الجهد الموجب VDD بطيئا فمن المحتمل أن تنتهى مهلة المؤقت PWRT وكذلك مهلة المؤقت OST ولم يصل هذا الجهد بعد الى القيمة المقبولة .
فى هذه الحالة نحتاج إلى دائرة "تصفير عند توصيل القدرة " خارجية ( وهى الإجابة على السؤال ما الحاجة الى الدخل MCLR ؟)
.


والى لقاء قريب ان شاء الله


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 07-08-2010, 11:51 PM المشاركة 36   
افتراضي


حلو الكلام !

هذا الشرح رائع ، وانا من عشاق هذه الشروحات .

أتمنى من كل منتدى القرية أن يدخل على هذا الموضوع لتعلم أساس الميكرو لأنه أساس الميكروسي و البيزيك والبروتون وغيرهم


أخي نحن ورائك تـــــــــــــــــــــــــــــــــــــــــــــــــ ـــــــــــــــــــــــــــــــــــــــــابع

اخى الكريم

شكرا جزيلا لك

تقدير وراى اعتز به

بارك الله فيك

مع تمنياتى بدوام التوفيق


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 07-08-2010, 11:53 PM المشاركة 37   
افتراضي


جزاك الله خير الجزاء على ماتقدمه لغيرك شكرا جزيلا لك ولتعبك فى الموضوع ومتابع معاك انشاء الله
اخى الكريم

شكرا جزيلا لك

بارك الله فيك

مع تمنياتى بدوام التوفيق


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 08-08-2010, 12:49 AM المشاركة 38   
افتراضي مؤقت الحراسة (المراقبة) Watchdog Timer (WDT


مؤقت الحراسة (المراقبة) Watchdog Timer (WDT

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

ما هو مؤقت الحراسة ؟:
مؤقت الحراسة هو عداد بمذبذب حر بدائرة RC داخل شريحة الميكروكونترولر ولا يحتاج أى مكونات خارجية والذى يقوم بالعد بإستمرار (عند تمكينه) وإذا حدث به طفحان overflow فإنه يجبر الميكروكونترولر على التصفير reset .
هذا المذبذب منفصل عن مذبذب ساعة الميكروكونترولر(ساعة النظام) المتصل بالطرف OSC1/CLKIN وهذا يعنى أن مؤقت الحراسة سوف يعمل حتى لو توقف مذبذب ساعة النظام كما فى الحالة عند تنفيذ تعليمة النوم SLEEP .
فى الميكروكونترولر PIC16F84A (على سبيل المثال) يتم تمكين enabled مؤقت الحراسة بواسطة أحد خانات التهيئة . ومن ثم إما أن يعمل أو لا يعمل خلال فترة تشغيل الميكروكونترولر . بالطبع قد لا ترغب فى إستخدام مؤقت الحراسة .
يتم ذلك عند حرق (تحميل) البرنامج على الميكروكونترولر والأفضل وضع سطر فى البرنامج للتهيئة كما يلى :



هذا السطر لا يقوم فقط بفصل مؤقت الحراسة ( _WDT_OFF) ولكنه أيضا يحدد نوع المذبذب الداخلى (كريستال _XT_OSC) وأيضا فصل حماية شفرة البرنامج (ليسمح لك ببرمجة الجهاز مرة أخرى عند الرغبة ) ( _CP_OFF ) , كما أنه يؤدى إلى تفعيل التصفير عند بدأ توصيل القدرة ( _PWRTE_ON ) كما يمكن عدم تمكين مؤقت الحراسة من العمل disabled بجعل خانتة التهيئة WDTE بالقيمة المنطقية (0) .




الفترة الطبيعية لمؤقت الحراسة (بدون إستخدام معامل قسمة التردد prescaler ) هى 18 ms وتسمى "فترة انتهاء المهلة" time-out period .
فترة إنتهاء المهلة تتغير مع درجة الحرارة والجهد الموجب VDD ونوع الميكروكونترولر .
عند الرغبة فى زيادة فترة إنتهاء المهلة يتم إستخدام معامل القسمة للتردد prescaler بقيمة تصل الى 1:128 .
يتم تخصيص معامل القسمة لمؤقت الحراسة برمجيا عن طريق مسجل الخيارات OPTION_REG ومن ثم يمكن الحصول على فترة إنتهاء المهلة تصل الى 2.3 seconds .




تعليمة مسح مؤقت الحراسة CLRWDT وتعليمة النوم SLEEP تقومان بتصفير مؤقت الحراسة WDT ومعامل القسمة ( إذا كان مخصصا لمؤقت الحراسة) ليعمل بالطريقة المطلوبة .
الخانة (معكوس TO ) فى سجل الحالة STATUS يتم مسحها clearعند إنتهاء فترة مهلة مؤقت الحراسة





إستخدام مؤقت الحراسة يكون حسب رغبة المبرمج وعندئذ يجب التأكد من أنه خلال البرنامج يتم مسح مؤقت المراقبة WDT بصفة دورية بالتعليمة (clrwdt) .
فى العادة يتم ذلك كجزء من البرنامج فى حلقة غير منتهية وبحيث يتم تنفيذ البرنامج فى كل مرة فى فترة زمنية أقل من 18ms ( فترة مهلة وتأخير ) يظل خلالها مؤقت الحراسة غير فعال .
فإذا حدث خطأ ما وأنتهت هذه المهلة يقوم المؤقت عندئذ بعمل تصفير الجهاز .
التصفير نتيجة مؤقت الحراسة عامة خبر غير سار للنظام حيث بالطبع يدمر جميع قيم الضبط الحالى ويبدأ البرنامج من جديد . مع ذلك فهذا افضل من عدم التشغيل كليا .
لاحظ أن مؤقت الحراسة يترك دليل عمله خلفه ويكون ذلك من خلال الخانة TO بسجل الحالة STATUS .
من الممكن إختبار هذه الخانة عند بداية البرنامج وبالتالى نستطيع أن نفرق بين التصفير نتيجة بداية توصيل القدرة والتصفير نتيجة مؤقت الحراسة .


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 08-08-2010, 12:50 AM المشاركة 39   
افتراضي آلية (ميكانيزم) عمل التصفير بمؤقت الحراسة Watchdog Timer :


آلية (ميكانيزم) عمل التصفير بمؤقت الحراسة Watchdog Timer :

هذا النوع من التصفير موجود فى جميع أفراد عائلة الميكروكونترولر PIC , مؤقت الحراسة هو مؤقت مستقل ويعمل حرا بإستخدام مذبذب خاص داخلى بدائرة RC .
يستخدم مؤقت الحراسة فى وظيفتين :
الوظيفة الأولى : إجبار المعالج على عمل تصفير reset لنفسه إذا أصبح تنفيذ البرنامج غير مستقر .
الوظيفة الثانية : أجبار المعالج على النهوض أو الإستيقاظ من نظام الخمول أو النوم sleep دوريا.





عند إستخدام نظام "الحراسة" فإن المؤقت يتم تصفيره من خلال البرنامج باستخدام تعليمة تصفير مؤقت الحراسة (CLRWDT) .
إذا حدث لأى سبب عدم استقرار فى عمل الميكروكونترولر عندئذ لن تنفذ تعليمة تصفير مؤقت الحراسة (CLRWDT) فى الوقت المحدد (فترة انتهاء المهلة timeout) حيث يقوم مؤقت الحراسة بالعد الى نهايته ويبدأ من الصفر من جديد (تسمى حالة طفحان overflow) .
عند الوصول ألى هذه الحالة فإنه يتم إجبار الميكروكونترولر على البدء من حالة معروفة مرة اخرى.
لذلك فإن مكان التعليمة CLRWDT مهم حتى تكون مؤثرة .




يمكن إستخدام معامل قسمة التردد prescalar لتغيير الزمن الخاص بمؤقت الحراسة .
إذا كان الميكروكونترولر فى نظام النوم SLEEP فعند حدوث طفحان لمؤقت الحراسة يجبر الميكروكونترولر على الإستيقاظ واستمرار تنفيذ البرنامج من المكان بعد تعليمة النوم SLEEP .
يجب ملاحظة أنه عند استخدام نظام المذبذب الكريستال فإن مؤقت بدء المذبذب سوف يعطى تأخر للمذبذب حتى يستقر بعد الاستيقاظ .
بمجرد إستيقاظ الميكروكونترولر يقوم بتحديد ما إذا كان هناك تغيير فى الأحداث (مثل تغيير حالة المداخل والمخارج) ويقوم بتنفيذ الكود المناسب .
بعد ذلك يقوم الكود بإرسال الميكروكونترولر مرة أخرى إلى نظام النوم وتتكرر الدورة .
إستخدام مؤقت الحراسة بهذه الطريقة يوفر الطاقة لأن الميكروكونترولر يكون فى نظام النوم فى أغلب الأوقات
عند استخدام مؤقت الحراسة هناك بعض النقاط الهامة التى يجب أخذها فى الإعتبار عند تصميم البرنامج :
النقطة الاولى : هى أنه عند تمكين enabled مؤقت الحراسة فلا يمكن أبدا وقف عمله بالبرمجة . ويظل يعمل حتى إن كان الميكروكونترولر فى نظام النوم .
النقطة الثانية : مؤقت الحراسة يستخدم مذبذب RC داخلى خاص وبسيط وفترة تأخيره تختلف من جهاز إلى اخر وتعتمد على قيمة التغير فى جهد التغذية وفى درجة الحرارة لذالك يجب على المصمم أخذ هذه التغيرات فى الاعتبار .
النقطة الاخيرة : دائرة مؤقت الحراسة تسحب تيار إضافى عند تمكينها للعمل فيجب أخذ ذلك فى الاعتبار عن حساب التيار المطلوب للتطبيق .

والى لقاء قريب ان شاء الله


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 08-08-2010, 01:06 AM المشاركة 40   
افتراضي فديوهات الجزء السابق


فديوهات الجزء السابق

على الروابط الاتية

http://eeecb.com/up2//view.php?file=b2da7c1678


http://eeecb.com/up2//view.php?file=fd9d780516


http://eeecb.com/up2//view.php?file=857d5377ee


http://eeecb.com/up2//view.php?file=495ffacbd3


http://eeecb.com/up2//view.php?file=c57a30f086


http://eeecb.com/up2//view.php?file=cf6ce82a4b


http://eeecb.com/up2//view.php?file=ce971c5269

http://eeecb.com/up2//view.php?file=f6be9068d7

http://eeecb.com/vb/index.php


والى لقاء قريب ان شاء الله



الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 07:29 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)