Раз пошла такая пьянка, а может просто взять МК со встроенным RTC или внешний DS1307 повесить..ploop писал(а):Ладно, если серьёзно
Нужен оптимальный алгоритм RTC
Re: Нужен оптимальный алгоритм RTC
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
- Реклама
Re: Нужен оптимальный алгоритм RTC
Прошивка на заказ, устройство уже собрано. И работает, кстати говоря (и часы тоже), тестируется. Так что нельзя ничего менять, кроме прошивки.
Это я чисто из спортивного интереса спрашиваю, у меня то часики еще не доделаны.
Это я чисто из спортивного интереса спрашиваю, у меня то часики еще не доделаны.
Re: Нужен оптимальный алгоритм RTC
Коты, а слышали-ли вы про реализацию деления посредством умножения? Правда, это относится к флоатам. Так реализовано аппаратное деление в старом процессоре AMD. Короче, деление на х сначала заменяется умножением на 1/х. Для вычисления 1/х там используется таблица на 256 байт, дающих первоначальное примерное значение 1/х, основанное на старших 8 битах х. После этого к полученному значению пеименяется итеративный метод Ньютона-Рапсона, который доводит его до 24-битной точности (я пишу о 32-битных числах формата float, а не double). Весь фокус в том, что для доведения точности от первоначальной 8-битной до 24-битной (а именно столько бит занимает мантисса в float) требуется всего 2 (!!!) итерации. Я когда прочитал, успокоиться долго не мог, даже сварганил небольшой экстракт оригинальной статьи и запрограммировал на асме для х86.
http://mcs.uwsuper.edu/sb/324/Intro/invert.html
Таким образом, для вычисления 1/х чисел float используется 4 умножения и 2 вычитания. Так имеет смысл делать только если у МК есть аппаратный перемножитель.
http://mcs.uwsuper.edu/sb/324/Intro/invert.html
Таким образом, для вычисления 1/х чисел float используется 4 умножения и 2 вычитания. Так имеет смысл делать только если у МК есть аппаратный перемножитель.
Re: Нужен оптимальный алгоритм RTC
Очень интересно!
У мег есть аппаратное умножение, делается за 2 такта. Если где-то понадобится много вычислений - вполне можно подумать.
У мег есть аппаратное умножение, делается за 2 такта. Если где-то понадобится много вычислений - вполне можно подумать.
Re: Нужен оптимальный алгоритм RTC
Тааак.. теперь мя долго не успокоюсь..Ser60 писал(а):когда прочитал, успокоиться долго не мог,
Классная формула и статья - утянул к се на комп....
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
- Реклама

