Nabend zusammen, Bin wohl der X te der ein Problem mit dem VS1011 hat. Alles überprüft, der ATMega 32 spuckt schön 32Bytes raus, wenn Dreq auf high geht. Komisch ist nur, dass ich nichts höre, aber wenn ich in der Routine, in der die 32 B gesendet werden, die daten nachdem sie zum VS geschickt wurden über Uart zum PC schicke, höre ich sehr stockende Musik. Nun habe ich die SPI Frequenz gesenkt, weil ich gedacht habe, dass das Ding vielleicht Pausen braucht (meine VS SPI freq: 4MHz, für die SD Karte 8MHz, gleicher Bus). Kommt aber immer diese stockende, unverständliche Musik. Was kann hier falsch sein???
Ach ja noch ein paar daten: Crystal: 24,576 Mhz Initialisierung des VS: Hard Reset (warten...) set new SDI Mode und schon gehts los mit den ersten daten falls dreq 1
Wie schnell reagierst du auf DREQ? Wenn die Musik stockt, dann scheint es, als wenn du den VS1011 zu langsam mit Daten versorgst. Wieviele Bytes schreibst du runter? 32 oder so lange bis DREQ wieder low geht?
"Komisch ist nur, dass ich nichts höre, aber wenn ich in der Routine, in der die 32 B gesendet werden, die daten nachdem sie zum VS geschickt wurden über Uart zum PC schicke, höre ich sehr stockende Musik." Den Satz verstehe ich jetzt nicht. Wieso schickst du Daten zum PC? Die Übertragung ist doch sehr langsam, wie versorgst du den VS in dieser Zeit mit Daten? Oder wie jetzt?
Rooney: ich schreibe 32Bytes, dann schaue ich ob Dreq immer noch 1 ist, falls ja, nochmal 32B, immer so weiter, aber höchstens 16 mal, denn dann ist ein Block weg und ein neuer muss geholt werden. Jupp: Dass es komisch ist kommt mir auch so vor. Die daten schickte ich für die ersten Tests zum PC, um zu sehen ob der Mega die Daten überhaupt richtig ausspuckt. Diese Tests sind alle erfolgreich verlaufen. (Habe auch alle Tests in der AN gemacht, Firmware, Sinetest, alles OK). Im jetzigen Programm werden natürlich keine DAten mehr an den PC geschickt. Bloß hört man dann nichts. Und da man alles probieren muss, habe ich kurz die Routine eingefügt und siehe da: Extrem Stockende Musik. Das ist jetzt sehr widersprüchig, denn die Uart Routine braucht Zeit. ;Beispiel1: Schleife 32B: bla bla send spi zum VS bla bla rjmp Schleife 32B ; richtig aber ich höre nichts ): ;Beispiel2: Schleife 32B: bla bla send spi zum VS sende zum PC bla bla rjmp Schleife 32B ; sehr stockende Musik ?!?!?!?!?!?! Ich habe alles in ASM geschrieben und auf so wenige Takte wie möglich optimiert.
Das klingt danach, als wenn du Daten sendest, obwohl der VS1011 keine haben möchte. Das würde zumindest erklären, warum es mit den UART Routinen geht. Probier mal folgendes: Baue anstelle der UART Routine eine Schleife ein und variiere deren Länge, so dass du in etwa genau die Bitrate der mp3 Datei triffst. Wenn die Musik dann weitestgehend fehlerfrei abgespielt wird, passt etwas mit dem DREQ Pin nicht.
Dann werde ich wohl am besten gleich Streaming einführen, wenn man DREQ im A.... ist. Probiers mal aus
Arbeitest du mit Chip Select und Hardware SPI? Falls ja, wann kippst du den CS-Pin um? Vielleicht passiert das während das letzte Byte noch übertragen wird. Das einzige Problem das mir beim DREQ bekannt ist das die Leitung während der Übertragung eines 32 Byte Blocks kurz auf 0 kippen kann. Daher soll das Signal nur dazu verwendet werden um festzustellen ob ein Block geschickt werden soll.
sehr interessant. Mir ist gerade aufgefallen, dass das der FAll sein kann. Werde ich prüfen. Aber macht ein Byte wirklich so viel unterschied? ICh meine wenn einmal ein Byte fehlt oder falsch übertragen wird, kann es dann sein, dass man nichts hört? Nur wegen einem Byte?
Kommt drauf an, wie oft ein Byte falsch ankommt. Wenn die Daten ungültig sind, ignoriert der VS1011 diese. Das würde dann auch Stille erzeugen.
Wegen eines ganzen Bytes vielleicht nicht. Aber die Übertragung wird ja dann mittendrin unterbrochen. Den Fall hatte ich vor kurzem mit dem VS1033 und einem LPC2368. Da kam auch kein Ton.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.