Vs1001k řešení!

Z

Ziko87

Guest
Dobrý den, jsem novým členem!
Mám malý projekt mp3 čtenáři SD-Card, pic16f876 a Vs1001k!
Jsem si uvědomil úspěšně rozhraní SPI (ve skutečnosti je mikrokontrolér odpovědi
správně a nastaví všechny registry správně), je můj problém zůstat v odeslání
Údaje mp3 kódu.Myslím, že je zde problém s Zavádecí čipové někdo vědět
správný sled pro uvedení do provozu správně?

Omlouváme se za moje špatná angličtina I'm učení!

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Velmi Happy" border="0" />Tank you very much!

 
Jarosław Bauc, prezes Polkomtela, potwierdził informacje, że przejęciem udziałów w kierowanym przez niego operatorze zainteresowane są duże fundusze inwestycyjne - pisze &lt;i&gt;Warsaw Business Journal&lt;/i&gt;.

Read more...
 
Nejsem jist, že to pomůže, ale podívejte se na http://www.microsyl.com tam mp3 projektu pomocí stejného mp3 dekodér čip a zdrojový kód, ale v avr, možná budete mít nějaké informace zde ...

 
z tohoto webu vám mohou pomoci.http://www.mpic3.com/

mít ukázkový kód napsán v CCS PIC C pro kontrolu VLSI VS1001K MP3 CODEC IC

 
Jsem použil VS1011b verze MP3 dekodér IC.Ale tím,
že cesta je jen nepatrné rozdíly mezi nimi.Před krmení MP3 data jsou pár věcí, měli byste zkontrolovat:
>> Hardware reset VS1001k roztažením XRESET linie nízké pro nás málo a táhněte jej vysoká.Měli byste být schopni si uvědomit a "pop" zvuk z výstupu na IC.Důvodem je to, že vypnutí analogového napájení.Pokud tuto zkoušku projít, pokračujte na další.
>> Do čtení žádné rejstříku (např. objem).Čerpadlo tuto číst data prostřednictvím UART (nebo cokoli, co může myslet).
>> Do a číst-psát-číst do rejstříku VS1001k (nejlepší je objem rejstříku).Pokud je to ok, pak nebude mít žádný problém.
>> Nezapomeňte, při krmení MP3 dat do VS1001k, přejít linii velení a uvedením data (přepnout na údaje Při krmení MP3 data).Pamatujte také, pro kontrolu údajů žádosti pin (DREQ) před krmení údajů.
>> Také zkontrolujte oscilace nastavení, pokud používáte jiné než 24.576 krystalu MHz.

Doufám, že to funguje u vás.Všechno nejlepší.Měli byste se podívat na žádost bere na vědomí, na jejich webových stránkách. www.vlsi.fi [/ url]
 
Díky za odpověď, že jsou velmi užitečné.

Musím zkontrolovat všechny, které jste mi poradit, aby:

1) Poté, co mají udělat pro hardware test jsem slyšel famus "pop"

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Velmi Happy" border="0" />2) I hava číst správně objem registrovat
3) můžu psát a číst správně všechny rejstříku
Jedinečné místo, které by funkci uncorrectly je poslední:
I ovládání DREQ a jsem nastavení registru režimu "MSB první" bat Slyšel jsem jen mlčel

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Velmi Happy" border="0" />To je můj routin že mám používat pro ovládání přístroje:
Kód:# ifndef __VS1001K_C

# define __VS1001K_C

# include "Delay.c"

# include "VsSpi.c"

# include "vs1001k.h"void VsData (char Byte) (

char počítat;

BSYNC = 1;

pro (count = 0; počítat <8; count ) (

if (Byte & 0x80) (

SDATA = 1;

else ()

SDATA = 0;

)

BSYNC = 0;

DCLK = 1;

DCLK = 0;

Byte <<= 1;

)

/ / BSYNC = 0;

)void VsInit (void) (

int i;

VsCommand (11, 0, 0);

VsCommand (3, 0x98, 0x00); / / Není nécessaire

for (i = 0; i <2048; i ) (

DCLK = 1;

SDATA = 0;

DCLK = 0;

BSYNC = 0;

)

)void VsResetHardware () (

xRESET = 0;

DelayMs (1);

xRESET = 1;

xCS = 1;

VsInit ();

)void VsResetSoftware () (

char i;

VsCommand (0, 0, 4);

DelayUs (300);

BSYNC = 1;

for (i = 0; i <8; i ) (

DCLK = 0;

SDATA = 0;

DCLK = 1;

BSYNC = 0;

)

DCLK = 0;

)void VsCommand (char komanda, hi char, char aj) (

xCS = 0;

VsMandoByte (0x02);

VsMandoByte (komanda);

VsMandoByte (hi);

VsMandoByte (aj);

xCS = 1;

)int VsReadRegister (char address) (

char Risp1, Risp2;

int FinalRisp = 0;

xCS = 0;

VsMandoByte (0x03);

VsMandoByte (adresa);

Risp1 = VsPrendoByte ();

Risp2 = VsPrendoByte ();

xCS = 1;

FinalRisp = Risp1;

FinalRisp = FinalRisp <<8;

FinalRisp = Risp2;

návrat FinalRisp;

)void VsReadByte (char address) (

char Risp1, Risp2;

xCS = 0;

VsMandoByte (ČTĚTE);

VsMandoByte (adresa);

Risp1 = VsPrendoByte ();

Risp2 = VsPrendoByte ();

xCS = 1;

UartPuts ( "Odpověď:");

UartPutch (Risp1);

UartPutch ('-');

UartPutch (Risp2);

UartPutch ('-');

UartPuts ( "\ n \ r");

)void Send32 (char * BUF) (

char i;

while (DREQ == 0) ()

for (i = 0; i <32, i )

VsData (BUF );

)# endif

 

Welcome to EDABoard.com

Sponsor

Back
Top