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

Création câble USB "audiophile"

Message » 08 Sep 2010 18:17

Y a pas de débat, suffit de lire:
Et y a pas d'histoire de jitter comme en spdif, la clock est locale et pas synchronisé sur le signal USB qui est complétement asynchrone (même en pseudo mode synchrone).
Remplacer pseudo mode synchrone par isochrone. La nature même de l'USB fait qu'il ne peut y avoir de mode synchrone.

La notion même de jitter ne veux rien dire vu la nature asynchrone de l'USB.
N'essaie pas d'ouvrir un débat que je me suis justement permit de définitivement enterrer avant qu'un petit malin nous l'invoque sans savoir de quoi il parle.
Tazz28
 
Messages: 2802
Inscription Forum: 03 Nov 2008 23:47
Localisation: Dreux
  • offline

Message » 08 Sep 2010 18:58

J'l'avions bin dit... :mdr:
Loin de moi toute idée de lancer un débat, mais:

There are two types of pipes: stream and message pipes depending on the type of data transfer.

isochronous transfers: at some guaranteed data rate (often, but not necessarily, as fast as possible) but with possible data loss (e.g. realtime audio or video).
interrupt transfers: devices that need guaranteed quick responses (bounded latency) (e.g. pointing devices and keyboards).
bulk transfers: large sporadic transfers using all remaining available bandwidth, but with no guarantees on bandwidth or latency (e.g. file transfers).
control transfers: typically used for short, simple commands to the device, and a status response, used, for example, by the bus control pipe number 0.


Commekidisent chez Wikipedia
Bref en français ça donne "pour l'audio, avec les pilotes audio de Windows, l'usb fonctionne en isochrone (à peu près comme en SPDIF, d'ailleurs), c'est à dire sans retransmission des paquets éronnés.
Tiens, en cherchant bien on va même pouvoir lui trouver un peu de jitter. :wink:
robob
 
Messages: 5925
Inscription Forum: 21 Mar 2007 19:23
Localisation: 95 (coté campagne)
  • offline

Message » 08 Sep 2010 20:06

moi j'ai trouvé du jitter sur un vinyle

http://www.thehidehoblog.com/index.php?sujet_id=11163
richardpe
Pro-Commercant
Pro-Commercant
 
Messages: 1422
Inscription Forum: 05 Aoû 2003 0:10
Localisation: PACA
  • offline

Message » 08 Sep 2010 20:42

:mdr:
aldo
Pro-Fabricant
Pro-Fabricant
 
Messages: 24638
Inscription Forum: 25 Déc 2001 2:00
Localisation: Landes dans le 4 zero!
  • offline

Message » 08 Sep 2010 23:27

Pitin, il est sourd le garçon.
Isosynchrone ou pas, l'usb est asynchrone et audio ou pas si t'as une clock elle est locale à ton périphérique.


Si vous cherchiez un un gros troll poilu, vous l'avez trouvé.

Fin de la plaisanterie pour ma part. Amusez vous bien.
Tazz28
 
Messages: 2802
Inscription Forum: 03 Nov 2008 23:47
Localisation: Dreux
  • offline

Message » 09 Sep 2010 0:26

meuh non, je ne suis pas sourd : personnellement, je suis de ceux qui vont acheter le cable USB le moins cher, car asynchrone ou pas, la transmission de donnée sera parfaite (à moins d'utiliser un cable de 10m de long au quel cas il y aura plus certainement des "trous" de données plutot qu'une baisse de qualité sonore. Bref je suis d'accord avec toi sur le fond du probleme.
Mais pas sur la forme :
Si quelqu'un veut acheter un cable USB parfait pour son transfert audio car il pense qu'il peut y avoir des pertes de données, on peut vanner pendant 3 pages (il me semble que c'est le cas ici). C'est même parfois marrant, je le reconnais. Je plaisante aussi, mais d'autres ont déjà débattu à de nombreuses reprises sur le sujet du transfert audio USB ou encore SPDIF ou encore HDMI. Concernant le transfert audio USB, on en parle ici pendant à peu pres 30 pages. sinon il y a aussi pas mal de gens aussi sourds que moi ici.
Pour l'audio, en ce qui concerne Windows XP Vista et Seven, l'USB n'est pas asynchrone et il peut y avoir du jitter (négligeable sur un cable court).
robob
 
Messages: 5925
Inscription Forum: 21 Mar 2007 19:23
Localisation: 95 (coté campagne)
  • offline

Message » 09 Sep 2010 9:14

Tazz28 a écrit:USB -> techno en mode packet.
Les mauvais câbles existent -> erreur au niveau de la couche transport physique -> erreur tout court -> pas de son/ coupure/ plantage de l'interface du DAC au choix.
Altération du son - > non, ça coupe ou ça passe. point. Et y a pas d'histoire de jitter comme en spdif, la clock est locale et pas synchronisé sur le signal USB qui est complétement asynchrone (même en pseudo mode synchrone).


Excellente explication, tout est dit, circulez ya rien à voir (re-Coluche!!!)

Philippe
Philby
 
Messages: 9819
Inscription Forum: 12 Mar 2001 2:00
Localisation: 33
  • offline

Message » 09 Sep 2010 10:03

Les sourds ne sont pas du coté que l'on pense, pour rappel :

"la grande majorité des DAC utilise des connections adaptatives qui ont pour effet que l’horloge est déterminé par la source (le PC), le DAC étant esclave.
Pire ce n’est même par la source qui détermine l’horloge, mais la liaison USB elle-même."
http://www.homecinema-fr.com/forum/viewtopic.php?f=1029&t=29918360

"L'USB AUdio, lui, n'a jamais été asynchrone..."
Le débat commence à ce post pour ceux qui on la flemme de se taper les 50 pages du sujets, fort intéressant au deumeurant :wink:
http://83.243.20.154/forum/viewtopic.php?f=1029&t=29927398&sid=fafa055e69acac66326ca59c95aba251&start=304

Si tu es certain que la conclusion de ces débats est erronée, les sujets sont toujours ouverts, tu peux y poster ton argumentation à laquelle des membres mieux informés que moi te répondront.

Lisez ou ammenez des arguments plus convaincants que :
Philby a écrit:Excellente explication, tout est dit, circulez ya rien à voir (re-Coluche!!!)
Tazz28 a écrit:Pitin, il est sourd le garçon.
Tazz28 a écrit:Y a pas de débat, suffit de lire
ou encore:
N'essaie pas d'ouvrir un débat que je me suis justement permit de définitivement enterrer avant qu'un petit malin nous l'invoque sans savoir de quoi il parle.
:mdr:
robob
 
Messages: 5925
Inscription Forum: 21 Mar 2007 19:23
Localisation: 95 (coté campagne)
  • offline

Message » 09 Sep 2010 11:09

Tout ce que je lis, c'est des déblatération de personnes qui n'y comprennent rien et qui font des hypothèses sur des truc dont il ne comprennent pas la signification.
Lis la spec technique de toute la norme usb et après tu comprendra pourquoi la phrase "L'USB AUdio, lui, n'a jamais été asynchrone..." est une énorme connerie. Le médium est un médium asynchrone point, comme l'ethernet, le rs232 etc ... . Il n'existe pas de mode synchrone en USB. L'isosynchrone est un pseudo mode synchrone.
Le fait de prendre la clock du dac sur la clock du medium USB est une hérésie valable que sur les gadgets a 5€, mais même dans ce cas là, elle n'a rien avoir avec les datas et peut être considéré comme une clock locale.

Mais bon, je vois que c'est pas la peine, quand 2+2=5 pour certains, c'est cuit. Je vais plutôt perdre mon temps sur mon schéma de DAC et de son interface ... usb.
Tazz28
 
Messages: 2802
Inscription Forum: 03 Nov 2008 23:47
Localisation: Dreux
  • offline

Message » 09 Sep 2010 12:25

Jette un coup d'oeil sur le mien, il te donnera peut être de bonnes idées.

La solution a l'usb (en ce qui me concerne), c'est fifo + un vcxo contrôlé par un dac faible bruit + un uC pour ajuster la fréquence pour ne pas perdre de paquets.
Variation, environ une correction a l'heure une fois que c'est stabilisé. :mdr:

La transmission isochrone est une excellente solution qui permet d'avoir une horloge gérée par le récepteur. Il se contente de gérer une fifo et de demander des paquets quand elle se vide et d'arrêter de demander quand c'est plein. C'est d'ailleurs la meilleure solution de transmission numérique a mon sens.
apolon34
 
Messages: 2176
Inscription Forum: 24 Mar 2003 15:57
Localisation: Rouen (76)
  • offline

Message » 09 Sep 2010 12:48

Tazz28 a écrit:Tout ce que je lis, c'est des déblatération de personnes qui n'y comprennent rien et qui font des hypothèses sur des truc dont il ne comprennent pas la signification.
Lis la spec technique de toute la norme usb et après tu comprendra pourquoi la phrase "L'USB AUdio, lui, n'a jamais été asynchrone..." est une énorme connerie. Le médium est un médium asynchrone point, comme l'ethernet, le rs232 etc ... . Il n'existe pas de mode synchrone en USB. L'isosynchrone est un pseudo mode synchrone.
Le fait de prendre la clock du dac sur la clock du medium USB est une hérésie valable que sur les gadgets a 5€, mais même dans ce cas là, elle n'a rien avoir avec les datas et peut être considéré comme une clock locale.

Mais bon, je vois que c'est pas la peine, quand 2+2=5 pour certains, c'est cuit. Je vais plutôt perdre mon temps sur mon schéma de DAC et de son interface ... usb.


Ton intervention au moment des discussions citées plus hauts auraient été fort utile.
Donc tout ce qu'on lit à droite et à gauche sur l'USB et notamment le développement de solution USB asynchrone par des fabricants ne serait que du marketing, parce l'USB audio est asynchrone depuis toujours?
STP ne reproche pas aux forumeurs de base que nous sommes de croire ce que nous lisons sur des sites à priori sérieux et de la part de fabricants réputés. Lorsqu'on n'est pas expert, il faut se baser sur l'expertise des autres, et diversifier/recouper ses informations. Jusqu'à ton intervention, je n'avais pas encore lu d'infirmation sur l'existence des modes synchrones, adaptative et asynchrone de l'USB audio. Cette supercherie, ne semble pas être dénoncée très fort sur le web, traditionnellement actif dès qu'une imposture pointe le bout de son nez.

Ce qui m'étonne le plus, c'est que les fabricants se mettent tous, soit au développement de ce qu'ils appellent l'USB asynchrone ou ont acheté des licences d'utilisation pour en mettre dans leurs appareils: il aurait été plus facile, moins coûteux, et moins risqué de crier à la supercherie et utiliser les chip USB existant. Que va-t-il se passer maintenant qu'on sait qu'ils ont tous mentis?

Encore une fois je ne veux présumer de rien, n'étant pas spécialiste, je veux juste m'informer, recouper, vérifier pour essayer de me faire l'opinion la plus juste.
Fyper
 
Messages: 3595
Inscription Forum: 13 Juil 2005 18:05
  • offline

Message » 09 Sep 2010 12:50

Tazz28 a écrit:Tout ce que je lis, c'est des déblatération de personnes qui n'y comprennent rien et qui font des hypothèses sur des truc dont il ne comprennent pas la signification...

Ok, donc eux ils ne comprennent rien et toi, car tu es un pro du montage de circuit intégrés et que tu es en train de monter ton DAC USB, tu n'as pas besoin d'argumenter. Cool...
Donc ton DAC avec son chipset, par exemple un PCM2702 reçoit les données transmises par le PC, donc par le pilote Windows (Usbaudio.sys, je crois, pour ceux qui chercheraient les spef.). Question : comment le chipset se met-il en phase avec l'horloge du PC : Peut-il envoyer une information au PC pour modifier la fréquence d'envoie des données ? Modifie t'il sa propre frequence en fonction des données d'horloge reçues (si ces données sont transmises comme en SPDIF) ? Si il y a déphasage des horloges, des données peuvent être perdues et ne seront pas renvoyées en mode isochrone.
Voilà ce que moi j'ai compris mais je ne suis pas un spécialiste comme toi :
Les données sont envoyées en mode isochrone : flux continu de données par paquets toutes les 1ms. Ils arrivent dans le buffer du chipset pour être traités, il ya un controle d'erreur du type bit de parité, je ne sais pas si les données sont redondantes. Si c'est le cas, le controle d'erreur doit permettre de pouvoir choisir les bonnes données dans la redondance (comme en SPDIF).
Le "endpoints" (l'implementation logique du protocole) permet aux deux parties de converser : il peut-être asynchrone. Dans ce cas l'une des deux parties sera maitre et reglera la fréquence de l'hote de telle sorte que les horloges soient en phase. Dans ce cas pas vriament de probleme.
Malheureusement, pour nous, pauvre utilisateurs de Windows, Ce mode asynchrone n'est pas implémenté (ni dans XP ni dans Vista et toujours pas dans Seven).
Le chipset de ton DAC va donc utiliser le mode adaptatif : dans ce cas l'horologe du DAC va etre reglée sur la fréquence d'arrivée des données, on retombe dans la même configuration qu'avec une connexion SPDIF et probleme possible de jitter dû à un déphasage entre les horloges.
robob
 
Messages: 5925
Inscription Forum: 21 Mar 2007 19:23
Localisation: 95 (coté campagne)
  • offline

Message » 09 Sep 2010 13:05

Sinon, sur le sujet des câbles USB audiophiles, il y a une discussion (et non pas un article) éloquente sur Computer Audiophile, où la majorité des participants défendent becs et ongles qu'ils entendent des différences majeures entre les cables USB :o , ne serait-ce qu'en enlevant les ferrites des câbles :o :o

Je me rappelle avoir ri en lisant sur ce forum il y a 2 ans "tu vas voir qu'ils vont nous sortir des câbles USB audiophiles bientôt"

Et ben voilà, on y est :cry:

http://www.computeraudiophile.com/content/Best-USB-cable-use-between-computer-and-dac
Fyper
 
Messages: 3595
Inscription Forum: 13 Juil 2005 18:05
  • offline

Message » 09 Sep 2010 13:55

Salut :)

J'interviens juste comme ça pour filer deux liens ...

http://u.s.b.free.fr/
http://u.s.b.free.fr/pdf/L_USB_et_sa_norme_v1.pdf

Comme dit plus haut, le juge de paix est la norme (le liens n'est pas la norme officielle mais tiré de, visiblement)
Suffit juste de la trouvée, certainement en anglais ... ça éviterais peut être moult débats non ?

Voilà c'est tout

Bon posts les gars ;)

Dagda

La configuration dans mon profil


La bougie de ton intelligence n'éclairera ta vie que le jour où tu arrêteras toi-même de souffler dessus !
On ne peut pas donner à boire à un âne qui n'a pas soif
Dagda
Membre HCFR
Membre HCFR
 
Messages: 15208
Inscription Forum: 22 Déc 2005 14:53
  • offline

Message » 09 Sep 2010 16:58

robob a écrit:Donc ton DAC avec son chipset, par exemple un PCM2702 reçoit les données transmises par le PC, donc par le pilote Windows (Usbaudio.sys, je crois, pour ceux qui chercheraient les spef.). Question : comment le chipset se met-il en phase avec l'horloge du PC : Peut-il envoyer une information au PC pour modifier la fréquence d'envoie des données ?
Mode isochrone, c'est le device qui demande les datas au PC selon la clock USB.
Modifie t'il sa propre frequence en fonction des données d'horloge reçues (si ces données sont transmises comme en SPDIF) ? Si il y a déphasage des horloges, des données peuvent être perdues et ne seront pas renvoyées en mode isochrone.

C'est en mode "synchrone isochrone" le mode USB utilisé en lui même étant le mode isochrone (peudo synchrone) dans tous les cas, même dans le cas asynchrone de la classe USB Audio.

Voilà ce que moi j'ai compris mais je ne suis pas un spécialiste comme toi :
Les données sont envoyées en mode isochrone : flux continu de données par paquets toutes les 1ms. Ils arrivent dans le buffer du chipset pour être traités, il ya un controle d'erreur du type bit de parité, je ne sais pas si les données sont redondantes. Si c'est le cas, le controle d'erreur doit permettre de pouvoir choisir les bonnes données dans la redondance (comme en SPDIF).
Le "endpoints" (l'implementation logique du protocole) permet aux deux parties de converser : il peut-être asynchrone. Dans ce cas l'une des deux parties sera maitre et reglera la fréquence de l'hote de telle sorte que les horloges soient en phase. Dans ce cas pas vriament de probleme.
Malheureusement, pour nous, pauvre utilisateurs de Windows, Ce mode asynchrone n'est pas implémenté (ni dans XP ni dans Vista et toujours pas dans Seven).
Le chipset de ton DAC va donc utiliser le mode adaptatif : dans ce cas l'horologe du DAC va etre reglée sur la fréquence d'arrivée des données, on retombe dans la même configuration qu'avec une connexion SPDIF et probleme possible de jitter dû à un déphasage entre les horloges.


Tu parle de paquet et de buffer -> on est bien sur un médium asynchrone.
Tout ce qui est contrôle d'erreur, c'est le problème du bus USB comme de l'ethernet ou de la stack IP par analogie avec du réseau.
Le bus est asynchrone, mais il y a bien une notion de clock et de synchro propre au media physique, mais rien avoir avec la clock des samples transportés (surtout lorsque ces data sont en plus des data compressés genre ac3 etc ....).
La problématique de l'USB est de transporter les data audio.
Le mode asynchrone pur de l'USB (pas de la classe audio) mode interrupt assimilable par analogie réseau à TCP, est trop lourd pour des données de type fux est plus lourd a implémenter dans les chips et consommateur inutile de ressource cpu des deux cotés.
Le mode Bulk : même combat mais en plus aucune garantie de bande passante et de latence donc sur des données de type fux, cela imposerait des buffers de réception énormes sans la garantie de ne pas se retrouver à un moment ou un autre avec le buffer vide à cause de l'utilisation du bus USB par un autre périphérique.
Le mode isochrone utilisé par la spec USB audio qui permet d'avoir une garantie de bande passante et de latence donc pas les problèmes précédents et de travailler en mode flux. Assimilable à de l'UDP pour continuer l'analogie réseau, sauf qu'en réseau il n'y a pas non plus la garantie de BP et de latence.
Avantage: léger à implémenter et peu consommateur en ressource, on balance les packets à intervale régulier point. La garantie de BP et de latence permet de ne gérer que de tout petit buffers coté device sans risque d'underrun et donc de coupure intempestive du son.
Inconvénient: nécessite un mécanisme de synchronisation pour éviter quand même les underrun et ne pas avoir a gérer un gros buffer. Plus exactement un mécanisme de contrôle de flux. Et quand un packet est foireux, il est définitivement perdu.
Voilà pour le choix de l'isochrone.
Maintenant passons aux différents modes de la classe USB Audio:
- Asynchrone : aucun contrôle de flux au niveau USB -> le device gère la demande des data quand il veut.
- Synchrone : la vitesse de transfert des data est rythmé par le StartOfFrame du bus USB, c'est ce qui se rapproche le plus d'un vrai mode synchrone.
- Adaptatif : un mix des deux, comme l'asynchrone, mais avec un controle de flux directement au niveau de l'USB, le device indiquant au host si on peut accélérer ou ralentir la com USB via le endpoint de synchro en lui disant combiens de sample audio mettre par packet USB tout en utilisant la synchro de base des SOF USB.
Ce dernier est le plus robuste et est assez lowlevel pour être implémenté coté device simplement, le mode asynchrone étant beaucoup plus haut niveau coté traitement des deux cotés.
Le format des data transféré est passé en configuration sur le endpoint qui va bien ansi que la fréquence pour ce dernier. Elle dérivé de la vitesse de transfer pour l'adaptatif et le synchrone.
Les data sont transférés, on peut maintenant alimenter le dac en data à la vitesse qui va bien, par l'interface qui va bien et selon un clock locale propre et stable.
Il faut bien décoreller les deux, le transport jusqu'au DAC et les problèmes de clocks locales au dac.
Si le Chip USB sort directement les data en utilisant la clock de transport USB et non la masterclock locale c'est mort
Le système de fifo avec la partie in gérées par l'usb et la partie out par la master clock locale exprime bien la décorrélation des deux domaines.
apolon34 résume très bien ce qu'il faut faire et ce qu'il a visiblement mis en œuvre avec succès.
La transmission isochrone est une excellente solution qui permet d'avoir une horloge gérée par le récepteur. Il se contente de gérer une fifo et de demander des paquets quand elle se vide et d'arrêter de demander quand c'est plein. C'est d'ailleurs la meilleure solution de transmission numérique a mon sens.


L'avantage d'un device utilisant le mode asynchrone isochrone USB, c'est que c'est la garantie que le constructeur n'a pas fait la connerie d'utiliser la clock du bus USB pour driver le DAC..... Dans les device à 5€, c'est le cas: pas de buffer a gérer, pas de dérivation de fs a faire etc ......
Mais on peu très bien utiliser le mode synchrone isochrone ou adaptatif isochrone tout en faisant les choses correctement dans le chip USB et en étant complétement indépendant de la clock USB en sortie de celui ci.

Pour finir avec les analogies, la clock de ton bus ATA, SATA ou SCSI ou SAS n'est pas synchronisée avec celle du dac de ta carte son... Dans tous les modes USB audio, on pourrait très bien imaginer une fifo assez grande pour accueillir tout ton fichier en moins d'une seconde, c'est pas pour autant que ton morceau de 5min sera joué en moins de 1s, la fifo se videra a la vitesse de la clock locale du dac.
Les choses se complique lorsque l'on a plus d'un flux stéréo à synchroniser, mais le problème n'a rien avoir avec l'USB et on s'en sort de la même manière pour la partie transfert USB

Pour finir, on en reviens à la même chose: USB -> bus asynchrone en mode packet -> rien a péter des câbles et intrinsèquement il n'est pas générateur de jitter. Après, y a pas besoin de l'USB pour faire n'importe quoi. A quand un DAC ou une source spdif avec un clock locale dérivée du 50Hz secteur .....


PS: un peu de lecture indigeste : http://www.usb.org/developers/devclass_docs/audio10.pdf
Tazz28
 
Messages: 2802
Inscription Forum: 03 Nov 2008 23:47
Localisation: Dreux
  • offline


Retourner vers Câbles