Isochronous – Asynchronous usb και Spdif

  • Αγαπητοί φίλοι και φίλες.

    Με ιδιαίτερη χαρά σας προσκαλούμε στην κοπή της πρωτοχρονιάτικης πίτας του AVClub στη Θεσσαλονίκη για το 2024 την Κυριακή 07 Απριλίου και ώρα 14.00

    Δηλώστε τη συμμετοχή σας εδώ, θα χαρούμε πολύ να σας γνωρίσουμε από κοντά.

artman

AVClub Enthusiast
30 November 2008
768
Πειραιάς
Έχουμε υπολογιστή και πρόγραμμα bit perfect για αναπαραγωγή των καλών μας φλακ.
Έχουμε και ψηφιοαναλογικό μετατροπέα συνδεδεμένο στη γιου-εσ-μπι.
Η usb είναι «ασύγχρονη», δεν ξέρουμε γιατί, αλλά αφού έτσι πρέπει και έτσι λένε όλοι, τι να κάνουμε;
Σφηνώσαμε στο ντακ (κανονικά θα έπρεπε να λέμε ο ντακ, αλλά δεν μου κάθεται καλά), ένα σούπερ τροφοδοτικό
με 2 τοροειδείς, 3 τετράγωνους και καμιά 50αριά πανάκριβους πυκνωτές.
Τι μας φταίει τελικά και δεν είμαστε ευχαριστημένοι;

Ρολόγια – Clock και η κακιά μάγισσα που τη λένε Jitter.

Κάθε ψηφιακό προϊόν ήχου έχει μια καρδιά.
Είναι το ρολόι του, το clock (αν δεν γράφουμε την ορολογία στη γλώσσα της κρατούσας κουλτούρας,
δεν γινόμαστε πάντα κατανοητοί), που χρονίζει τα πολύτιμα δεδομένα μας.

Έλα όμως που το ρολογάκι δεν είναι απόλυτο σε ακρίβεια.
Θες γιατί δεν προλαβαίνει, θες λόγω κακής σχεδίασης, ή λόγω πολυπλεξίας των δεδομένων, ή γιατί είναι ρολόι αλλά Σαλβαντόρ Νταλί ξαπλωμένο
σε πολυθρόνα, κάνει λάθη χρονισμού και αυτά μεταφράζονται σε αντιληπτά από τον εγκέφαλό μας ακουστικά παρατράγουδα, το επονομαζόμενο Jitter.

Οι ανακρίβειες του χρονισμού στα διάφορα ρολόγια δειγματοληψίας που χρησιμοποιούνται σε όλο το ψηφιακό σύστημα ήχου είναι το Jitter.
Το φαινόμενο δεν εμφανίζεται μόνο στους ψηφιοαναλογικούς μετατροπείς, που μας ενδιαφέρουν, αλλά και στους A / D μετατροπείς
(οι ανακρίβειες χρονισμού επηρεάζουν τα ρολόγια δειγματοληψίας). Αν στο ρολόι δειγματοληψίας του A / D μετατροπέα , οι τιμές (δείγμα – sample)
λαμβάνονται είτε πολύ νωρίς, είτε λίγο αργά, το αποτέλεσμα είναι η παραμόρφωση της κυματομορφής και της δημιουργίας παρασιτικών συνιστωσών.
 
Last edited:

artman

AVClub Enthusiast
30 November 2008
768
Πειραιάς
Isochronous – Asynchronous USB και SPDIF

Στο isochronous usb (ισοχρονισμένο) ο χρονισμός των δεδομένων γίνεται στον υπολογιστή. O υπολογιστής στέλνει πακέτα – frames στο dac, που περιέχουν τα δεδομένα.

Στο Asynchronous usb το Dac λέει το PC πόσα δεδομένα να στείλει.
Αυτό επιτρέπει τη χρήση ενός σταθερού ρολογιού στο Dac και χρονισμό των δεδομένων από το ρολόι του ίδιου του Dac.
Κατ’αυτό τον τρόπο το ασύγχρονο USB μας επιτρέπει να αποφύγουμε το ενδογενές jitter και χρησιμοποιώντας το δικό του ρολόι,
να αποφύγουμε τον κακό χρονισμό και εν τέλει τη δημιουργία jitter.

Στην Spdif το σήμα περιέχει και τα δεδομένα και τον χρονισμό και το ντακ καλείται να κάνει την απόπλεξη, ώστε να εξαγάγει τον χρονισμό.
Το αποτέλεσμα είναι μια σχετική αύξηση του jitter, αφού κάθε διακύμανση στο ρολόι του αποστολέα μεταφράζεται σε jitter εισόδου .

Πρακτικά, τόσο η SPDIF, όσο και η USB είναι σε θέση να μεταδώσουν bit perfect δεδομένα με χαμηλό jitter . Στις εργαστηριακές μετρήσεις, η usb
 
Last edited:

artman

AVClub Enthusiast
30 November 2008
768
Πειραιάς
Στις εργαστηριακές μετρήσεις, η usb υπερτερεί ελαφρώς.

(Επειδή δεν είμαι ειδικός και προσπαθώ να τα κατανοήσω, να τα απλοποιήσω και εν συντομία να τα εκφράσω, χωρίς πολλά -πολλά τεχνικά, γέμισε το
κεφάλι μου τζίτερ. Πάω να πάρω αέρα. Καλύτερα θα πέρναγα με το ντάνσιν γουιθ δε σταρς...)
 
Last edited:

artman

AVClub Enthusiast
30 November 2008
768
Πειραιάς
Σύμφωνα με όσα προαναφέρθηκαν η ασύγχρονη usb - asynchronous usb σύνδεση έχει 2 πλεονεκτήματα.

Α. Το ντακ μας ζητάει δεδομένα από τον υπολογιστή, αντί ο υπολογιστής να στέλνει όποτε θέλει τα πακέτα.
Β. Ο χρονισμός των δεδομένων μας δεν γίνεται από το ρολόι του υπολογιστή, αλλά από το ρολόι του ντακ που χρησιμοποιούμε.

Καθώς ο χρονισμός των δεδομένων είναι εξαιρετικά σημαντικός για να επιτευχθεί η επαναδημιουργία του ηχητικού σήματος χωρίς παραμορφώσεις ,
αντιλαμβανόμαστε πόσο σημαντικό είναι να φοράει το ντακ μας καλό ρολόι.

Τα λάθη του χρονισμού είναι εύκολο να τα κατανοήσουμε αν τα μεγεθύνουμε.
Αν και στην πραγματικότητα τα σφάλματα γίνονται σε χρόνους της τάξης των millisecond, καθώς συσσωρεύονται δημιουργούν
αλλοιώσεις στον ήχο και το τελικό αποτέλεσμα είναι ενοχλητικό. Αν μεγεθύνουμε λοιπόν τα λάθη χρονισμού από millisecond σε second,
είναι πολύ εύκολο να φανταστούμε, ότι δεδομένα που θα χρονίζονταν λάθος κατά ένα δευτερόλεπτο πριν ή μετά, θα έδιναν ένα ηχητικό
αλαλούμ, που καμιά σχέση δεν θα είχε με το αναπαραγόμενο μουσικό έργο.

Δυστυχώς το άκρως σημαντικό θέμα του clock που φέρει το dac μας τείνει να παραγνωρίζεται τα τελευταία χρόνια.

Διαβάζουμε έτσι κριτικές συσκευών, που επικεντρώνονται στον τύπο του dac chip, στο στάδιο εξόδου και στην τροφοδοσία του dac.
Όλα αυτά είναι βέβαια σημαντικές παράμετροι, αλλά τι να τα κάνεις αν ο χρονισμός του σήματος δεν γίνεται σωστά;
Θα αναπαράγεις με πιστότητα ένα «μεταλλαγμένο» σήμα.
Έτσι συχνά καταλήγουμε να προσπαθούμε να βελτιώσουμε τον ήχο ενός ντακ, χωρίς να χτυπάμε το κακό στη ρίζα του, δηλαδή στο ρολόι του.

Ο χρονισμός του σήματος από το ίδιο το ντακ στην περίπτωση του asynchronous usb dac αποτελεί και την μέγιστη διαφορά από dac
με usb που δεν ασύγχρονη. Ένα dac με ισόγχρονη usb δεν προσφέρει τίποτα σε σχέση με μια κάρτα ήχου αντίστοιχων δυνατοτήτων,
εκτός της πιθανής καλύτερης εξωτερικής τροφοδοσίας.

Επίσης η χρήση asynchronous usb απομυθοποιεί το ρόλο του hardware του υπολογιστή. Αν ο υπολογιστής μπορεί να αναπαράγει τα μουσικά μας
αρχεία και να τα στείλει απρόσκοπτα στη usb, από εκεί και πέρα αναλαμβάνει το asynchronous usb dac.

Το hardware δεν πρέπει να συγχέεται με το software, το οποίο επεξεργάζεται τα μουσικά μας αρχεία.
Γι’αυτό στην περίπτωση των προγραμμάτων μουσικής αναπαραγωγής, η audio κοινότητα έχει εγκαταλείψει τα παραδοσιακά
προγράμματα και έχει στραφεί στα προγράμματα εκείνα που προνοούν για bit perfect αναπαραγωγή.
 

tmjuju

Administration Team
Staff member
21 January 2007
21,651
Σήμερα πια όλες οι σοβαρές υλοποιήσεις usb audio είναι ασύγχρονες.

Περάσαμε τους σκοπέλους του Synchronous & Adaptive (καθώς και των proprietary non-usb-audio-compliant)

Γενικά καινούρια σχεδίαση που να μην είναι ασύγχρονη δε θα βρείτε, πάνε 2-5 χρόνια που μας απασχολούσε.
 

tmjuju

Administration Team
Staff member
21 January 2007
21,651
To usb audio είναι isochronous
(σε αντίθεση με το bulk που είναι για δίσκους, το control για σηματοδοσία και το interrupt based)

Υποκατηγορίες του isochronous είναι οι:
async sync adaptive

πάνε χρόνια που τα αναλύαμε, γιατί τότε είχαμε όντος μεγαλύτερα προβλήματα από ότι σήμερα που στην ουσία λύθηκαν.
 

artman

AVClub Enthusiast
30 November 2008
768
Πειραιάς
:SFGSFGSF: :SFGSFGSF: :SFGSFGSF: :SFGSFGSF:

Σ'ευχαριστώ πολύ, αλλά είναι μάλλον υπερβολή, αφού και εγώ ψάχνομαι όπως και εσείς και το νήμα το άνοιξα όχι για να κάνω τον διαφωτιστή,
αλλά μπας και διαφωτιστώ ψάχνοντας και συζητώντας και εγώ. Για την καλή σου καρδιά όμως σε ευχαριστώ διπλά.


Το adaptive το προσπέρασα, γιατί δεν είχα σκοπό να ασχοληθώ με τα είδη των usb, αλλά με αυτά που μας απασχολούν στο audio.
Σύγχρονο και ισόχρονο , από όσα διάβασα κατάλαβα ότι είναι το ίδιο πράγμα.
Αν κάνω λάθος διορθώστε με , είπα εξ αρχής ότι δεν είμαι ειδικός. Προσπαθώ να συλλέγω πληροφορίες από όσο το δυνατόν εγκυρότερες πηγές
και να τις συμμαζεύω για να καταλαβαίνουμε όλοι.
 

DomieMic65

Supreme Member
10 July 2006
9,681
Αθήνα
To usb audio είναι isochronous
(σε αντίθεση με το bulk που είναι για δίσκους, το control για σηματοδοσία και το interrupt based)

Υποκατηγορίες του isochronous είναι οι:
async sync adaptive

πάνε χρόνια που τα αναλύαμε, γιατί τότε είχαμε όντος μεγαλύτερα προβλήματα από ότι σήμερα που στην ουσία λύθηκαν.
Ααα μάλιστα!
Ευχαριστούμε για την διευκρίνηση!!!
 

artman

AVClub Enthusiast
30 November 2008
768
Πειραιάς
Για να μην μπλεχτούμε:
Synchronous USB connections use a one way digital connection for music replay and are considered the worst type of connection for audio purposes
Adaptive mode is a little smarter. It asesses the amount of data in the frame and adjusts that dac's clock-timing to it.
Asynchronous mode is technically most advanced in that it has a feedback loop so that the amount of data in the frame can be controlled.
(http://www.hifi-advice.com/USB-synchronous-asynchronous-info.html)

Άλλη κατάταξη:
Isochronous (guaranteed timing)
Interrupt (guaranteed data)
Bulk (guaranteed data)
Control (not used for audio streaming)
(http://www.gspaudio.co.uk/blog/jitter-isochronous-or-asynchronous-dacs_post57.html)

Επειδή το adaptive isochronous χρησιμοποιείται στην S/PDIF, πιστεύω ότι καλύτερα να μιλάμε για σύγχρονο και ασύγχρονο, αφού το clocking είναι αυτό που μας ενδιαφέρει, παρά η τεχνογνωσία.
 

tmjuju

Administration Team
Staff member
21 January 2007
21,651
Όχι ακριβώς
Γενικά όλες οι συσκευές usb (printer, sticks, wificards, etc) ακολούθουν μια από τις μεθόδους
Interrupt (guaranteed data)
Bulk (guaranteed data)
Control (not used for audio streaming)
Isochronous (guaranteed timing)


το usb audio compliant devices, Isochronous είναι πάντα
Υποκατηγορίες είναι τα synchronous, asynchronous, adaptive

Ιστορικά πρώτα εμφανίστηκαν usb audio compliant devices που βασίζονταν σε synchronous και adaptive, αργότερα κάποιοι κατάφεραν (με κόπο και ιδρώτα) να υλοποιήσουν asynchronous, και πια όλα τα μοντέρνα dac/interfaces είναι asynchronous

Ειδικές περιπτώσεις πάντα υπάρχουν όπως η EMU404 που χρησιμοποιεί Bulk mode, με εντελώς δικούς τις drivers και proprietary πρωτόκολλο. Και πάλι αυτή η σχεδίαση είναι πια παλιά, τότε η αλήθεια είναι ότι δεν υπήρχαν ακόμα πολλές υλοποιήσεις asynchronous.
Σήμερα που μιλάμε ευτυχώς τα παιδικά προβλήματα του usb audio compliant interfaces έχουν περάσει και είμαστε στην νέα γενιά γενιά dac/interfaces πού όλα είναι usb audio compliant.

Το άλλο θετικό με όλα τα usb audio compliant είναι ότι δεν απαιτούν ειδικό driver!
 

artman

AVClub Enthusiast
30 November 2008
768
Πειραιάς
Ας δούμε λίγο και μια λογική παρεξήγηση σχετικά με την spdif, αφού εξίσου λογικά προκύπτει και η απάντηση.

Πολλοί αναρωτιούνται γιατί αφού πολλά usb interfaces παίρνουν σήμα από τη usb του υπολογιστή και το εξάγουν σε spdif,
(προκειμένου να αξιοποιηθούν dacs χωρίς είσοδο usb), να μην πάρουν απευθείας σήμα από την έξοδο spdif του υπολογιστή τους
(από την κάρτα ήχου της μητρικής, ή από ξεχωριστή κάρτα ήχου) και να τροφοδοτήσουν με αυτό το dac τους.

Όπως ειπώθηκε στην αρχή στη σύνδεση spdif το σήμα περιέχει και τα δεδομένα και τον χρονισμό και το ντακ καλείται
να κάνει την απόπλεξη, ώστε να εξαγάγει τον χρονισμό (διαδικασία δύσκολη και με μεγάλο βαθμό αποτυχίας).

Εάν το σήμα προέρχεται από την spdif του υπολογιστή, τότε φτάνει στο dac μας χρονισμένο από τον υπολογιστή(!),
δηλαδή κουβαλάει όλο το jitter του υπολογιστή.

Εάν το σήμα προέρχεται από ασύγχρονη usb, ο χρονισμός γίνεται εκτός υπολογιστή, ανεξάρτητα από το αν τελικά καταλήγει σε spdif.

Μάλιστα ορισμένα dac chips, όπως τα γνωστά sabre της ESS (τουλάχιστον τα ακριβά, όπως το 9018), περιέχουν διόρθωση του χρονισμού
της spdif.

Σημείωση: Η αναφορά στην spdif αφορά κυρίως στην coaxial – ομοαξονική, αφού στις μετρήσεις η οπτική είναι κατώτερη σε θέματα jitter.
(μιλώντας βέβαια θεωρητικά, γιατί στην πράξη υπάρχουν και ζητήματα καλών, καλύτερων, κακών και…άχρηστων υλοποιήσεων.)
 

Totsipaki

Supreme Member
27 February 2007
5,054
Τρομερά ενδιαφέρον νήμα που καλύπτει πολλά (και δικά μου) κενά. Πολλά συγχαρητήρια στους συντάκτες του!
Προς τους συντονιστές.. προτείνω να μπεί στα sticky.. άμεσα!!!
 

sokmav

AVClub Fanatic
5 February 2012
14,227
Απάντηση: Re: Isochronous – Asynchronous usb και Spdif

Ας δούμε λίγο και μια λογική παρεξήγηση σχετικά με την spdif, αφού εξίσου λογικά προκύπτει και η απάντηση.

Πολλοί αναρωτιούνται γιατί αφού πολλά usb interfaces παίρνουν σήμα από τη usb του υπολογιστή και το εξάγουν σε spdif,
(προκειμένου να αξιοποιηθούν dacs χωρίς είσοδο usb), να μην πάρουν απευθείας σήμα από την έξοδο spdif του υπολογιστή τους
(από την κάρτα ήχου της μητρικής, ή από ξεχωριστή κάρτα ήχου) και να τροφοδοτήσουν με αυτό το dac τους.

Όπως ειπώθηκε στην αρχή στη σύνδεση spdif το σήμα περιέχει και τα δεδομένα και τον χρονισμό και το ντακ καλείται
να κάνει την απόπλεξη, ώστε να εξαγάγει τον χρονισμό (διαδικασία δύσκολη και με μεγάλο βαθμό αποτυχίας).

Εάν το σήμα προέρχεται από την spdif του υπολογιστή, τότε φτάνει στο dac μας χρονισμένο από τον υπολογιστή(!),
δηλαδή κουβαλάει όλο το jitter του υπολογιστή.

Εάν το σήμα προέρχεται από ασύγχρονη usb, ο χρονισμός γίνεται εκτός υπολογιστή, ανεξάρτητα από το αν τελικά καταλήγει σε spdif.

Μάλιστα ορισμένα dac chips, όπως τα γνωστά sabre της ESS (τουλάχιστον τα ακριβά, όπως το 9018), περιέχουν διόρθωση του χρονισμού
της spdif.

Σημείωση: Η αναφορά στην spdif αφορά κυρίως στην coaxial – ομοαξονική, αφού στις μετρήσεις η οπτική είναι κατώτερη σε θέματα jitter.
(μιλώντας βέβαια θεωρητικά, γιατί στην πράξη υπάρχουν και ζητήματα καλών, καλύτερων, κακών και…άχρηστων υλοποιήσεων.)

Γιάννη όταν λες πως στην περίπτωση της μεταφοράς μέσω spdif τον χρονισμό τον αναλαμβάνει ο υπολογιστής,εννοείς πως τον αναλαμβάνει ο ντακ της ενσωματωμένης η και ξεχωριστής κάρτας ήχου,έτσι;
 

artman

AVClub Enthusiast
30 November 2008
768
Πειραιάς
Μπράβο artman!! πολύ καλά έκανες που τα συμάζεψες!! :ernaehrung004:

Χρήστο σε ευχαριστώ, χαίρομαι που εκτιμάται η προσπάθεια (γιατί περί προσπάθειας πρόκειται.)

Φίλε Totsipaki, προσπαθούμε να μάθουμε, για να ξέρουμε τι μας γίνεται.
 

artman

AVClub Enthusiast
30 November 2008
768
Πειραιάς
Re: Απάντηση: Re: Isochronous – Asynchronous usb και Spdif

Γιάννη όταν λες πως στην περίπτωση της μεταφοράς μέσω spdif τον χρονισμό τον αναλαμβάνει ο υπολογιστής,εννοείς πως τον αναλαμβάνει ο ντακ της ενσωματωμένης η και ξεχωριστής κάρτας ήχου,έτσι;

Όχι Σωκράτη εννοώ ακριβώς το αντίθετο, αλλά μη θεωρήσεις σε καμιά περίπτωση τη γνώση μου ως απόλυτη. Από όσα διάβασα αυτές τις μέρες (και ήταν αρκετά), πουθενά δεν βρήκα
κάποια αναφορά, που να λέει ότι σε περίπτωση πρόσθετης καρτας ήχου (έστω και της πιο κορυφαίας) χρησιμοποιείται το δικό της ρολόι.
Έχω καταλήξει λοιπόν στα εξής. Ή τα ίδια τα λειτουργικά δεν επιτρέπουν εσωτερικά διαφορετικό clocking, ή οι απανταχού συντάκτες θεωρούν κάποια πράγματα δεδομένα και δεν τα γράφουν.
Νομίζω ότι έχεις μια κορυφαία asus. Δες αν έχει πάνω στην πλακέτα κάτι τέτοιο:
images

Είναι ένας συνηθισμένος oscillator, που χρησιμοποιείται για τον χρονισμό. Έτσι εμπειρικά θα μάθουμε κάτι.

Αν έχει σημαίνει πως έχει ρολόι, που λογικά χρησιμοποιείται, διαφορετικά δεν ακούς διαφορές από την spdif λόγω sabre (αν και το 9023 είναι bugdet τσιπάκι της ESS και δεν ξέρω αν έχει διόρθωση χρονισμού της spdif.)