اطلاعیه

Collapse
No announcement yet.

ساختمان داخلی EEPROMها

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

    ساختمان داخلی EEPROMها

    با سلام به دوستان
    یه سوال در مورد ساختمان داخلیEEPROM ها داشتم . ممنون میشم اگه کسی از دوستان اطلاعی داره در بختیارم بذاره.
    و اما سوال من ...
    همانطور که تو data sheet تمام EEPROM ها دیدین سازنده یه تعداد بار خاص رو برای نوشتن اطلاعات بر روی EEPROM ها معتبر میدونه ( برای مثال برای 93c66 در حدود 1.000.000 مرتبه سیکل erase/write )
    و نیز میدونین که نوشتن ff همون کار erase رو انجام میده حالا سوال من اینجاست که :
    اولا اگه ff ننویسیم و یا فرمان erase رو اجرا نکنیم این تعداد بار افزایش پیدا میکنه یا اینکه نوشتن مجدد رو به معنای erase در نظر میگیره ؟؟
    ثانیا مثلا اگر محتوای یه بایت aa باشه و بعد از اون بخواهیم ab رو بنویسیم این تغییر وضعیت برای همه بیتها داریم یا تنها بیتی که عوض میشه ؟؟

    #2
    پاسخ : ساختمان داخلی EEPROMها

    آقا کسی جواب نمیده

    دیدگاه


      #3
      پاسخ : ساختمان داخلی EEPROMها

      سلام دوست عزیز
      در مورد سوال اولتون باید بگم که :
      اولاً :همونطور که خودتون به نقل از دیتاشیت آیسی نوشتین اون عدد یک میلیون بار، هم برای write هست و هم برای erase.
      و این یعنی اینکه آیسی بعد از این که یک میلیون بار عمل write یا erase روش انجام شد دیگه عمرش تموم میشه.
      ثانیاً : عمل erase همون write هست با این تفاوت که دیگه شما مقدار FF رو به EEPROM نمی دید و اون خودش آدرس مورد نظر رو با این عدد مقدار دهی می کنه.

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

      و اما در مورد سوال دومتون:
      برای eeprom فرقی نمیکنه که چه عددی توی یک آدرسش بوده و حالا شما چه عددی رو توش می نویسین.
      ببینید..... وقتی شما آدرسی از حافظه رو انتخاب میکنید و دیتا رو میفرستید این اعداد از شیفت رجیستر های ورودی به ترتیب وارد "دکودر آدرس" و "رجیستر داده" میشن.
      آدرسها توسط دکودر آدرس رمزگشایی میشن و خانه حافظه مورد نظر از میان آرایه مموری، انتخاب و آدرس دهی میشه.
      بعد عددی که شما به آیسی دادین و الان تو "رجیستر داده" هستش صرفنظر از محتوای قبلی ، وارد اون آدرس از حافظه میشه.

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

      امیدوارم به دردتون خورده باشه.
      موفق باشید

      دیدگاه


        #4
        پاسخ : ساختمان داخلی EEPROMها

        سلام
        از دوستان کسی میدونه این عدد برای کل eeprom است یا برای یک خانه
        ما زنده به آنیم که آرام نگیریم موجیم که آسودگی ما عدم ماست

        وقتی یک ملت برای فرهنگ و نژاد و ملیت خویش ارزشی قائل نشد و حقی را که طبیعت برای نگاهداری نژاد پاکش به او ارزانی داشته بود پایمال ساخت و به بیگانگان روی آورد و تسلیم شد دیگر حق ندارد از شکست و بدبختی سیاسی که خودش باعث آن شده است شکایت کند .ادولف هیتلر

        r.babazadeh@yahoo.com

        دیدگاه


          #5
          پاسخ : ساختمان داخلی EEPROMها

          نوشته اصلی توسط r.babazadeh
          سلام
          از دوستان کسی میدونه این عدد برای کل eeprom است یا برای یک خانه
          این عدد فقط برای یک سلول حافظه است. یعنی اگر ما هر سلول حافظه را یک میلیون بار E/W کنیم دیگر اطلاعاتش معتبر نخواهند بود.

          You can put the problem into perspective by considering what happens when you use 1 byte of EEPROM as a scratchpad RAM in a CPU-based system.
          If you erase and write to this byte once per second, the location exceeds its endurance rating in 100,000 to 1 million sec, or approximately 27.7 to 277 hours.
          Thus, the useful life of the equipment containing this device is to three and one half to 35 days at 8 hours per day of usage.
          In contrast, general-purpose RAM does not limit the number of write cycles to any location.
          برای دیدن مقاله کامل به این لینک برید: http://www.edn.com/article/CA47235.html
          به دوست خوبمون payaimen هم توصیه میکنم به این لینک یه سری بزنن . اونجا توضیحاتی هم در مورد این که چطوری میتونیم با تکنیک های نرم افزاری عمر مفید حافظه رو افزایش بدیم وجود داره.

          این PDF رو هم نگاه بندازید بد نیست: http://ww1.microchip.com/downloads/en/AppNotes/00537.pdf

          موفق باشید

          دیدگاه


            #6
            پاسخ : ساختمان داخلی EEPROMها

            با تشکر از مطالبتون
            حالا یه سوال دیگه
            همانطوری که در کاتالوگ های atmel برای avr می بینیم write/erase مون دارای محدودیته چه راهی رو پیشنهاد میکنید برای اینکه تمام حجم eeprom به طور یکنواخت تخریب بشه
            برای مثال توی یه کانتر 10 بایتی چه کار کنیم که قیل ازاینکه به 100000 برسیم بایت اول خراب نشده باشد.(غیر از چرخشی عمل کردن)
            و در مورد اعتبار اطلاعات ذخیره شده در eeprom
            نمیدونم شما تا چه حدی با eeprom ها کار کردین ولی من دیدم eeprom هایی رو که پس از چند مرتبه و یا حتی در بار اول ذخیره اطلاعات دچار مشکل شدند. پس چک کردن اطلاعات پس از ذخیره شدن ضروریه .
            درسته برای اطمینان از اعتبار می تونیم اینکار رو انجام بدیم ولی اگه فرض کنیم که آدرسی که ما تا حالا اطلاعات ذخیره میکردیم دچار مشکل بشه باید در یه آدرس دیگه اطلاعاتو دخیره کنیم و آدرس جدیدو برای میکرو در load مجدد اطلاعات یه جایی ذخیره بکنیم حالا اگه همین بلوک دچار مشکل بشه چی؟؟؟؟؟؟؟؟؟؟؟

            دیدگاه


              #7
              پاسخ : ساختمان داخلی EEPROMها

              سلام
              اولا فکر کنم جواب سوال اولت کامل داده شده، و این آمار 1000000 بار فقط زمان اطمینان کامل رو نشون میده،یعنی اگه یک مدار صنعتی داری،تا این مقدار تاریخ مصرف بزن نه اینکه به این عدد که رسید،به قول باغ مظفر،ییهو حافظه از کار بیوفته
              بعضی آمار ها فقط با تخمین سطحی و .. بدست اومدن،مثلا وقتی تلویزیونی تازه 3 ماهه تولید شده و به بازار اومده،مطمئنا شرکت سازنده اون فرصت کافی نداشته تا 10 سال چند عدد از اون ها رو روشن گزاشته با شه و ببینه که بعد از 10 سال اکثرا خراب شدن!!!‌این آمارها با تخمین هستن و اصولا تا اون زمان باید تضمین شده باشه.
              من با حافظه خود میکرو کم کار کردم اما در کل هیچ وقت ایرادی ندیدم. ولی معمولا 2 راه برای افزایش عمر به نظرم می رسه.
              اولی اینکه مجبور نیستی با هر تغییری،اونو ذخیره کنی،به متغیر روو رم تعریف کن، بسته به دقتی که می خوای ،مثلا هر 10 دفعه یکبار همه چیز رو ذخیره کن.
              دوما پیشنهاد می کنم الان که حافظه های جنبی ارزون شدن،از اونها استفاده کنی،اما اگه باز هم مشکلت رو واضح تر بنویسی،سعی میکنم اگه چیزی دونستم بیشتر توضیح بدم
              اگه خدا بخواد،توو ساتم تمام حافظه ها و کاربردها و ... تا جایی که بلدم رو خواهم گزاشت www.--.com

              دیدگاه


                #8
                پاسخ : ساختمان داخلی EEPROMها

                نوشته اصلی توسط payaimen
                همانطوری که در کاتالوگ های atmel برای avr می بینیم write/erase مون دارای محدودیته چه راهی رو پیشنهاد میکنید برای اینکه تمام حجم eeprom به طور یکنواخت تخریب بشه
                برای مثال توی یه کانتر 10 بایتی چه کار کنیم که قیل ازاینکه به 100000 برسیم بایت اول خراب نشده باشد.(غیر از چرخشی عمل کردن)
                خب واضحه که اگر شما هر بار اطلاعات رو در یک سلول بنویسید اون سلول زود خراب میشه. اگر نخواهید این کار رو بکنید باید در آدرسهای مختلف بنویسید که این میشه همون روش چرخشی.
                غیر از این فکر نکنم راهی داشته باشه.(حد اقل من نمیدونم)

                و در مورد اعتبار اطلاعات ذخیره شده در eeprom
                نمیدونم شما تا چه حدی با eeprom ها کار کردین ولی من دیدم eeprom هایی رو که پس از چند مرتبه و یا حتی در بار اول ذخیره اطلاعات دچار مشکل شدند. پس چک کردن اطلاعات پس از ذخیره شدن ضروریه .
                درسته برای اطمینان از اعتبار می تونیم اینکار رو انجام بدیم ولی اگه فرض کنیم که آدرسی که ما تا حالا اطلاعات ذخیره میکردیم دچار مشکل بشه باید در یه آدرس دیگه اطلاعاتو دخیره کنیم و آدرس جدیدو برای میکرو در load مجدد اطلاعات یه جایی ذخیره بکنیم حالا اگه همین بلوک دچار مشکل بشه چی؟؟؟؟؟؟؟؟؟؟؟
                راههای زیادی میتونه وجود داشته باشه. مثلاً میتونید آدرس رو در سه بایت ذخیره کنید (سه کپی متفاوت) و با مقایسه اونها مطمئن بشید که آدرس درسته یا نه.
                اگر دوتاشون مثل هم بودن و یکیشون فرق داشت آدرس درست اونی هست که دو بایت بهش اشاره میکنن.
                احتمال اینکه سه تا آدرس بصورت همزمان با هم خراب بشن خیلی کمه پس میتونین اطمینان حاصل کنید که اشاره گر شما درسته. به محض این که سه تا اشاره گر با هم موافق نبودند میتونین عوضشون کنید.

                همچنین راههای زیادی از جمله بیت توازن و .... برای تصحیح خطا وجود داره. با جستجوی بیشتر میتونید نمونه هایی پیدا کنید که برای شما مناسبتره.

                موفق باشید

                دیدگاه


                  #9
                  پاسخ : ساختمان داخلی EEPROMها

                  نه اینکه تو سه بایت ذخیره کنیم و هر سه رو بخونیم اون دو تا که مثل همنن رو انتخاب کنیم درست نیست چون اگه دو تا خراب شدن چی ؟؟؟؟؟؟
                  از کجا بفهمیم درست کدومه

                  دیدگاه


                    #10
                    پاسخ : ساختمان داخلی EEPROMها

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

                    دیدگاه


                      #11
                      پاسخ : ساختمان داخلی EEPROMها

                      ببینین ممکنه که از سه بایت دو بایت خراب بشن ، دو بیت از دو بایت پس مقادیر سه بایت با هم متفاوتند و شما نمیتونید کدوم از اونها سالم اند
                      تا حالا این اتفاق افتاده که از یک بیت خراب شده یعنی یک شده و اون بیت تغییر نمیکنه
                      نمیدونم شما کجا کار میکنید؟؟؟؟؟؟؟؟؟؟
                      ولی اگه تو صنعت کار کرده باشین می بینید که این موضوع خیلی حساسه
                      باز تاکید می کنم صنعت با مصارف خونگی فرق داره
                      حالا بعداً بهتون میگم چطوری میشه انجام داد.

                      دیدگاه


                        #12
                        پاسخ : ساختمان داخلی EEPROMها

                        سلام
                        من جایی کار نمیکنم،بیشتر خونه برای دلم ... اما خوردم نون گندم ندیدم دست مردم .. :mrgreen:
                        اما کار صنعتی هم دیدم،لااقل از یک چیز هم مطمئنم،کسی توو صنعت از AVR استفاده نمی کنه اون هم از EEPROM داخلی اونها ... ومدار به این سادگی...
                        من که گفتم 10 تا ذخیره کن،8تا که یک بیتش با هم خراب نمیشه ...

                        جایی که میگین اینقدر حساسه یک پیشنهاد می دم،حالا که اینقدر اسرار دارین حافظه خارجی نزارین،لااقل رم ببندین،باطری BackUp بزارین...

                        یا لااقل بگین این محیط کجاست که اینطور راحت بیت های شما رو خراب میکنه؟ من با اینها زیاد کار کردم،یک مورد خرابی هم ندیدم،چه برسه به اینکه 2 تا بیت یکسان با هم ...

                        دیدگاه


                          #13
                          پاسخ : ساختمان داخلی EEPROMها

                          ولی avr قابلیتهای خوبی داره که اگه مدارتو درست طراحی کنی به راحتی ت.صنعت جواب میده که چون شما تو خونه اید طول میکشه تا اونو ببینید
                          اگه من بعضی سوالها رو تو اینجا یا جاهای دیگه مطرح میکنم دلیل این نیست که جواب اونها رو نمیذونم بلکه دوست دارم نطرات دیگران رو هم بذونم

                          دیدگاه


                            #14
                            پاسخ : ساختمان داخلی EEPROMها

                            نمی دونم این که میگی EEPROM ها کار نمی کنه!!!آ‌چه ربطی به طراحی درست داره!!!!
                            .به طور حتم از AVR هم توو صنعت استفاده میشه،اما جایی که میگی اینهمه حساسه که ...،بارها پیشنهاد دادم یک حافظه خارجی بزارین اما میگین نمی شه ...
                            آهان،پس سوالا سر کاریه؟ :mrgreen:
                            تووی قابلیتهای خوب AVR شکی نکنین،من هنوزم سر حرفم هستم که بین تمام میکروها AVR رو دوست دارم،اما ماهیت PICها صنعتی تره،فراموش نکنین AVRبا یک 5ولی پروگرم میشه اما بقیه بالاتر می خوان،همین آسیب پذیری رو هم بیشتر می کنه و خیلی موارد دیگه که خارج از بحث.
                            اما بازم میگم،جای EEPROM از رم و باطری اضطراری استفاده کنی بهتره ...

                            دیدگاه

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