Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру
38 Часть I. Общие принципы устройства и функционирования Atmel AVR есть подозрение, что контроллер тут ни при чем, но в домашних условиях досконально проверить это нереально — нужны лабораторные климатические испытания при низ- ких температурах. Можно только тщательно проанализировать схему на предмет ра- ботоспособности всех компонентов при таких температурах и проверить надежность паек, которые при температурной деформации могут отходить. И все-таки стоит дер- жать возможность отказов в уме и по возможности проводить натурные испытания — не во всех реальных случаях можно теоретически учесть все возможные сочетания причин. Все модели AVR также имеют возможность тактирования от внешнего генератора (рис. 2.3, б ), ограниченного только значением максимальной частоты самого кон- троллера. Сигнал, разумеется, должен соответствовать требованиям к уровням и таймингам сигналов, установленных для контроллера. На практике эта возмож- ность может быть востребована при необходимости строго синхронизировать рабо- ту нескольких контроллеров, а также для получения строго определенной тактовой частоты от внешнего прецизионного генератора. Отметим, что случайная установка в режим работы от внешнего генератора (этот режим у всех AVR задается одинаково — все имеющиеся ячейки CKSEL переводятся в нулевое значение) делает невозможным внутрисхемное программирование кон- троллера. Эта распространенная ошибка новичков — следствие запутанной терми- нологии в установках конфигурационных ячеек и, как следствие, разнобоя их уста- новок в разных программаторах. Подробнее этот вопрос мы обсудим в главах 4 и 5 , а здесь заметим, что паника в этом случае совершенно необоснованна, — если кри- сталл перестал откликаться, соберите любой внешний генератор из деталей, кото- рые есть под рукой (подробнее об этом рассказано в главе 5 ). А вообще-то все рав- но следует обзавестись готовым цифровым генератором (о чем речь пойдет в гла- ве 4 ) — он и в работе с Arduino требуется очень часто. Еще одна возможность тактирования связана с использованием внешней RC-це- почки, подключаемой к выводу XTAL1 (рис. 2.3, в ). Заметим, что этот способ дос- тупен не у всех моделей (в частности, у ATtiny2313 такая возможность отсутству- ет). Он задействуется в случаях, когда стабильность частоты не важна, а возможно- сти встроенного генератора по какой-либо причине вас не устраивают. Частота при таком подключении рассчитывается по примерной формуле f ≈ 1/3RC. Из ограни- чений на элементы R и C (R в диапазоне 3,3–100 кОм, минимальное значение C = 22 пФ) вытекает, что максимальная частота, достижимая таким способом, равна примерно 5 МГц. З АМЕТКИ НА ПОЛЯХ Интересное применение этого способа тактирования МК — динамическая подстройка частоты в системах измерения, регулирования и контроля. Например, когда ваш МК задействован в системе управления синхронным двигателем или генератором, рабо- тающим с частотой бытовой сети, может потребоваться точная синхронизация управ- ляющих сигналов с сетевой частотой 50 Гц. В этом случае несложно заменить сопро- тивление R на регулируемый извне преобразователь «частота — значение тока» и получить простую в налаживании аналоговую автоподстройку вместо долгой возни с алгоритмами цифрового регулирования частоты и фазы. Разумеется, при точно не известной и тем более переменной тактовой частоте некоторые функции МК будут не- доступны (передача по UART, например), но в таких ситуациях они, как правило, и не требуются.
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==