когда я сделал простой проект на ATtiny13A ,таймер простенький с цифровой индикацией, оказалось, что часы за минуту, убегают на пару секунд, относительно показаний секундомера в мобильнике, с другим чипом отстают,на несколько секунд при одной и той же прошивке у разных однотипных микроконтроллеров,
и дело тут не в нестабильности внутреннего генератора, а в разной точности калибровки с разных заводов изготовителей,
потому,как если точно откалибровать временные интервалы, потом эта точность не плавает и никуда не девается на протяжении длительного времени эксплуатации,
понял, что при изготовлении у разных производителей, разная калибровка по точности частоты внутреннего RC генератора, и если я мог скорректировать точность под свой контроллер сам прямо в исходнике, то та же самая прошивка, на другом конце света с другим контроллером показывала уже другую погрешность,стал экспериментировать дальше,
решил полезть в ячейку с калибровочными байтами, и самому корректировать,изменяя число записанное в калибровочные ячейки генератора, которое можно считать , например таким простым программатором,как AVRISP в программе AVRDUDE, и число это получалось там двух байтное, возник вопрос, как так? регистр ОSCCAL 8 бит, а показано число 16 бит, что это такое и как это понимать?
,хотел прояснить этот вопрос , начал шерстить подобные темы на разных форумах,понял, что не один я столкнулся с актуальностью этой тематики и все советы, вполне разумные, но либо слишком заумные,или или никакой конкретика, тогда сделал таблицу куда выписал калибровочные байты разных однотипных контроллеров. стал экспериментировать в направлении советов..
- "теория без практики мертва,а практика без теории слепа"(с)
поэтому я взял макетку со своим таймером,точность которого я подогнал по эталону.(добившись точности секунда в секунду) и загружая разное значение чисел в ячейку ОSCCAL наблюдал,на какую величину происходит изменение точности секундомера моего таймера (количество секунд за минуту больше 60 или меньше стало?)
отталкивался от этих результатов и величин вводимых чисел , при некоторых совершенно произвольных значениях , RC генератор иногда совсем переставал работать , при других значениях , частота либо уменьшалась,либо увеличивалась, стал искать взаимосвязь этих чисел и того числа калибровочного,которое сосчитал программатором в начале из контроллера, и анализируя результаты ,со временем понял связь,
что означают эти числа, и какое число надо вводить, чтобы вернуться к исходной точности схемы, которая была достигнута перед этими экспериментами,помогла мне разобраться, как раз дискуссия в этой ветке о двух калибровочных величинах
спасибо автору,который открыл эту тему, потому,как нигде никто так "глубоко не копал" а он не унимался и ставил конкретный вопрос, не сползая с темы..)