Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру

90 Часть 1. Общие принципы устройства и функционирования Atтel А VR встроенного генератора, хотя не забудем, что последнее осуществляется гораздо проще и без дополнительных компонентов на плате. График, показанный на рис. 4.9, может пролить свет на заманчивую на первый взгляд возможность кардинально снизить потребление при работе на сверхнизких частотах. Действительно, потребление снижается до уровня десятков микроампер, что уже вполне приемлемо для батарейного питания : от щелочных батареек ААА, имеющих емкость около 1 500 мА · часов, такой контроллер сам по себе проработает около трех лет. Но следует при этом принять во внимание, что многие функции окажутся недоступными (работа через UART, например), а выполнение других операций замедлится настолько, что они окажутся бесполезными, - скажем, будет практически невозможной работа с LСD-дисплеем, под вопросом запись во внеш­ нюю память и т. д. 70 65 60 � 55 � 50 45 40 ATmega8A --- 2 5 3 ACTIVE SUPPLУ CURRENT vs. Vcc EXTERNAL OSCILLATOR, 32 kHz � ..- - 3 5 4 Vcc (V) � / 4 5 / 25 'С v / 5 5.5 Рис. 4.9. График зависимости тока потребления от напряжения питания для ATmega8A при работе от внешнего кварца на тактовой частоте 32 кГц Потому и с точки зрения нормального функционирования контроллера, и с точки зрения экономии энергии куда выгоднее использовать режимы энергосбережения при обычной частоте тактирования от внешнего кварца в пределах 1 - 1 6 МГц. ПОДРОБНОС ТИ Давайте подтвердим эти соображения ориентировочным расчетом. Если подсчитать количество энергии , приходящейся на один такт работы контроллера, то при 8 МГц тактовой частоты и 5 вольтах питания (см. рис. 4.7) оно окажется примерно равным 5 мА х 5 В х 1 25 нс = 3, 1 25 нДж, а при 32 килогерцах (рис. -4.9) - 65 мкА х 5 В х 30 мкс = = 1 0 нДж, т. е. в три раза больше. Программа продолжительностью в 1 00 тактов по­ требует в первом случае затрат около 0 , 3 мкДж, а во втором - около 1 мкДж, причем в первом случае она займет время 1 2 ,5 мкс, а во втором - целых 300 мкс. Остальное время контроллер тоже потребляет, но если мы применим во втором случае энерго­ сбережение, то теоретически можем свести потребление в паузах до совершенно не-

RkJQdWJsaXNoZXIy MTExODQxMg==