USB -> XMOS -> Asynchronous I2S FIFO -> Buffalo

VaSiLiS-T

Supreme Member
10 January 2007
8,209
παλλληηηηηνιηηηη
Δεν έχουμε και κανα 2-3 χιλιάρικά πρόχειρα να ρίξουμε σε κάνα όργανο τυπικο ρε φουστη ,, να κάνουμε τα γούστα μας ,,, ..

λέμε τώρα ,,,

εγω θα σφιγκω διπλό εσπρέσο ,, η 3πλο τσιππουρο ,,, και θα σας βλέπω ,, και εάν κάνετε παπαριά θα σας βρίζω ..:grinning-smiley-043


τώρα με σκατολάμπα ακούω ,, μονόδρομο και χωρίς ουσιαστικά φάσμα πάνω απο τα 8 χιλιαρικά ,,
οπότε ,, κάλα πάιζω

και γουστάρω
 

VaSiLiS-T

Supreme Member
10 January 2007
8,209
παλλληηηηηνιηηηη
Πάνε στο νήμα με το DAC του Στέλιου και δές πως υλοποιείται το στάδιο με τα hexinvertes που λειτουργουν σαν ψηφιακό μπάφερ με το master clock απο το wolfson οδηγο ,,

και έγω δεν έχω φτιάξω τίποτα ,, διδάσκομαι μεταφέρω δοκιμάζω εφαρμοζω και πρατω ,,

με πολύ κόπο ..

απλά ..
 

VaSiLiS-T

Supreme Member
10 January 2007
8,209
παλλληηηηηνιηηηη
Σας ετοιμάζω το μονοπύρηνο sabre ,, με τον τελεστικό μέσα του ,, χωρίς πολλές σάλτσες και προσεσορες ,,
έχω το pdf , ( δεν το δίνω εκτός μην με παλαβωσετε στα πιμια .. θα με πάνε τρέχωντας ,, )

περιμέντε ,,


και σας έρχετε πλακετάκι ,,, μουρλια ,,


παιδιά ίδια γέυση με το 4πύρινο ,,

θα γουστάρεται σάυρα ,,, όσοι την γουστάρεται ,,


σχεδόν τζάμπα ..

θα το κάνω λιανά και ευκολο να το φτιάξει ο καθείς ..
 
Last edited:
Re: Απάντηση: USB -> XMOS -> Asynchronous I2S FIFO -> Buffalo

Πάνε στο νήμα με το DAC του Στέλιου και δές πως υλοποιείται το στάδιο με τα hexinvertes που λειτουργουν σαν ψηφιακό μπάφερ με το master clock απο το wolfson οδηγο ,,

και έγω δεν έχω φτιάξω τίποτα ,, διδάσκομαι μεταφέρω δοκιμάζω εφαρμοζω και πρατω ,,

με πολύ κόπο ..

απλά ..

Τα είδα τα hex inverters.. αυτό που κάνουν είναι buffering αλλά δεν είναι fifo.. δεν αλλάζουν δηλαδή χρονισμό στο σήμα, απλά ίσως βελτιώνουν την ποιότητα της κυματομορφής. Εδώ μιλάμε για πραγματικό buffer των data με παράλληλα δημιουργία νέου MCLK και συγχρονισμού τους..
 
Re: Απάντηση: USB -> XMOS -> Asynchronous I2S FIFO -> Buffalo

Σας ετοιμάζω το μονοπύρηνο sabre ,, με τον τελεστικό μέσα του ,, χωρίς πολλές σάλτσες και προσεσορες ,,
έχω το pdf , ( δεν το δίνω εκτός μην με παλαβωσετε στα πιμια .. θα με πάνε τρέχωντας ,, )

περιμέντε ,,


και σας έρχετε πλακετάκι ,,, μουρλια ,,


παιδιά ίδια γέυση με το 4πύρινο ,,

θα γουστάρεται σάυρα ,,, όσοι την γουστάρεται ,,


σχεδόν τζάμπα ..

θα το κάνω λιανά και ευκολο να το φτιάξει ο καθείς ..

ES9012? Καλούλι θα είναι αλλά το ES9018 είναι άλλη φάση... :p
 

VaSiLiS-T

Supreme Member
10 January 2007
8,209
παλλληηηηηνιηηηη
καταχράζομαι λίγο το νήμα ,,, αλα η κουβέντα φέρνει κουβέντα ,, καφενες ένα πράγμα ,

σε καμποσο καιρό ,, και μετα απο κάμποσα τσουβάλια υλικά ,,

θα δουμε

αλλα θα γουστάρετε ,,
πιστεψτε με ..




τέλος OFF TOPIC
 

Attachments

  • sabra.png
    sabra.png
    84.7 KB · Views: 121

VaSiLiS-T

Supreme Member
10 January 2007
8,209
παλλληηηηηνιηηηη
Απάντηση: Re: Απάντηση: USB -> XMOS -> Asynchronous I2S FIFO -> Buffalo

Τα είδα τα hex inverters.. αυτό που κάνουν είναι buffering αλλά δεν είναι fifo.. δεν αλλάζουν δηλαδή χρονισμό στο σήμα, απλά ίσως βελτιώνουν την ποιότητα της κυματομορφής. Εδώ μιλάμε για πραγματικό buffer των data με παράλληλα δημιουργία νέου MCLK και συγχρονισμού τους..

Ο χρονισμός είναι φρέσκος απο το WOLFSON αναχρονίζει με μεγάλη επιτυχία σχετικά ,, και οδηγεί με το ρολόι του το μπάφερ ,, αρα ,,??
 
Last edited:
Re: Απάντηση: USB -> XMOS -> Asynchronous I2S FIFO -> Buffalo


Χαριτωμένο, αλλά "γεύση" σαύρας χωρίς πολύ καλό ρολόι και εξαιρετικό τροφοδοτικό... ;)

Πάντως για τα λεφτά που θα στοιχίζει λογικά θα παίζει πολύ καλά, ειδικά σε σχέση με τον ανταγωνισμό του.
 

dinos

Moderator
Staff member
17 June 2006
811
Πάτρα
Τόσο το XMOS όσο και το FPGA του FIFO προσθέτουν jitter (στη περιοχή των 50 psec RMS ή και περισσότερο). Αυτός είναι ο λόγος που ο Ian εφαρμόζει επαναχρονισμό του I2S (με το απίστευτο PO74G74 στο πρωτότυπο και τα 74AUP1G79 στο εμπορικό προϊόν). Τα ίδια flip – flop μπορούν να χρησιμοποιηθούν και σε λύση του τύπου USB>I2S (π.χ XMOS). Από την άποψη αυτή το FIFO δεν νομίζω πως θα δώσει κάτι πρόσθετο πέρα από latency. Mε βάση τα ανωτέρω πιο χρήσιμη φαίνεται η καρτούλα των ταλαντωτών, αλλά δυστυχώς δεν υπάρχει πληροφορία ή σχηματικό για το πως γίνεται η αυτόματη εναλλαγή των ρολογιών (υποψιάζομαι πως υπεύθυνο είναι το FPGA του FIFO οπότε ……).

Μια περαιτέρω βελτίωση θα ήταν η τοποθέτηση του ρολογιού όσο πιο κοντά στο DAC (δηλαδή κοντά στο τελικό αποδέκτη της μετατροπής). Είναι ο μόνος τρόπος για να επιτύχουμε το χαμηλότερο jitter που είναι δυνατόν (δηλαδή το γεωμετρικό άθροισμα του κρυστάλλου με αυτό του ενδογενούς jitter του DAC). Στη περίπτωση αυτή το όριο δεν το βάζει πλέον η τοπολογία των συνδέσεων, αλλά η ποιότητα των υλικών και η υλοποίηση της πλακέτας. Φυσικά αν το ρολόι είναι πολύ κοντά στο DAC τότε αυτό θα πρέπει να επιστρέψει στο XMOS (με προϋπόθεση ένα κατάλληλο σύστημα clock distribution), ώστε να πραχθούν σωστά όλοι οι υπόλοιποι χρονισμοί του I2S (δεν υπάρχει κάποια απαγόρευση σε τέτοια τοπολογία από όσο διάβασα). Επίσης πρόσθετη δουλειά πρέπει να γίνει για την αυτόματη μεταγωγή των δύο βασικών συχνοτήτων, καθώς επίσης και στην δημιουργία του κατάλληλου interface ανάλογα με τους DAC που χρησιμοποιούμε (π.χ DS ή multi bit, στη δεύτερη περίπτωση χρειάζονται επίσης ταχύτατοι διαιρέτες με χαμηλό ενδογενές jitter).

Τέλος βασικό είναι να υπάρχει γαλβανική απομόνωση μεταξύ πηγής ψηφιακού σήματος (είτε είναι transport είτε music server, laptop κτλ) και DAC. Δυστυχώς η απομόνωση σε επίπεδο USB με τα υφιστάμενα chips δεν επιτρέπει τη μεταφορά αρχείων υψηλής ανάλυσης (πιστεύω πως είναι θέμα χρόνου να εμφανιστεί κάτι νέο, διότι βλέπω πως αυξάνονται οι ιατρικές συσκευές με πρωτόκολλο USB, ενώ οι υπολογιστές μοιραία θα μετακομίσουν στο USB3 και στις ιατρικές εφαρμογές η γαλβανική απομόνωση είναι προϋπόθεση πιστοποίησης).
H γαλβανική απομόνωση προς το παρόν μπορεί να γίνει στο επίπεδο του I2S, με μαγνητικό πεδίο ή οπτικό και φυσικά πρέπει να ακολουθήσει reclocking. Τα υπολείμματα των τροφοδοτικών και των ρευμάτων στις κοινές γραμμές της γείωσης μεταξύ ψηφιακών πηγών και DAC, είναι υπεύθυνα για μεγάλο τμήμα του jitter που εισάγεται απευθείας στις ακουστικές συχνότητες διαμορφώνοντας κατά φάση την εκάστοτε θεμελιώδη (ίσως εκεί να βρίσκεται ένα τμήμα της ακουστικής διαφοράς των transports).
 

tmjuju

Administration Team
Staff member
21 January 2007
21,651
Re: Απάντηση: USB -> XMOS -> Asynchronous I2S FIFO -> Buffalo

Τόσο το XMOS όσο και το FPGA του FIFO προσθέτουν jitter (στη περιοχή των 50 psec RMS ή και περισσότερο). Αυτός είναι ο λόγος που ο Ian εφαρμόζει επαναχρονισμό του I2S (με το απίστευτο PO74G74 στο πρωτότυπο και τα 74AUP1G79 στο εμπορικό προϊόν). Τα ίδια flip – flop μπορούν να χρησιμοποιηθούν και σε λύση του τύπου USB>I2S (π.χ XMOS). Από την άποψη αυτή το FIFO δεν νομίζω πως θα δώσει κάτι πρόσθετο πέρα από latency.
Ναι έτσι το καταλαβαίνω και εγώ.

Mε βάση τα ανωτέρω πιο χρήσιμη φαίνεται η καρτούλα των ταλαντωτών, αλλά δυστυχώς δεν υπάρχει πληροφορία ή σχηματικό για το πως γίνεται η αυτόματη εναλλαγή των ρολογιών (υποψιάζομαι πως υπεύθυνο είναι το FPGA του FIFO οπότε ……).

Ντινο και εγώ υποθέτω ότι το software του Ian τώρα πια απλά επιλέγει (αυτοματα) το κατάλληλο ρολόι για την έξοδο βάση της εισόδου.
Δηλαδή εάν το Input είναι πολλαπλάσιο του 44.1 τότε επέλεξε το τάδε ρολόι.
Στην έκδοση με το προγραμματιζόμενο ρολόι όλα σε ένα (Si570) είχε και ένα βοηθητικό Atmel που έδινε εντολές στο προγραμματιζόμενο ρολόι μέσω i2c. Κάπως έτσι πρέπει να τα ενορχηστρώνει ακόμα. Που σίγουρα είναι πιο βολικό από το να αλλάζεις jumpers.
To FPGA μαθαίνει το input, και σπρώχνει την πληροφορία στο atmel, το οποίο και ορίζει το πιο ρολόι χρησιμοποιείται στο out.

Μια περαιτέρω βελτίωση θα ήταν η τοποθέτηση του ρολογιού όσο πιο κοντά στο DAC (δηλαδή κοντά στο τελικό αποδέκτη της μετατροπής). Είναι ο μόνος τρόπος για να επιτύχουμε το χαμηλότερο jitter που είναι δυνατόν (δηλαδή το γεωμετρικό άθροισμα του κρυστάλλου με αυτό του ενδογενούς jitter του DAC). Στη περίπτωση αυτή το όριο δεν το βάζει πλέον η τοπολογία των συνδέσεων, αλλά η ποιότητα των υλικών και η υλοποίηση της πλακέτας. Φυσικά αν το ρολόι είναι πολύ κοντά στο DAC τότε αυτό θα πρέπει να επιστρέψει στο XMOS (με προϋπόθεση ένα κατάλληλο σύστημα clock distribution), ώστε να πραχθούν σωστά όλοι οι υπόλοιποι χρονισμοί του I2S (δεν υπάρχει κάποια απαγόρευση σε τέτοια τοπολογία από όσο διάβασα). Επίσης πρόσθετη δουλειά πρέπει να γίνει για την αυτόματη μεταγωγή των δύο βασικών συχνοτήτων, καθώς επίσης και στην δημιουργία του κατάλληλου interface ανάλογα με τους DAC που χρησιμοποιούμε (π.χ DS ή multi bit, στη δεύτερη περίπτωση χρειάζονται επίσης ταχύτατοι διαιρέτες με χαμηλό ενδογενές jitter).

Τέλος βασικό είναι να υπάρχει γαλβανική απομόνωση μεταξύ πηγής ψηφιακού σήματος (είτε είναι transport είτε music server, laptop κτλ) και DAC. Δυστυχώς η απομόνωση σε επίπεδο USB με τα υφιστάμενα chips δεν επιτρέπει τη μεταφορά αρχείων υψηλής ανάλυσης (πιστεύω πως είναι θέμα χρόνου να εμφανιστεί κάτι νέο, διότι βλέπω πως αυξάνονται οι ιατρικές συσκευές με πρωτόκολλο USB, ενώ οι υπολογιστές μοιραία θα μετακομίσουν στο USB3 και στις ιατρικές εφαρμογές η γαλβανική απομόνωση είναι προϋπόθεση πιστοποίησης).
H γαλβανική απομόνωση προς το παρόν μπορεί να γίνει στο επίπεδο του I2S, με μαγνητικό πεδίο ή οπτικό και φυσικά πρέπει να ακολουθήσει reclocking. Τα υπολείμματα των τροφοδοτικών και των ρευμάτων στις κοινές γραμμές της γείωσης μεταξύ ψηφιακών πηγών και DAC, είναι υπεύθυνα για μεγάλο τμήμα του jitter που εισάγεται απευθείας στις ακουστικές συχνότητες διαμορφώνοντας κατά φάση την εκάστοτε θεμελιώδη (ίσως εκεί να βρίσκεται ένα τμήμα της ακουστικής διαφοράς των transports).

Για USB3 δεν έχω δει ούτε εγώ υλοποίηση, για απομόνωση κάποια ADuN κοιτούσαμε περισσότερο με τον DimDim παλιότερα, υπάρχουν διάφορα SO7240M, Si8440BB, ADuM1400CRW, IL715, ISO150
 

tmjuju

Administration Team
Staff member
21 January 2007
21,651
Re: Απάντηση: USB -> XMOS -> Asynchronous I2S FIFO -> Buffalo

fifo fifa και λοιπά κύπελα ,, ψηφιακό μπαφεράκι με ρολόι είναι ,, ,, οκ ,, κάτι αντίστοιχο έχω πράξει και εγώ ,,, νωμίζω δλδ ,, αλλα κάθε τράσπορτ και ο καημός του

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

εαν κατάφερε να εκμηδενίσει το αγνωστο παράγοντα Χ απο τα τράνσπορτ που μεταβάλει χαρακτηριστικά .. μπράβο του ,,,

Χεχε αποκλείεται να εξαφανίζει κάθε μα κάθε υπογραφή :antlers:

Αλλά και εγώ την έχω πάθει καμπόσες φορές πάντως - όσο προχώρα η τεχνολογία τόσο περισσότερο καλύπτει και μειονεκτήματα κακών transports.
 

tmjuju

Administration Team
Staff member
21 January 2007
21,651
Re: Απάντηση: USB -> XMOS -> Asynchronous I2S FIFO -> Buffalo

Πάνε στο νήμα με το DAC του Στέλιου και δές πως υλοποιείται το στάδιο με τα hexinvertes που λειτουργουν σαν ψηφιακό μπάφερ με το master clock απο το wolfson οδηγο ,,

και έγω δεν έχω φτιάξω τίποτα ,, διδάσκομαι μεταφέρω δοκιμάζω εφαρμοζω και πρατω ,,

με πολύ κόπο ..

απλά ..

Βασίλη από όσο θυμάμαι όταν το έψαχνα το WM8804 είναι για μέχρι 96KHz. Μετά τα 96KHz ότι σήμα δέχεται το θεωρεί 192KHz. Εκεί κάπου χάνει μόνο. Oτι δεν καταλαβαίνει “εύκολα” 176.4 , δε ξέρω εάν κάποιος το έκανε σε software mode, αλλά από όσο θυμάμαι αυτό ήταν το πρόβλημα των περισσότερων. (φυσικά ένα feature είναι μονό αυτό … πεπονόφλουδες δηλαδή)

Γενικότερα πάντως μετά το wolfson βγάζεις i2s. Το από εκεί και μετά μέχρι και το dac είναι που και εγώ θα ήθελα να ψάξω περισσότερο.
Στην περίπτωση του AK έχεις αναγκαστεί να χρησιμοποιήσεις περισσότερα υλικά για να κάνεις ανάποδο το justification. Διαφορετικά πιθανότατα να μην είχες παρεμβάλει τίποτα μεταξύ WM και AK.
Φαντάζομαι ότι δε θα έβαζες τίποτα λ.χ. ανάμεσα στο WM και το ESS9023
 

dinos

Moderator
Staff member
17 June 2006
811
Πάτρα
Απάντηση: Re: Απάντηση: USB -> XMOS -> Asynchronous I2S FIFO -> Buffalo

Παιδιά για βοηθήστε λίγο.
Είμαι στη διαδικασία ψαξίματος για την υλοποίηση ενός συστήματος USB DAC (και ADC) που θα ενσωματωθεί σε ένα audio PC.
Προς το παρόν το ρόλο αυτό τον εξυπηρετεί η EMU 0404.
Mου αρέσουν ηχητικά οι multi bit DACs, ενώ οι ΔΣ μονόμπιτοι δεν με έχουν πείσει. Δυστυχώς τα παλαιά multi bit DAC δεν είχαν υπ’ όψη τους τη λύση του I2S και αυτό μας αναγκάζει σε πρόσθετο κύκλωμα interface αλλά και περιορισμούς ως προς το χειρισμό των αρχείων υψηλής ανάλυσης (μεταβλητά φίλτρα εξομάλυνσης, αδυναμία χρήσης DSD, σύνθετοι χρονισμοί κ.α).
Εδώ ακριβώς μου δημιουργείται η απορία για το Sabre το οποίο απ’ ότι κατάλαβα επιτυγχάνει τις πολύ καλές επιδόσεις βασιζόμενο σε ASR και τα αντίστοιχα ψηφιακά φίλτρα. Απορώ γιατί τρελαινόμαστε για bit perfect έξοδο, χαμηλό jitter, FIFO κτλ, και την ίδια στιγμή όλα αυτά θα ισοπεδωθούν (σε συγχρονισμένη ή ασύγχρονη λειτουργία απ’ ότι κατάλαβα) απο την εφαρμογή του ασύγχρονου επαναχρονισμού του Sabre. Το μονο που χρειάζεται ειναι ένα καλό και ρολοι και η καταληλη τροφδοσία.
Αλήθεια έχει κάποιος το πραγματικό data sheet του εν λόγω τσιπακίου, μάλλον κάτι δεν καταλαβαίνω καλά.

Υ.Γ
και συμφωνώ με την NOS προσέγγιση σε επίπεδο τοπολογίας – κατασκευής (δηλαδή αποφεύγουμε κάθε ψηφιακό φίλτρο interpolation) αλλά αντίθετα τη θεωρώ επιβαλλόμενη σε επίπεδο αλυσίδας αναπαραγωγής. Πιστεύω πως αυτή θα πρέπει να γίνεται στον Η/Υ (έστω εκ των προτέρων και όχι on fly).
 

tmjuju

Administration Team
Staff member
21 January 2007
21,651
To bit perfect στις μέρες μας έχει να κάνει συνήθως με το λειτουργικό σύστημα – player - driver. Το αντιμετωπίζουμε ως software παράμετρο / δυνατότητα / ή πρόβλημα.
Δεν είναι το hardware που συνήθως μας ενοχλεί πια. Παλιότερα υπήρχαν και hardware προβλήματα με κάρτες που λ.χ. δεν υποστήριζαν 44,1 (όλα 48) , passthrough (AC3 etc.)
To sabre έχει πολλές δυνατότητες ενσωματωμένες και καλό ήχο. Πολλές δυνατότητες του παλιότερα δεν ήταν ενσωματωμένες σε dac-chip και αναγκαζόμαστε να τις είχαμε εξωτερικά σε DSP etc. Πανάκεια φυσικά δεν είναι και αυτό δεν θα έπρεπε να προκαλεί έκπληξη. Οπότε φυσικά και υπάρχουν προβληματισμοί.
Τα datasheet και όποια notes φοβάμαι ότι είναι μόνο με NDA…
Για usb->i2s νομίζω ότι τα xmos αυτή τη στιγμή είναι μια καλή λύση. Αλλά που θα πάει θα κυκλοφορήσουν και πιο ολοκληρωμένες και πιο οικονομικές λύσεις. Με ADC δεν έχω ασχοληθεί πάντως.
 
Συμφωνώ με τον Τάσο. Η ουσία είναι να γίνει το oversampling / upsampling όπου μπορεί να γίνει πιο σωστά. Πάντως IMHO πρέπει κάπου να γίνει. Όποιος έχει δει πως καταντάει ένα ημίτονο στους 15KHz με "σκέτο" SR στα 44.1 καταλαβαίνει γιατί.

Το datasheet δεν καλύπτεται εδώ και κάποια χρόνια από NDA αλλά η ESS επίτηδες δεν το κυκλοφορεί. Ντίνο, σου στέλνω PM με ένα email στο οποίο μπορείς να το ζητήσεις (όπως έκανα και εγώ).

Περί USB -> I2S εξακολουθώ να θεωρώ το Amanero το καλύτερο VFM αυτή τη στιγμή (μέσω GB πάντα).