Bonjour,
Après avoir passé ces derniers jours a effectuer de nombreuses recherches je me décide a poster et demander de l aide
Je souhaite réaliser un petit lecteur PCM WAV avec un ATMega32 et dont la source est une catre SD.
Plusieurs solutions semblent envisageables:
1 - Utiliser les sorties PWM OC1A et OC1B pour convertir le flux audio en analogique.
2 - Créer une pseudo sortie I2S afin d alimenter un TDA1543 par exemple.
La source des fichiers WAV est codée en 16 bits format stéréo et échantillonnés a 44,100 KHz. L ATMega32 est cadencé a 16 MHz et si il est capable de suivre c est parfait. Je peux éventuellement envisager de descendre a un format de 8 bits stéréo échantillonnés a 22KHz.
L ATMega32 est sur son pcb et le fonctionnement est parfait de l init de la SD carte a l ouverture du fichier. J effectue une première lecture de l ensemble du nom des fichiers / afin de créer un index filename en EEprom. Je vais ensuite chercher dans cet index au moment du choix et de l ouverture du fichier.
Le problème survient lors de la lecture, un bruit numérique, un bruit de friture apparait en sortie du DAC TDA1543 comme en PWM. Pas de signal audio perceptible.
Apres de longues recherches j ai trouvé ce lien qui évoque le même problème, sauf que je ne voit pas ou et comment un CRC peut il exister.
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=97734&start=0
J ai tenté deux méthodes:
Envoyer les trames les unes derrières les autres, lecture SD puis envoi vers I2S ou PWM cadencé a la fréquence d échantillonnage via une interruption.
Utiliser un Buffer FIFO, un bloc de 512 Octets est lu puis transmis mais résultat strictement identique.
Dépourvu de résultat on reprend la méthode empirique, j ai donc lu octet par octet puis afficher sur l ecran LCD mon fichier WAV, puis comparé les octets a l édition du fichier en hexa et cela correspond parfaitement.
Existe t il un logiciel de lecture de fichier WAV, genre un WAV player qui me permettrait de voir en même temps qu il joue la trame décodée ?
En espérant ne pas vous avoir endormi
Merci pour vos commentaires ...