057
05.12.2013, 13:12 Uhr
meikel
|
Zitat: | hjs schrieb
Zitat: | meikel schrieb 1kHz * 65536 ~ 6,5MHz. Und da der Prozessor auch noch Zeit braucht, könnten 20MHz (wie Du schon geschrieben hattest) ausreichen. Allerdings muß die Tonausgabe oberste Priorität haben. Sonst gibts ne 5 in Musik.
Für das Schlüssel-C (c') werden 261,626Hz benötigt, für c#' 277,183Hz. Differenz ~ 15,5Hz. 7,77Hz wäre schon ein viertel Ton Differenz. Wer das nicht hört, ist taub. |
Also, das erschließt sich mir nicht. |
Schade.
Zitat: | Mal vereinfacht angenommen, dass der Timer jeweils mit 0xf888 geladen wird und bei null die Flanke liefert, dann würden 261.5 Hz entstehen. |
Du verstehst mich miß: wenn ein c' (das sogenannte Schlüssel-C, weil die Taste in der Nähe des Schlüsselochs ist) verlangt wird, dann muß die ausgegebene Frequenz 261,626Hz betragen.
Oder nimm als Normal den Kammerton A mit 440Hz. 440 * 2^16 = 28.835.840Hz Sowas kriegen nur die neueren PICs gebacken. Gehen wir mal von einem 20MHz Quarz aus: 20.000.000 / 440 = 45454,54 (Periode) Um den Ton einigermaßen sauber auszugeben, müßte die obere Halbwelle den Vorteiler 45455 und die untere den Vorteiler 45454 bekommen.
Zitat: | Bei 0xf8f4 wären das dann 277.16 Hz. Das ganze mit dem internen Oszillator von 4 Mhz. |
So, wie es sich anhört, ist interne Taktgenerator zu instabil.
Zitat: | Das größere Problem liegt zwei Oktaven höher. Aber da hätte man immernoch 27 Werte zwischen zwei Tönen. |
Dicht daneben ist auch vorbei.
Zitat: | Unvereinfacht muss noch berücksichtigt werden, dass sowohl vom Timerereignis bis zum Flankenwechsel als auch danach bis zum Neuladen des Timers eine bestimmte Anzahl von Takten vergehen. |
Und genau das incl. dem instabilen Generator hört man. Der Knirps ist schlicht und einfach zu langsam.
Wäre das Teil ein Keyboard: Henkel dran schrauben, neben die Mülltonne stellen und darauf hoffen, daß die Müllabfuhr das Teil mitnimmt.
Einfach mal nen chromatischen Tuner für 5,90€ zulegen: http://www.thomann.de/de/danelectro_qwiktune_qt9.htm |