Собственно говоря - а зачем понижать частоту генератора в таймер-приложении? Ставим на 9,6 и далее простыми средствами доводим до требуемого значения. Ёжли уж очень хочется - ставим кварц...
Так озвучьте собственно "задуманную" задачу для той тиньки - что имеем на входе, что должно быть на выходе. Не по исходнику ж разбираться с замыслами. Чудес то не бывает. В принципе можно и перепроверить тогда будет.
Для обеих режимов имеется заводская калибровочная константа. Разница только в том, что для 9,6 загрузка автоматическая, а для 4,8 надо ручками ее вытряхнуть из ПЗУ и вставить в OSCCAL...
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Для обеих режимов имеется заводская калибровочная константа. Разница только в том, что для 9,6 загрузка автоматическая, а для 4,8 надо ручками ее вытряхнуть из ПЗУ и вставить в OSCCAL...
сразу видно, что человек "не в теме".
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.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
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.
Так там так и говорится "только один из них загружается автоматически". Далее смотрим страницу 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 ).
По результатам натурных экспериментов признаю, что в разных режимах 9.6/4.8 должны использоваться разные калибровочные константы. Что интересно, в моем экземпляре ATtiny13a в режиме 4.8 МГц, при загрузке в OSCCAL заводской калибровки для этого режима, тактовая частота (~4.28 МГц) выходит за границу допуска в 10% для нее. Но, это к делу уже не относится.
Я предлагал выложить схему устройства на тиньке с обвязкой и описанием "хотелок". Далее проводим варианты проектов, решающих данные задачи каждый на своей базе (кто под Си, кто под ассемблером, кто в рамках ардуинки), которые подтверждаем проверкой на действующем макете согласно единой ранее оговоренной схеме и описания выполняемых устройством задач. Ну и сравниваем результаты - чего у кого получилось, выкладывая открытые исходники проектов.
Проблема была в недостаточно точно откалиброванном встроенном RC-генераторе. Стандартное решение этой проблемы требует наличие программаторов типа AVRISP mkII, JTAGICE mkII, JTAGICE3, or Atmel-ICE programming tools, ни одного из которых у меня нет, и в моих планах их приобретение отсутствует. Для решения этой проблемы, в меру своей лени, знаний и испорченности, я предложил небольшой алгоритм (в 1-м посте), который по эталонной частоте 32 кГц, подаваемой с модуля DS3231, расчитает оптимальное значение для регистра OSCCAL микроконтроллера. С тем, что-бы любой желающий мог им воспользоваться. Т.е. я не просил помощи в решении какой-либо проблемы. Спасибо.
Хотя... для реальной калибровки нужны эталонные приборы (К примеру ВЧ генератор, эталонный источник интервалов с блоком управляемых ключей и счетчик разницы или чего понавороченнее...) - посему заметно чаще используются или готовые константы изготовителя или кварцевые резонаторы. Для прикладных задач обычно вполне достаточно. Просто за все время я столь сильного отклонения в режиме таймеров в своих поделках не встречал - реально заметное (секундное) отклонение разве что через несколько часов начинает появляться, а в пределах 1-2 часов обычно при сравнении с комповыми тикалками / механическими секундомерами практически незаметно...
Может и флуд, канешна... Но не могу взять в толк, зачем все эти потуги? Если речь о времязадающем генераторе МК, то что мешает повесить копеечный кварц? Какой смысл вытягивать бортовой RC в область стабильности часов реального времени? Жалко 10 рублей на кварц? Или есть непреодолимое желание использовать 8 пиновый МК?
Здесь только внешний генератор для этого лепить, и пожертвовать светодиодиком тик-так. А смысл? Все работает, пинов хватает, памяти еще и осталось свободной, занято 842 байт из 1к. Эта тинька с историей. Когда-то давно она стояла в ИК-приемнике с питанием от сети через конденсатор и стабилитрон, и с пульта через реле включала-отключала LED драйвер для светодиодной ленты. В какой-то момент все пошло не так, дорожки силовые испарились, но сама тинька выжила.
Последний раз редактировалось Карбофос Сб окт 16, 2021 21:45:11, всего редактировалось 1 раз.
реально заметное (секундное) отклонение разве что через несколько часов начинает появляться, а в пределах 1-2 часов обычно при сравнении с комповыми тикалками / механическими секундомерами практически незаметно...
заметно, да еще как ... любопытства ради я сегодня проверил одну АТмега8 (встроенный RC-генератор на 1 МГц) на частотомере - получил отклонение в минус 1,2%. а это примерно 43 секунды за 1 час. так что, не надо ля-ля про 1 секунду за несколько часов. и ранее для своего таймера я подстраивал встроенный RC-генератор на 1 МГц - тоже примерно такая же была ошибка.
_________________ Мудрость приходит вместе с импотенцией... Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Если речь о времязадающем генераторе МК, то что мешает повесить копеечный кварц?
attiny13 это целый so8 а скажем attiny10 это sot23-6 и кварцевый генератор или кварц с генератором увеличит футпринт раза в 4 (а может и в 10 если захочется дешевый кварц hs49s). + отожрет 1 из 4 gpio ног. 25% ног, Карл!) так что возня с RC и его калибровками - невсегда блажь
так что возня с RC и его калибровками - невсегда блажь
Всегда. Вы невнимательно прочли то, что я написал. Если техническое решение требует ЧАСОВОЙ ТОЧНОСТИ, то экономия ДВУХ НОГ - всегда блажь и издевательство над здравым смыслом. Нет никакого смысла в решении требующем пожертвовать кварцем или внешним кварцевым генератором при реализации часов реального времени или временных интервалов сопоставимой точности. Возня с калибровкой RC генератора МК ПРИ ТАКИХ ТРЕБОВАНИЯХ - пустая трата времени. Поэтому не стоит мне рассказывать про обстоятельства, при которых ног в выбранном МК может не хватить. Я это и без вас знаю. Просто не нужно выбирать такой МК для данной задачи. Про футпринт повеселили. Кому нужна компактность, всегда найдут лишние 20 рублей на 16 МГц кварц размером меньше, чем футпринт sot23-6, выберут корпус МК (VQFN) размером 3*3 мм с требуемым числом ног (в данном случае 20) и возьмут конденсаторы к кварцу типоразмера 0102, обеспечив двухсторонний монтаж.
Последний раз редактировалось КРАМ Вс окт 17, 2021 09:20:44, всего редактировалось 1 раз.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения