Нужен оптимальный алгоритм RTC

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Re: Нужен оптимальный алгоритм RTC

Сообщение МитяРа »

ploop писал(а):Ладно, если серьёзно
Раз пошла такая пьянка, а может просто взять МК со встроенным RTC или внешний DS1307 повесить.. :roll:
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Реклама
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Нужен оптимальный алгоритм RTC

Сообщение ploop »

Прошивка на заказ, устройство уже собрано. И работает, кстати говоря (и часы тоже), тестируется. Так что нельзя ничего менять, кроме прошивки.
Это я чисто из спортивного интереса спрашиваю, у меня то часики еще не доделаны.
Реклама
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Нужен оптимальный алгоритм RTC

Сообщение Ser60 »

Коты, а слышали-ли вы про реализацию деления посредством умножения? Правда, это относится к флоатам. Так реализовано аппаратное деление в старом процессоре 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 вычитания. Так имеет смысл делать только если у МК есть аппаратный перемножитель.
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Нужен оптимальный алгоритм RTC

Сообщение ploop »

Очень интересно!
У мег есть аппаратное умножение, делается за 2 такта. Если где-то понадобится много вычислений - вполне можно подумать.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Re: Нужен оптимальный алгоритм RTC

Сообщение МитяРа »

Ser60 писал(а):когда прочитал, успокоиться долго не мог,
Тааак.. теперь мя долго не успокоюсь.. :))

Классная формула и статья - утянул к се на комп.... :tea:
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Реклама
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»