Feeling a écrit:
j'ai un peu réfléchi et retourné le probleme dans tous les sens hier .... il n'y a pas de solution miracle ....
J'ai suivi avec intérêt ce fil, même si je n'y ai pas participé, faute de temps.
Le problème soulevé est le problème classique de communication entre deux systèmes synchrones, mais d'horloges différentes.
Il n'y a pas de solution miracle, en effet, mais il y a une solution simple : il s'agit de bufferiser les données sortant du SPDIF avant de les envoyer sur le DAC.
Le décodeur SPDIF écrit dans la FIFO avec sa propre horloge, puis il suffit d'utiliser l'horloge "propre" du DAC pour la lecture de cette même FIFO.
Je ne l'ai jamais utilisé, mais le SN74ACT2226 devrait pouvoir faire ça relativement simplement.
La doc est là :
http://www.alldatasheet.com/datasheet-p ... 226DW.html
Pour l'instant, je n'ai pas le temps de m'y consacrer, mais d'ici deux semaines/1 mois je serai un peu plus disponible.
En gros, mon idée est la suivante :
Comme ce composant dispose de deux FIFO, on les met en série.
On laisse la première FIFO se charger complètement (64 cycles pour le 2226, 256 cycles pour le 2228), puis on active la lecture par le DAC.
De cette manière on a une marge d'au pire 64 bits : si l'horloge du DAC est plus rapide, on a une FIFO pleine d'avance, si elle est plus lente, on a une FIFO vide de secours.
Il reste à calculer le temps dont on dispose avant over/underflow en fonction du glissement entre les deux horloges ...
Cordialement
CD