Moin moin!

Muss mich mal kurz online freuen, hab heute mein STK500 bekommen, von Farnell Elektronik.

*FREU*

Rein optisch kriegt man schon mal was fuers (viele) Geld, bei mir lagen ausserdem zwei AVRs mit drin (8515 und ATMega16), find ich richtig nett.

Aber ich haette da noch mal ein paar Fragen zu AVRs generell: Im Datenblatt steht ja immer, wie schnell man die Dinger betreiben kann, also was fuer Quarze man anschliessen kann. Aber viele AVRs haben ja auch einen internen Timer. Hat dieser interne Timer immer 1 MHz oder gibts auch schnellere? Zum Beispiel hab ich einen ATMega8-16PC. Steht die 16 da fuer die 16 MHz, die er laut Datenblatt maximal kann oder dafuer, dass er mit dem internen Quartz 16 MHz macht?

Als Anwendung sollen auf meinem AVR mehrere digitale Regelungen laufen, einmal PI und zweimal P. Diese drei Funktionen werden per Timer-Interrupt aufgerufen, um eine konstante Abtastzeit zu haben. Messgroessen kommen als PWM-Signale an, dazu wuerde ich die beiden Interrupt-pins und den Input-Capture-Pin nehmen.
Die Ausgaenge der drei Regler und zwei weitere Ausgangssignale solle ebenfalls PWM sein, aber wie kriege ich das nun hin? Die Ausgaenge sollen eine Refreshrate von mindestens 50 Hz haben und recht genau sein. Wenn ich den AVR mit 16 MHz betreibe, waere ein ASM-Befehl ja etwa 0,06 us lang, also sind Aufloesungen im Mikrosekundenbereich theroetisch moeglich. Aber wie lasse ich die Ausgaenge "parallel" zur sonstigen Programmbearbeitung laufen? Ich kann ja schlecht fuer jeden Ausgang eine Funktion mit Timer-Interrupt schreiben, die dann jeweils einen Puls der gewuenschten Laenge ausgibt, oder? Weil es doch nur zwei Prescaler fuer den Timer gibt...
Ausserdem soll noch ein Schrittmotor angesteuert werden, zwar nicht schnell, aber auch so "im Hintergrund", dass die Regelungen ungestoert weiterlaufen.
Hat jemand ne schlaue Idee?
Nils