اطلاعیه

Collapse
No announcement yet.

ماکزیمم فرکانس پورت i2c برای کار با ds1307

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

    ماکزیمم فرکانس پورت i2c برای کار با ds1307

    تا حالا شده که برای خواندن اطلاعات از ds1307 و از روی bus i2c با فرکانس 400khz اینکار را انجام دهید؟
    دلیل سوالم این است که درپروژه من اشتباها در حالیکه می دونستم ds1307 فقط تو مد استاندارد ( (fscl(max)=100khz) روی پورت i2c کار می کنه fscl رو 400khz انتخاب کردم ولی پروژه من بدون هیچ نقصی تا 1 ماه کار کرد ولی بعد از این مدت ds1307 به یک وضعیت نا مشخص رفت و حالا می خوام بدونم که ممکنه از همون تعریف اشتباهه fscl باشه؟
    لطفا کمک کنید خیلی برام مهمه :angry:

    #2
    پاسخ : ماکزیمم فرکانس پورت i2c برای کار با ds1307

    سلام
    منم چند وقت پیش با ds1307 یه کاری انجام دادم و یه مشکلی داشتم که بیچارم کرده بود و اونم این بود که عشقی کار میکرد و بالاخره دردش رو فهمیدم و اونم clock میکرو بودش چون من معمولا از اسیلاتور داخلی هشت مگا هرتز که فیوز بیت تقسیم به 8 رو فعال میکنم استفاده میکنم یعنی clock یک مگا هرتز. به خاطر این مشکل کل دیتا شیت ds1307 رو جویدم و یه جاش نوشته بود که وقتی از i2c استفاده میکنید میکروتون نباید در فرکانس پائین باشد اما نسبت یا مقداری رو مشخص نکرده بود اگه کسی اطلاعاتی در این مورد داره لطف کنه بگه..وقتی کلاک رو هشت مگا هرتز ست کردم مشکل حل شده.اما با توجه به تجربیاتی پیدا کردم میتونم بگم نکاتی که درi2c مهمه :مقاومتهای pullup پورت،فرکانس میکرو وفاصله ومسیری که پورت داره .
    موفق باشی.

    دیدگاه


      #3
      پاسخ : ماکزیمم فرکانس پورت i2c برای کار با ds1307

      میکرو من atmega16 هست و با کریستال خارجی 16mhz کار میکنه ضمنا همزمان با دو قطعه روی i2c bus کار میکنه یکی ds1307 ویکی eeprom at24c256
      اینم نحوه بستن این قطعات روی i2c bus لطفا فایل ضمیمه را دانلود کنید
      http://www.4shared.com/file/35083901/d75e4507/i2c.html

      دیدگاه


        #4
        پاسخ : ماکزیمم فرکانس پورت i2c برای کار با ds1307

        لطفا راهنمایی کنید

        دیدگاه


          #5
          پاسخ : ماکزیمم فرکانس پورت i2c برای کار با ds1307

          سلام
          از بابت تاخیر ببخشید. امکان داره برام بیشتر باز کنید که منظورتون از وضعیت نامشخص چیه و آیا ds1307 دیگه دیتا نمیده چون همونطور که قبلا گفتید مدار حدود یکماه بدون مشکل کار کرده . آیا براتون امکانش هست که برنامه تغییر بدیدومدار رو با fclصد کیلو تست کنید.
          نکته دیگه در مورد eerom روی باس است اونم اینکه زمانی که باس در اختیار eerom است ds1307 نمیتونه اونو در اختیا ر بگیره چه مقدار شما باeerom کار میکنید و ممکنه در نرم افزارتون از این بابت تداخلی باشه.
          در مورد سخت فزار من مشکل خاصی نمیبینم
          موفق باشید.

          دیدگاه


            #6
            پاسخ : ماکزیمم فرکانس پورت i2c برای کار با ds1307

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

            دیدگاه


              #7
              پاسخ : ماکزیمم فرکانس پورت i2c برای کار با ds1307

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

              دیدگاه


                #8
                پاسخ : ماکزیمم فرکانس پورت i2c برای کار با ds1307

                سلام
                توجه شما رو به بخشی از دیتا شیت ds1307جلب میکنم که جواب سئولتون اونجاست:
                CLOCK AND CALENDAR
                The time and calendar information is obtained by reading the appropriate register bytes. Table 2 shows
                the RTC registers. The time and calendar are set or initialized by writing the appropriate register bytes.
                The contents of the time and calendar registers are in the BCD format. The day-of-week register
                increments at midnight. Values that correspond to the day of week are user-defined but must be
                sequential (i.e., if 1 equals Sunday, then 2 equals Monday, and so on.) Illogical time and date entries
                result in undefined operation. Bit 7 of Register 0 is the clock halt (CH) bit. When this bit is set to 1, the
                oscillator is disabled. When cleared to 0, the oscillator is enabled.
                Note that the initial power-on state of all registers is not defined. Therefore, it is important to
                enable the oscillator (CH bit = 0) during initial configuration
                .
                The DS1307 can be run in either 12-hour or 24-hour mode. Bit 6 of the hours register is defined as the
                12-hour or 24-hour mode-select bit. When high, the 12-hour mode is selected. In the 12-hour mode, bit 5
                is the AM/PM bit with logic high being PM. In the 24-hour mode, bit 5 is the second 10-hour bit (20 to
                23 hours). The hours value must be re-entered whenever the 12/24-hour mode bit is changed.
                When reading or writing the time and date registers, secondary (user) buffers are used to prevent errors
                when the internal registers update. When reading the time and date registers, the user buffers are
                synchronized to the internal registers on any I2C START. The time information is read from these
                secondary registers while the clock continues to run. This eliminates the need to re-read the registers in
                case the internal registers update during a read. The divider chain is reset whenever the seconds register is
                written. Write transfers occur on the I2C acknowledge from the DS1307. Once the divider chain is reset,
                to avoid rollover issues, the remaining time and date registers must be written within one second.


                موفق باشید

                دیدگاه


                  #9
                  پاسخ : ماکزیمم فرکانس پورت i2c برای کار با ds1307

                  ds1307 باتری بکاپ داره یعنی اگر یکبار initialize شد دیگه احتیاج نداره دوباره initialize بشه .

                  دیدگاه


                    #10
                    پاسخ : ماکزیمم فرکانس پورت i2c برای کار با ds1307

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

                    دیدگاه


                      #11
                      پاسخ : ماکزیمم فرکانس پورت i2c برای کار با ds1307

                      اول اینکه من در برنامم دائما این بیت رو چک می کنم و اگه کریستال stop بشه دوباره بکار می افته راسی اگه مدت زیادی(یکی دو روز)مدار من خاموش باشه و روی بکاپ کار کنه ودمای محیط 13 تا 14 درجه باشد ممکنه کریستال بایسته .

                      دیدگاه


                        #12
                        پاسخ : ماکزیمم فرکانس پورت i2c برای کار با ds1307

                        سلام
                        در این مورد میتوانید با سرد کردن مدار(اسپری فریز یا اینکه مدار رو کاملا با دو کیسه فریزر بپوشانید که مرطوب نشه وبعد بذاری تو یخچال که سرد شه )وتست کنی ببینی کار میکنه یا نه.اما من از یه چیز مطمئن هستم واونم اینکه متاسفانه کیفیت قطعات موجود در بازار ایران خیلی خوب نیست .
                        موفق باشی

                        دیدگاه


                          #13
                          پاسخ : ماکزیمم فرکانس پورت i2c برای کار با ds1307

                          ببینید، Holder باتری Backup خیلی مهمه، مطمئنید محکم باتری رو نگه میداره؟
                          There is nothing so practical as a good theory. — Kurt Lewin, 1951

                          دیدگاه


                            #14
                            پاسخ : ماکزیمم فرکانس پورت i2c برای کار با ds1307

                            در ضمن برای 400 کیلوهرتز مقاومت 10 کیلو خیلی زیاد تا 1 کیلو اهم می تونید کمش کنید. این 330 اهم ها رو برای چی گذاشتید؟
                            There is nothing so practical as a good theory. — Kurt Lewin, 1951

                            دیدگاه


                              #15
                              پاسخ : ماکزیمم فرکانس پورت i2c برای کار با ds1307

                              لطفا صفحه 37 کاتالوگ زیر را بخوانید . جواب سوالتان را خواهید گرفت
                              http://www.4shared.com/file/35769286/403edbf0/39340011.html

                              دیدگاه

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