Выбор кварца и нагрузочных конденсаторов для микроконтроллера

Я пытаюсь подобрать комбинацию кристалла и нагрузочного конденсатора для микроконтроллера серии atmel UC3C . Целевая тактовая частота процессора, к которой я стремлюсь, близка к максимальной частоте 66 МГц.

Вот конфигурация, которая, как мне кажется, лучше всего подходит для этой цели:

Кристалл 11MHzподключается между XIN0/XOUT0 с соответствующими нагрузочными конденсаторами. Затем используйте PLL, чтобы умножить частоту на 6. Используйте PLL 66MHzв качестве тактовой частоты процессора без деления.

Теперь вот где у меня есть несколько вопросов:

Я проверил множество кристаллов на 11 МГц. Все они имеют стабильность частоты 50 ppm и допуск по частоте 30 ppm. Однако существуют различные СОЭ. Согласно этому источнику , ESR примерно представляет собой объемные потери в кристалле, поэтому лучшим выбором будет более низкое значение ESR. Правильный?

Есть ли существенная разница между тем, как я получаю тактовую частоту процессора 66 Гц?

У меня есть несколько вариантов в дополнение к моему первоначальному выбору множителя PLL, равному 6:

  1. Умножьте 11MHzна 12, затем разделите на 2для выхода PLL 66MHz. Нет делителя тактовой частоты процессора.
  2. Умножьте 11MHzна 24( multiplier = 12, divider = 0). Делитель тактовой частоты процессора 4.
  3. Умножьте 11MHzна 12, PLL divider = 1для 132MHz PLL output. Используйте делитель тактовой частоты процессора 2.

Все они кажутся одинаково допустимыми за вычетом уровня сложности кода для достижения каждого выбора. Должен ли я придерживаться моего текущего предположения «самое простое — лучшее», или одно из этих других решений создает лучшие часы процессора?

Все кристаллы, которые я нашел, 11MHzтребуют нагрузочной емкости 18pF. seriesЕсть ли причина предпочесть одно другому? Я не могу сказать ничего другого между спецификациями (такой же допуск/стабильность частоты, такое же ESR, примерно тот же температурный диапазон). В документации Atmel показаны только конфигурации параллельных кристаллов.

Если я в конечном итоге использую параллельную конфигурацию, насколько близкими должны быть нагрузочные конденсаторы к указанной нагрузочной емкости кристалла?

В техническом описании Atmel приводится уравнение для расчета стоимости каждого нагрузочного конденсатора:

С л Е Икс Т "=" 2 ( С л С я ) С п С Б

C_iуказывается в техпаспорте как 1.7pF. Я не знаю, как вычислить C_{PCB}, но я думаю, что оно больше 0. Это означает, что C_LEXTсамое большее 32.6pF. Есть некоторые 30pF, 32pF, и 33pF 1% C0Gконденсаторы. Я бы подумал, что 30pFконденсаторы - лучший выбор, потому что они все еще относительно дешевы по сравнению с 32pFконденсаторами и не превышают 32.6pFпредела, как самые дешевые 33pFконденсаторы. Прав ли я в своих предположениях и выводах?

Наконец, это хорошая установка? Есть ли другие частотные кристаллы, которые мне следует изучить?

Большинству приложений не требуется точное удержание частоты, если только вы не хотите сохранять часы времени суток. И в любом случае 50 ppm не так уж хороши для хронометража. Требует ли ваше приложение такого уровня калибровки частоты?
Мне не обязательно нужно 50 ppm, но мне нужно что-то лучше, чем могут обеспечить внутренние генераторы. Генератор на 8МГц раскачивается [7.6, 8.4] MHz, что может дать погрешность до ~8%. Кристаллы довольно дешевы, поэтому я решил, что это хороший способ улучшить часы. Кроме того, я использую это как возможность узнать больше о схемах кварцевых генераторов. 50 ppm — практически единственный допуск, который я могу найти на частоте 11 МГц.
Хорошо, мы будем использовать это как опыт обучения. Какое (внешнее оборудование) вы будете использовать для настройки кристалла на правильную частоту?
Насколько я понимаю, как работают кристаллы, мне не нужно много внешнего оборудования для проверки кристалла. Я думал, что кварцевые генераторы просто перестали правильно работать за пределами указанного диапазона допуска или вблизи этого диапазона. Я планировал выбрать компоненты, которые не требовали бы особой настройки, достаточно простой проверки «работает ли это». При необходимости я читал документацию, в которой говорится, что на некоторых AVR часы могут быть выведены на отдельный контакт, который можно прочитать с помощью осциллографа.
Если вы пытаетесь раскачать кварц вне частоты, то это действительно может не сработать. Но так работают генераторы часов. Они будут работать в широком диапазоне частот, и сам кристалл определяет, какой будет частота колебаний. Таким образом, это означает, что по крайней мере одна проблема, о которой вы беспокоились, вообще не будет проблемой.

Ответы (2)

Мое основное понимание нагрузочных конденсаторов (предлагаются исправления) выглядит следующим образом:

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

Итак, вы суммируете все емкости в вашей схеме, а затем добавляете то, что необходимо, чтобы привести ее в соответствие со спецификацией. Мы воспользуемся вашими номерами. Паразитная емкость из-за дорожек на плате, очевидно, будет варьироваться в зависимости от платы, поэтому давайте предположим 1,3 пФ. Число, которое я составил, чтобы соответствовать емкости генератора микропроцессора, заявлено как 1,7 пф. Итак, у нас есть 3 пф параллельно с кристаллом. Кристаллу требуется 18 пФ, поэтому мы должны компенсировать разницу в 15 пФ дискретными частями.

Поскольку два нагрузочных конденсатора соединены последовательно (Gnd->cap->xtal->cap->Gnd), мы удваиваем значение конденсатора до 30 пф. Два последовательно соединенных конденсатора по 30 пф дают нам искомые 15 пф.

Примечание 1. Я попытался найти типичную паразитную емкость печатной платы. Это было по всей карте. Достаточно сказать, что по мере того, как оборудование становится меньше, емкость будет уменьшаться. Многие типовые значения заявлены менее 1 пФ.

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

Примечание 3. Ради интереса поищите «конденсатор для трюков».

Примечание 4. В качестве введения достаточно моего объяснения «места штанов», и этот прием работает во многих случаях, но не везде. Для более подробного ознакомления с принципами ЭЭ, лежащими в основе этих конденсаторов, см. этот ответ .

Если я слежу за вашим мышлением, у вас в гипотетике «4 пФ параллельно с кристаллом», а не 3 пФ.
Хорошо разбирается в концепциях, не очень хорошо в арифметике :) Вы, наверное, первый, кто довел это до конца. Я изменил составленное число, чтобы оно было 3pf, вместо того, чтобы исправлять математику. Спасибо.

Я не тот человек, чтобы спрашивать о предельных значениях нагрузки, но я могу помочь вам с настройками PLL.

Может показаться, что разные настройки множителя/делителя дают одинаковые конечные результаты, но не все они эквивалентны. Если вы посмотрите на рисунок 8-2, стр. 85, в таблицах данных вы увидите упрощенную схему PLL. Что вам нужно знать, так это то, что каждый сигнал в этой PLL имеет как минимальную, так и максимальную частоту. Вход и выход делителя процессора также имеют максимальную частоту.

Хитрость в настройке любого PLL заключается в том, чтобы правильно настроить различные параметры для желаемой выходной частоты, не нарушая ни одного из пределов минимальной/максимальной частоты.

В таблице 40-11, стр. 1257, перечислены характеристики PLL. Диапазон выходных частот от 80 до 240 МГц. Входная частота от 4 до 16 МГц. Обратите внимание, что входная частота является входом для PLL после входного делителя.

Я также могу сказать вам, что вы хотите, чтобы входная частота PLL была как можно выше. Это сделает вашу систему PLL более стабильной и уменьшит джиттер.

В каждом случае входной делитель будет делиться на 1, так как это даст нам самую высокую входную частоту в пределах допустимого диапазона или от 4 до 16 МГц.

Максимальное значение множителя, которое вы можете использовать, равно 21. Потому что 240 МГц / 11 МГц = 21,82. Если множитель был установлен на 22, то выходная частота будет выше, чем макс. 240 МГц. Так что сразу можем выкинуть опцию 24x.

В таблице 40-11 максимальная тактовая частота ЦП указана как 66 МГц. Что меня смущает, так это то, находится ли эта частота перед делителем тактовой частоты процессора или после него. Вероятно, это сказано где-то в даташите, но мне сегодня не очень хочется читать все 1316 страниц. Если максимальная частота 66 МГц находится на входе делителя, вы должны использовать свой вариант № 1: выход PLL составляет 66 МГц, а делитель ЦП = 1.

Но если ограничение в 66 МГц постпроцессорное, то вариант №3 тоже действителен. Вариант № 3 может иметь другие преимущества при тактировании других периферийных устройств, но это выходит за рамки этого ответа.

Если вы сомневаетесь, кажется, что вариант № 1 — ваш лучший выбор.

Я считаю, что 66 МГц действительно является делителем после процессора. В противном случае 120-мегагерцовый RC-генератор никогда не мог бы использоваться в качестве основного источника тактовой частоты. См. рис. 7-2 на стр. 52 и таблицу 7-6 на стр. 60. Недавно я спросил Atmel о часах, и они действительно рекомендуют использовать кварц 12 МГц (очевидно, они более распространены, и в качестве дополнительного бонуса шкалы для работы с другими периферийными часами, такими как интерфейс USB).