Можете ли вы выбрать любой кристалл для микроконтроллера PIC?

8

Я использую PIC16F690, и я знаю, что внутренний генератор имеет определенные значения (20,8,4 ...).

Я хотел бы поставить внешний кристалл 8 МГц, но я мог найти только 8,8 МГц или 7,6 МГц.

Я хотел бы знать, возможно ли поместить любой из них в PIC, или это должно быть точно 8 МГц? Кроме того, как выбрать конденсаторы для каждого?

Curnelious
источник

Ответы:

10

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

Кристаллический драйвер большинства PIC (я не смотрел ваш PIC специально, это ваша работа) может быть установлен на три разных уровня диска, обычно называемые LP (низкая мощность), XT (кристалл) и HS (высокая скорость). Более медленные используют меньше энергии, но также имеют более низкую максимальную частоту кристалла, которую они могут поддерживать. Режим HS может вызвать перегрузку и повредить чувствительные низкочастотные кристаллы 32768 Гц, которые используются в наручных часах. Вместе три уровня кристалл-привода охватывают диапазон от нескольких десятков кГц до 20 МГц, что является самым быстрым, что PIC может работать в любом случае.

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

Олин Латроп
источник
Большое спасибо . Моя проблема заключалась в том, что внутренний генератор давал мне часы инструкций 0,47us вместо 0,5us - для 8 МГц. так что я думаю, что ВНЕШНИЙ осциллятор будет более точным. это правда? Другое дело, я не мог понять, как установить предохранители для этого F?
2013 г.
4
@Curn: Да, внешний кристалл будет более точным, чем внутренний генератор. Даже дешевые кристаллы хороши для 50 частей на миллион, а 20 частей на миллион обычно доступны не слишком много денег. Что касается параметров конфигурации, они все хорошо описаны в таблице. Для кристалла 8 МГц вы захотите использовать режим HS.
Олин Латроп
8

Предполагая, что вы не превышаете спецификацию тактовой частоты в кремнии, запрограммированных предохранителях и коде приложения, вы можете использовать любой кристалл, который вам нравится. Таблицы объяснят, какие конденсаторы использовать.

Игнасио Васкес-Абрамс
источник
3
Стоит отметить, что изменение тактовой частоты также изменит вычисления для таких вещей, как скорость передачи данных и интервальные таймеры. Это кажется очевидным, но это легко забыть.
Скотт Уиндер
@ Скотт: Только если вы пишете безответственный код с жестко закодированными делителями скорости передачи. При правильном кодировании вы меняете одно число, которое является частотой генератора, и все автоматически получается из этого во время сборки, с конечно же проверкой ошибок на невозможность или случаи вне диапазона. Вы правы в том, что вы должны помнить, чтобы изменить одно число, хотя.
Олин Латроп
1
@OlinLathrop: Я согласен с вами в случае небольших изменений частоты. Однако радикальные изменения частоты могут потребовать модификации пре- и / или постскалярного генератора скорости передачи, чтобы поддерживать промежуточные частоты в рекомендованном диапазоне. Со стороны таймера некоторые переключатели тактовой частоты могут привести к переполнению, а любая другая частота даст вам другое разрешение тактовой частоты, поэтому изменение счетчиков таймера (с использованием макроса частоты) является лишь частью решения. Часы таймера также могут нуждаться в модификации для достижения требуемой точности и длины.
Скотт Уиндер,
1
@ Scott: Но это все, что либо рассчитывается во время сборки, либо, по крайней мере, проверяется. Если вы жестко запрограммировали что-то вроде прескалера (как правило, не обязательно) и новая частота команд не поддерживает то, что вы хотите сделать, тогда код времени сборки выдаст ошибку, чтобы предупредить вас. Если он может справиться с этим, он молча делает это. Нет оправдания тому, что изменение частоты тихо вызывает проблему. Это просто плохое кодирование.
Олин Латроп
@OlinLathrop: я не согласен. Я просто подчеркиваю, что это не всегда так просто, как изменить одно число, даже в случае хорошего кодирования. В любом случае это то, на что нужно обратить внимание при изменении частоты.
Скотт Уиндер
0

Как указано в спецификации, вы можете использовать генератор с частотой до 20 МГц. Для конденсатора в техническом описании вам может быть сказано, что вы используете, какого типа из них, но для количества конденсатора вы должны использовать свой опыт.

Рох
источник
1
Хотя «опыт» - это всегда хорошо, но требуемая емкость нагрузки зависит от кристалла и должна быть указана в паспорте кристаллов. Это связано с частотой параллельного резонанса. Также следует принимать во внимание паразитную емкость от выводов и следов uC.
Откр.
@ Rev1.0 Отлично и спасибо! я голосовал за тебя Например, я увидел этот лист данных : html.alldatasheet.com/html-pdf/236074/CRYSTEKCRYSTAL/CYSDXX/… справа от него вы можете увидеть таблицу (Стандартный номер детали). я должен использовать это для выбора конденсатора? например для 16 мГц я должен использовать конденсатор 20 пф?
Ро
1
Нет, данная емкость нагрузки является общей требуемой емкостью, а не значением для обоих конденсаторов. Рассчитайте CX = 2 * (CL - Cstray), где CX - требуемый конденсатор, CL = 20 пф, а Cstray зависит от вашей конструкции (около 2-5 пф).
Откр.
1
Cstray - это емкость выводов микроконтроллера (паспорт) + паразитная емкость трасс на вашей плате (может быть аппроксимирована с учетом длины, ширины и слоя трасс). Если это просто для хобби проекта, возьмите 5pf и, вероятно, все будет в порядке.
Rev1.0
1
Прочитайте и поймите это :). «Если Cin и Cout не указаны, то хорошее значение 5 пФ для каждого является хорошим началом».
Rev1.0