Доброго времяпровождения!
Есть mega128 (вопрос выбора МК отложим, просто валяется, решил на ней сделать), тактовая частота - 14,7456 МГц.
Нужно получить из нее квадратурный сигнал (2 меандра, сдвинутых относительно друг друга на 90 градусов) основной частотой 36кГц.
Необходимо предусмотреть отклонение от основной частоты 36кГц+-1кГц с дискретностью не более 100Гц (самый крайний случай, желательно не более 50Гц).
Частота задается с компа через uart, но это уже другая история, будем считать что у нас уже есть значение, которое лежит, например, в каком-нибудь регистре сравнения. Притом данную частоту нет необходимости подстраивать довольно часто, т.е. мы меняем ее к примеру раз в 30мин.
Вопрос - как оптимально реализовать данную задачку?
Варианты использовать другой МК не приветствуются, но могут будут рассмотрены.