Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Моделирование низкочастотных кварцевых резонаторов
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Вопросы аналоговой техники
Navuhodonosor
Столкнулся с проблемой запуска встроенного в PIC-контроллер генератора на кварце 36 кГц. Решил рассмотреть проблему с теоретической стороны, чтобы понять, как преодолеть проблему.

Открываю Multisim и вижу в нём к примеру модель R38-32.768kHz, открываю параметры модели и вижу вот такое:

* EWB Version 4 - CRYSTAL Model
* LS= 0.007 CS= 3.5e-015 RS= 18000 CO= 1.7e-012
LS 1 3 0.007
CS 3 4 3.5e-015
RS 4 2 18000
CO 1 2 1.7e-012

Прошу обратить внимание на 2 обстоятельства.

1) RS = 18 k !!!!!!!!!!
2) Анализ индуктивно-ёмкостных параметров показывает, что последовательный резонанс модели лежит выше 20 МГц (модель неверная?).

Я попытался выставить параметры LS и CS так, чтобы частота последовательного резонанса хотя бы приблизительно соответствовала 32768. При этом, чтобы резонанс был хорошо виден, я уменьшил RS до 1 Ома:

* EWB Version 4 - CRYSTAL Model
* LS= 0.007 CS= 3.5e-015 RS= 18000 CO= 1.7e-012
LS 1 3 0.7
CS 3 4 3.35e-011
RS 4 2 1
CO 1 2 1.7e-012

Теперь, если включить кварц по вот такой схеме:
Нажмите для просмотра прикрепленного файла,

то АЧХ будет вот такой:
Нажмите для просмотра прикрепленного файла.

Но если восстановить значение RS до исходного, то получится вот такая штука:
Нажмите для просмотра прикрепленного файла.

Как и следовало ожидать, добротность контура резко ухудшилась.

Реальный генератор на кварце 36 кГц не запускается или запускается через пень-колоду.
В параметрах реальных кварцев RS ставят даже хуже, чем 18k, есть и 35k.

Так как генераторы вообще могут работать при таких параметрах? Тем более, держать стабильную частоту? Что-то не то в моделях.
У моделей кварцев на мегагерцовый диапазон - всё нормально в параметрах. Например:

* EWB Version 4 - CRYSTAL Model
* LS= 1.6 CS= 7e-015 RS= 500 CO= 4e-012
LS 1 3 1.6
CS 3 4 7e-015
RS 4 2 500
CO 1 2 4e-012

Хотя RS 500 Ом, это всё же не 18 k и более.

Хотелось бы услышать кого-то. кто успешно делает кварцевые генераторы на частоты порядка 32768.
Jurenja
А откуда такая схема измерения параметров кварцевого резонатора? Правильно использовать в AC анализе источник тока, включенный параллельно резонатору.
Схема Пирса прекрасно работает с часовыми кварцами. Возможно параметры схемы генератора контроллера непригодны для использования вместе с часовыми кварцами. При моделировании в tran анализе нужно ограничивать максимальный шаг моделирования на уровне не более ~1/100...1/200 от периода сигнала. И параметр точности reltol нужно делать на несколько порядков меньше.
Navuhodonosor
Я не параметры измеряю, схема дана для наглядности. Поскольку в модели используются обыкновенные конденсаторы и катушка индуктивности. Источник напряжения с большим сопротивлением на выходе - это почти что источник тока.

Ну да, ну да, схема Пирса. Она самая.

Для встроенного таймера используется абсолютно тот же участок чипа, если можно так выразиться, на те же контакты часовой кварц вешается.
У меня получилось так, что на одном и том же PIC работали 3 варианта реализации при одной и той же схеме. А вот 4-й вариант вдруг заартачился.

Вот поэтому я и заинтересовался, что может быть не так.

Я, кстати, поставил для контроля кварц на 10 МГц - и всё завелось с полпинка.
Jurenja
Цитата(Navuhodonosor @ Sep 11 2015, 11:52) *
Источник напряжения с большим сопротивлением на выходе - это почти что источник тока.
В вашей тестовой схеме резистор 18 кОм, а для часового кварца это практически закоротка.
Цитата(Navuhodonosor @ Sep 11 2015, 11:52) *
Я, кстати, поставил для контроля кварц на 10 МГц - и всё завелось с полпинка.
А какие кварцы для этого контроллера "разрешены" в даташите?
Navuhodonosor
Цитата(Jurenja @ Sep 11 2015, 12:59) *
В вашей тестовой схеме резистор 18 кОм, а для часового кварца это практически закоротка.
А какие кварцы для этого контроллера "разрешены" в даташите?

Почему закоротка? У него в параметрах написано RS = 18 k. Так что такое же. А что, инвертор, который стоит внутри чипа - это источник тока? По-моему, нет.

По частотам нет ничего внятного в даташите. Есть только упоминание в одном месте, что мол для PLL неплохо подавать от 4 МГц. Однако у меня работало и на 36 кГц.

Как уже написал, для таймера использоуется абсолютно тот же встроенный инвертор. Меняется только схема управления, биты управления.
Jurenja
Цитата(Navuhodonosor @ Sep 11 2015, 12:32) *
Почему закоротка? У него в параметрах написано RS = 18 k. Так что такое же. А что, инвертор, который стоит внутри чипа - это источник тока? По-моему, нет.
Если пытаться с помощью источника напряжения и последовательного резистора иммитировать источник тока, то сопротивление этого резистора д.б. хотя бы на несколько порядков больше сопротивления исследуемой цепи. RS в параметрах кварцевого резонатора это сопротивление потерь. Его величина, совместно с другими параметрами эквивалентной схемы, влияет на добротность резонатора. Но эта величина никак не определяет какое сопротивление правильно применять в вашей тестовой схеме при моделировании частотных свойств резонатора.
Инвертор в схеме Пирса играет роль ОТА - операционный трансимпедансный усилитель. Это такой усилитель, у которого входным сигналом является напряжение, а выходным - ток. Да, n- и p-канальные транзисторы в инверторе с т.зр. аналоговых схем являются источниками тока.
Цитата(Navuhodonosor @ Sep 11 2015, 12:32) *
По частотам нет ничего внятного в даташите. Есть только упоминание в одном месте, что мол для PLL неплохо подавать от 4 МГц. Однако у меня работало и на 36 кГц.
Как уже написал, для таймера использоуется абсолютно тот же встроенный инвертор. Меняется только схема управления, биты управления.
Всё-таки в даташите написана минимальная частота для резонатора. Всё частоты, которые меньше - это ваши риски. Кроме параметров инвертора на работу генератора влияет величина резистора обратной связи и емкости на входе и выходе инвертора. Если резистор встроенный, то увеличить его величину вы не сможете. А для часовых кварцев величина этого резистора обычно большая - единицы, десятки и более МОм.
Navuhodonosor
Это всё замечательно, но не даёт ответа на вопрос, почему реализация №4 не работает.

Насчёт рисков.
Если бы тот же узел не использовался для кварца 32768, то я бы мог допустить, что схема не работает в принцие на таких частотах.
Я пробовал запустить таймер, результат - аналогичный.

Параметры кварца в исходной базе Multisim правильные или что это такое?

Хорошо, вот результат с источником тока с модифицированными мною параметрами:
Нажмите для просмотра прикрепленного файла

Те же ***, только в профиль.

А вот - для исходных параметров кварца из базы:

Нажмите для просмотра прикрепленного файла.

Как говорится, судите сами.

Либо модель не верна, либо параметры.
Jurenja
Какой у вас шаг по частоте в AC анализе?
Скорее всего слишком большой. Если добротность часового кварца ~100к, то ширина всплеска на АЧХ на резонансной частоте будет ~32768кГц/100К ~=0.3 Гц (!)
Если какая-то реализация не работает, то это значит что не выполнены условия возбуждения генератора. Причин много.
Navuhodonosor
Цитата(Jurenja @ Sep 11 2015, 15:28) *
Какой у вас шаг по частоте в AC анализе?
Скорее всего слишком большой. Если добротность часового кварца ~100к, то ширина всплеска на АЧХ на резонансной частоте будет ~32768кГц/100К ~=0.3 Гц (!)
Если какая-то реализация не работает, то это значит что не выполнены условия возбуждения генератора. Причин много.

Ну какая может быть добротность при RS=18 кОм и при таких параметрах LS и CS? Смешная. Посчитайте на досуге по данным, что я привожу.

У меня получается типа 8.

Модель неверная. Я потому и спрашиваю, кто-нибудь моделировал это? Получал на модели генерацию? А не общие рассуждения.
Jurenja
Тоже посчитал добротность, по вашим данным.
Q=Zcs/RS
Zcs=1/(F*CS)
Q=1/(R*F*CS)=1/(18e3*32768*3.5e-15)=1/(2064384e-12)=1/2.06e-6=0.48e6= 480000 (четыреста восемьдесят тысяч). Как у вас получилось 8?

PS. Моделировал. Получал генерацию. И на моделировании, и в жизни.
PS2. Модель вполне верная.

PS3. В формуле пропустил 2PI: Zcs=1/(2*3.14*F*CS), поэтому результат будет не 480000, а ~77000. Виноват, немного ошибся...
Navuhodonosor
Цитата(Jurenja @ Sep 11 2015, 16:16) *
Тоже посчитал добротность, по вашим данным.
Q=Zcs/RS
Zcs=1/(F*CS)
Q=1/(R*F*CS)=1/(18e3*32768*3.5e-15)=1/(2064384e-12)=1/2.06e-6=0.48e6= 480000 (четыреста восемьдесят тысяч). Как у вас получилось 8?

PS. Моделировал. Получал генерацию. И на моделировании, и в жизни.
PS2. Модель вполне верная.

PS3. В формуле пропустил 2PI: Zcs=1/(2*3.14*F*CS), поэтому результат будет не 480000, а ~77000. Виноват, немного ошибся...


Как я показал, да и можно посчитать из данных модели, частота настройки предложенной модели не 32768, а районе 30 МГц (создатели модели не ошиблись ли в порядке?), т.е. в 1000 раз меньше. И вообще, характеристическое сопротивление лучше считать через LC. Сразу получается на резонансе.

У Вас, если были расчёты, то можете дать свою модель кварца?
Jurenja
Извиняюсь что не заметил сразу - в вашей модели неестественно малое значение индуктивности LS, оно должно быть намного больше. Можно опираться на модель из этого файла: http://robustdesignconcepts.com/files/pspice/libs/xtal.lib . С этой моделью частота будет достаточно близка к ожидаемой.

PS. Вот еще нашел документ про часовой кварц: http://digitalcommons.calpoly.edu/cgi/view...mp;context=eesp. Там есть модель резонатора на 32768 Гц, параметры модели немного отличаются от параметров в первом источнике. Также там рассматривается схема генератора Колпитца, но не рассматривается генератор Пирса.
Alexashka
В схеме Пирса кварц должен быть нагружен, только так получается нужный сдвиг в 180* на нем. К кварцу подключается источник напряжения - выход инвертора обычно, и вход этого же инвертора (высокое сопротивление R6). В итоге даже с 11 килоомами последовательного сопротивления кварц вполне себе работает, при этом добротность порядка 80тыс.
Нажмите для просмотра прикрепленного файла
Navuhodonosor
Спасибо Alexashka и Jurenja!

Я попробую ваши модели.

Сегодня стало допирать, в чём дело. Видимо, имелась какая-то доп. обратная связь, когда генерация была, которой я не учитываю при расчётах. Причём это была паразитная обратная связь. Попытался искусственно создать эту связь - генерация появилась. Потом стал приводить всё в приемлемый внешний вид - генерация пропала.

Попробую на модели создать эту связь.

Насчёт фазы - это верно. Подозреваю, что сдвиг фаз далёк от 180.

Вот, попробовал первую модель. Отличная! Есть и последовательный резонанс, и параллельный. Ковыряю дальше.
Alexashka
Цитата(Navuhodonosor @ Sep 15 2015, 20:35) *
Видимо, имелась какая-то доп. обратная связь, когда генерация была, которой я не учитываю при расчётах. Причём это была паразитная обратная связь. Попытался искусственно создать эту связь - генерация появилась. Потом стал приводить всё в приемлемый внешний вид - генерация пропала.

Кстати часто встречал в обвязке микросхем резистор порядка 10МОм параллельно кварцу (и именно для 32768), насколько я понимаю он нужен для обеспечения хорошего линейного режима работы инвертора (а он (режим) нужен как раз для старта генерации). Возможно изза грязи на плате он (резистор) и образовывался.
ЗЫ. Да и еще можно попробовать уменьшить нагрузочные емкости.
Navuhodonosor
Взял я старый макет на PIC12F1822, в котором также были проблемы с запуском кварцевого генератора. Посмотрел его. Там была такая петрушка. В режиме LP и XT генератор запускался, но не запускался в HS. А мне нужен именно HS по причине, которая показана в конце поста.
Отчаявшись понять что-либо, я взял и для пробы соединил вход встроенного инвертора с питанием с помощью ёмкости 12 пФ. И о чудо! Генератор пошёл. Стоило отсоединить эти жалкие пики от питания, как генерация прекращалась.
При этом на питающей шине никаких существенных пиков 36 кГц не наблюдается. Обычные остаточные наводки.
Вот так выглядит спектр непосредственно с генератора:
Нажмите для просмотра прикрепленного файла
А вот это на шине питания:
Нажмите для просмотра прикрепленного файла
Разница в 50 дБ!
Что же это за эффект?

Самое смешное произошло дальше.
Вооружившись новым знанием, я взялся за плату с PIC18LF13K22 с намерением что-нибудь на ней подобное сделать, пусть даже это непонятно совсем, почему так происходит. Однако к моему изумлению генератор на ней заработал с полпинка без всяких переделок. Плата просто лежала пару дней без движения!

Позволю себе порезюмировать.
Несмотря на то, что в даташите нет никаких ограничений, и одни и те же цепи используются как для генераторации МГц-ого диапазона, так и для часовых и подобных кварцев, на самом деле какая-то проблема имеется. Я также некоторое время назад безуспешно пробовал запустить секундный таймер на PIC16F1823.

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

Неоднократные вопросы непосредственно в Microchip ничего не дают. Тамошние специалисты либо похожи на роботов (а на самом деле так оно и есть, наверное), либо полная тишина в ответ.

Проблема у меня возникла из-за того, что из-за жёстких требований по уходам по частоте передатчика на 36 кГц (а при батарейном питании единственный метод - это привязка к кварцу) и весьма малых размеров устройства нужно было совместить тактовый генератор и опорный генератор передатчика. Т.е. попросту говоря, подать такты с выхода встроенного инвертора в контроллере на вход выходного модулятора.
Фрагмент схемы:
Нажмите для просмотра прикрепленного файла
В схеме такие отличия. Конденсаторы возле кварца - по 33 пФ. Невнятная земля возле VT2 - это общий GND. Вот в таком виде генерация идёт! В вышеупомянутом макете разница только в доп. ёмкости на питание. При этом отмечу, что входная ёмкость VT2 порядка пары сотен пФ, если не выше. И генерация идёт именно в режиме HS, в других вариантах её нет. Но в случае HS напряжение на затворе VT2 типа rail-to-rail, что позволяет полностью открывать VT2, что совершенно необходимо в моём случае.

Попытки подключить к выходной клемме кварца конденсатор 200-300 пФ вместо CMOS-транзистора ничего не даёт, нет генерации.
Отмечу также, что в исходном состоянии VT2 в схеме отключён от питания, так что нельзя заподозрить, что этот транзистор каким-то образом создаёт паразитную обратную связь через цепь стока.

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

И PLL работает! Проверял длины задержек, масштаб соответствует частоте кварца, умноженной на 4.

Посмотрел в схеме на PIC18 - ничего не видно на шине питания, в смысле 36 кГц не видно совсем.
Alexashka
Извиняюсь, что не отвечал -был в отъезде sm.gif По поводу конденсаторов на питание -в смысле переменных токов это тоже самое, что и емкость на землю, единственное, что приходит в голову -возможно такое включение дает первоначальный бросок необходимый для старта генерации. Проверить можно например так -подключить эти же 12пик на другой свободный вывод контроллера и потом перевести в определенный момент его из 3го состояния в "1". Произойдет ли старт генерации?
Navuhodonosor
За прошедшее время специалист из Microchip откликнулся. Он обратил моё внимание на некую таблицу в datasheet, в которой указаны возможные частоты, на которых может работать встроенный генератор с кварцем. Действительно, в таблице есть частота 32768, но это всё. Вроде как на 36 кГц не может.
Он написал, что такая схема, как я привёл (с нагрузкой в виде MOSFET), работать не может. laughing.gif В общем, в Microchip сами не знают, что у них собой представляет встроенный усилитель для формирования опорного генератора. Кто-то когда-то спроектировал, а дальше в новые чипы этот узел просто под копирку лепится, по-видимому.

За прошедшее время последняя схема на PIC18F13K22 прошла все мыслимые тесты, и никаких проблем с опорным кварцевым генератором нет. Так что дальнейшие шаги лежат уже в области науки.

Мне пока что не удалось построить настоящую действующую(генерирующую) модель встроенного в чип генератора. Модель могла бы объяснить феномен с запуском генератора только в присутствии MOSFET. По-видимому, нужно снять ральные параметры встроенного усилителя, тогда это многое прояснит.
Alexashka
Да вроде запускается, и с ОУ, и с усилительными блоками, и даже с цифровыми инверторами:
Нажмите для просмотра прикрепленного файла
Jurenja
Цитата(Navuhodonosor @ Sep 30 2015, 09:23) *
Мне пока что не удалось построить настоящую действующую(генерирующую) модель встроенного в чип генератора.
Это пробовали делать?:
Цитата(Jurenja @ Sep 11 2015, 11:41) *
... При моделировании в tran анализе нужно ограничивать максимальный шаг моделирования на уровне не более ~1/100...1/200 от периода сигнала. И параметр точности reltol нужно делать на несколько порядков меньше.

Navuhodonosor
Это всё речь о моделировании в чём? Multisim? Или в чём-то ещё?

Но дело ведь не только в этом. В модель нужно ставить реальные параметры того узла, который образует генератор. А вот со снятием таких параметров большая проблема.
Alexashka
Цитата(Navuhodonosor @ Oct 6 2015, 15:01) *
В модель нужно ставить реальные параметры того узла, который образует генератор. А вот со снятием таких параметров большая проблема.

Предположу, что будет достаточно измерить коэф.усиления инвертора, что вообщемто не сложно. Параметры кварца вообще должны быть известны если это не китайский ноу-нэйм.
Jurenja
Цитата(Navuhodonosor @ Oct 6 2015, 15:01) *
Это всё речь о моделировании в чём? Multisim? Или в чём-то ещё?
Речь про все spice-подобные симуляторы: spice, PSpice итд, а также аналогичные параметры есть в spectre (Cadence) и в Eldo (Mentor Graphics).
Про Multisim не скажу, не использую.
Navuhodonosor
Я вынужден был отвлечься на другие проблемы, так что пауза затянулась. Моделированием пока больше не занимался.

Генератор удалось запустить. Оказалось, чисто практическим путём, что с отдельными типами транзисторов схема запускается на "ура", а с другими, вроде бы не сильно отличающимися по параметрам, ни в какую.

Достоверно установлено, что представленная схема включения работает прекрасно с DMN2075U и, как ни странно, с IRLML0030TR, который имеет существенно более высокое напряжение отсечки. А вот, казалось бы, с очень похожим на DMN транзистором IRLML6344TR не запускается ни под каким видом.

Вот, уважаемые, как ЭТО можно объяснить?

Вообще говоря, я обратил внимание на входную ёмкость затвор-исток. И совершенно ожидаемо получается, что для запуска схемы нужна ёмкость порядка 300 пФ, не ниже. Что интересно, при этом частота генерации сдвинута относительно частоты кварца вниз всего-навсего на единицы Гц. Это совсем неожиданно.

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

Alexashka
Цитата(Navuhodonosor @ Oct 27 2015, 08:39) *
Вообще говоря, я обратил внимание на входную ёмкость затвор-исток. И совершенно ожидаемо получается, что для запуска схемы нужна ёмкость порядка 300 пФ, не ниже. Что интересно, при этом частота генерации сдвинута относительно частоты кварца вниз всего-навсего на единицы Гц. Это совсем неожиданно.

Хм, по идее эквивалент транзистора (емкость 300пФ) должен работать точно также.
А вообще, чтобы не зависеть от настроения и поведения транзистора, между ним и кварцем лучше поставить копеешный КМОП буфер.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.