А вообще, в рядовых проектах, делаю обычно двухчастотный генератор (два DDS и сумматор со взвешиванием). И в АЦП или ШИМ, что есть. Если ни того, ни другого, то старший знаковый бит в порт. Ну и естессно в таймере это, на частоте дискретизации от 8 кгц и выше (какая есть в системе)