Modérateurs: Modération Forum Installations, Modération Forum DIY, Le Bureau de l’Association HCFR • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 8 invités

S/PDIF Killer

Message » 02 Nov 2004 15:37

ZERS a écrit:C'est quoi asservissement? :oops:


Un asservissement c'est une boucle de contrôle entre 2 systèmes. La terminologie viens du fait que l'un des systèmes est généralement défini comme "maitre" et l'autre "esclave", d'ou le mot "asservi".

Dans le cas qui nous concerne, le récepteur iLink contrôle l'emmeteur en lui demandant d'envoyer les données plus ou moins vite selon que son buffer est plutot plein ou au contraire plutot vide. L'emmeteur, ici le lecteur de CD/DVD va donc faire varier le débit d'envoie de données, donc par conséquent la vitesse de rotation du disque, en fonction des commandes reçues du recepteur.
ajds
 
Messages: 11473
Inscription Forum: 02 Fév 2000 2:00
Localisation: Région Parisienne
  • offline

Message » 02 Nov 2004 20:43

voila le topic en question

ca c'est du mod! :D
http://www.diyaudio.com/forums/showthre ... highlight=
Bricolo
 
Messages: 209
Inscription Forum: 20 Aoû 2001 2:00
Localisation: Strasbourg, FRANCE
  • offline

Message » 03 Nov 2004 12:23

ajds a écrit:L'USB comme l'IEEE-1394 sont prévus pour fonctionner avec des protocoles asynchrones de type réseau informatique. Passer du synchrone dessus reste possible mais ca n'est pas fait pour ca et au final les problèmes de jitter, qui restent la principale cause de dégradation d'une transmission numérique audio, seront bien pires qu'en SPDIF, comme le souligne l'article sur l'IEEE-1394 plus haut.


Ce n'est pas tout a fait exact. L'USB se destine aussi au streaming audio et video. L'USB2.0 en High Speed qui supporte 480 Mb/s a ete concu d'ailleurs dans ce but.
Par ailleurs, la couche transport de l'USB permet de transmettre des data synchrones. Cela fait parti integrante de la norme.
L'encapsulation des data et l'ajout de marqueurs temporels permettent tres bien de s'affranchir du jitter.

Le fait, qu'aujourd'hui, la principale utilisation de ce support soit dans le domaine de l'informatique ne doit pas faire penser que c'est son seul champ d'application :)

Par ailleurs, les systemes asservis sont une solution a la reduction du jitter, mais leur mise en oeuvre n'est pas si simple et ils sont loin d'etre la solution parfaite.

Bricolo a écrit:voila le topic en question

ca c'est du mod!
http://www.diyaudio.com/forums/showthre ... highlight=


Cette solution est bien sympathique, et qui plus est fort simple et peu chere...

Fabien
LeFabDuSud
 
Messages: 278
Inscription Forum: 23 Juin 2004 9:40
Localisation: Suisse
  • offline

Message » 03 Nov 2004 13:34

LeFabDuSud a écrit:L'encapsulation des data et l'ajout de marqueurs temporels permettent tres bien de s'affranchir du jitter.


Tout système basé sur la récupération du signal d'horloge à partir de la source est intrinsèquement sensible au jitter. L'USB a beau être plus ou moins prévu pour du streaming, il fonctionne en transmission par paquets ce qui ne fait que rajouter des souçis de synchronisation par rapport à un système à transmission continue (type SPDIF). Typiquement, pour un streaming audio 16/44.1 les paquets font 1 ms en durée il me semble. En plus de l'erreur sur la récupération de l'horloge à l'intérieur du paquet, tu auras donc un ajustement de l'horloge toutes les 1ms : bonjour les fluctuations du signal à l'arrivée.

C'est pas parce qu'un système supporte le streaming que la qualité est forcément au rendez vous.

Par ailleurs, les systemes asservis sont une solution a la reduction du jitter, mais leur mise en oeuvre n'est pas si simple et ils sont loin d'etre la solution parfaite.


A partir du moment ou le recepteur incorpore un buffer de données alimenté de manière correcte par le principe d'asservissement en débit, l'horloge cible est totalement indépendante de la source. L'horloge qui va alimenter les DACs est celle du récepteur : le jitter produit par la source ou la connexion sont réduits à 0. Il n'est pas diminué ou réduit comme les nombreux systèmes anti-jitter classiques sur le SPDIF, il est purement et simplement inexistant. La transmission est, par conséquent, parfaite du point de vue du jitter induit. Elle est parfaite dans sa globalité modulo les 10^-19 (ou qqchose du genre) de probabilité d'erreur de données ...

Si tu as des informations ou des arguments qui contredisent cela, je serais intéressé de les lire :roll:
ajds
 
Messages: 11473
Inscription Forum: 02 Fév 2000 2:00
Localisation: Région Parisienne
  • offline

Message » 03 Nov 2004 13:37

Dommage que ce soit en anglais, et pas super resumé :-?
Nicko500
Pro-Commercant
Pro-Commercant
 
Messages: 1718
Inscription Forum: 21 Avr 2004 17:31
Localisation: Bordeaux
  • offline

Message » 03 Nov 2004 15:12

Ajds, re :)

Mon propos n'est pas de denigrer la transmission de data synchrones par asservissement. Je trouve meme ca tres bien dans l'absolu.
Je recherche simplement des solutions alternatives, si possible simples a mettre en oeuvre. Et par dessus le marche, de tres bonne qualite :roll:

L'USB me parait etre... peut-etre... une idee heureuse, puisque que fort repandue. Et je suis entierement d'accord sur le fait que ce ne soit pas cle en main :(

La couche USB fonctionne sur le principe d'EndPoint, qui permettent de rendre transparente la couche de transport. Basiquement, un EndPoint est une FIFO.
Cote USB Client, dans la mesure ou l'on s'assure que la FIFO n'est jamais vide, la reconstruction des data se fait selon une clock cote recepteur, qui est independante du flux de transport.
Dans ces conditions, on assure un jitter uniquement dependant de la qualite de la clock en reception.

Encore une fois, je recherche ici des avis :)

Si au bout du compte, je m'apercois que mon idee n'est pas bonne, j'en chercherais d'autres :wink:

Fabien
LeFabDuSud
 
Messages: 278
Inscription Forum: 23 Juin 2004 9:40
Localisation: Suisse
  • offline

Message » 03 Nov 2004 15:33

LeFabDuSud a écrit:La couche USB fonctionne sur le principe d'EndPoint, qui permettent de rendre transparente la couche de transport. Basiquement, un EndPoint est une FIFO.
Cote USB Client, dans la mesure ou l'on s'assure que la FIFO n'est jamais vide, la reconstruction des data se fait selon une clock cote recepteur, qui est independante du flux de transport.
Dans ces conditions, on assure un jitter uniquement dependant de la qualite de la clock en reception.


Le problème c'est qu'un tel système n'est possible qu'avec un asservissement en débit.
Hors, à ma connaissance, il n'existe aucun lecteur CD ou DVD qui incorpore une régulation du débit par rapport à un controle sur une interface USB. Il faudrais déjà qu'un lecteur avec sortie USB existe, a part un PC ;) Au niveau du PC, à ma connaissance, il n'existe pas de logiciel qui gère ce genre de choses.

Si tu écris une couche logicielle qui gère le controle de flux entre emetteur et recepteur par l'USB, alors l'USB sera comme l'IEEE-1394, c'est à dire parfait. Intrinsèquement, il ne s'agit pas trop d'une problématique de niveau physique mais de niveau protocole. Et ca, ca me parait un peu trop costaud pour du DIY.

Sans asservissement, le buffer sera, inévitablement, en débordement ou bien vide, nécessitant des constants re-ajustements voire carrément des drops sur le flux audio !

On en est donc réduit à utiliser le USB comme une simple connexion de type streaming unidirectionnelle et on reviens au principal défaut du SPDIF : la nécessité de récupérer l'horloge à volée sur le signal lui-même, d'ou jitter. Sauf que l'USB dans ce cas, sera pire que le SPDIF en raison du mode de transmission

Dans la série "une bonne mesure vaut mieux qu'un long discours théorique" :

http://www.stereophile.com/amplificatio ... ndex8.html

Image

La courbe parfaite serait un pic unique à 11,025 Khz. En rouge le SPDIF, en bleu l'USB.

Le jitter obtenu en USB est catastrophique par rapport au SPDIF.

Le rédacteur en déduit un problème au niveau des drivers USB de Win98 .... :roll:

Tout ca pour renforcer le point qu'il semble illusoire d'espèrer de meilleures performances de la part de l'USB par rapport au SPDIF. Tu peut toujours essayer, mais ne t'attends pas à des miracles ;)

La connexion numérique parfaite reste obligatoirement liée à un mécanisme de contrôle de flux. Pour l'instant, seul le protocole défini pour l'iLink par le DVDForum prends en compte cet aspect. Il est très contraignant puisque le lecteur doit être équipé de l'électronique de régulation associée, mais si c'est le cas, alors la connexion est parfaite et on peut aussi oublier au passage tout les problèmes liés au cable de liaison ou bien encore à la qualité de la mécanique de lecture ;)

A noter aussi et à confirmer, il semblerais que le protocole audio défini pour le HDMI n'incorpore pas de controle de flux, ca serais (vraiment à prendre au conditionnel) du streaming pur, ce qui serais un sacré retour en arrière :(
ajds
 
Messages: 11473
Inscription Forum: 02 Fév 2000 2:00
Localisation: Région Parisienne
  • offline

Message » 03 Nov 2004 15:45

00940
 
Messages: 1106
Inscription Forum: 08 Avr 2003 6:04
Localisation: Bruxelles
  • offline

Message » 03 Nov 2004 16:02

00940 a écrit:Vous avez jeté un oeil ici ?
http://www.planetanalog.com/showArticle ... D=12801995


Très intéressant, on attends la partie 3 ;)

Sinon, l'article résume bien la situation :

The Terrors of the Isochronous Mode

:P
ajds
 
Messages: 11473
Inscription Forum: 02 Fév 2000 2:00
Localisation: Région Parisienne
  • offline

Message » 03 Nov 2004 16:07

Le problème est que si les drivers linux et même windows semblent supporter le transfert asynchrone, il semble impossible de trouver une puce qui remplisse cette fonction. :/

Ca ne semble pas être la priorité de TI.
00940
 
Messages: 1106
Inscription Forum: 08 Avr 2003 6:04
Localisation: Bruxelles
  • offline

Message » 03 Nov 2004 19:00

ajds a écrit:Sinon, l'article résume bien la situation :

Citation:

The Terrors of the Isochronous Mode


Un article excellent ! Et plein d'enseignement par ailleurs.

00940 a écrit:Le problème est que si les drivers linux et même windows semblent supporter le transfert asynchrone, il semble impossible de trouver une puce qui remplisse cette fonction. :/

Ca ne semble pas être la priorité de TI.


On trouve des USB core Host, Client et OTG integres dans bon nombre de microcontrolleurs. TI ne fait pas exeption a la regle. En particulier dans ses processeurs multimedia pour les applications portables...
Et les modes Bulk et Iso sont evidemment supportes :wink:

Le probleme n'est pas la faisabilite, mais plutot la viabilite de la chose :P

Merci bien a 00940 et ajds pour les liens de qualite et completement dans le sujet. C'est un regal et ca permet vraiment d'avancer :lol:

Fabien
LeFabDuSud
 
Messages: 278
Inscription Forum: 23 Juin 2004 9:40
Localisation: Suisse
  • offline

Message » 03 Nov 2004 19:11

si j'ai bien compris, une source pc permettrait d'utiliser l'usb sans problèmes vu que la vitesse de lecture est variable.

avec un buffer de réception côté dac, on s'affranchit des soucis de jitter. On pourrait alors faire une platine avec une mécanique de pc (il y a quelques threads sur diyaudio) qui serait parfaite ?
apolon34
 
Messages: 2176
Inscription Forum: 24 Mar 2003 15:57
Localisation: Rouen (76)
  • offline

Message » 03 Nov 2004 20:54

si j'ai bien compris, une source pc permettrait d'utiliser l'usb sans problèmes vu que la vitesse de lecture est variable.


La variation de vitesse ne rentre pas en ligne de compte ici.
L'idée, c'est de rajouter dans un drive CD une vérue I2S -> USB. On peut tres bien imaginer de bufferiser cote drive pour assurer la resynchro avec le DAC si nécessaire.

Utiliser un PC ici n'est pas vraiment l'objet.

avec un buffer de réception côté dac, on s'affranchit des soucis de jitter. On pourrait alors faire une platine avec une mécanique de pc (il y a quelques threads sur diyaudio) qui serait parfaite ?


Le travail des designers de TI sur les PCM270x est énorme, voir lien plus haut. Mais c'est loin d'être parfait, en tout cas pour de l'audio HDG.

Cela ouvre plutot la voie plour reflechir a une liaison entre drive et DAC, qui soit facile a mettre en oeuvre, pas chere, et parfaite !!!

Fabien
LeFabDuSud
 
Messages: 278
Inscription Forum: 23 Juin 2004 9:40
Localisation: Suisse
  • offline

Message » 03 Nov 2004 21:35

Tu penses à ceci Fabien ?

http://focus.ti.com/docs/prod/folders/p ... 1020b.html

Pour la soudure, ca peut etre marrant :-/
00940
 
Messages: 1106
Inscription Forum: 08 Avr 2003 6:04
Localisation: Bruxelles
  • offline

Message » 03 Nov 2004 21:51

Salut 00940,

Oui, pour le côté DAC, c'est vraiment l'idéal. En plus, le codage est fortement simplifié car le hard prend en charge une bonne partie de l'USB, il y a un port I2S, des canaux DMA et le micro est, je crois, une base 8051 donc fort simple a programmer :wink:

Mais pour le côté drive, j'ai pas encore trouvé mon bonheur. Il est vrai que les coeurs USB Host sont plus rares. Je cherche encore dans les produits grand public :roll:

Pour la soudure, ca aurait pu etre du BGA :mdr:

Fabien
LeFabDuSud
 
Messages: 278
Inscription Forum: 23 Juin 2004 9:40
Localisation: Suisse
  • offline


Retourner vers Sources et DAC

 
  • Articles en relation
    Dernier message