J'aurai besoin d'un petit coup de main pour un projet perso=)
Le but est de lire un fichier audio contenu dans une carte SD et de l'envoyer directement sur une sortie jack ou des petites enceintes.
Matériel:
-p33FJ256GP710A
-Fichiers audio en wma échantillonés classiquement a 44.1 kHZ
-Explorer 16
-carte SD 2Go avec la daughter board correspondante pour la carte de dev
Alors j'ai fait quelques recherches ma première idée était d'utiliser leSPI et de le connecter à un DAC, apparement le SPI serait trop lent pour çà.
Deuxième solution: utiliser le module DCI pour générer un PWM et l'envoyer dans un filtre de butterworth du 4 ème ordre mini avec une fréquence de coupure à 20kHz
Troisième solution utiliser le DCI relié à un codec audio, sauf que la je suis pommé:
- je ne sais pas vraiment ce que c'est un codec (le principe est de coder/decoder j'imagine)
- faut-il rajouter un étage d’amplification genre un aop et un push-pull?
-comment choisir le codec adapté?
Concernant le module DCI j'ai essayé de comprendre la doc et appartement il va lire ce qu'il a besoin directement depuis un périphérique en utilisant les registres TxBUFx. Enfin je vais continuer à bosser tout çà, le DMA est encore quelque chose de très vague et je ne voit pas comment pouvoir controller ce que le DCI va lire sur ma carte SD qui ferra ici office de périf.
Voila j'aimerai donc savoir quelle est parmi ces solutions la meilleure (je cherche une très bonne qualité son, et une conso faible). Si vous avez deux trois conseils/explications çà sera avec plaisir ou même des liens utiles!
Merci beaucoup!
Cordialement,
Dernière modification par Short ; 09/04/2011 à 14h38.
Bon j'ai compris le principe du DMA qui va justement me permettre d'accéder à ma mémoire sd sans passer par le uC qui va juste m'annoncer la fin du transfert! je commence a voir clair dans cette solution!
J'ai vu en même temps un article sur le PLL, c'est super ingénieux et ne plus c'est français! cocoricoo =D
J'attend vos réponses sur les autres points, en attendant je continu d'explorer le monde des datasheet, le codec ( choix, intérêt et fonctionnement) me pose vraiment problème...
Merci ! =)
UTC- Génie Mécanique
09/04/2011 - 22h32
ftorama
Date d'inscription
mars 2010
Localisation
Nanterre
Âge
36
Messages
3 421
Re : dspic application audio
le SPI est bien assez rapide pour un signal audio à 44,1kHz. En fait le SPI n'est pas un protocole réellement défini, mais un ensemble de caractéristiques communes. Certains micros peuvent balancer du SPI à 30MHz sans problèmes.
Maintenant pour de l'audio, on utilise plutôt l'I2S, qui ressemble fort au SPI dans le principe mais est dédiée au son. Le TDA1543 par exemple,est un DAC 16 bits stéréo que l'on trouvait dans les lecteurs CD (donc 44,1kHz sans pbs)
10/04/2011 - 09h42
Short
Date d'inscription
juillet 2009
Localisation
Amiens
Âge
22
Messages
366
Re : dspic application audio
Ok merci bien donc je garde la solution SPI+DAC sous la main pour comparer avec les autres.
Concernant L'I2S je sais que mon DCI est compatible ainsi qu'à l'AC'97 mais que faire de cette sortie?
UTC- Génie Mécanique
10/04/2011 - 22h28
RISC
Date d'inscription
novembre 2006
Messages
2 855
Re : dspic application audio
Salut Short,
Tu mentionnes que tu as une carte EXPLORER16.
Il existe plusieurs cartes Pictail plus pour l'EXPLORER16 dont une carte Pictail plus audio.
Sur le user manual tu peux voir le schéma électronique de cette carte et tu peux aussi télécharger le code ;=)
En utilisant le DMA, tu peux transferer des mots de 8 ou 16 bits (périph <==> mémoire) sans exécuter de code. De plus, comme il existe une mémoire double port, ces transferts se font sans ralentir le processeur.
Tu trouveras des exemples de code pour utiliser le DMA sur les dsPIC33 ici.
a+
Ma marotte ? les microcontrôleurs...mais pas tous ;=)
J'ai plus les moyens de m'offrir cette carte, le budjet du projet à déjà été explosé par la partie optique^^
Merci pour les exemples de code, je vais les faire tourner et voir comment ils fonctionne! =)
Bonne journée!
UTC- Génie Mécanique
11/04/2011 - 21h12
pazcal
Date d'inscription
juin 2005
Messages
173
Re : dspic application audio
Envoyé par Short
Bonjour,
J'aurai besoin d'un petit coup de main pour un projet perso=)
Le but est de lire un fichier audio contenu dans une carte SD et de l'envoyer directement sur une sortie jack ou des petites enceintes.
Matériel:
-p33FJ256GP710A
-Fichiers audio en wma échantillonés classiquement a 44.1 kHZ
-Explorer 16
-carte SD 2Go avec la daughter board correspondante pour la carte de dev
Alors j'ai fait quelques recherches ma première idée était d'utiliser leSPI et de le connecter à un DAC, apparement le SPI serait trop lent pour çà.
Deuxième solution: utiliser le module DCI pour générer un PWM et l'envoyer dans un filtre de butterworth du 4 ème ordre mini avec une fréquence de coupure à 20kHz
Troisième solution utiliser le DCI relié à un codec audio, sauf que la je suis pommé:
- je ne sais pas vraiment ce que c'est un codec (le principe est de coder/decoder j'imagine)
- faut-il rajouter un étage d’amplification genre un aop et un push-pull?
-comment choisir le codec adapté?
Le plus judicieux, c'est d'utiliser un codes i2s, ou ssi, ou ac97, bref, plusieurs dénominations pour la même interface. Il s'agit d'une interface série synchrone très similaire au spi. Elle est justement prévue pour connecter des codecs audio. Un codec audio et un chip capable de convertir un signal audio numérique (entre autre), en signal analogique, et réciproquement. Les codecs les plus simples ne contiennent que un CN/A et un CA/N. Les plus complexes sont multi voie ils intègrent filtrage, compression, décompression, correction, mega bass ampli, préampli, correction de gain, etc etc...
Envoyé par Short
Concernant le module DCI j'ai essayé de comprendre la doc et appartement il va lire ce qu'il a besoin directement depuis un périphérique en utilisant les registres TxBUFx. Enfin je vais continuer à bosser tout çà, le DMA est encore quelque chose de très vague et je ne voit pas comment pouvoir controller ce que le DCI va lire sur ma carte SD qui ferra ici office de périf.
Si tu veux lire une mémoire qui aura été programmée depuis un PC, il faudra que tu supportes au minimum le filesystem FAT si cher a microsoft. Sinon tu ne pourras pas relire ce que tu auras écrit sur ta mémoire depuis un PC
Envoyé par Short
Voila j'aimerai donc savoir quelle est parmi ces solutions la meilleure (je cherche une très bonne qualité son, et une conso faible). Si vous avez deux trois conseils/explications çà sera avec plaisir ou même des liens utiles!
Si on calcule bien, en prenant une fréquence d'echantillonnage de 44.1kHz, en stéréo 16 bits, ça fera :
44100*2*2 = 176ko par seconde de son. Ca fait à peine plus de 3h audio sur une sd de 2Gb.
A plus
16/04/2011 - 17h31
Short
Date d'inscription
juillet 2009
Localisation
Amiens
Âge
22
Messages
366
Re : dspic application audio
D'abord merci pour cette réponse complète, je vois beaucoup mieux comment tout cela fonctionne, surtout avec mes cours du moment qui portent sur les DAC et ADC.
Il me reste deux points obscurs, le format de compression du fichier audio va être gérer au niveau du codec si j'ai tout compris. Il existe alors des codecs pour chaque type de compression ou ils sont universels?
Autre chose je cherche donc sur le site de Texas instrument un codec simpa pour mes fichier wav en 44.kHz ou 50kHz 16bits. Et honnetement je trouve pas grand chose, a part des circuit assez importants à 40 broches çà me semble un peu excessif...
Vous avez pas un exemple de codec simpa avec une BP de 20kHz? Histoire que je puisse avoir une datasheet de référence pour choisir mon bon composant!