Sinewave 100k generator, DAC + PDC + Timer.

If you use DDS you use a full size sine-table whatever frequency since the phase value is
always in the correct range.

In short:

  analogWrite (sine_table [(phase += freq) >> shift]) ;