Калибровка встроенного RC-генератора

Обсуждаем контроллеры компании Atmel.
Ответить
Друг Кота
Аватара пользователя
Сообщения: 15753
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Собственно говоря - а зачем понижать частоту генератора в таймер-приложении?
Ставим на 9,6 и далее простыми средствами доводим до требуемого значения.
Ёжли уж очень хочется - ставим кварц...
:dont_know:
Реклама
Опытный кот
Аватара пользователя
Сообщения: 760
Зарегистрирован: Сб окт 22, 2016 17:33:32
Откуда: кг

Сообщение Карбофос »

Вы, наверное, неправильно поняли.
Я хочу, что-бы устройство работало как задумано, а не "как получилось".
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15753
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Так озвучьте собственно "задуманную" задачу для той тиньки - что имеем на входе, что должно быть на выходе.
Не по исходнику ж разбираться с замыслами.
Чудес то не бывает.
В принципе можно и перепроверить тогда будет.
8)
Опытный кот
Аватара пользователя
Сообщения: 760
Зарегистрирован: Сб окт 22, 2016 17:33:32
Откуда: кг

Сообщение Карбофос »

[uquote="BOB51",url="/forum/viewtopic.php?p=4106439#p4106439"]Не по исходнику ж разбираться с замыслами.[/uquote]
Спасибо.
По вашему высказыванию
[uquote="BOB51",url="/forum/viewtopic.php?p=4106088#p4106088"]Для обеих режимов имеется заводская калибровочная константа.
Разница только в том, что для 9,6 загрузка автоматическая, а для 4,8 надо ручками ее вытряхнуть из ПЗУ и вставить в OSCCAL...[/uquote]
сразу видно, что человек "не в теме".
Реклама
Эиком - электронные компоненты и радиодетали
akl
Друг Кота
Сообщения: 4468
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Сообщение akl »

Карбофос писал(а): [uquote="BOB51",url="/forum/viewtopic.php?p=4106088#p4106088"]Для обеих режимов имеется заводская калибровочная константа.
Разница только в том, что для 9,6 загрузка автоматическая, а для 4,8 надо ручками ее вытряхнуть из ПЗУ и вставить в OSCCAL...[/uquote]
сразу видно, что человек "не в теме".
BOB51 правильно заметил.
There is a separate calibration byte for the internal oscillator in 4.8 MHz mode of operation but
this data is not loaded automatically. The hardware always loads the 9.6 MHz calibration data
during reset. To use separate calibration data for the oscillator in 4.8 MHz mode the OSCCAL
register must be updated by firmware. The calibration data for 4.8 MHz operation is located in
the high byte at address 0x01 of the signature area.
Реклама
Опытный кот
Аватара пользователя
Сообщения: 760
Зарегистрирован: Сб окт 22, 2016 17:33:32
Откуда: кг

Сообщение Карбофос »

А даташит не пробовали читать?

6.2.2 Calibrated Internal 4.8/9.6 MHz Oscillator
During reset, hardware loads the calibration data into the OSCCAL register and thereby automatically calibrates the oscillator. There are separate calibration bytes for 4.8 and 9.6 MHz operation but only one is automatically loaded during reset (see section “Calibration Bytes” on page 105). This is because the only difference between 4.8 MHz and 9.6 MHz mode is an internal clock divider.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15753
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Так там так и говорится "только один из них загружается автоматически".
Далее смотрим страницу 105 (куда ссылается Ваша цитата)
"17.3 Calibration Bytes
The signature area of the ATtiny13A contains two bytes of calibration data for the internal oscil-
lator. The calibration data in the high byte of address 0x00 is for use with the oscillator set to 9.6
MHz operation. During reset, this byte is automatically written into the OSCCAL register to
ensure correct frequency of the oscillator.
There is a separate calibration byte for the internal oscillator in 4.8 MHz mode of operation but
this data is not loaded automatically. The hardware always loads the 9.6 MHz calibration data
during reset. To use separate calibration data for the oscillator in 4.8 MHz mode the OSCCAL
register must be updated by firmware. The calibration data for 4.8 MHz operation is located in
the high byte at address 0x01 of the signature area.
..."
(взято из 8126F–AVR–05/12 для аттини13а но судя по нумерации страниц аналогично имеющемуся у Вас документу и более раннему 8126Е-AVR-07/10)

А уже из той частоты можно и пониже сделать используя CLKPR (по умолчанию он настроен на деление частоты генератора на 8 ).
8)
akl
Друг Кота
Сообщения: 4468
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Сообщение akl »

[uquote="Карбофос",url="/forum/viewtopic.php?p=4106710#p4106710"]А даташит не пробовали читать?[/uquote] Возвращаю.
Опытный кот
Аватара пользователя
Сообщения: 760
Зарегистрирован: Сб окт 22, 2016 17:33:32
Откуда: кг

Сообщение Карбофос »

По результатам натурных экспериментов признаю, что в разных режимах 9.6/4.8 должны использоваться разные калибровочные константы.
Что интересно, в моем экземпляре ATtiny13a в режиме 4.8 МГц, при загрузке в OSCCAL заводской калибровки для этого режима, тактовая частота (~4.28 МГц) выходит за границу допуска в 10% для нее. Но, это к делу уже не относится.
Друг Кота
Аватара пользователя
Сообщения: 15753
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Так вопрос - то открытым остался.
8)
Я предлагал выложить схему устройства на тиньке с обвязкой и описанием "хотелок".
Далее проводим варианты проектов, решающих данные задачи каждый на своей базе (кто под Си, кто под ассемблером, кто в рамках ардуинки), которые подтверждаем проверкой на действующем макете согласно единой ранее оговоренной схеме и описания выполняемых устройством задач.
Ну и сравниваем результаты - чего у кого получилось, выкладывая открытые исходники проектов.
8)
Опытный кот
Аватара пользователя
Сообщения: 760
Зарегистрирован: Сб окт 22, 2016 17:33:32
Откуда: кг

Сообщение Карбофос »

Проблема была в недостаточно точно откалиброванном встроенном RC-генераторе.
Стандартное решение этой проблемы требует наличие программаторов типа AVRISP mkII, JTAGICE mkII, JTAGICE3, or Atmel-ICE programming tools, ни одного из которых у меня нет, и в моих планах их приобретение отсутствует.
Для решения этой проблемы, в меру своей лени, знаний и испорченности, я предложил небольшой алгоритм (в 1-м посте), который по эталонной частоте 32 кГц, подаваемой с модуля DS3231, расчитает оптимальное значение для регистра OSCCAL микроконтроллера.
С тем, что-бы любой желающий мог им воспользоваться.
Т.е. я не просил помощи в решении какой-либо проблемы.
Спасибо.
Друг Кота
Аватара пользователя
Сообщения: 15753
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Ясненько...
:beer:
Хотя... для реальной калибровки нужны эталонные приборы (К примеру ВЧ генератор, эталонный источник интервалов с блоком управляемых ключей и счетчик разницы или чего понавороченнее...) - посему заметно чаще используются или готовые константы изготовителя или кварцевые резонаторы.
Для прикладных задач обычно вполне достаточно. Просто за все время я столь сильного отклонения в режиме таймеров в своих поделках не встречал - реально заметное (секундное) отклонение разве что через несколько часов начинает появляться, а в пределах 1-2 часов обычно при сравнении с комповыми тикалками / механическими секундомерами практически незаметно...
8)
Друг Кота
Аватара пользователя
Сообщения: 25613
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

Может и флуд, канешна... Но не могу взять в толк, зачем все эти потуги? Если речь о времязадающем генераторе МК, то что мешает повесить копеечный кварц? Какой смысл вытягивать бортовой RC в область стабильности часов реального времени? Жалко 10 рублей на кварц? Или есть непреодолимое желание использовать 8 пиновый МК?
Опытный кот
Аватара пользователя
Сообщения: 760
Зарегистрирован: Сб окт 22, 2016 17:33:32
Откуда: кг

Сообщение Карбофос »

Здесь только внешний генератор для этого лепить, и пожертвовать светодиодиком тик-так.
А смысл? Все работает, пинов хватает, памяти еще и осталось свободной, занято 842 байт из 1к.
Эта тинька с историей.
Когда-то давно она стояла в ИК-приемнике с питанием от сети через конденсатор и стабилитрон, и с пульта через реле включала-отключала LED драйвер для светодиодной ленты.
В какой-то момент все пошло не так, дорожки силовые испарились, но сама тинька выжила.
:))
Последний раз редактировалось Карбофос Сб окт 16, 2021 21:45:11, всего редактировалось 1 раз.
Друг Кота
Аватара пользователя
Сообщения: 25613
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

ааа, то есть семейная реликвия.... тадыой.
И у многих такой реликтовый интерес?
Опытный кот
Аватара пользователя
Сообщения: 760
Зарегистрирован: Сб окт 22, 2016 17:33:32
Откуда: кг

Сообщение Карбофос »

А чё она валяется просто-так? :))
Друг Кота
Аватара пользователя
Сообщения: 25613
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

Ну понятно... )))
Модератор
Аватара пользователя
Сообщения: 19097
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Сообщение Starichok51 »

BOB51 писал(а):реально заметное (секундное) отклонение разве что через несколько часов начинает появляться, а в пределах 1-2 часов обычно при сравнении с комповыми тикалками / механическими секундомерами практически незаметно...
заметно, да еще как ...
любопытства ради я сегодня проверил одну АТмега8 (встроенный RC-генератор на 1 МГц) на частотомере - получил отклонение в минус 1,2%. а это примерно 43 секунды за 1 час.
так что, не надо ля-ля про 1 секунду за несколько часов.
и ранее для своего таймера я подстраивал встроенный RC-генератор на 1 МГц - тоже примерно такая же была ошибка.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Друг Кота
Аватара пользователя
Сообщения: 6673
Зарегистрирован: Пт сен 10, 2021 15:19:36
Откуда: Протвино

Сообщение AlexS4 »

КРАМ писал(а):Если речь о времязадающем генераторе МК, то что мешает повесить копеечный кварц?
attiny13 это целый so8 :) а скажем attiny10 это sot23-6 и кварцевый генератор или кварц с генератором увеличит футпринт раза в 4 (а может и в 10 если захочется дешевый кварц hs49s). + отожрет 1 из 4 gpio ног. 25% ног, Карл!)
так что возня с RC и его калибровками - невсегда блажь ;)
Друг Кота
Аватара пользователя
Сообщения: 25613
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="AlexS4",url="/forum/viewtopic.php?p=4106988#p4106988"]так что возня с RC и его калибровками - невсегда блажь ;)[/uquote]
Всегда. Вы невнимательно прочли то, что я написал.
Если техническое решение требует ЧАСОВОЙ ТОЧНОСТИ, то экономия ДВУХ НОГ - всегда блажь и издевательство над здравым смыслом. Нет никакого смысла в решении требующем пожертвовать кварцем или внешним кварцевым генератором при реализации часов реального времени или временных интервалов сопоставимой точности. Возня с калибровкой RC генератора МК ПРИ ТАКИХ ТРЕБОВАНИЯХ - пустая трата времени.
Поэтому не стоит мне рассказывать про обстоятельства, при которых ног в выбранном МК может не хватить. Я это и без вас знаю. Просто не нужно выбирать такой МК для данной задачи.
Про футпринт повеселили. Кому нужна компактность, всегда найдут лишние 20 рублей на 16 МГц кварц размером меньше, чем футпринт sot23-6, выберут корпус МК (VQFN) размером 3*3 мм с требуемым числом ног (в данном случае 20) и возьмут конденсаторы к кварцу типоразмера 0102, обеспечив двухсторонний монтаж.
Последний раз редактировалось КРАМ Вс окт 17, 2021 09:20:44, всего редактировалось 1 раз.
Ответить

Вернуться в «AVR»