Взял я старый макет на PIC12F1822, в котором также были проблемы с запуском кварцевого генератора. Посмотрел его. Там была такая петрушка. В режиме LP и XT генератор запускался, но не запускался в HS. А мне нужен именно HS по причине, которая показана в конце поста.
Отчаявшись понять что-либо, я взял и для пробы соединил вход встроенного инвертора с питанием с помощью ёмкости 12 пФ. И о чудо! Генератор пошёл. Стоило отсоединить эти жалкие пики от питания, как генерация прекращалась.
При этом на питающей шине никаких существенных пиков 36 кГц не наблюдается. Обычные остаточные наводки.
Вот так выглядит спектр непосредственно с генератора:
 РЈРСВВВеньшено Р В Р’В Р СћРІР‚ВВР С• 82%
921 x 579 (42.33 килобайт)
|
А вот это на шине питания:
 РЈРСВВВеньшено Р В Р’В Р СћРІР‚ВВР С• 82%
918 x 576 (41.54 килобайт)
|
Разница в 50 дБ!
Что же это за эффект?
Самое смешное произошло дальше.
Вооружившись новым знанием, я взялся за плату с PIC18LF13K22 с намерением что-нибудь на ней подобное сделать, пусть даже это непонятно совсем, почему так происходит. Однако к моему изумлению генератор на ней заработал с полпинка без всяких переделок. Плата просто лежала пару дней без движения!
Позволю себе порезюмировать.
Несмотря на то, что в даташите нет никаких ограничений, и одни и те же цепи используются как для генераторации МГц-ого диапазона, так и для часовых и подобных кварцев, на самом деле какая-то проблема имеется. Я также некоторое время назад безуспешно пробовал запустить секундный таймер на PIC16F1823.
В то же время, если в контроллере сделано два разных генератора как для тактов, так и для часового кварца, никаких проблем не возникает.
Неоднократные вопросы непосредственно в Microchip ничего не дают. Тамошние специалисты либо похожи на роботов (а на самом деле так оно и есть, наверное), либо полная тишина в ответ.
Проблема у меня возникла из-за того, что из-за жёстких требований по уходам по частоте передатчика на 36 кГц (а при батарейном питании единственный метод - это привязка к кварцу) и весьма малых размеров устройства нужно было совместить тактовый генератор и опорный генератор передатчика. Т.е. попросту говоря, подать такты с выхода встроенного инвертора в контроллере на вход выходного модулятора.
Фрагмент схемы:
 РЈРСВВВеньшено Р В Р’В Р СћРІР‚ВВР С• 77%
751 x 249 (33.75 килобайт)
|
В схеме такие отличия. Конденсаторы возле кварца - по 33 пФ. Невнятная земля возле VT2 - это общий GND. Вот в таком виде генерация идёт! В вышеупомянутом макете разница только в доп. ёмкости на питание. При этом отмечу, что входная ёмкость VT2 порядка пары сотен пФ, если не выше. И генерация идёт именно в режиме HS, в других вариантах её нет. Но в случае HS напряжение на затворе VT2 типа rail-to-rail, что позволяет полностью открывать VT2, что совершенно необходимо в моём случае.
Попытки подключить к выходной клемме кварца конденсатор 200-300 пФ вместо CMOS-транзистора ничего не даёт, нет генерации.
Отмечу также, что в исходном состоянии VT2 в схеме отключён от питания, так что нельзя заподозрить, что этот транзистор каким-то образом создаёт паразитную обратную связь через цепь стока.
В общем, я по-прежнему в недоумении по поводу реальных процессов, которые протекают во встроенной в контроллер схеме генератора, но получил такой вот странный способ запускать низкочастотные кварцы.
И PLL работает! Проверял длины задержек, масштаб соответствует частоте кварца, умноженной на 4.
Посмотрел в схеме на PIC18 - ничего не видно на шине питания, в смысле 36 кГц не видно совсем.
Сообщение отредактировал Navuhodonosor - Sep 17 2015, 14:39
Кто работает - тот работает.