www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik problem mit sta013 mp3 decoder


Autor: john (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo alle,

ich bin dabei mir ein mp3 spieler zu basteln, der auf mega16, sta013 und 
cs4331 basiert. später werde ich noch CF oder CD ranhängen als source 
für die mp3s aber im augenblick benutze ich noch die parralelle 
schnittstelle um daten an den
controller zu senden.

das datenblatt für den sta013 gibts hier :
http://us.st.com/stonline/prodpres/dedicate/mp3/sta013.htm

das design für die schaltung habe ich von hier :
http://www.pjrc.com/tech/mp3/sta013.html

ich kann über i2c mit dem decoder kommunizieren. uploade die 2007 byte 
paare aus der .bin von der st website, setze dann die werte aus tabelle 
5 für 10Mhz crystal. setze PLAY, RUN, !MUTE.
dann geht der Data_req hoch und mein controller fängt ann daten zu 
senden, mit folgender routine.


#define MP3DDR    DDRC
#define MP3PORT    PORTC
#define MP3PIN    PINC
#define MP3DATA    PC5  // serial data line
#define MP3CLK    PC4     // serial clock line
#define MP3DATA_REQ     PC3
#define MP3RST    PC2

#define MP3DATA_LO cbi(MP3PORT,MP3DATA)
#define MP3DATA_HI sbi(MP3PORT,MP3DATA)

#define MP3CLK_LO cbi(MP3PORT,MP3CLK)
#define MP3CLK_HI sbi(MP3PORT,MP3CLK)

void sta_HWinit(void){
    cbi(MP3PORT, MP3DATA);
    sbi(MP3DDR, MP3DATA);
    cbi(MP3PORT, MP3CLK);
    sbi(MP3DDR, MP3CLK);
    sbi(MP3PORT, MP3DATA_REQ);
    cbi(MP3DDR, MP3DATA_REQ);
};

void sta_send_data(unsigned char byte){
    char i;
    for(i = 7; i>=0;i--){
        MP3CLK_LO;
        if((byte >>i)&1) MP3DATA_HI; else MP3DATA_LO;
        MP3CLK_HI;
    };
};

aus dem DAC kommt leider kein mucks.
wenn ich das syncstatus register abfrage erhalte ich 0x00 (also : 
Research of sync word, seite 15 im datenblatt)
und das Errorcode register enthält 0x20 ?!? obwohl es laut daten blatt 
nur 0x00,0x01 und 0x02 haben soll. ich nehme an, das 0x02 == 0x20 ist 
was auch sinn machen würde, denn 0x02 bedeutet DATA not available.

ich bin mit meiner weissheit am ende.

Ich hoffe, das jemand hiermit erfahrung hat und mir einen tipp geben 
kann.

vielen dank im vorraus,

john

p.s. wenn bedarf besteht, kann ich noch die komplette source posten. 
(avr code & windows code um mp3 per lpt zu senden)

Autor: john (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich habe jetzt noch mal ein paar test gemacht und eine text datei ann 
denn controller geschickt. die kommt korrekt an und die chars scheinen 
auch richtig an den sta013 gesendet zu werden ...

warum spielt das teil dann nichts ab ?

Autor: ERDI - Soft (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht Lautstärke falsch eingestellt oder immer noch im 
Mute-Modus... ?

Autor: john (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nee nicht mehr im mute lautstärke ist egal das habe ich an den hifi 
verstärker angeschlossen.

wenn ich das FRAME_CNT register enthält auch konstant 0x01 also 
dekodiert das teil garnichts

Autor: ERDI - Soft (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kenne mich mit dem Teil nicht aus, aber besteht die Möglichkeit, die 
Daten, die man reinschreibt, auch wieder auszulesen? (Geht wohl nur im 
Stop-Modus, falls überhaupt.)
Bzw. Guck doch mal mit nem Oszi, was beim DAC alles ankommt.
Kommt was an, solltest du deinen DAC mal kontrollieren.

Autor: john (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
am DAC kommt nix an.

der sta akzeptiert die daten irgendwie nicht.

sie scheinen anzukommen aber der sta dekodiert sie nicht...

;(

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.