Anforderungen

1. Die hier und in den folgenden Aufgaben in dieser Rubrik "Anforderungen" getroffenen Festlegungen sind verbindlich. Sie duerfen in Ihrer Implementierung davon nicht abweichen.

2. Die Abtastrate des Synthesizers ist 50 MHz / 1024.

3. Die virtuelle Basisadresse des Synthesizers ist 0xF0500000, die physikalische also 0x30500000. Da die I/O-Geraete nur als 32-Bit-Worte addressierbar sind, muessen die im folgenden angegebenen Registernummern mit 4 multipliziert und zur Basisadresse addiert werden, um die Byte-Adresse des betreffenden Registers zu erhalten.

4. Alle Register sind mindestens 16 Bit breit. Sie duerfen auch breiter sein. Die Numerierung der Bits beginnt mit 0 beim LSB.

5. In Register 0 ist nur das Bit 0 von Bedeutung. Es schaltet den Ton ein (1) oder aus (0).

6. Register 1 bestimmt die Tonhoehe durch Angabe der Oktave (Bits 15 bis 13) und der relativen Lage des Tons innerhalb der Oktave durch das Phaseninkrement pro Abtastinterval (Bits 12 bis 0) in Einheiten von 2*pi/(2^19). Dabei ergibt sich fuer die oben genannte Abtastrate:

0 C 2809
1 C# 2976
2 D 3153
3 D# 3341
4 E 3539
5 F 3750
6 F# 3973
7 G 4209
8 G# 4459
9 A 4724
10 A# 5005
11 H 5303

Der Kammerton a' mit 440 Hz (auch A4 oder A440 genannt) wird durch Oktave 4 und Phaseninkrement 4724 eingestellt. Alle Werte der drei Bits fuer die Oktave sind erlaubt, ebenso wie Zwischenwerte bei den Phaseninkrementen (bis zu einem Maximalwert von 5618).

7. Die Kurvenform der erzeugten Schwingung ist ein Saegezahn.

8. Die Lautstaerke der erzeugten Schwingung bleibt unspezifiziert, muss aber so gewaehlt werden, dass die Toene vom angeschlossenen DAC/Verstaerker/Lautsprecher-System vernuenftig, d.h. unverzerrt wiedergegeben werden.