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

Глава 2. Общее устройство, организация памяти, тактирование, сброс 41 Во многих моделях контроллеров, если не требуется внешний сброс, вывод RESET может выполнять функции обычного порта ввода/вывода (подобно выводам такти- рования XTAL1 и XTAL2 — о них подробно рассказывалось ранее). С одним толь- ко нюансом — обычно для такого применения приходится режим вывода специ- ально переключать (в отличие от XTAL1 и XTAL2, которые переключаются авто- матически при выборе режима тактирования и подключении к ним внешнего резонатора). У некоторых младших Tiny вывод RESET включен в режим обычного порта по умолчанию. У ATtiny28L при конфигурировании этого контакта на выход он работает как вывод с открытым коллектором, а не как обычный логический эле- мент (о конфигурации выводов портов рассказано в главе 3 ). Для корректного сброса при включении и выключении питания служит встроенная схема BOD (Brown-out Detector), которая обеспечивает время срабатывания поряд- ка микросекунд с задержкой на возврат в рабочее состояние после восстановления напряжения, определяющейся теми же установками, что и задержка сброса (конфи- гурационные ячейки CKSEL0 и SUT ). Для выбора режима работы BOD служат конфи- гурационные ячейки BODLEVEL , с помощью которых можно установить порог сраба- тывания около 4,0 В (в некоторых моделях около 4,3) для питания 5 вольт или око- ло 2,6–2,7 В для питания 3–3,3 вольта. Для предотвращения дребезга BOD имеет гистерезис по напряжению величиной около 50–150 мВ, а также задержку включе- ния около 2 мкс и выключения с типовым значением около 4–5 мс и максимально возможным порядка 65–69 мс. BOD вполне работает при штатных источниках питания — стабилизаторах с низ- ким выходным сопротивлением и рекомендованными емкостями конденсаторов. Но его характеристики могут оказаться недостаточными для обхода дребезга, воз- никающего при снижении напряжения питания всяких других источников (напри- мер, батареек, ведущих себя при истощении заряда очень по-разному, — см. врезку « Подробности» далее). Кроме того, схема BOD повышает потребление в режимах энергосбережения, и документация рекомендует ее в таких случаях отключать (экономия должна составить около 20–30 мкА). Поэтому самый надежный способ организации сброса при включении и выключении питания — установка внешнего монитора питания (супервизора), который подает сигнал сброса на вывод RESET контроллера в момент снижения напряжения питания ниже допустимого порога и снимает его при повышении напряжения обычно с некоторой задержкой. Обратим внимание, что BOD работает от того же самого встроенного опорного ис- точника (ИОН) 1,1–1,3 В, к которому может подключаться аналоговый компаратор и АЦП, и BOD наследует все связанные с этим ошибки (подробно об этом см. в гла- вах 3 и 10 ). Самым популярным монитором питания при питании 5 В когда-то был MC34064, но он уже решительно устарел по одному только уровню потребления (0,5 мА), к тому же имеет неоптимальный порог срабатывания 4,6 вольта. Поэтому лучше использовать более современные компоненты. Выпускают мониторы питания очень многие фирмы в неисчислимом количестве разновидностей, и нужно быть очень внимательным, чтобы не промахнуться, — есть супервизоры, у которых ак-

RkJQdWJsaXNoZXIy MTExODQxMg==