سلام دوستان،من از eeprom داخلی میکرو برای ذخیره کد استفاده کردم اما مشکلی که دارم اینه که خود بخودی eeprom کلا پاک میشه،به نظر شما دلیل خاصی داره؟به کیفیت خود میکرو ارتباطی داره؟ممنونم که کمک میکنید
اطلاعیه
Collapse
No announcement yet.
پاک شدن خودبخود EEPROM در AVR
Collapse
X
-
پاسخ : پاک شدن خودبخود EEPROM در AVR
من سر یه مدار دماسنج که باید مقادیر گرفته شده از کلید رو در e2prom ذخیره می کردم همین مشکل رو داشتم.یهو مقادیر صفر میشد.البته فقط همون یه مدار بود دیگه هم واسم پیش نیومد.
فکر می کنم باید نویزها رو با تکنیکهای رایج مثه گذاشتن سلف و خازن برطرف کرد.
بعد هم اینکه اول هرچی تغییرات داده میشه در یه متغیر معمولی ذخیره بشه بعد از اینکه تغییرات تموم شد در e2prom ذخیره بشه.
البته یادت نره که باید بعد هربار نوشتن و خوندن در e2prom باید حداقل یه waitms 10 بزاری.انا لله و انا الیه الراجعون
-
پاسخ : پاک شدن خودبخود EEPROM در AVR
ممنون از اینکه جواب دادین،من قبلا زیاد از eeprom داخلی استفاده کرده بودم اما این اولین باره که همچین داستانی پیش اومده،البته از فروسنده که پرسیدم دلیل رئ نا مرغوب بودن میکرو عنوان کرد و گفت که باید از میکروی معتبرتری (حداقل از لحاظ قیمت گرونتر) استفاده بشه
دیدگاه
-
پاسخ : پاک شدن خودبخود EEPROM در AVR
سلام
بیشترین عامل بوجود آوردن این مشکل نوسانات تغذیه ناشی از کم آوردن جریان یا عدم اسفاده از رگولاتور یا خازن های دکوپلاژ مناسب برا میکرو هستش
کارهایی که میشه برا رفع این مشکل انجام داد:
1- رفع مشکلات تغذیه
2- استفاده از میکروهای جدیدتر و معتبرتر AVR
3 - فعال کردن Brown out Detect با ولتاژ 2 و نیم ولت
من دقیقا مشکل شما رو با ATMEGA128 داشتم که مورد سومی که نوشتم مشکلم رو حل کرد.
- تشکرها 1
دیدگاه
-
پاسخ : پاک شدن خودبخود EEPROM در AVR
شاید باورتون نشه ولی من حدود 80 تا مگا 8 دارم که رو دستم مونده و جرات نمیکنم تو پروژه هام ازشون استفاده کنم!
بهترین انتخاب تو این رنج مگا 48 و 88 و 168 هستن که تو سال 2009 به بازار اومدن و به نظر من چیپهای معرکه این
تجربه ای که من تو این دو سه سال اخیر داشتم جز خوبی ازشون ندیدم!
البته از هر میکرویی که استفاده میکنین حتما فیوز بیت boadEN رو فعال کنین
موفق باشین
دیدگاه
-
پاسخ : پاک شدن خودبخود EEPROM در AVR
سلام
من این مشکل رو داشتم و با راه حل های زیر تونستم حلش کنم
این نوع از حافظه ها به نویز و زمان نوشتن بسیار حساس هستن من در حین کار دقیقا می دیدم که اعداد یا اشتباهی نشون داده می شدن یا صفر می شدن یا اگر بابت به بایت می نوشتم می شد 255 !!!!
1-زمان نوشتن روی eeprom رو حتما بیش از 10 میلی ثانیه در نظر بگیرین و در خواندن هم به همین صورت
2-در مدار تغذیه میکرو خازن بزرگی رو قرار بدین تا نوسانات ناشی از تغییر ولتاژ به سرعت حذف شده (من با شبکه RC مشکلم به خوبی حل شد یه خازن 1000 میکروفاراد و مقاومت 100 اهم)
3-برد رو پلی گان کنین.
البته میکروهای جدید (خدا نصیبت گرگ بیابان هم نکنه) atmega32 حدود 10تاش افتاد بهمون که خیلی مشکلا عدیده ای داشت که تا هیچ وقت هیج میکروی دیگه اون رو نداشت
الان جدید lcd 16*2 هم بدتر شدن سعی کنین یه نمونه بگیرین و دقیقا با علائمی جنس مناسبش رو پیدا کنین
مثلا من برای خرید lcd 16*2 پشت برد رو می بینم اگر جای یه آی سی 8 پین خالی بود می فهمم قلابی هست . و البته ال سی دیهای lcdstar رو سعی می کنم بخرم.
البته بعد از 6 سال کار آخر الان دارم با میکروچیپ کار می کنم که خیلی از مشکلات و بدیهای avr رو نداره.و قلابیش هم تا الان داخل بازار ندیدم
هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.
دیدگاه
-
پاسخ : پاک شدن خودبخود EEPROM در AVR
طبق تجربه من اگه در زمان نوشتن eeprom قطع برق یا نویز پیش بیاد نوشته ها می پره . قبلا مداری که طراحی کرده بودم با شناسایی قطع تغذیه در مدت کوتاهی که هنوز خازن ها شارژ داره اطلاعات را می نوشت . درست کار می کرد اما اگه چند بار سریع تغذیه را قطع و وصل می کردم اطلاعات می پرید و eeprom خالی می شد . منم بی خیال این روش شدم.
دیدگاه
-
پاسخ : پاک شدن خودبخود EEPROM در AVR
سلام دوست عزیز
همه عزیزان به هر جور سخت افزاری اشاره کردند یک عزیز نگفت مشکل نرم افزاریه، من هم AVR که هفته پیش خریدم و چینی بود رو تست کردم و هم اونی که 5 سال پیش خریدم و تایوانی بود، نمیدونم منظور عزیزانم از میکروهای بی کیفیت چیه، جمع کردن این همه ترانزیستور تو یه چیپ تکنولوژی میخواد که ما نداریم ، اون شرکتی که میکروکنترلر میسازه حتما انقدر پیشرفته هست ، اگر هم بخواد یه چیز خراب تولید کنه اینجا باید هرکس از یه ماژول مینالید نه اینکه چند نفر با EEPROM مشکل داشته باشد، من هم تو EEPROM ای وی ار نوشتم هم تو پی آی سی، اما زبان سطح پایین برنامه مینویسم و عینا طبق توصیه دیتاشیت، شما خودت دستی رجیستر های EEDR,EECR,EEARL,EEARH رو مقدار دادی یا از توابع کتابخونه ای استفاده کردید؟
Good Luck
دیدگاه
دیدگاه