اطلاعیه

Collapse
No announcement yet.

سرعت نوشتن در eeprom

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

    سرعت نوشتن در eeprom

    سلام
    کسی می دونه چقدر زمان می بره تا داخل برنامه بشه eeprom را برنامه ریزی کرد؟
    مقدار حافظه 4k و میکرو xmega256a3u و کدویژن
    من توی برنامه کل حافظه را با کلاک 32 مگاهرتز توی زمان حدود 30 ثانیه برنامه ریزی می کنم. در حالی که با پروگرامر حدود 1 ثانیه طول می کشه.
    منتظر نظرات دوستان هستم.
    در زیر این نقاب چیزی بیشتر از گوشت هست. در زیر این نقاب یک ایده هست و ایده ها ضدگلوله هستند.

    1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
    2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
    3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

    #2
    پاسخ : سرعت نوشتن در eeprom

    طبق اطلاعاتی که کسب کردم دلیل کندی سرعت خواندن و نوشتن به صورت بایت ب بایت می باشد.
    طبق دیتا شیت نوشتن به صورت بایتی حدود 8 میلی ثانیه زمان میبرد. یعنی نوشتن کل eeprom زمانی معادل حدود 4096*8 33 ثانیه نیاز دارد. این در حالی است که اگر نوشتن به صورت صفحه ای انجام گیرد. سرعت 32 برابر بیشتر می شود یعنی حدود 1 ثانیه.
    در حال حاضر مشغول آماده سازی کدی در این راستا می باشم که در این صورت آن را در اینجا قرار خواهم داد.
    در زیر این نقاب چیزی بیشتر از گوشت هست. در زیر این نقاب یک ایده هست و ایده ها ضدگلوله هستند.

    1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
    2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
    3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

    دیدگاه


      #3
      پاسخ : سرعت نوشتن در eeprom

      وقت بخیر

      نکته مهمی رو اشاره کردید ! بایستی write page بنویسید !! و دوم این که برای حالت write کردن میتونید از تاخیر ثابت استفاده کنید ! میتونید از روش hand shake استفاده کنید !! در روش دوم سرعت بیشتره ! بلافاصله پس از آزاد شدن چیپ میتونید صفحه بعدی رو بنویسید !! و هم چنین میتونید نرم افزاری کار کنید که کندتر هست میتونید با ماجوا twi خود چیپ کار کنید که بازم سرعت بیشتره !!

      دیدگاه


        #4
        پاسخ : سرعت نوشتن در eeprom

        دقیقا همینطوره.
        من از وقفه خود eeprom استفاده کردم. الان همه eeprom را تو مدت کمتر از 1.5 ثانیه می نویسم.
        در زیر این نقاب چیزی بیشتر از گوشت هست. در زیر این نقاب یک ایده هست و ایده ها ضدگلوله هستند.

        1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
        2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
        3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

        دیدگاه


          #5
          پاسخ : سرعت نوشتن در eeprom

          نوشته اصلی توسط taktrashe نمایش پست ها
          وقت بخیر
          ....... و دوم این که برای حالت write کردن میتونید از تاخیر ثابت استفاده کنید ...... بلافاصله پس از آزاد شدن چیپ میتونید صفحه بعدی رو بنویسید ....... با ماجوا twi خود چیپ کار کنید که بازم سرعت بیشتره !!
          این دو حالتو ممکنه توضیح بدید؟
          میشه برنامه ای نوشت که مثلا وقتی یه بایت تو ایپیرام مینویسیم خود برنامه به صورت اتوماتیک تاخیر مورد نیاز رو ایجاد کنه؟
          twi چیه؟

          دیدگاه


            #6
            پاسخ : سرعت نوشتن در eeprom

            وقت بخیر

            بدون شک کل مراحل نوشتن رو توی یک فانکشن باید پیاده سازی کرد و twi ماجول سخت افزازری برای ارتباط با ماجول های دوسیمه هست !!

            دیدگاه


              #7
              پاسخ : سرعت نوشتن در eeprom

              البته نوشتن صفحه ای در حافظه زمانی عملی هستش که کل اطلاعات را اماده داشته باشی

              دیدگاه


                #8
                پاسخ : سرعت نوشتن در eeprom

                سلام دوستان عزیز در انجمن سرچ کردن و به نظرم این موضوع با سوالم بیشتر هماهنگی داشت .
                حالا سوالی که هنوز به نتیجه نرسیدم براش اینه ، کمکی کنید ممنون میشم .
                من با میکرو ATXMega32A4U مداری رو برای خواندن پالس های یک شفت انکودر طراحی کردم . همه چیز درسته مسئله اینکه می خوام فقط مقدار فعلی متغییر که یک عدد اعشاری هست رو در صورت قطعی ناگهانی برق حفظ کنم و این خیلی مهمه که دقیق باشه یعنی بعد از هر تغییر مقدار جدید دوباره باید در eeprom میکرو یا هر چیز بهتری ذخیره بشه که اگر برق قطع شد من آخرین مقدار رو داشته باشم حالا مشکل اینکه این تغییر تقریبا در هر یک میلی ثانیه اتفاق می افته
                سوال اول چطور ذخیره بشه که باعث کند شدن برنامه و از دست رفتن دیتای بعدی نشه ؟
                سوال دوم اگر قرار باشه 3/600/000 بار در هر ساعت نوشتن در حافظه انجام بشه آیا اصلا امکان پذیره ؟ و آیا از مرز تعتداد دفعات نوشتن در حافظه عبور نمی کنه ؟ و اگر خیر تا چند وقت می تونه به این شکل ادامه داشته باشه ؟
                و در آخر شاید اصلا من روش رو اشتباه فهمیدم و راه بهتری وجود داره لطفا راهنمایی کنید
                سپاس
                - به دنبال فرصت عمري تباه کردم ! فرصت جواني ام بود من اشتباه کردم .

                دیدگاه


                  #9
                  پاسخ : سرعت نوشتن در eeprom

                  درود ، از نظر تئوری عمر حافظه ایپرام صد هزار بار هست که البته این عدد متاثر از خیلی شرایط زیادی هست و نمیشه استناد کرد . ولی در این موضوع که عمر حافظه محدود هست شکی نیست و اصلا نمیشه با این سرعت و دفعات شما روی این حافظه ذخیره کنید .

                  در مورد مشابهی در این تاپیک بحث کردیم که مطالعه کنید بد نیست



                  راهکار اینه که ما فقط زمانی نیاز به ذخیره داریم که احتمال قطع برق وجود داره، با روش هایی به نام مدار بلک اوت ، این کار رو انجام میدهیم ، به اینصورت تنها وقتی که خطر قطع برق پیش میاد ما از دستور حافظه استفاده میکنیم

                  دیدگاه


                    #10
                    پاسخ : سرعت نوشتن در eeprom

                    نوشته اصلی توسط Masood Ashoori نمایش پست ها
                    درود ، از نظر تئوری عمر حافظه ایپرام صد هزار بار هست که البته این عدد متاثر از خیلی شرایط زیادی هست و نمیشه استناد کرد . ولی در این موضوع که عمر حافظه محدود هست شکی نیست و اصلا نمیشه با این سرعت و دفعات شما روی این حافظه ذخیره کنید .

                    در مورد مشابهی در این تاپیک بحث کردیم که مطالعه کنید بد نیست



                    راهکار اینه که ما فقط زمانی نیاز به ذخیره داریم که احتمال قطع برق وجود داره، با روش هایی به نام مدار بلک اوت ، این کار رو انجام میدهیم ، به اینصورت تنها وقتی که خطر قطع برق پیش میاد ما از دستور حافظه استفاده میکنیم
                    دوست عزیز سپاس از شما .
                    به نظرتون می تونم یه رله 220 ولتی (یعنی بوبین 220 ولتی ) رو به برق AC بدم و زمانی که خاموش شد از مدار نرمالی کلوز NC اون برای پالس دادن به میکرو استفاده کنم ؟
                    هر چند در این حالت رله باید همیشه روشن بمونه . سنسور AC دیتکتور که فکر میکنم در مدار پیشنهادی بود رو تا به حال استفاده نکردم و ندیدم اون بهتر عمل میکنه ؟
                    - به دنبال فرصت عمري تباه کردم ! فرصت جواني ام بود من اشتباه کردم .

                    دیدگاه


                      #11
                      پاسخ : سرعت نوشتن در eeprom

                      درود، اصل مدار بلک اوت بر پایه تشخیص افت ولتاژ ۵ ولت ( یا بهتر بگم ولتاژ چیپ ) هست که شخصا به ذهنم رسید چرا ۵ ولت رو اندازه بگیریم ، میتونیم با تشخیص قطع ۲۲۰ خیلی زود تر به قطع شدن برق پی ببریم ، دائم بودن جریان رله بوبین ۲۲۰ مشکلی ایجاد نمیکنه و میشه استفاده کرد .
                      برای تشخیص ولتاژ ۲۲۰ ، با یک مقاومت برای کنترل جریان و سپس اتصال به یک اوپتو کوپلر میشه خروجی گرفت . در این تاپیک در این بار صحبت شده مطالعه بفرمایید .
                      سلام شاید سوال مبتدی باشه ولی گفتم بهتره از تجربه دوستان هم استفاده کنم. پروژه های زیادی رو در زمینه رباتیک با آردویینو انجام دادم و تنها از درایور و رله برای ولتاژ های خروجی استفاده کردم. حالا یه پروژه ای برای خودرو طراحی کردم و تقریبا تمومه و مشکل کار اینجاست که ورودی های ما تماما ۱۲ ولت هست. اگه بخوابیم ولتاژ ۱۲ ولت یا

                      دیدگاه

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