Ich bin gerde schon an die erste Grenze gestoßen:

Wenn ich für die PWM-Impulse eine Länge zwischen 0-255 einstellen möchte,
und ich 16 Impulse pro Sinuswelle haben möchte,
und ich das pro Spule zwei mal pro Umdrehung machen soll,
und der Motor 200 U/sec. macht,

dann komme ich auf schlappe 1,6MHz

Ich gebe zu, das ich am Anfang dachte "Ihr mit euren PWM-Ausgängen, das mach ich eben zu Fuß über einen normalen Digiport".
Na ja, hab wohl vergessen das Hirn einzuschalten. Bei den Schaltzeiten fällt die Idee mit dem einfachen PIC wohl ins Wasser. Die schaffen keine 20kHz.