Forum: Mikrocontroller und Digitale Elektronik mp3-Player mit Atmega8 und vs1011e spielt nicht


von schrammler (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich versuche schon seit einiger Zeit den mp3-Player von Nik Bamert 
nachzubauen. siehe:

http://mp3.nikbamert.com/mega8/index.php?page=schaltplan

Dazu habe ich die obige Schaltung aufgebaut. Da ich diese komplett mit 
3,3V betreibe brauche ich auch keinen Pegelwandler. Ich verwende jedoch 
einen vs1011e und er in seinem Projekt einen vs1001k als Decoder. Die 
Schaltung ist momentan noch etwas minimalistisch gehalten… (ein paar 
Taster und ein Display werde ich später noch anschließen)

Der Sinustest des vs1011e funktioniert bei mir auch. Jedoch bin ich 
nicht in der Lage eine mp3-Datei von der SD-Karte abzuspielen und 
mittlerweile am verzweifeln. Es kommt nur beim Einschalten und Reset ein 
leises Knacken.

Daher: Kann jemand einen Fehler in meiner Schaltung oder in dem von mir 
leicht veränderten Programmcode entdecken?

Schon im voraus vielen Dank für eure Mühe! ;)

von ... (Gast)


Lesenswert?

Du solltest direkt am SD-Karten-Slot einen 10µF Kerko von VCC gegen GND 
schalten.

von schrammler (Gast)


Lesenswert?

Hi!

Erstmal Danke für die schnelle Antwort!

Einen 10uF Kerko hab ich zur Zeit nicht im Haus. Ich habe daher erstmal 
zwei 1uF Kerkos parallel zw. VCC und GND geschalten. (reicht das auch?) 
Der vs1011e spielt zwar immer noch nicht, aber ich glaube die Schaltung 
ist etwas empfindlicher geworden. Wenn ich z.B. die Hand darüber halte 
fängt der Lautsprecher an zu Knacken...

Ich vermute meinen Fehler momentan in den Mode-Einstellungen des Vs1011e 
in der vs1001.c, bin mir aber nicht sicher was ich ändern muss.

Ich bin für jede Hilfe dankbar :)

von schrammler (Gast)


Lesenswert?

Habe jetzt fünf 1uF-Kondensatoren parallel zw. VCC und GND der SD-Karte 
geschaltet. - Hilft leider nicht.

von ... (Gast)


Lesenswert?

ja, ok, das war auch nur zur grundsätzlichen Beschaltung angemerkt.
Hast du denn mal die Datenblätter der beiden MP3-Decoder miteinander 
verglichen? Vor allem was die Registerbezeichnungen, Adressierungen etc. 
angeht.

von ... (Gast)


Lesenswert?

Du solltest auf jeden Fall diesen Hinweis im Datenblatt beachten:
7.2.2 VS1001 Compatibility Mode
This mode is active when SM SDINEW is 0 (default). In this mode, DCLK, 
SDATA and BSYNC are active.

von schrammler (Gast)


Lesenswert?

Ja, das Datenblatt des vs1011e hab ich gelesen und den Sinustest hab ich 
mir auch nach der Anleitung der zugehörigen Application Note 
zusammengebaut.

Verglichen habe ich die Datenblätter auch. Wenn ich das richtig 
verstanden habe benötigt der vs1001k noch ein BSYNC-Signal, welches 
während einer Datenübertragung auf Low gezogen werden muss. Der vs1011e 
braucht dieses jedoch nicht mehr und kann mit Hilfe von 2 CS-Leitungen 
in einem neuen Modus angesteuert werden.

Da der Code jedoch für diesen älteren Chip geschrieben wurde, würde ich 
gerne den Kompatibilitätsmodus des vs1011e nutzen, da ich dann den 
Treiber nicht weiter ändern müsste. Wenn ich aber versuche diesen zu 
Nutzen ist kein Ton zu hören. Deshalb hatte ich jetzt Testweise den 
neuen Modus des vs1011e genutzt, was leider auch nicht funktioniert hat.

Mit:

buf[0] = 0x0000;
vs1001_write(0,1,buf);

ist doch der Kompatibilitätsmodus ausgewählt, oder?

von schrammler (Gast)


Lesenswert?

Ok, ich habe jetzt in meinem Programm den Kompatibilitätsmodus (siehe 
oben) ausgewählt und die 100KOhm Widerstände an Pin 2 und 3 des vs1011e 
entfernt und stattdessen DCLK (Pin 2) mit SCLK und SDATA (Pin 3) mit SI 
verbunden. Ist das so richtig?

Es kommt leider trotzdem noch kein Ton.

von schrammler (Gast)


Angehängte Dateien:

Lesenswert?

Hier mal noch die Änderungen im Schaltplan dargestellt

von ... (Gast)


Lesenswert?

... schrieb:
> 7.2.2 VS1001 Compatibility Mode
> This mode is active when SM SDINEW is 0 (default).
Der VS1001 Mode ist automatisch nach einem RESET ausgewählt. ( SM SDINEW 
is 0 (default).)

von ... (Gast)


Lesenswert?

Pin15 (Test) sollte über einen 10K an 3,3V angeschlossen werden.

von ... (Gast)


Lesenswert?

XRESET sollte während des Betriebs natürlich High sein.

von Jack P. (crosaider)


Lesenswert?

Funktioniert die Schaltung jetzt so wie sie in der letzten Version 
gepostet wurde? Möchte soetwas im mom nämlich auch machen und bei diesem 
Schaltplan blicke ich mehr durch als bei dem originalen auf der Seite, 
da hier auch noch der ATMega8 mit aufgeführt ist :)

von schrammler (Gast)


Lesenswert?

Kann ich leider noch nicht sagen. Es werden zumindest noch keine mp3s 
abgespielt.
Ich bin aber noch auf Fehlersuche ;)
Ich werde Schaltplan und Code posten wenn ichs zum Laufen bekomme.

von schrammler (Gast)


Lesenswert?

So, der mp3-Player läuft jetzt. (auch wenn es ne weile gedauert hat ... 
)
Ich hatte meine Schaltung nur als Freiluftverdrahtung aufgebaut und 
deswegen kam es immer zu Sendefehlern. Ich hab mir jetzt eine 
ordentliche Platine ätzen lassen und es läuft alles.
Die letzte Schaltung sollte so funktionieren. Allerdings habe ich noch
- ein LCD und ein paar Taster an den uC angeschlossen
- die UART-Pins herausgeführt
- einen ATmega32 und einen VS1001k genutzt
Außerdem hab ich ein anderes Dateisystem genutzt als das oben gepostete, 
weil es mit dem ein paar Probleme gab.
Wenn Interesse besteht kann ich auch noch den aktuellen Schaltplan hier 
reinstellen (der is nur auf meinem Notebook und das hab ich grade nicht 
hier)

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
Noch kein Account? Hier anmelden.