IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Pb codec audio lecteur mp3


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Octobre 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 7
    Par défaut Pb codec audio lecteur mp3
    Bonjour à tous,

    je dois réaliser un lecteur mp3. J'utilise un pic18f46k20 et codec audio VS1011E. Je n'arrive pas à faire fonctionner le codec : je n'arrive même pas à tester le codec avec une sinusoïde. Quelqu’un ayant déjà utilisé ce codec, pourrait-il m’aider ?
    Voici ma fonction de test de la sinusoïde :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
     
    void F_VSInitsinu(void)
    {
    unsigned char UCH_i;
     
    if( VS_dreq == 1)  
    	{MUTE = 1;
    	VS_cs = 1; //On met le cheap_select du codec à 1	
    	VS_clk = 0;//On met le clock du codec à 0
    	VS_data = 0;//On met le data out du codec à 0
    	VS_reset = 1;//On met le reset du codec à 1
    	F_Delay(100);// attente de 100ms
    	VS_reset = 0;
    	F_Delay(30);
    	VS_reset = 1;
    	F_Delay(10);
     
    	command=0x02030000;//on indique la vitesse qu quartz
    	VS_cs = 0;
    	F_Delay(1);
    	for(UCH_i=0;UCH_i<32;UCH_i++) // on envoie les octets au codec
    	{
    		if((command & 0x80000000) == 0x80000000)
    			{VS_data = 1;}
    		else
    			{VS_data = 0;}
     
    		VS_clk = 1;
    		command = command<<1;
    		F_Delay(1);
                              VS_clk = 0;
    	}
    	F_Delay(1);
    	VS_cs = 1;
    	F_Delay(40);
     
    	command=0x02000C20;//on autorise les tests et on se met en mode SDI shared
    	VS_cs = 0;
    	for(UCH_i=0;UCH_i<32;UCH_i++)
    	{
    		if((command & 0x80000000) == 0x80000000)
    			{VS_data = 1;}
    		else
    			{VS_data = 0;}
    		VS_clk = 1;
    		command = command<<1;
    	             F_Delay(1);
    	             VS_clk = 0;
    	}
    	F_Delay(1);
    	VS_cs = 1;
    	F_Delay(10);
     
     
    	cmd_Vol_sinu=0x020B0000; //commande du volume
    	VS_cs = 0;
    	for(UCH_i=0;UCH_i<32;UCH_i++)
    	{
    		if((cmd_Vol_sinu & 0x80000000) == 0x80000000)
    			{VS_data = 1;}
    		else
    			{VS_data = 0;}
    		VS_clk = 1;
    		cmd_Vol_sinu = cmd_Vol_sinu<<1;
    		F_Delay(1);
    		VS_clk = 0;
    	}
    	F_Delay(1);
    	VS_cs = 1;
    	F_Delay(10);
     
    	command=0x53EF6E44;// commande du test de la sinusoïde
    	VS_cs = 0;
    	for(UCH_i=0;UCH_i<32;UCH_i++)
    	{
    		if((command & 0x80000000) == 0x80000000)
    			{VS_data = 1;}
    		else
    			{VS_data = 0;}
    		VS_clk = 1;
    	             F_Delay(3);
    	             command = command<<1;
    		VS_clk = 0;
    	}
    	VS_cs = 1;
    	F_Delay(1);
     
    	command = 0x00000000; // 4 octets à vide
    	VS_cs = 0;
    	for(UCH_i=0;UCH_i<32;UCH_i++)
    	{
    		if((command & 0x80000000) == 0x80000000)
    			{VS_data = 1;Nop();}
    		else
    			{VS_data = 0;Nop();}
    		VS_clk = 1;
    		F_Delay(1);
                             command = command<<1;
    		VS_clk = 0;
    	}
    	VS_cs = 1;
    	F_Delay(3);
    	MUTE = 0; //on demute
    Merci à tous pour vos réponses!

    A bientôt!

  2. #2
    Membre émérite
    Avatar de Pouet_forever
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 671
    Par défaut
    Je ne connais pas ce codec
    Mais j'ai trouvé ça sur le net : http://www.mikroe.com/en/article/09/03/
    Ils disent qu'ils utilisent le VS1011E pour décoder le son
    Ya des sources si tu veux t'en inspirer

  3. #3
    Membre régulier
    Inscrit en
    Octobre 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 7
    Par défaut
    Merci pour ta réponse!

    j'ai déjà trouvé pas mal de sources sur internet avec ce codec. J'envoie bien les mêmes commandes qu'eux et je pense avoir bien respecter les temps d'attentes. La seule différence entre mon code et le leur c'est qu'ils utilisent un spi pour communiquer avec le codec. j'utilise déjà mon spi pour communiquer avec la SD.

    Voilà!

    A+

  4. #4
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Par défaut
    Salut,

    Citation Envoyé par burby Voir le message
    j'utilise déjà mon spi pour communiquer avec la SD.
    Ca ne devrait pas poser de problème. Chaque périphérique SPI a une pin "chip enable". Il suffit d'activer le chip enable du périphérique auquel tu veux t'adresser avant chaque communication, et de le désactiver à la fin de la communication.

    A+

    Pfeuh

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Audio][Video] lecteur MP3 ,vidéo en java
    Par slim_java dans le forum Multimédia
    Réponses: 6
    Dernier message: 23/12/2008, 23h28
  2. [JAVALayer] Création d'un lecteur MP3
    Par chesteric31 dans le forum Multimédia
    Réponses: 5
    Dernier message: 09/10/2005, 14h21
  3. Enorme pb ports usb/lecteur mp3
    Par mellody dans le forum Périphériques
    Réponses: 7
    Dernier message: 18/09/2005, 11h21
  4. Lecteur MP3 sympa ?
    Par Ultra-FX dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 24/07/2004, 01h06
  5. Programmer un lecteur mp3
    Par OjBarbare dans le forum MFC
    Réponses: 3
    Dernier message: 17/02/2003, 19h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo