Hallo alle zusammen!
Also mein Problem (Hoffe mir kann jemand helfen):
Mein Kollege und ich schicke die MP3 files richtig auf den VS1011 via
die SPI-Schnittstelle. Haben wir überprüft!
Wir verwenden für den VS1011 eine 12.288 MHz Quarz, für den Atmega 16
den internen 8 MHz Takt.
Das MP3 kann über die Kopfhörer nur ruckartig erkannt werden.
Das MP3 dauert normalerweise um die 3min, in dieser Schaltung ist das
MP3 schon nach 1min fertig (daraus schließe ich, dass es zu schnell
abgespielt wird.
Freue mich auf eure Beiträge und hoffe, dass mir jemand helfen kann!
MFG Lukas
Hat der MP3 Dekoder nicht einen internen Buffer der signalisiert, wann
er voll ist? Wartet ihr mit der Übertragung neuer Daten, wenn dieses
Signal erscheint?
@ Lukas (Gast)
>Das MP3 kann über die Kopfhörer nur ruckartig erkannt werden.>Das MP3 dauert normalerweise um die 3min, in dieser Schaltung ist das>MP3 schon nach 1min fertig (daraus schließe ich, dass es zu schnell>abgespielt wird.
Wertet ihr das DREQ Signal ordentlich aus? Taktverdoppler eingeschaltet?
MFG
Falk
Sry!
Das habe ich vergessen!
Wir warten auf das DREQ Signal! Jedoch wenn wir uns dieses Signal mit
dem Oszi anschauen, dann sieht das aus wie ein Rechtecksignal eines
Rechteckgenerators.
Wir haben zur Initialisierung das Datenblatt und die Aplicationnode von
VLSI verwendet!
Den Taktverdoppler ist ebenfalls eingeschalten!
Wir sind langsam am verzweifeln!
MFG
Lukas
Die Daten bekommen wir von einer CF-Karte! Ich vergesse schon viel gg
hineinzuschreiben!
FAT funktioniert einwandfrei! Die Daten von der CF-Karte haben wir über
die SPI auf die Festplatte gespeichert und da klingt das MP3 ganz
normal!
MFG Lukas
Über SPI an eine Festplatte?
Mag ja sein, hat aber mit dem DAC nix zu tun. Oder sollte das heißen,
daß der VS1011 von einer Festplatte abspielen kann und es dann klappt?
Nein!
Also wie das mein Kollege mit der Festplatte gemacht hat weiß ich nicht
genau weil ich nicht da war!
Wir speichern die Daten auf einer CF-Karte, diese wird mit einem
ATMEGA16 angesteuert. Die Daten von der CF-Karte werden via ATMEGA auf
den VS1011 geschickt!
MFG
Tom wrote:
> Ich kenne den VS1011 nicht so genau. Aber ich hatte mal solch ein> problem mit einem Atmel. Damals lag es an der Einstellung des DAC.
Wie hast du damals den Fehler behoben? Was war de Grund dafür?
In den Aplication-Nodes ist jedenfalls nie die rede von einem DAC!
Wir haben unser Prog. mit Hilfe dieser Nodes beschrieben.
MFG Lukas
Boxi Boxitec wrote:
> schau doch mal mit dem oszi, ob daten gesendet werden, obwohl dreq sagt,> dass der vlsi gerade keine haben möchte
Haben wir schon. Der DREQ Pin geht andauern zwischen LOW und HIGH hin
und her. Sieht aus wie ein Rechteck. Senden wird nur gestartet, wenn
DREQ auf HIGH ist.
Gast wrote:
> Wieviele Bytes sendet Ihr, wenn das DREQ aktiv wird?
Einen Burst von 32 Bytes.
Tom wrote:
> Über SPI an eine Festplatte?>> Mag ja sein, hat aber mit dem DAC nix zu tun. Oder sollte das heißen,> daß der VS1011 von einer Festplatte abspielen kann und es dann klappt?
Die Daten die von der CF Card gelesen wurden, haben wir über die USART
an den PC geschickt, das empfangene dann als File gespeichert und
abspielen Probiert --> Funktioniert einwandfrei. Es gibt also kein
Problem mit dem CF oder dem FAT Treiber.
Tom wrote:
> Ich kenne den VS1011 nicht so genau. Aber ich hatte mal solch ein> problem mit einem Atmel. Damals lag es an der Einstellung des DAC.
Wie meinst du das? Auf den DAC des VS1011 hab ich ja keinen direkten
Zugriff, der wird doch vom VS1011 intern verwaltet?
Bei der Initialisierung wird zuerst ein Hard Reset, dann ein Soft Reset
ausgeführt, dann die CF Card initialisiert und dann wird begonnen die
Datei so wie sie auf der CF Card ist an den VS1011 zu senden.
1
voidVS_Reset(reset_ereset)
2
{
3
u08i;
4
if(reset==VS_RESET_SOFT){
5
VS_WriteSCI(VS_SCI_MODE,(1<<VS_SM_RESET));
6
Delay(5);/* 5ms */
7
while(!(VS_PIN&(1<<VS_DREQ)));
8
Delay(100);/* 100ms */
9
VS_SMSet(VS_SM_SDINEW);/* Like WriteSCI, but only sets on bit an leaves the others in their original state */
Das Problem scheint vom VS1011 auszugehen. Der DREQ Pin geht nicht oder
zu kurz auf LOW. Wenn ich die VS_WaitDREQ abändere, dass es ein
zusätzliches Delay gibt, kann man das Lied erkennen. (Zwar etwas zu
langsam abgespielt, immerwieder Ruckler etc, aber eindeutig erkennbar.)
Hat irgendjemand eine Ahnung warum der DREQ Pin vom VS1011 anscheinend
nicht richtig funktioniert?
Hi!
Danke für die Hilfe, das Problem war gar keines. Mein Soucecode
funktioniert wunderbar. Schuld war scheinbar der VS1011. Ich habs jetzt
mit einem anderen VS1011 Chip probiert und mit dem funktioniert es
einwandfrei. Wiedergabe is selbst bei 320kBit/s Variable Bit Rate MP3s
noch einwandfrei.
Warum beim alten VS1011 der Sinustest und die (ruckelhafte) Wiedergabe
funktioniert hat ist mir immer noch ein Rätsel...
MfG
Lukas
Gast wrote:
> Vielleicht hast DU vergessen, das TEST-Bein vom VS zu versorgen.. Je> nach HIG oder LOW extern macht er dann so einen Quastsch.
Nein, TEST war auf VDD, an dem darf es nicht gelegen haben. Ich hab auch
nichts an der Schaltung geändert, als alten VS1011 raus, neuen
reinstecken. Ziemlich seltsam jedenfalls...
-- Lukas
Naja evtl. hat dieses Beinchen nicht richtig gesessen, (gesteckt? ist
doch ein SMD?) - kannst ja mal mit Absicht andersrum beschalten, falls
es Dich noch interessiert, ob es daran lag.