اطلاعیه

Collapse
No announcement yet.

چگونه از حافظه ds1307 استفاده کنیم؟!{کمک}

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

    چگونه از حافظه ds1307 استفاده کنیم؟!{کمک}

    سلام عزیزان هر جا میبینم میگن ای سی ساعت ds1307یه حافظه eeprom داره.و با توجه به اینکه میکروهای avrحافظشون خیلی داغونه و با چند بار نویز یا روشن خاموش شدن حافظشون میپره این حافظه ای که ds1307داره خیلی خوبه و به کار میاد فقط اینکه من تاحالا توسایت چیزی در موردش ندیدم!!!کسی چیزی میدونه که چجوری میتونیم ازش استفاده کنیم؟؟؟!

    اگرمیدونید لطفا کمک کنید ممنون میشم.

    { من خودم بخاطر ساده شدن مدار و اینکه میکرو فقط یک ارتباط i2c داره نمیتونم از ای سی حافظه جدا استفاده کنم }

    #2
    پاسخ : چگونه از حافظه ds1307 استفاده کنیم؟!{کمک}

    سلام
    من تجربه ای که از eeprom میکرو داشتم خیلی خوب بود.کاملا پایدار و قابل قبول بود.
    نکته ی دیگه هم اینه که شما در ارتباط i2c میتونید با 127 وسیله ارتباط برقرار کنید و مشکلی پیش نمیاد چون هر وسیله یه آدرس مشخصی داره و تداخل عملا منتفیه.پس مشکلی در استفاده از حافظه خارجی هم نیست.
    نکته ی آخر هم اینکه تا جاییکه من میدونم حافظه ds1307 از نوع ram هست نه eeprom و تا زمانی حفظ میشه که باتری بک پ یا تغذیه اصلی متصل باشه.
    آیا جهالت نیست که آدمی ساعات شیرین امروز را فدای روزهای آینده کند؟

    دیدگاه


      #3
      پاسخ : چگونه از حافظه ds1307 استفاده کنیم؟!{کمک}

      DS1307 حافظه زیاد نداره فقط در حد تاریخ و ساعت.
      حالا که از I2C استفاده میکنی بهتره از حافظه 24C512 استفاده کنی که 512 کیلو حافظه داشته باشی

      دیدگاه


        #4
        پاسخ : چگونه از حافظه ds1307 استفاده کنیم؟!{کمک}

        ممنون از پاسخ هاتون نه فقط سه چهار تا متغییر از جنس long رو هم جا بده بسمه برای همینه که میخوام از ds1307استفاده کنم البته دوستمو گفتند که رامه حافظش که در این صورت بدرد من نمیخوره....

        مشکل منم با حافظه میکرو اینه چون جای پر نویزی هست و ممکنه منبع تغذیه میکرو ولتاژش بیاد پایین یا چند بار پشت سر هم صفر و یا مثلا 5 ولت بشه .میکرو یا یه عدد الکی مینویسه یا صفر میشه حافظش !! و چون اطلاعات با ارزشی هستند تا اخر عمر مدار فقط باید بروز رسانی بشند و اگر بپرند و یا اشتباه بشند اصلا قابل قبول نیست!! :angry:
        برای این راهکاری هست؟

        دیدگاه


          #5
          پاسخ : چگونه از حافظه ds1307 استفاده کنیم؟!{کمک}

          آدرس های بعد از ساعت و تاریخ می شه حافظه ای که کار شما رو راه می اندازه
          کافیه به جای آدرس ساعت و تاریخ تو زیر برنامت آدرس های بعدی ds1307 رو بدی و بعدش به جای خود متغیر ساعت و تاریخ متغیر خودت رو بزاری فقط یه مسئله مهم اینه که کلا بایتی باید دیتاتو بریزی و اگر دیتات بزرگتره باید به بایت های کوچکتر تبدیلش کنی
          برای پیدا کردن آدرس های آزاد به شکلهای داخل دیتا شیت ds1307 نگاه کن.
          همانطور که مایل نیستم بنده کسی باشم، حاضر نیستم آقای کسی باشم. کسانی که مخالف آزادی دیگرانند، خود لیاقت آزادی را ندارند.((آبراهام لینکن))

          قدرت شگفت انگیز نیروهای خلاق و استعدادهای نهفته آدمی هنگامی آشکار می شود که نیازی حیاتی، تواناییهای او را به فعالیت وادارد و کشش آرزویی، سراپای وجودش را به جنب و جوش درآورد.((آبراهام لینکن))

          [img width=343 height=100]http://www.elecdesigner.com/uploads/PRO-DESIGNER-GROUP.jpg[/img]

          دیدگاه


            #6
            پاسخ : چگونه از حافظه ds1307 استفاده کنیم؟!{کمک}

            ds1307 حافظه ساعته یعنی نمیشه بجای eeprom ازش استفاده کرد چون مقدارش هر ثانیه در حال تغییره و اگه یه روز به حال خودش ولش کنی تمام مقادیر داخل حافظش تغییر میکنه.بهترین گزینه ای که همه دنیا دارن ازش استفاده میکنن و مشکلی هم ندارن 24c هست

            دیدگاه


              #7
              پاسخ : چگونه از حافظه ds1307 استفاده کنیم؟!{کمک}

              حافظه داخل DS1307 از نوع EEPROM نیست. اما اگر برق تغذیه اون ر و قطع نکنید، دیتایی که داخل رم اون هست، دست نخورده باقی می مونه. یعنی میشه یک جورایی ازش به عنوان یک حافظه مانند EEPROM استفاده کرد.
              تو دیتاشیت DS1307 هم نوشته که 56 بایت رم در اختیار شماست. شما می تونی راحت، اول آدرس DS1307 رو بفرستی، بعد آدرس اون قسمت از حافظه و بعد مقدار دیتا. حواستون باشه که برای متغیر float باید 4 بایت در نظر بگیری.
              البته این راه ریسکش زیاده. چون اگر باتری تموم بشه، اطلاعات هم می پره.
              بهترین راه همون استفاده از یک آی سی EEPROM خارجی هستش.
              نوشته اصلی توسط saeiddiod
              DS1307 حافظه زیاد نداره فقط در حد تاریخ و ساعت.
              حالا که از I2C استفاده میکنی بهتره از حافظه 24C512 استفاده کنی که 512 کیلو حافظه داشته باشی
              داخل دیتاشیت گفته که 56 بایت رم داره. که جدا از اون فضای مشخص برای رجیسترهاش هست.
              نوشته اصلی توسط saeiddiod
              ds1307 حافظه ساعته یعنی نمیشه بجای eeprom ازش استفاده کرد چون مقدارش هر ثانیه در حال تغییره و اگه یه روز به حال خودش ولش کنی تمام مقادیر داخل حافظش تغییر میکنه.بهترین گزینه ای که همه دنیا دارن ازش استفاده میکنن و مشکلی هم ندارن 24c هست
              میشه بگید کجای دیتاشیت گفته که مقدارهای داخل اون 56 بایت رم هم با تغییر رجیسترهای زمان، تغییر می کنند؟!
              ---------
              .
              .
              ...........

              دیدگاه


                #8
                پاسخ : چگونه از حافظه ds1307 استفاده کنیم؟!{کمک}

                نوشته اصلی توسط saeiddiod
                ds1307 حافظه ساعته یعنی نمیشه بجای eeprom ازش استفاده کرد چون مقدارش هر ثانیه در حال تغییره و اگه یه روز به حال خودش ولش کنی تمام مقادیر داخل حافظش تغییر میکنه.بهترین گزینه ای که همه دنیا دارن ازش استفاده میکنن و مشکلی هم ندارن 24c هست
                داداش من منطقی باش.یعنی آی سی ds1307 ایتقدرمسخره هستش که هر چی تو حافظش بریزی رو تغییر میده!شما دستورات rtc set time و rtc get time رو در نظر بگیر.بعد برو تو کتابخونه این دستورات ببین چه خبره!! این شما هستی که تعیین میکنی چه تغییراتی روی چه متغییر هاییت انجام بشه!

                دیدگاه


                  #9
                  پاسخ : چگونه از حافظه ds1307 استفاده کنیم؟!{کمک}

                  نوشته اصلی توسط Des_B
                  میشه بگید کجای دیتاشیت گفته که مقدارهای داخل اون 56 بایت رم هم با تغییر رجیسترهای زمان، تغییر می کنند؟!
                  نوشته اصلی توسط hesan
                  داداش من منطقی باش.یعنی آی سی ds1307 ایتقدرمسخره هستش که هر چی تو حافظش بریزی رو تغییر میده!شما دستورات rtc set time و rtc get time رو در نظر بگیر.بعد برو تو کتابخونه این دستورات ببین چه خبره!! این شما هستی که تعیین میکنی چه تغییراتی روی چه متغییر هاییت انجام بشه!
                  کل دیتاشیت رو خوندم ولی نتونستم جافظه EEprom رو پیدا کنم :read:
                  ضمنا اگه قرار باشه اطلاعات روی رم ذخیره بشه اونم با یه باطری بک پ . خب خود میکرو هم میتونه اینکارو بکنه

                  دیدگاه


                    #10
                    پاسخ : چگونه از حافظه ds1307 استفاده کنیم؟!{کمک}

                    نوشته اصلی توسط saeiddiod
                    کل دیتاشیت رو خوندم ولی نتونستم جافظه EEprom رو پیدا کنم :read:
                    ضمنا اگه قرار باشه اطلاعات روی رم ذخیره بشه اونم با یه باطری بک پ . خب خود میکرو هم میتونه اینکارو بکنه
                    منم نگفتم دنبال EEPROM بگردید. الان شما تو خونه شماره 20 یک چیزی بنویسید، آیا بعد از گذشت 1 یا 2 ساعت یا چند روز، این مقدار عوض میشه؟
                    ضمنا مصرف انرژی یک میرو با این آی سی ساعت یکی هستش؟ اگر قرار باشه با باتری بک پ میکرو روشن بمونه که از تایمر استفاده میشه. معمولا باتری تنها به آی سی DS1307 وصل میشه، چون مصرف توانش پایینه.
                    ---------
                    .
                    .
                    ...........

                    دیدگاه


                      #11
                      پاسخ : چگونه از حافظه ds1307 استفاده کنیم؟!{کمک}

                      نوشته اصلی توسط saeiddiod
                      کل دیتاشیت رو خوندم ولی نتونستم جافظه EEprom رو پیدا کنم :read:
                      ضمنا اگه قرار باشه اطلاعات روی رم ذخیره بشه اونم با یه باطری بک پ . خب خود میکرو هم میتونه اینکارو بکنه
                      من کی گفتم که حافظش از نوع EEPROM هستش عزیز من. من گفتم مقادیری که توی قسمت RAM این تراشه قرار میدی مقادیرش خود به خود تغییر نمیکنه.مگر این که باتریش قطع بشه. البته تمام این ها رو باید در عمل امتحان کرد.

                      دیدگاه


                        #12
                        پاسخ : چگونه از حافظه ds1307 استفاده کنیم؟!{کمک}

                        منظورم این بود که وقتی EEPROM نباشه نمیشه زیاد روی RAM حساب کرد.وقتی 24C با اندازه کوچک و حافظه EEPROM بالا وجود داره چرا باید ریسک کنیم و بریم سراغ DS1307 با 56بایت RAM
                        نوشته اصلی توسط Des_B
                        ضمنا مصرف انرژی یک میرو با این آی سی ساعت یکی هستش؟ اگر قرار باشه با باتری بک پ میکرو روشن بمونه که از تایمر استفاده میشه. معمولا باتری تنها به آی سی DS1307 وصل میشه، چون مصرف توانش پایینه.
                        اگه بحث سره مصرف توان باشه که DS1307 هیچ حرفی برای گفتن نداره در برابر حافظه EEprom

                        دیدگاه


                          #13
                          پاسخ : چگونه از حافظه ds1307 استفاده کنیم؟!{کمک}

                          نوشته اصلی توسط saeiddiod
                          منظورم این بود که وقتی EEPROM نباشه نمیشه زیاد روی RAM حساب کرد.وقتی 24C با اندازه کوچک و حافظه EEPROM بالا وجود داره چرا باید ریسک کنیم و بریم سراغ DS1307 با 56بایت RAM اگه بحث سره مصرف توان باشه که DS1307 هیچ حرفی برای گفتن نداره در برابر حافظه EEprom
                          با این جوابتون مطمئن شدم شما خوب پست هارو نمی خونید و فقط میخواهید بحث کنید. به همین خاطر من دیگه جواب شمارو نخواهم داد.
                          دوست عزیز، زمانی که از DS1307 داره استفاده میشه، استفاده از رم داخلیش بده ؟!؟!
                          نوشته اصلی توسط morteza borji

                          { من خودم بخاطر ساده شدن مدار و اینکه میکرو فقط یک ارتباط i2c داره نمیتونم از ای سی حافظه جدا استفاده کنم }
                          ببینید طراح سوال منظورش چی بوده.
                          ---------
                          .
                          .
                          ...........

                          دیدگاه


                            #14
                            پاسخ : چگونه از حافظه ds1307 استفاده کنیم؟!{کمک}

                            نوشته اصلی توسط Des_B
                            با این جوابتون مطمئن شدم شما خوب پست هارو نمی خونید و فقط میخواهید بحث کنید. به همین خاطر من دیگه جواب شمارو نخواهم داد.
                            داداش من چرا ناراحت میشی.منکه نمیگم شما داری اشتباه میگی :eek:
                            اگه نوشته های شما رو نقل قول میکنم دلیلش ایراد گرفتن به جواب شما نیست فقط میخوام نتیجه درست گرفته بشه
                            نوشته اصلی توسط morteza borji
                            { من خودم بخاطر ساده شدن مدار و اینکه میکرو فقط یک ارتباط i2c داره نمیتونم از ای سی حافظه جدا استفاده کنم }
                            دلیل من برای مقایسه eeprom و ds1307 اینه که مطرح کننده سوال فکر میکنه که فقط یه i2c داره و میگه نمیتونم از ایسی حافظه جدا استفاده کنم در صورتی که میتونه هم eeprom داشته باشه هم ds1307 که در اینصورت بهتره برای نگهداری اطلاعات از eeprom استفاده کنه نه ds1307(بنظر من)

                            دیدگاه


                              #15
                              پاسخ : چگونه از حافظه ds1307 استفاده کنیم؟!{کمک}

                              بذارید خیالتونو راحت کنم
                              حافظه ds1307 بدرد کار خاصی نمیخوره
                              مگه میخواید چی توش ذخیره کنید
                              اصلا این مقدار کم گنجایش چه اطلاعاتی رو داره

                              و یه ضد حالم بهتون بزنم .. حافظه eeprom خود میکرو هم اونقدر ها بدرد نمیخوره
                              چون محدود
                              و با تکرار نوشتن مکرر روی این حافظ .. این قابلیت از دست میده و دیگه نمیشه به عنوان یک حافظه ازش بهره برد
                              منظورم حافظه ماندگار

                              و در اخر مگه چه اطلاعاتی میخواید روی حافظه ایسی ساعت ذخیره کنید ؟
                              بنظرم ارزششو نداره .. باید کلی وقت صرف نوشتن و خواندنش با i2c کرد
                              اونم اینقدر کم
                              56 بایت
                              کارایی انچندانی نداره
                              .

                              دیدگاه

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