Сайт "Электронщики" - скорая помощь для радиолюбителей. Здесь вы можете задавать вопросы и получать на них ответы от других пользователей.
Грамотно отвечайте, голосуйте, задавайте вопросы и т.о. зарабатывайте себе рейтинг.

Для чего микроконтроллерам нужен кварцевый генератор

+1 голос
Доброе всем время суток.

Вот, занялся изучением устройства цифровой техники. Не подскажите ли, для чего микроконтроллерам нужен кварцевый генератор? По логике-то вроде для отсчитывания времени, то есть для того, чтобы проц понимал, в какие моменты времени ведется считывание бита (ноль или единица), я прав?

Или посоветуйте  литературу, где это все описывается доступным языком, а то я пока конкретики нигде не увидел, больше путаницы.

Спасибо.
13 Сен, 16 от &Ray (4,850 баллов) в категории Микроконтроллеры

2 Ответы

+1 голос
Есть понятие тактирования. Грубо говоря для правильной работы микроконтроллера все внутренние действия должны быть синхронизированны по времени. Синхронизация проводится по тактоым сигналам(они, сигналы, не только в микроконтроллерах применяются) генерируемым тактовым генератором. Это один из элементов контроллера и он может за основы бюрать разные источники частоты. Как правило в микроконтроллерах тактовый генератор может работать от внутреннего RC контура, внешнего сигнала частоты, внешнего кварца. Внутренне тактирование Реже применяется из-за ограничения получаемой частоты тактирования и снижения в результате производительности микроконтроллера.
14 Сен, 16 от Petrovi4 (95,370 баллов)
+1 голос
Кварц интересен тем что резонирует на определенной частоте и эта частота достаточно стабильна при изменениях температуры и проч и определяется механическими свойствами кристалла. Это делает кварц источником стабильной частоты, которая используется как тактовый сигнал с известными параметрами.

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

Как правильно замечено, одно из применений - определение в какие моменты что. Актуально для интерфейсов типа UART: поскольку там нет выделенного сигнала CLK (clock передатчика), "часы" приемника и передатчика должны достаточно хорошо совпадать. Иначе приемник примет не то что передавал передатчик.

Другое очевидное применение - таймер. Допустим мы меряли время между какими-то событиями. И узнали что между событиями было 50 тактов, в терминологии тактов блока таймера. Но чему это время равно в понятных человеку единицах? Если допустить что тактовый сигнал с кварца использовался напрямую блоком таймера - тогда это 50 периодов частоты кварца. И становится несложно пересчитать интервал в более удобоваримые секунды, например. Это будет 50 * (1/частота кварца) секунд. Реально может быть чуть сложнее. Например блок таймера может использовать как тактовый сигнал частоту кварца умноженную или деленную на что-то. Но общая идея остается.

Иногда без кварца можно обойтись. Некоторые микроконтроллеры могут тактировать свои операции от встроенного RC-генератора. Это позволяет немного сэкономить на кварце. Однако у встроенного RC-генератора плохая точность и он меняет частоту например при изменении температуры. Допустим мы хотим сделать из МК самые обычные часы. Но точность RC генератора может быть допустим 2%. Для каких-то нужд этого хватит, но для самых обычных часов это означает что возможна ошибка почти полчаса в сутки!!! Кому и зачем будут нужны столь никудышные часы? Кварц при тех же условиях обеспечит ошибку лишь несколько секунд  в сутки. Поэтому там где требуется какая либо точность измерения времен - кварц придется использовать. Можно и не кварц - на тактовый вход МК зачастую допустимо подавать например внешний тактовый сигнал от чего-то еще (тактового генератора, другой части схемы, ...). Кварц просто простой и дешевый способ получения стабильной частоты которую дальше можно использовать как основу для синхронизации и для точных замеров времени.
28 Сен, 16 от аноним