Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Калибровка RTC в STM32F1
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
amiller
Хочу поделиться некоторыми умозаключениями с целью проверить их правильность.
Навеяно изучением документов:
(AN2867) Oscillator design guide for STM8S, STM8A and STM32 microcontrollers
(AN2604) STM32F101xx and STM32F103xx RTC calibration
1. Частота кварцевого генератора в существенной степени зависит от величины его собственной емкости и от емкости нагрузочных емкостей.
Номинальную частоту генератор обеспечивает только при подключении нагрузочных конденсаторов номинальной для этого резонатора емкости.
При меньшей нагрузочной емкости частота генератора существенно выше, при большей - существенно ниже номинальной. Отклонение может составлять величину около 50 ppm/pF.
2. Чем больше величина нагрузочных емкостей, тем меньше отклонение частоты в связи с отклонением емкости (ppm/pf). Но чем больше нагрузочная емкость, тем больше абсолютное отклонение емкости (погрешность, температура). Поэтому на выбор величины емкости этот пункт не влияет.
3. Чем меньше нагрузочная емкость, тем меньше ток, потребляемый генератором. С точки зрения длительности работы от батареи это скорее аргумент в пользу уменьшения емкостей.
4. При увеличении нагрузочных емкостей рабочая точка генератора приближается к точке резонанса и находится на более крутом участке резонансной кривой. Соответственно разброс параметров генератора оказывает меньшее влияние на его выходную частоту.
5. Для генераторов 32768 зависимость частоты от величины нагрузочных емкостей гораздо больше, чем для генераторов, работающих в мегагерцовом диапазоне.

Собственно эти выводы я сделал после того, как столкнулся с тем, что генератор вообще без конденсаторов показал без калибровки слишком большой уход в месяц (более10 минут).
Частота на калибровочном выводе составила 512,138Гц, что эквивалентно частоте генерации кварца 32777Гц. Отклонение составляет 270ppm что слишком много для механизма калибровки микроконтроллера.
После размышлений решил оставить генератор как есть. Тем более что он без конденсаторов идеально запускается и потребляет даже меньше, чем прописано в документации.
Надеюсь, что в таком режиме часы покажут достаточную временную стабильность.
Но потребовалась калибровка с учётом изменения делителя. Чтобы упростить процесс калибровки, сделал файл Exel, в который достаточно вбить измеренную частоту 512Гц и получаем нужный коэффициент делителя и нужную калибровочную константу.
Результат объединяю в так называемую калибровочную константу, старший байт которой - это K делителя (добавляемый к 32760), а младший байт - регистр калибровки.
Алгоритм расчёта выдает несколько вариантов, из которых можно выбирать любой.
Файл прикладываю, может кому понравится.
Нажмите для просмотра прикрепленного файла
Сергей Борщ
QUOTE (amiller @ May 6 2016, 09:04) *
генератор вообще без конденсаторов показал без калибровки слишком большой уход в месяц (более10 минут).
...
После размышлений решил оставить генератор как есть. Тем более что он без конденсаторов идеально запускается и потребляет даже меньше, чем прописано в документации.
Напоминает известный FAQ "как сварить яйцо в микроволновке". Удачи вам в нелегком деле хождения по граблям.
amiller
Цитата(Сергей Борщ @ May 6 2016, 10:22) *
Напоминает известный FAQ "как сварить яйцо в микроволновке". Удачи вам в нелегком деле хождения по граблям.

Хотелось бы поподробнее узнать, что именно навело Вас на такие сравнения. Буду рад замечаниям по существу, собственно ради этого и разместил это сообщение.
Могу сразу сказать, чем я руководствовался:
1. Несмотря на то, что я не поставил конденсаторы, емкость самого резонатора и емкость монтажа никто не отменял. Рекомендуемая емкость нагрузочных конденсаторов составляет единицы пФ, что не намного превышает емкость монтажа. Для сравнения: проходная емкость резистора 0805 составляет 1-2пФ. А так как платы устройств в обязательном порядке покрываются защитным лаком (до калибровки), то за сохранность и воспроизводимость этого параметра (емкость монтажа) можно не беспокоится.
2. Я использовал много автономных RTC с последовательным интерфейсом. Ни на одном из них не было требований по установке нагрузочных конденсаторов.
Более того, многие из них показывают удовлетворительную точность без калибровки (т.е. откалиброваны с завода под конкретный тип резонаторов).
Я тоже предполагаю, что при серийном выпуске отпадёт необходимость в калибровке каждого изделия. Так как при использовании одного и того же типа резонаторов и стандартной калибровки я рассчитываю, что все изделия будут попадать в диапазон 10ppm, что для меня достаточно.
3. Когда нет конденсаторов, гораздо проще соблюсти требования по взаимному расположению резонатора и микроконтроллера, а также обеспечить необходимое экранирование слаботочных сигналов генератора.
Сергей Борщ
QUOTE (amiller @ May 6 2016, 11:36) *
Хотелось бы поподробнее узнать, что именно навело Вас на такие сравнения. Буду рад замечаниям по существу, собственно ради этого и разместил это сообщение.
Вы же сами пишете - резонатор должен быть нагружен на конденсаторы, емкость которых определяется маркой резонатора. Документация на контроллер явно пишет, что конденсаторы эти должны быть внешними (FAQ пишет - "нельзя варить яйца в микроволновке"), вы же их не ставите ("я обмотал яйцо скотчем", "положил в кастрюлю" и т.д.). Результат - хождение по граблям ("слишком большой уход в месяц" = "яйцо взорвалось").
1) Емкости монтажа недостаточно.
2) Нагрузочные конденсаторы встроены в микросхему RTC, для некоторых марок резонаторов эта емкость как раз соответствует необходимой, для других пришлось бы добавлять внешние
3) Забавный подход. Блокировочные конденсаторы по питанию тоже все в одном месте платы собираете? Их же так удобно разводить, когда они большой кучкой, гораздо проще, чем ставить каждый конденсатор у своих выводов питания микросхем.
amiller
Цитата(Сергей Борщ @ May 6 2016, 12:33) *
Вы же сами пишете - резонатор должен быть нагружен на конденсаторы, емкость которых определяется маркой резонатора.

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

Цитата(Сергей Борщ @ May 6 2016, 12:33) *
2) Нагрузочные конденсаторы встроены в микросхему RTC, для некоторых марок резонаторов эта емкость как раз соответствует необходимой, для других пришлось бы добавлять внешние

Дайте ссылку на документ пожалуйста. У меня есть сомнения, что конденсаторы встроены в микросхему. По крайней мере я не нашёл упоминания о таком. По моим представлениям, для известных технологий производства чипов, самым сложным компонентом является конденсатор. Даже индуктивность сделать проще. Технология заточена под p/n переходы и резисторы. Наличие конденсаторов внутри микросхемы переводит её в другой ценовой диапазон.
По этому пункту извиняюсь. Нашёл у Ramtron:
Нажмите для просмотра прикрепленного файла

Цитата(Сергей Борщ @ May 6 2016, 12:33) *
3) Забавный подход. Блокировочные конденсаторы по питанию тоже все в одном месте платы собираете? Их же так удобно разводить, когда они большой кучкой, гораздо проще, чем ставить каждый конденсатор у своих выводов питания микросхем.

Не вижу причин для таких обобщений. Блокировочные конденсаторы и фильтры по питанию ставлю в соответствии с требованиями производителя и с учётом своего опыта. В своё время проштудировал не один документ по этой теме. Наличие и необходимость блокировочных конденсаторов вписывается в мою логическую модель мироустройства. А нагрузочные конденсаторы для часового кварцевого резонатора - не совсем.
SasaVitebsk
У меня прибор с индикатором и клавой.
Процесс калибровки выглядит так:
1. Входишь в режим калибровки RTC (сбрасываются константы калибровочные + подключается выход калибровки)
2. Измеряешь частоту образцовым частотомером.
3. Записываешь измеренную частоту в прибор. (Прибор сам рассчитывает и заносит калибровочные константы)
KnightIgor
Цитата(Сергей Борщ @ May 6 2016, 08:22) *
Напоминает известный FAQ "как сварить яйцо в микроволновке".

Пусть bb-offtopic.gif , но справедливости ради скажу, что яйца в микроволновке я успешно варил. По сути, ничем не отличается от варки в кастрюле: яйца поместить в воду, можно проделать маленькую дырочку в каждом яйце. Получается так же, как и в кастрюле на "обычной" плите. Просто на тот момент у меня была электроплита, которая неэффективна для скороварения (разгонять ради 4 мин кипения, потом остывание впустую), а сейчас - индукционка, кипятящая воду так же быстро, как и микроволновка или электрочайник. Так что юмор юмором, но задача в принципе решаема.
Сергей Борщ
Извиняюсь, не заметил, что сообщение было отредактировано.
QUOTE (amiller @ May 6 2016, 13:01) *
Блокировочные конденсаторы и фильтры по питанию ставлю в соответствии с требованиями производителя
Производитель требует установки внешних нагрузочных конденсаторов на часовой кварц. Вы эти требования игнорируете.

QUOTE (amiller @ May 6 2016, 13:01) *
Наличие и необходимость блокировочных конденсаторов вписывается в мою логическую модель мироустройства. А нагрузочные конденсаторы для часового кварцевого резонатора - не совсем.
Google->"quartz load capacitor". Обновите вашу модель мироустройства, мироустройство подогнать под вашу модель куда сложнее.

QUOTE (KnightIgor @ May 10 2016, 14:07) *
справедливости ради скажу, что яйца в микроволновке я успешно варил.
Хорошая попытка, но я не буду проверять ваш метод biggrin.gif. Мне достаточно знания того, что иногда они взрываются, а для варки у меня есть газовая плита.
KnightIgor
Цитата(Сергей Борщ @ May 10 2016, 13:02) *
Google->"quartz load capacitor". Обновите вашу модель мироустройства, мироустройство подогнать под вашу модель куда сложнее.

Справедливости ради (с) wink.gif поддержу ТС в его высказывании "Т.е. в использовании резонаторов без нагрузочных конденсаторов криминала не нахожу.". Имею на плате STM32F103 и часовой кварц к нему. Конденсаторы согласно спецификации кварца были изначательно предусмотрены и запаяны. Кварц не запускался. По этому поводу было даже несколько тем здесь (лень искать, но абсолютно точно было), не мной начаты, не я один с таким столкнулся. Отвалил конденсаторы, с тех пор горя не знаю, в работе уже версия 1.2 устройства.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.