naja, gehen wir mal von einer software-pwm aus.
nachdem du nichts zu deiner gewünschten auflösung der 1MHz pwm sagst,
geh ich einfach mal von handelsüblichen 8 bit aus.
du hättest also zum setzen des Pegels (1/1MHz)/2^8 = 3,9ns zeit.
sagen wir mal, du brauchst (und das ist realistisch angenommen) 50
befehle für setzen, sprünge, verzweigung, usw...
dann müsste deine MPU (bei CPI=1) mit mindestens 12,8GHz laufen.
mal schaun, wie viel bit bei der pwm dein atmel mit den 50 instruktionen
und der maximalen taktfrequenz von 20MHz schafft: ich komme auf 2^x =
0,4. das könnte wohl ein problem werden...
okay, die pwm vom atmel zu erzeugen, wird also "schwierig". naja, das
kann man ja mit externer logik oder einem FPGA oder CPLD noch
hinkriegen.
schauen wir uns den 1MHz takt mal an, der dazu nötig ist. 10Hz passen in
1MHz recht genau 100000 mal rein. das ist also die zahl der werte, die
dein atmega als takt ausgeben können muss. hier reichen nicht mal mehr 2
8bit-register, sondern es braucht 3. bis man das in einer 8bit struktur
zusammengesetzt hat, ist doch deine zeit für das setzen längst
abgelaufen.