Тактирование системы

 

Если вы проектировали схемы тактовых генераторов для микропроцессоров, то вы будете приятно удивлены, когда начнете разрабатывать такие схемы для микроконтроллеров. Микроконтроллеры построены так, что требуют минимального числа внешних элементов для генерации тактовых импульсов.

Большинство микроконтроллеров способны работать в очень широком ди­апазоне частот: от нуля до десятков мегагерц. Это возможно благодаря исполь­зованию полностью статической логике. Некоторые разработчики используют тактовую частоту в 1 Гц и менее при отладке программного обеспечения. Ши­рокий диапазон возможных рабочих частот позволяет разработчику лучше на­строить микроконтроллер на выполнение конкретных заданных функций.

Существует три способа задания тактовой частоты микроконтроллера, каждый из которых имеет свои достоинства и недостатки. Первый способ - использование кварцевого резонатора, подключенного согласно схеме на рис. 2.12. Этот способ позволяет очень точно задать тактовую частоту микроконт­роллера (разброс частот обычно составляет не более 0,01%). Такой уровень точности требуется для организации интерфейса микроконтроллера с други­ми устройствами или обеспечения точного хода часов реального времени.

Номиналы емкостей конденсаторов в данной схеме определяются произ­водителем микроконтроллера для конкретной резонансной частоты кварца. Иногда требуется включить резистор большого номинала (порядка нескольких МОм) между выводами Clk0 и Clk1, чтобы генератор работал стабильно. Часто производитель советует использовать переменный конденсатор, подключаемый к выводу Clkl, чтобы обеспечить возможность точной подстрой­ки частоты.

 

Рис. 2.12 - Тактирование с использованием кварцевого резонатора.

 

Многие разработчики не любят использовать в своих схемах какие-либо переменные элементы. Если разброс частот не соответствует заданным тре­бованиям, то можно использовать другие схемы синхронизации.

При использовании малых емкостей тактовые импульсы будут иметь луч­шую форму. Если вы включите слишком большие емкости, то это приведет к деградации формы импульсов, и микроконтроллер не будет запускаться. Если вы не уверены в правильности выбранных значений емкостей, то проверь­те форму тактовых импульсов при помощи осциллографа. Их форма должна быть похожа на верхний рисунок 2.14.

Если схема перегружена из-за включения слишком большой емкости, то форма импульсов будет похожа на нижний рисунок 2.14, или вместо им­пульсов вообще будет постоянное напряжение на уровне примерно Vdd/2.

Два основных недостатка этого способа синхронизации - необходимость подключения дополнительных компонентов и хрупкость кристаллов кварца Оба этих недостатка могут быть устранены, если использовать керамический резонатор. Керамические резонаторы существенно более стойки к ударной нагрузке, и многие из них имеют встроенные конденсаторы, вследствие чего количество требуемых внешних компонентов уменьшается с трех до одного. Керамические резонаторы обычно имеют разброс частот порядка нескольких десятых процента (около 0,5%)

Следующий способ синхронизации - использование RC-генератора. В этом случае необходимая частота тактовых импульсов задается путем соответству­ющего выбора постоянной времени RC-цепи (рис 2.15). Это самый дешевый способ задания частоты, но, к сожалению, наименее точный. Если кварц обеспечивает поддержание частоты с точностью в тысячные доли процента, керамический резонатор - в десятые доли процента, то RC-цепь дает точ­ность порядка десятков процентов. Так, при экспериментах с микроконтрол­лерами PIC было установлено, что точность RC-генератора составляет при­мерно 20%. Очевидно, что это неприемлемо для многих приложений, где требуется точный подсчет времени. Однако имеются области применения, где такая точность является вполне достаточной.

 

 

Рис. 2.13 - Хорошая и плохая формы импульсов для микроконтроллера PICMicro.

 

Рис. 2.14 - Подключение RC-цепи для генерации тактовых импульсов.

 

Нет общей формулы расчета номиналов резистора и конденсатора для этого типа генератора. Причиной этого являются нелинейные внутренние цепи микроконтроллера. Значения R и С, обеспечивающие требуемую частоту син­хронизации, можно найти в руководстве по применению микроконтроллера.

Большое преимущество этого способа синхронизации частоты - низкая цена. Точность задания тактовой частоты можно повысить, исполь­зуя переменные резистор или конденсатор. Однако при этом сложность и цена генератора увеличатся.

Другой способ синхронизации - это подача тактовых импульсов от внеш­него генератора. Как указано выше, микроконтроллеры работают в широком диапазоне частот. При помощи внешнего тактового генератора можно задать любую частоту синхронизации.

Некоторые микроконтроллеры содержат встроенные RC или кольцевые генераторы, которые позволяют микроконтроллеру работать без внешних схем синхронизации. Работа внутреннего генератора обычно разрешается путем со­ответствующего программирования регистра конфигурации, которое произ­водится вместе с программированием памяти программ микроконтроллера.