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

36 Часть I. Общие принципы устройства и функционирования Atmel AVR включена только от встроенного или внешнего генератора. Режим работы от «часового» кварца может понадобиться лишь в исключительных случаях — потребление кристал- ла при этом падает менее, чем до 100 мкА, оказывается удобно отсчитывать проме- жутки времени с большой точностью, но и множество функций остаются за пределами возможностей (например, при такой частоте невозможно «завести» последовательный порт UART со стандартными значениями скорости обмена). Заметим, что у некоторых моделей (например, у ATtiny2313 — как бы в компенсацию невозможности подключе- ния «часового» кварца) имеется еще отдельный внутренний генератор 128 кГц. В та- ком режиме потребление тоже падает примерно до 100 мкА, но к нему также относят- ся все оговорки относительно работы на «часовой» частоте. Более подробно целе- сообразность эксплуатации контроллеров на сверхнизких частотах мы рассмотрим в разд. «Потребление МК AVR» главы 4 . В большинстве моделей Mega имеется специальный конфигурационный бит CKOPT , который позволяет регулировать потребление. При установке этого бита в 1 (неза- программированное состояние) размах колебаний генератора уменьшается, однако при этом сужается возможный диапазон частот и снижается общая помехоустойчи- вость, поэтому при высоких частотах рекомендуется сменить этот режим на пол- ный размах ( CKOPT = 0 ). Автору этих строк удавалось запускать МК на нестандартных частотах, используя вместо кварца в том же подключении миниатюрную индуктивность (при ее значе- нии 4,7 мкГн и емкостях конденсаторов 91 пФ частота получается около 10 МГц). З АМЕТКИ НА ПОЛЯХ При тактировании от кварцевого резонатора возникает законное желание получить максимальную точность отсчета промежутков времени. При этом надо учитывать, что кварцевые резонаторы бывают очень разные. Погрешность порядка 10 -4 , которую поч- ти гарантированно можно получить от любого кварца, кажется очень маленькой, и для огромного большинства применений это так и есть — ни одну физическую величину, кроме времени, вы в домашних условиях с такой точностью (0,01%) не измерите. Но сама по себе эта величина погрешности не так уж и хороша — часы с такой точностью будут уходить на минуты в месяц, что уже почти неприемлемо. Так что при необходи- мости получить более высокую точность смотрите, что приобретаете, — при прочих равных можно ожидать, что кварц в полноразмерном корпусе HC-49U будет точнее и стабильнее, чем в обычном низком «гробике» HC-49S (проверить это можно по доку- ментации на конкретную марку). Кроме того, стабильность зависит от схемы генерато- ра, над которой вы тут не властны. Поэтому, чтобы гарантированно получить точный отсчет времени, лучше употреблять не простые кварцевые резонаторы, а готовые прецизионные кварцевые генераторы, которые гарантируют точность и стабильность частоты (самые популярные выпускает фирма Epson). Вторая возможность тактирования, наличествующая у всех без исключения совре- менных Tiny и Mega, — от встроенного RC-генератора (Internal RC Oscillator). Она не требует внешних элементов, потому включена по умолчанию. Для работы от внешнего кварца следует не забывать перестроить конфигурацию fuse-битов, иначе вы можете быть весьма удивлены результатами работы, например, таймеров. А вот возможные частоты этого встроенного генератора могут отличаться у разных моде- лей. У «наших» моделей Mega (т. е. тех, на которые мы будем преимущественно ориентироваться в этой книге) — можно выбирать из ряда: 1, 2, 4 и 8 МГц (1 МГц по умолчанию), у Tiny2313 — из двух значений: 4 и 8 МГц (8 МГц по умолчанию).

RkJQdWJsaXNoZXIy MTExODQxMg==