اطلاعیه

Collapse
No announcement yet.

Real time clock

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    Real time clock

    سلام به همگی دوستان و اساتید.
    من می خوام در برنامه ام قسمتی باشه که عمر دستگاهم رو بسنجه.
    برای همین باید اطلاعات زمان رو ( ساعت و دقیقه رو ) تو یه جای غیر فرٌار ذخیره کنم.
    ولی اینکار تقریبا شدنی نیست.(چون 1. زمان نوشتن توی EEPROM خیلی زیاده و میکرو کار دیگه ای انجام نمی ده و من اینترپت هام رو از دست می دم که این برای من مساوی است با خراب شدن کار. 2- تعداد دفعات بازنویسی این حافظه خیلی کمه (100000بار))
    من از انجمن ccs اینو پرسیدم اونا به من گفتند از FRAM استفاده کنم که هم من بهش دسترسی ندارم و هم باید یه وقتی بذارم که کار کردن با اونو یاد بگیرم.
    حالا سوالم اینه که اساتید و دوستان گرامی راه دیگه ای به ذهنشون می رسه؟اگر بخوان یه RTC داشته باشن چیکار می کنن؟مشکلشون رو چطور حل می کنن.
    متشکرم
    دوستان عزیزم تصمیم گرفتم تا یه مدت کمتر به تالار سر بزنم . اگر دیر جواب دادم ببخشید.

    #2
    پاسخ : Real time clock

    میتونی این کار رو با یه میکرو دیگه انجام بدی.
    مثل سیستم سگ نگهبان
    یه میکرو کوچیک بزار که داره از یکی از پایه های میکرو اصلی پالس دریافت میکنه اگه پالس قطع شد اون میکرو کوچیکه زمان رویداد رو تو EEPROM خودش ذخیره کنه.
    دودمانم بر باد رفت

    دیدگاه


      #3
      پاسخ : Real time clock

      نوشته اصلی توسط محمدحسـین
      سلام به همگی دوستان و اساتید.
      من می خوام در برنامه ام قسمتی باشه که عمر دستگاهم رو بسنجه.
      برای همین باید اطلاعات زمان رو ( ساعت و دقیقه رو ) تو یه جای غیر فرٌار ذخیره کنم.
      ولی اینکار تقریبا شدنی نیست.(چون 1. زمان نوشتن توی EEPROM خیلی زیاده و میکرو کار دیگه ای انجام نمی ده و من اینترپت هام رو از دست می دم که این برای من مساوی است با خراب شدن کار. 2- تعداد دفعات بازنویسی این حافظه خیلی کمه (100000بار))
      من از انجمن ccs اینو پرسیدم اونا به من گفتند از FRAM استفاده کنم که هم من بهش دسترسی ندارم و هم باید یه وقتی بذارم که کار کردن با اونو یاد بگیرم.
      حالا سوالم اینه که اساتید و دوستان گرامی راه دیگه ای به ذهنشون می رسه؟اگر بخوان یه RTC داشته باشن چیکار می کنن؟مشکلشون رو چطور حل می کنن.
      متشکرم
      میتونید از این روش استفاده کنید:
      از RTC میکرو جهت شمارش زمان کارکرد از لحظه راه اندازی استفاده کنید. در طراحی مدار تغذیه میکرو باید کاری کنید که میکرو پس از قطع برق چند ثانیه بتونه کار کنه. یعنی از یک خازن الکترولیت ظرفیت بالا در تغذیه میکرو استفاده کنید. ضمنا نباید از پین های میکرو جریان بکشید چون نیاز به خازن بزرگتری خواهید داشت. یکی از وقفه های خارجی رو به شناسایی قطع تغذیه اصلی ( مثلا برق شهر) اختصاص بدید که در صورت قطع برق وارد وقفه شده و زمان کارکرد فعلی رو با مجموع زمان های کارکرد قبلی که قبلا در EEPROM داخلی ویا خارجی ذخیره شده جمع و سپس در همون حافظه ذخیره کنه. این عمل قبل از اتمام انرژی ذخیره شده در خازن انجام میشه.
      این روش اگر به درستی پیاده بشه پاسخگوی شماست چون دفعات قطع برق خیلی خیلی کم هست. به این ترتیب حافظه های EEPROM شما هم فقط در زمان قطع تغذیه نوشته میشن.

      دیدگاه


        #4
        پاسخ : Real time clock

        نوشته اصلی توسط MKB
        میتونی این کار رو با یه میکرو دیگه انجام بدی.
        مثل سیستم سگ نگهبان
        یه میکرو کوچیک بزار که داره از یکی از پایه های میکرو اصلی پالس دریافت میکنه اگه پالس قطع شد اون میکرو کوچیکه زمان رویداد رو تو EEPROM خودش ذخیره کنه.
        متشکرم
        ولی این هم مثل همون میشه . من اگه زمان قطع برق رو بتونم بفهمم تو میکرو اصلی این کار رو می کنم.
        نوشته اصلی توسط e.fazli
        میتونید از این روش استفاده کنید:
        از RTC میکرو جهت شمارش زمان کارکرد از لحظه راه اندازی استفاده کنید. در طراحی مدار تغذیه میکرو باید کاری کنید که میکرو پس از قطع برق چند ثانیه بتونه کار کنه. یعنی از یک خازن الکترولیت ظرفیت بالا در تغذیه میکرو استفاده کنید. ضمنا نباید از پین های میکرو جریان بکشید چون نیاز به خازن بزرگتری خواهید داشت.
        متشکرم
        چه خازنی؟ 15v2000uf خوبه؟
        علاوه بر این باید از خود تغذیه ی میکرو هم جریان نکشم .
        من 20 تا ال ای دی دارم و سه تا uln2803 . ال ای دی ها از برق میکرو جریان می کشن و آی سی ها از خود میکرو (الان دیتاشیتش رو نگاه کردم 1.2 میلی آمپر می کشه )-یک سری کلید هم به صورت مستقیم به میکرو وصل شده اند که بعیده کاربر همزمان هم دستگاه رو خاموش کنه و هم دستش رو این کلیدا باشه :biggrin:
        نوشته اصلی توسط MKB
        یکی از وقفه های خارجی رو به شناسایی قطع تغذیه اصلی ( مثلا برق شهر) اختصاص بدید که در صورت قطع برق وارد وقفه شده و زمان کارکرد فعلی رو با مجموع زمان های کارکرد قبلی که قبلا در EEPROM داخلی ویا خارجی ذخیره شده جمع و سپس در همون حافظه ذخیره کنه. این عمل قبل از اتمام انرژی ذخیره شده در خازن انجام میشه.
        این روش اگر به درستی پیاده بشه پاسخگوی شماست چون دفعات قطع برق خیلی خیلی کم هست. به این ترتیب حافظه های EEPROM شما هم فقط در زمان قطع تغذیه نوشته میشن.
        ولی چیزی که من باهاش دارم یک مدار برای تشخیص قطع برق هستش.
        نمی دونم آماده چیزی هست ازش استفاده کنم یا نه .
        ولی اگر خودم بخوام این مدار رو طراحی کنم فکر کنم:
        باید مداری برای تشخیص ولتاژ رگوله شده باشه نه برق شهر(اینجوری ساده تره )
        تشخیص ولتاژ مثلا سه ولت یا چهار ولت(ولتاژ های از یک آستانه به پایین)
        البته باید تغذیه میکرو رو از تغذیه ال ای دی ها جدا کنم و تغذیه همون ال ای دی ها رو بخونم.
        فکر کنم باید از یک پ امپ و یک زنر استفاده کنم . همون چیزی که از زمان هنرستان داریم می خونیم.
        یک مقایسه کننده ی ولتاژ
        البته تغذیه این مقایسه کننده باید از تغذیه میکرو باشه
        البته شاید اصلا از خود مقایسه کننده میکرو استفاده کردم!
        برم ببینم جواب می ده یا نه . :nerd:
        دوستان عزیزم تصمیم گرفتم تا یه مدت کمتر به تالار سر بزنم . اگر دیر جواب دادم ببخشید.

        دیدگاه


          #5
          پاسخ : Real time clock

          نوشته اصلی توسط محمدحسـین

          چه خازنی؟ 15v2000uf خوبه؟
          علاوه بر این باید از خود تغذیه ی میکرو هم جریان نکشم .
          من 20 تا ال ای دی دارم و سه تا uln2803 . ال ای دی ها از برق میکرو جریان می کشن و آی سی ها از خود میکرو (الان دیتاشیتش رو نگاه کردم 1.2 میلی آمپر می کشه )-یک سری کلید هم به صورت مستقیم به میکرو وصل شده اند که بعیده کاربر همزمان هم دستگاه رو خاموش کنه و هم دستش رو این کلیدا باشه :biggrin:ولی چیزی که من باهاش دارم یک مدار برای تشخیص قطع برق هستش.
          نمی دونم آماده چیزی هست ازش استفاده کنم یا نه .
          ولی اگر خودم بخوام این مدار رو طراحی کنم فکر کنم:
          باید مداری برای تشخیص ولتاژ رگوله شده باشه نه برق شهر(اینجوری ساده تره )
          تشخیص ولتاژ مثلا سه ولت یا چهار ولت(ولتاژ های از یک آستانه به پایین)
          البته باید تغذیه میکرو رو از تغذیه ال ای دی ها جدا کنم و تغذیه همون ال ای دی ها رو بخونم.
          فکر کنم باید از یک پ امپ و یک زنر استفاده کنم . همون چیزی که از زمان هنرستان داریم می خونیم.
          یک مقایسه کننده ی ولتاژ
          البته تغذیه این مقایسه کننده باید از تغذیه میکرو باشه
          البته شاید اصلا از خود مقایسه کننده میکرو استفاده کردم!
          برم ببینم جواب می ده یا نه . :nerd:
          یک خازن 1000UF هم کفایت میکنه. به شرطی که خازن مستقیما به پین های تغذیه میکرو متصل بشه و قبل از خازن یک دیود سری در مسیر بین پایه مثبت خازن و رگولاتور قرار بدید. در این صورت مصرف کننده های دیگه از جمله LED نمیتونن خازن متصل به میکرو رو دشارژ کنند.
          منظور از تشخیص قطعی برق شهر هم یک عبارت کلی برای قطع تغذیه هست. اینو خود شما با توجه به سیستمتون باید تشخیص بدید که باید خروجی تغذیه رگولاتور رو سنس کنید و یا این که به وسیله تقسیم مقاومت یا ترانس یا هر چیز دیگه ای برق شهر رو به سطح ولتاژ کاری میکرو برسونید و میکرو قطعی برق رو سنس کنه.

          دیدگاه

          لطفا صبر کنید...
          X