مدیریت توان:
یکی از قابلیتهای مهم میکرو کنترلرهای AVR مدیریت توان میکرو می باشد که مدهای مختلفی دارد که به بررسی انواع آن می پردازیم.
معرفي مدهاي SLEEP
1.مد IDLE :
كلاك CPU متوقف مي شود.
ميكرو به SPI, ANALOG CAMPARATOR, ADC TIMER/COUNTER,WATCHDOGو وقفه هاي سيستم اجازه كار مي دهد. برای بیدار نمودن CPU در این مد می توان از وقفه های خارجی و داخلی مانند سرریز تایمر،وقفه مربوط به USART و...بیدار نمود.
2.مدکاهش نویز (ADC NOISE REDUCTION)
- كلاك هاي FLASH,I/O,CPU را به حالت مكث مي برد.
- جهت كاهش نويز سيستم در زمان نمونه برداري ADC طراحي شده.
- باعث تبديل با وضوح بيشتر ADC مي شود.
- با فعال بودن ADC ، وارد شدن به اين مد باعث شروع نمونه برداري ADC از سيگنال آنالوگ مي شود.
- وقفه اتمام تبديل ADC ،وقفه ريست خارجي ، وقفه خارجي INT2 ،ريست WATCHDOG ، وقفه تايمر 2 ،وقفه آمادگي EEPROM ميكرو را از اين مد خارج مي كنند.
3 .مد :POWER- DOWN
-اسيلاتور خارجي متوقف مي شود.
-وقفه هاي خارجی، 2wireو WATCHDOG اگر فعال شده باشند به عملياتشان ادامه مي دهند.
-ريست خارجي ، ريست WATCHDOG ، وقفه خارجي INT2 ،ريست BROWN-OUT ،،وقفه خارجي حساس به سطح INT0 و INT1 مي توانند ميكرو را از اين مد خارج كنند
4 .مد :POWER- SAVE
اين مد با مد POWER-DOWN يكسان است.
با اين تفاوت كه :
در اين مد، تايمر/ كانتر دو مي تواند با يك شدن بيت AS2 در رجيستر ASSRبه صورت غير همزمان كار كند.
زماني كه تايمر/ كانتردو در مد غيرهمزمان استفاده نمي شود مد POWER-DOWN ترجيح داده مي شود.
5 .مد :STANDBY
اين مد در حالتيكه ميكرو با كريستال يا نوسانگر خارجي كار مي كند معتبر است. اين مد با مد POWER-DOWNيكسان است.
با اين تفاوت كه:
- در اين مد كريستال خارجي قطع نمي شود .
- ميكرو پس از گذشت 6 كلاك سيكل از اين مد بيدار مي شود.
6 .مد EXTENDED-STANDBY
اين مد در حالتيكه ميكرو با كريستال يا نوسانگر خارجي كار مي كند معتبر است.
اين مد با مد POWER-SAVEيكسان است.
با اين تفاوت كه:
- در اين مد كريستال خارجي قطع نمي شود .
- ميكرو پس از گذشت 6 كلاك سيكل از اين مد بيدار مي شود.
نکته:
زمانیکه AVR از مد Sleep بیدار می شود محتویات فایل رجیستر و SRAM ثابت می مانند.
رجیستر مربوط به Sleep :
رجیستر کنترل MCU (MCUCR)k
Bit 7 – SE: Sleep Enable
این بیت برای فعال سازی Sleep می باشد.
Bits 6...4 – SM2..0: Sleep Mode Select Bits 2, 1, and 0
توسط این سه بیت می توان مد Sleep را انتخاب نمود.در شکل زیر محوه انتخاب آنرا نمایش می دهد.
در جدول زیر منابع بیدار کردن MCU در مدهای مختلف را نشان می دهد.(ATmega32 )