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

أدوات الموضوع

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:332
قديم 03-09-2012, 09:37 PM المشاركة 1   
افتراضي المدخل للتعامل مع ساعة الوقت الحقيقى(RTC) والميكروكونترولر PIC والميكروسى: Twitter FaceBook Google+



المدخل للتعامل مع ساعة الوقت الحقيقى(RTC) والميكروكونترولر PIC والميكروسى:









مقدمة :

ساعة الزمن الحقيقى RTC - Real Time Clock :
بعد أن درسنا الاتصال عن طريق الناقل I2C يمكننا الآن دراسة جهاز يستخدم على نطاق واسع فى مختلف المعدات الصناعية , ساعة الزمن الحقيقى , ويعرف اختصارا RTC . هناك عدد كبير من من رقائق RTC فى السوق , سوف نتناول إحداها وهى DS1307.

الدائرة المتكاملة DS1307 :






هذه الرقاقة هى ساعة كاملة للوقت الحقيقى , فهى توفر الثوانى والدقائق والساعات والأيام والشهور والسنين . يمكننا البرمجة بشكل فردى لأى من هذه الخيارات فى أى وقت من البرنامج عن طريق الاتصال عبر الناقل I2C . هذه الساعة يمكن أن تعمل بنظام 12 ساعة أو بنظام 24 ساعة وبنظام AM / PM .

خواص الساعة :
  • عداد للثوانى والدقائق والساعات والأيام وأيام الإسبوع والشهور والسنوات وهى مبرمجة مسيقا حتى عان 2100 , تقوم الساعة بعد الشهور ذات 31 يوم وذات 28 يوم (فبراير) كما تتضمن أيان الإسبوع (Monday, Tuesday, Wednesday ...) .
  • دخلها بطارية خارجية بجهد 3 فولت .
  • سهلة التعامل عن طريق بروتوكول الناقل IC2 .
  • تستهلك أقل من 500 نانو أمبير عند العمل بالبطارية .
  • مدى درجة حرارة التشغيل -40 º C to +85 º C .
  • جهد التشغيل العادى 5V DC .
  • تردد التشغيل 100KHz .





الأطراف :

اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:332
قديم 03-09-2012, 09:41 PM المشاركة 2   
افتراضي


الأطراف :



فى هذا الموضوع سوف نستخدم دائرة متكاملة كساعة للوقت الحقيقى . هذه الدائرة المتكاملة تقوم بإدارة التوقيت timing مثل الساعة . بعض هذه الدوائر المتكاملة يقوم أيضا بإدارة التاريخ date مثل مفكرة التقويم calendar . الميزة الرئيسية هى أن لها نظام بطارية احتياطية backup والذى يحافظ على عمل الساعة حتى فى حالة انقطاع القدرة . كل ما هو مطلوب تيار صغير جدا لحفظ الدائرة المتكاملة للزمن الحقيقى على قيد الحياة . يتم توفير ذلك , فى معظم الحالات, عن طريق خلية (بطارية) ليثيوم مصغرة بشكل العملة وبجهد 3 فولت 3V. لذلك حتى لو تم فصل النظام المدمج بساعة وقت حقيقى RTC فإن وحدة (موديول) RTC يكون متيقظا ويعمل عن طريق البطارية الاحتياطية . هذه التقنية هى المستخدمة فى توقيت الكومبيوتر الشخصى أيضا . إذا فتحت غطاء الكومبيوتر الخاص بك فسوف تلاحظ وجود بطارية صغيرة فى شكل قطعة النقود بالمازر بورد . فى هذا المشروع سوف نستخدم دائرة الوقت الحقيقى الشهيرة والمسماة DS1307 , والتى تدعم الاتصال بالناقل IC2 .

الدائرة المتكاملة DS1307 هى واحدة من أشهر الدوائر المتكاملة كساعة للومن الحقيقى RTC , وهى صناعة شركة مكسيم maxim . فيها يتم نقل البيانات تسلسليا من خلال الناقل I2C ذات الاتجاهين . توفر الدائرة المتكاملة معلوات : الثوانى والدقائق والساعات وتاريخ اليوم والشهر والسنة . تاريخ نهاية الشهر يتم ضبطه تلقائيا للأشهر الأقل من 31 يوم , وتتضمن تصحيحات للسنى الكبيسة . تعمل الساعة إما بصيغة 24 ساعة 24-hour أو بصيغة 12 ساعة 12- hour مع مبين صباح / مساء AM/PM . الدائرة المتكاملة DS1307 ببناءها الداخلى دائرة تحسس للقدرة والتى تقوم بكشف غياب القدرة وتلقائيا تقوم بالتحويل إلى المصدر الاحتياطى .
الخط SCL والخط SDA يحتاج لمقاومات سحب لأعلى بالقيمة 4.7K . الدائرة المتكاملة DS1307 تستخدم بلورة كريستال خارجية بتردد 32.768kHz وتتصل بطارية 3V بالطرف VBATكمصدر احتياطى . عند هبوط الجهد الموجب VCC عن VBAT , يتحول الجهاز إلى نظام التيار المنخفض بالبطارية الاحتياطية . حال رجوع القدرة يتحول الجهاز من البطارية إلى Vcc عندما يكون Vcc أكبر من VBAT +0.2V ويتعرف على المداخل عندما يكون Vcc أكبر من 1.25 x VBAT .
سجلات DS1307 :

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

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:332
قديم 03-09-2012, 09:44 PM المشاركة 3   
افتراضي


سجلات DS1307 :
يتم الحصول على معلومات الوقت والتقويم بواسطة قراءة بايتات السجل المناسب . الجدول السابق يبين سجلات RTC . يستخدم السجل نظام الأعداد الثنائية المكودة عشريا BCD (Binary Coded Decimal) لحفظ القيم . على سبيل المثال لنأخذ السجل الموجود بالعنوان 01h , فهو يحفظ الدقائق MINUTES . لنفرض أن الزمن 13 دقيقة 13 minutes , عندئذ سوف يقوم بحفظها كمايلى :




لذلك يكون القيمة السداسية عشر الموجودة بسجل الدقائق الذى عنوانه "01h" هى "0x13" . يجب عليك تحويلها إلى عشرى (حتى يمكن عرضها فيما بعد على شاشة وحدة عرض LCD ) . يمكن القيام بذلك بالطريقة التالية :
// Assuming the value "0x13" is store in a variable named "sec"
sec = ((sec & 0xF0) >> 4)*10 + (sec & 0x0F);
سجل أيام الاسبوع يتزايد عند منتصف الليل . القيم المقابلة لأيام الاسبوع تحدد بمعرفة المستخدم ولكن يجب أن تكون متسلسلة ( بمعنى إذا كان الواحد 1 يساوى يوم الأحد Sunday , عندئذ يكون 2 تساوى يوم الاثنين Monday وهكذا ) الوقت والتاريخ الغير منطقى يتسبب فى عملية غير محددة .
البت Bit 7 بالسجل "0" هى بت "توقف الساعة" clock halt (CH) . عند تعيين هذه البت بواحد "1" , يتم عدم تمكين المذبذب . وعندما تكون بصفر "0" يتم تمكين المذبذب . عند بداية تطبيق القدرة للجهاز تكون سجلات التوقيت time والتاريخ date فى حالة تصفير reset بالقيم :
01/01/00 01 00:00:00 (MM/DD/YY DOW HH:MM:SS) . البت CH بالسجل الثانى سوف تتحدد بواحد "1" يمكن إيقاف الساعة عندما لا نحتاج لوظائف حفظ التوقيت , حيث يتم تقليل التيار .
الدائرة المتكاملة DS1307 يمكن أن تعمل فى أى من النظام 12-hour أو النظام 24-hour . البت Bit 6 لسجل الساعات هى بت تحديد هذا النظام . فى النظام . عندما تكون مرتفعة يتم اختيار النظام 12-hour . فى النظام 12-hour البت bit 5 هى بت AM/PM , عندما تكون مرتفعة يتم اختيار PM . فى النظام
24-hour , البت bit 5 تكون البت الثانية لعشرات الساعات 10-hour bit (20 to 23 hours) . قيمة الساعات يجب إعادة إدخالها كلما تغيرت بت اختيار النظام 12/24-hour .
ناقل البيانات I2C DATA BUS :


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:332
قديم 03-09-2012, 09:51 PM المشاركة 4   
افتراضي


ناقل البيانات I2C DATA BUS :
يجب أن يتم التحكم بالناقل عن طريق جهاز "ماستر" master ( وهو الميكروكونترولر فى هذه الحالة) والذى يقوم بتوليد نبضات الساعة التسلسلية (SCL) , للتحكم فى الوصول للناقل , وتوليد حالة "البدء" START وحالة "الإيقاف" STOP . الجهاز DS1307 يعمل "تابع" slave بالناقل I2C .
كل نقل للبيانات يتم بدءه (إطلاقه) بحالة "البدء" START وإنهاءه بحالة "الإيقاف" STOP . عدد البايتات المنقولة بين حالة البدء وحالة الإيقاف غير محدودة , وتحدد بواسطة الجهاز الماستر . أول بايت يتم إرسلها بواسطة الماستر مكونة من : 7 بتات 7-bit تمثل عنوان التابع ( وهى 1101000 للجهاز DS1307 ) متبوعة ببت "الاتجاه" direction bit (R/W) , وتكون بصفر "0" للكتابة وبواحد "1" للقراءة . يلى ذلك عدد من بايتات المعلومات . يعيد (يرد) التابع ببت "تسلم" acknowledge بعد كل بايت يستقبله .يتم نقل البيانات بنقل البت ذات الأهمية القصوى (MSB) أولا .

























الشىء المثير للاهتمام هو أنك لن تعانى مع كل هذه الأشياء . إذا كنت تستخدم المترجم الميكروسى , يمكنك استخدام الدوال المدمجة للناقل I2C .
البرمجة :


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:332
قديم 04-09-2012, 07:59 PM المشاركة 5   
افتراضي


ساعة التوقيت الحقيقى

البرمجة :

البرنامج الأول : برنامج تمهيدى


الدائرة الكهربية :



الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:332
قديم 04-09-2012, 08:02 PM المشاركة 6   
افتراضي


1- تعريف أطراف وحدة العرض LCD

2- إعلان المتغيرات العامة :





الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:332
قديم 04-09-2012, 08:07 PM المشاركة 7   
افتراضي


3- دالة (روتين) قراءة التوقيت من الجهاز DS1307


4- دالة (روتين) إعادة تشكيل القراءات من BCD إلى عشرى

5- دالة (روتين) عرض القراءات بعد إعادة تهيئتها للعرض على وحدة LCD

6- دالة (روتين) الإعدادات الابتدائية للمشروع


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:332
قديم 04-09-2012, 08:09 PM المشاركة 8   
افتراضي


1- الدالة الرئيسية





النتائج :
كود البرنامج :

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


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

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025