Цитата(CombaSoft @ Aug 2 2008, 22:14)

В первом варианте предполагалось использовать Atiny2313 в качестве ЦАПа - туда я зашил табличный синус. Была возможность угрублять отсчеты - в 1, 2,4 и 8 раз. На контроллер шло четыре управляющие ножки - step+, step-, div_0, div_1. 16-я мега управляла несколькими такими ЦАПами на 2313. И получалась довольно-таки неплохая скорость и ног 16-й меги хватало.
Однако пока я делал этот вариант изменилось ТЗ - теперь нужно именно считать синус, т.к. требовалось получать его значение практически для любого угла ( в пределах разрешения 10 бит ЦАПа ).
При 10-бит ЦАП более чем достаточно линейной интерполяции по не очень мелкой таблице синусов, длина четверти периода - 128 отсчетов. Если оптимизировать значения в таблице и применить 16-битную арифметику, можно обойтись 96, а то и 64 отсчетами. При этом ошибка будет меньше 1/2 МЗР 10 бит.