robob a écrit:Avec le RPy ou les autres micro PC dont on est jamais certain de la qualité d'horloge, la solution la plus simple n'est-elle pas de passer par un DAC pourvu d'une reception USB asynchrone ? Car j'ai lu que l'I2S était compliqué à mettre correctement en oeuvre (longueur de câble, mode slave).
Il y a plusieurs maniere, mais le probleme de l'usb en slave, si il parait plus simple a implemente, ne permet pas forcement de gagner en qualite. Perso, avec un DAC usb en synchrone, c'est deja tres bon.
Cela etant dit, si on veut (comme moi profiter de l'i2s:
-on shunte la BLK et le MCLK, il semble que ca marche tres bien. L'i2s est en master cote Rpy, et on a une clock derivee de la clock d'entree (c a d a traver une DPLL). Le jitter est a mesurer, il est impossible de dire si il est bon ou pas. toujours est il qu'il sera probablement pas meilleur qu'une master clock externe de qualite normale.
-On configure le driver i2s de linux en mode slave, et on intercale une MCLK entre DAC et RPY, mais le gros probleme est qu'on ne pourra plus choisir la MCLK et que le taux d'echantillonage sera fixe.
-On trouve un generateur de clock configurable via GPIO - capillotracte... mais faisable.
-On intercale un sample rate converter, soit en bypass au minimum, il a egalement l'avantage de soutenir les signaux de sortie dont la load max peut etre limite sur le Rpy...soit carrement on l'implemente avec une output sample rate. Cette solution a plusieurs avantage:
=On peut resampler et profiter du meilleur filtrage sur le haut du spectre
=Le jitter est tres souvent attenue du fait de la presence d'une PLL de rattrapage sur le SRC, qui doit au final tourner sous les 50ps, donc inaudible.
=On a des signaux de sortie suffisamment fort pour etre route a la DIY.
Je me renseigne un peu pour ca parce que je voudrais monter mon Py en I2S sur une carte DAC en dual mono. Il faut aussi penser aux alim du SRC, qui sont pas forcement les meme que les alim digitales du DAC (3.3 souvent) ou du py (5v).
Il faut aussi trouver un SRC pas trop mal sur une petite board pas compliquée a mettre en oeuvre, et ça j'ai pas encore trouve...