WM8805 receiver

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

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

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

lemon

Supreme Member
3 March 2009
4,041
Γνωστό s/pdif receiver και από τα καλά της κατηγορίας του.
Ξέρουμε περισσότερο το ομόσταυλο WM8804 το οποίο λανσάρεται στην ίδια σειρά αλλά με μονή είσοδο.

Το 8805 έχει όμως το πλεονέκτημα των πολλαπλών εισόδων, οι οποίες μάλιστα επιλέγονται αυτόματα μέσω i2c ελέγχου.

Είναι λιγάκι μπλελαλίδικο (λένε) στη διαχείρισή του, αλλά ανταμείβει (όπως και το 8804) με χαμηλό jitter, ίσως το χαμηλότερο στην κατηγορία του (50ps). Από τα ποιο καλοάκουστα receiver.

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

Δεν έχω όμως τη δυνατότητα - αυτή τη στιγμή - να γράψω κώδικα ή να επεξεργαστώ ήδη έτοιμο που μάλλον υπάρχει διαθέσιμος.

Τι λέτε, ποιος μπορεί να συνδράμει προς αυτήν την κατεύθυνση;
 
Έχω εδώ και πολλούς μήνες ανοιχτά καμιά 20ριά tabs με σχηματικά και κώδικα για το WM8805 στο PC του εργαστηρίου.. έχω αγοράσει και 2-3 τσιπάκια και περιμένουν.. όλο λέω να ασχοληθώ, αλλά κάτι άλλο παίρνει προτεραιότητα. Είναι και το datasheet ψιλο-κτήνος..

Αλλά μέσα γενικά, μιας και το ζαλίζω καιρό. :D

Σημαντικό, πρώτα να βεβαιωθούμε ότι παίζει σωστά σε hardware mode και μετά να περάσουμε στο software..

Για Arduino απ' ότι έχω καταλάβει υπάρχει έτοιμο ένα library, το οποίο υποστηρίζει τα βασικά. Δεν έχω καθίσει όμως να το ψάξω πολύ..

Σημειώσεις:

- Για ρολόι κάτι στα 12MHz, διαφορετικά γίνεται μπλέξιμο (στον κώδικα).
- Στις εισόδους καλύτερα να ρυθμιστούν σε TTL στάθμη και να μπει comparator (με μετ/τες για απομόνωση).
- Για έξοδο θα έλεγα βασικά I2S (σε U.FL και απλά pins) αλλά δεν βλάπτει αν αφήσουμε pads και για s/pdif.
- Προσεκτική τροφοδοσία, ξεχωριστή για το ρολόι και το 8805.
- Τα πάντα SMD 0805.
- Λογικά θα καταλήξουμε σε ένα τυπωμένο περίπου 10 χ 5cm ή και μικρότερο, αναλόγως πως θα αντιμετωπίσουμε το θέμα των εισόδων.
- Συνολικό κόστος κατασκευής κάπου στα 20 , αρκετά παραπάνω αν βάλουμε (πολύ) καλό ρολόι.

Κυκλώματα κυκλοφορούν πολλά.. Αν το βάλουμε πάνω σε breadboard θα το κάνουμε εύκολα να παίξει (πιστεύω). Έχω όλα τα εξαρτήματα που χρειάζονται για κάτι τέτοιο.
 

lemon

Supreme Member
3 March 2009
4,041
Δημήτρη υπέροχα.

Θα το ξεκινήσω...

- ρολόι υποχρεωτικά στα 12MHz και οπωσδήποτε δική του τροφοδοσία
- επίσης η τροφοδοσία του 8805 μάλλον θα την κάνω διπλή.
- για τις εισόδους....θέλει περισσότερο μελέτη αυτό που γράφεις... θα το δούμε στην πορεία
- 805 κανόνας για να μην ειναι a lot of pain for the others...

Δεν είναι μεγάλο το κύκλωμα, βασιζόμενος στο 8804. Μπορώ να φτιάξω μια πρόχειρη πλακέτα για τις δοκιμές μας...δεν είναι τίποτα!
 
Ωραία, αλλά αν φτιάξεις πλακέτα θα χρειαστεί κόλλα/ξεκόλλα του 8805 μέχρι να καταλήξουμε σε τελικό σχέδιο.. το breadboard είναι πολύ πιο φιλικό.. και το 8805 είναι και SSOP.. σχετικά ζόρικο..

Αλλά αν έχεις όρεξη, εννοείται be my guest. :smile:
 

lemon

Supreme Member
3 March 2009
4,041
Απάντηση: Re: WM8805 receiver

Ας ξεκινήσουμε και τα λέμε στην πορεία.

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

Δύο βασικά σχέδια σε hardware & software mode.

Στα σχηματικά, έχω επιλέξει ρολόι της Fox 5Χ3,3mm στα 12MHz http://gr.mouser.com/ProductDetail/...9Eelhv1EBK3ShjK8fiQLBsJfX3f4epp%2bDfDW/Xddw==, το οποίο αναγκαστικά θέλει δική του τροφοδοσία.

Υπάρχει όμως και η περίπτωση να επιλέξουμε άλλο ρολόι της Fox 13.9X4.5mm, http://gr.mouser.com/ProductDetail/...RPi2qMvmGvHciYoNpSCPhQ8rbGq9IkbRgi3Mrr6Y6YA==, το οποίο δεν θέλει τροφοδοσία λειτουργεί με την εσωτερική τάση του τσιπ και ακολουθεί την πεπατημένη που προτείνει ο κατασκευαστής.

Υπάρχει ένα χωριστό εγχειρίδιο για το πως θα επιλεγεί το ρολόι και το πως θα διαμορφωθεί εξωτερικά βάση της εσωτερικής αντίστασης που έχει (CL).

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

Attachments

  • wm8805_hw.jpg
    wm8805_hw.jpg
    90.7 KB · Views: 308
  • wm8805_sw.jpg
    wm8805_sw.jpg
    109.1 KB · Views: 306
Ωραία δουλειά! :smile:

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

Έχεις δει τα ρολόγια της NDK? Εξαιρετικές επιδόσεις και πολύ λογικές τιμές (από τον diyinhk): http://www.diyinhk.com/shop/audio-k...-phase-noise-oscillator.html#/frequency-12mhz

Βασικά θα μπορούσαμε να βάλουμε footprint που να δέχεται παραπάνω από έναν τύπο (διάσταση) ρολογιού.. Δεν είναι δύσκολο. Θα μπορούσε κάποιος να δώσει είτε 2 είτε 50 ..
 
Λίγο υλικό αναφοράς:

- Decoupling and Layout Methodology for Wolfson DACs, ADCs and CODECs https://www.cirrus.com/en/pubs/appNote/WAN0129REV1.1.pdf

- Ενδιαφέρουσα υλοποίηση: http://www.mi-take.biz/system72/DAC_2/WolfsonWM88x/wolfson_DAI.html

- Evaluation Board Manual: https://www.cirrus.com/en/pubs/manual/WM8805EV1_Configurations.pdf

- Evaluation Board Schematic & Layout: http://www.cirrus.com/en/pubs/manual/WM8805_Schematic_and_Layout.pdf

- Arduino library. Πολύ χρήσιμη, είναι για WM8805: https://github.com/kabturek/WM8805

- Πολύ χρήσιμες πληροφορίες για το software control μέσω Arduino. Κατά πάσα πιθανότητα με αυτόν τον κώδικα θα ξεκινήσω: http://www.itsonlyaudio.com/audio-hardware/arduino-software-control-for-wm8804wm8805/

Υπόψη, το WM8804 είναι ένα "περιορισμένο" WM8805, οπότε κώδικας γραμμένος για το 8804 είναι χρήσιμος και για το 8805.
 

lemon

Supreme Member
3 March 2009
4,041
Δημήτρη, τις περισσότερες βιβλιοθήκες τις σχεδιάζω (τώρα που έχω πάρει το κολάι), οπότε κανένα πρόβλημα με το NDK αν και τρομερά λιλιπούτειο, θέλω να δω πόσα πόδια δίνει από κάτω σε διάσταση 2Χ2,5mm.
Έτσι και αλλιώς και στο FOX (Xpresso) που έχω βάλει έχω προβλέψει την τροφοδοσία του, θα βάλω απλά και το πάτημα του NDK μέσα σε αυτό.

Τα 8804/8805 είναι πανομοιότυπα, διαφέρουν μόνο ως προς τις εισόδους. Με λίγα λόγια εάν κάποιος πάει σε hw mode είναι καλύτερα να βάλει 8804 αφού θα παίξει μόνο με μία είσοδο. Σε sw mode αξίζει το παιχνίδι μόνο με το 8805 εφόσον εκμεταλλεύεσαι τις πολλαπλές εισόδους που έχει και μπορείς να τις διαμορφώσεις με Torx, AES, Coaxial.

Έχω κατεβάσει όλα τα τεχνικά εγχειρίδια της Cirrus Logic, δεν ακουμπώ τον κώδικα...ας περιοριστώ με τα άλλα.

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

Έχω την εντύπωση ότι θα βγει ωραία δουλειά...
 
Όντως απ' ότι φαίνεται θα βγει ωραία δουλειά!

Μιας και σχεδιάζεις το σχηματικό, στο sw mode φρόντισε το pin 5 να είναι γειωμένο, ώστε να είμαστε μονίμως σε 2-wire serial mode (γνωστό και ως I2C :D).

Έτσι η επικοινωνία θα γίνεται από τα Pin 4 (SCLK) (= SCL) και Pin 7 (SDIN) (= SDA).
 

lemon

Supreme Member
3 March 2009
4,041
Ο C9 "χορεύει" μόνος και είναι απομεινάρι από την πρώτη προσπάθεια με σύνδεση απλού κρυστάλλου μεταξύ Xin-Xop.
Θα φύγει εφόσον πάμε για ρολογάκι με δική του τροφοδοσία.
Σήμερα αναλώθηκα στο τι λέει για το ρολόι, βασικά η εταιρία αναφέρει ότι έχει λάβει τον κατάλληλο εσωτερικό σχεδιασμό έτσι ώστε να κάνει υποχρεωτικό εσωτερικό re-clocking προς επίτευξη χαμηλού (50ps) jitter. Aυτός είναι και ο λόγος που δεν απαιτεί ειδικό ρολόι στο Xin, με λίγα λόγια θεωρεί "περιττό" έξοδο την ύπαρξη ενός dedicate ρολογιού.

Στην περίπτωση που πάμε σε ωραίο ρολογάκι η μόνη σύνδεση που απαιτείται είναι μόνο αυτή του XIN όπως έχω βάλει στο σχηματικό. Το θέμα όμως που με προβληματίζει είναι ότι έτσι δεν βλέπει την αναμενόμενη CL μεταξύ Xin-Xop για να λειτουργήσει σωστά ο εσωτερικός του ταλαντωτής, μάλλον θα βγει εκτός λειτουργίας και το σήμα του ρολογιού θα πάει κατευθείαν στο επόμενο στάδιο του PLL & Clock Recovery, ρίξτε μια ματιά στο παρακάτω σχήμα για να καταλάβετε.

wm8805blkdiag_mag.gif


Πέτυχα την ίδια συζήτηση στο διαδίκτυο και την αναζήτηση σωστής λύσης. Οι περισσότεροι όπως και η EVB πάνε σε απλό καλό κρύσταλλο υπό τις προυποθέσεις που θέτει η εταιρία, ακόμη και dac των 2000 ευρώ έχει αυτή τη λύση. Μόνο σε μία περίπτωση έχω δει αυτόνομο ρολόι για το WM880X.

Το θέμα δεν είναι ποια είναι η πεπατημένη καλή λύση άλλων receiver, αλλά ποια θα είναι η πιο ενδεδειγμένη λύση για το 880X λόγω εσωτερικού σχεδιασμού.
 
Για το ρολόι το συζητήσαμε και στο τηλ., θα δούμε πως θα το κάνουμε.. εξακολουθώ να πιστεύω ότι δεν υπάρχει θέμα με τη χρήση ταλαντωτή (αντί κρυστάλλου και πυκνωτών). Επίσης έξω γράφουν ότι είναι κάπως κρίσιμο το ρολόι (λογικό αν το σκεφτείς, είναι το time base βάσει του οποίου γίνεται όλο το clocking).

Συνεχίζω να ψάχνω τον κώδικα που έχω.. Για να είμαστε έτοιμοι, ρίξε και το Pin 9 στο GND (ώστε να επιλεγεί το πρώτο από τα δυο διαθέσιμα I2C addresses).

Θα προσπαθήσω να βάλω εξαρτήματα σε breadboard τις επόμενες μέρες, στην αρχή με hardware control (για επιβεβαίωση ότι δουλεύει το 8805) και μετά με software control.
 

VaSiLiS-T

Supreme Member
10 January 2007
8,209
παλλληηηηηνιηηηη
Re: Απάντηση: WM8805 receiver

Ο C9 "χορεύει" μόνος και είναι απομεινάρι από την πρώτη προσπάθεια με σύνδεση απλού κρυστάλλου μεταξύ Xin-Xop.
Θα φύγει εφόσον πάμε για ρολογάκι με δική του τροφοδοσία.
Σήμερα αναλώθηκα στο τι λέει για το ρολόι, βασικά η εταιρία αναφέρει ότι έχει λάβει τον κατάλληλο εσωτερικό σχεδιασμό έτσι ώστε να κάνει υποχρεωτικό εσωτερικό re-clocking προς επίτευξη χαμηλού (50ps) jitter. Aυτός είναι και ο λόγος που δεν απαιτεί ειδικό ρολόι στο Xin, με λίγα λόγια θεωρεί "περιττό" έξοδο την ύπαρξη ενός dedicate ρολογιού.

Στην περίπτωση που πάμε σε ωραίο ρολογάκι η μόνη σύνδεση που απαιτείται είναι μόνο αυτή του XIN όπως έχω βάλει στο σχηματικό. Το θέμα όμως που με προβληματίζει είναι ότι έτσι δεν βλέπει την αναμενόμενη CL μεταξύ Xin-Xop για να λειτουργήσει σωστά ο εσωτερικός του ταλαντωτής, μάλλον θα βγει εκτός λειτουργίας και το σήμα του ρολογιού θα πάει κατευθείαν στο επόμενο στάδιο του PLL & Clock Recovery, ρίξτε μια ματιά στο παρακάτω σχήμα για να καταλάβετε.

wm8805blkdiag_mag.gif


Πέτυχα την ίδια συζήτηση στο διαδίκτυο και την αναζήτηση σωστής λύσης. Οι περισσότεροι όπως και η EVB πάνε σε απλό καλό κρύσταλλο υπό τις προυποθέσεις που θέτει η εταιρία, ακόμη και dac των 2000 ευρώ έχει αυτή τη λύση. Μόνο σε μία περίπτωση έχω δει αυτόνομο ρολόι για το WM880X.

Το θέμα δεν είναι ποια είναι η πεπατημένη καλή λύση άλλων receiver, αλλά ποια θα είναι η πιο ενδεδειγμένη λύση για το 880X λόγω εσωτερικού σχεδιασμού.

ταλατωντή με δικό του τροφοδοτικό θα βάλεις ..

2 φορές καλυτερα ...

σε όλα τα μάμμπο , ταλατωντή φοράμε ,, η διαφορά ειναι τόσο μεγάλη που απλά δόκίμασε ότι ταλατωντή θές ,, ότι μάρκα και να είναι ..και δεν γυρνάς στον κρύσταλο ..
 
Last edited:

lemon

Supreme Member
3 March 2009
4,041
Thnx Βασίλη, για τη δική σου περίπτωση αναφερόμουν (στην παραπάνω αναφορά μου) απλά δεν το είχα προσωποποιήσει στην κουβέντα μας, για πολλαπλούς λόγους.

Επίσης μόλις σήμερα είδα ότι ταλαντωτή φορά και το Aune στο 8805 οπότε θα προχωρήσω με αυτή τη λύση.

Το περίεργο είναι ότι ή ίδια η Cyrrus θεωρεί περιττό τον ταλαντωτή στη θέση αυτή, εξαιτίας ότι έχει εφαρμόσει δικό της ταλαντωτή στο εσωτερικό. Μάλιστα στο ειδικό datasheet που έχει βγάλει αποκλειστικά για τη σωστή επιλογή του κρυστάλλου, ζαλίζει τα "μέζεα" για το πως θα επιλεγεί έτσι ώστε να μη δημιουργήσει προβλήματα στην εσωτερική λειτουργία του ταλαντωτή και του κλειδώματος.
 

VaSiLiS-T

Supreme Member
10 January 2007
8,209
παλλληηηηηνιηηηη
Κάπου είχα πετύχει και μια μέτρηση jitter σε πολύ ψαγμένο μπλόγκ , που μέτραγε γύρω στα 50ps με ένα στόκ κρυσταλάκι της σειράς , και καπάκι δοκίμαζε ταλατωντες και το jitter έπαιζε στα όρια που ανάφερε στα σχέδια του ο εκάστοτε κατασκευαστής του ταλαντωντή ,,

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

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

πάντως την στιγμή που γράφτηκε δεν υπήρχαν στην πιάτσα ρολογάκια σπέσιαλ οπως σήμερα .. γιαυτό ίσως και το reminder ..
 

lemon

Supreme Member
3 March 2009
4,041
Αυτό είναι σημαντικό Βασίλη και δίνει απάντηση εάν τελικά αξίζει ο κόπος και το κόστος ενός dedicated ρολογιού με ωραία τροφοδοσία.

Ήδη έχω στραφεί αποκλειστικά σε αυτήν την κατεύθυνση.
Ταυτόγχρονα ετοιμάζω και τα μπιμπλίκια για το πως θα διαμορφωθεί η κάθε spdif είσοδος με TTL σήμα.
 
Λοιπόν, βρέθηκε μια ωρίτσα και έγινε η πρώτη δοκιμή. Το WM8805 σε breadboard, στημένο σε hardware mode σύμφωνα με το datasheet:

2015-12-04 01.10.20 (Medium).jpg

Ο κρύσταλλος είναι του σωρού, οι πυκνωτές του κάποια pF (ούτε που ξέρω πόσα..).

Έπαιξε με την πρώτη, χωρίς πολλά πολλά. Σύνδεση με πηγή s/pdif (coax, consumer level).

Αυτές είναι οι γραμμές I2S που δίνει. Από πάνω προς τα κάτω, DATA, LRCLK, BCLK.

RIGOL Print Screen4-12-2015 1_05_12 Γβ‚¬ΓŽΒΌ,094.png

Με "ζουμαριμένο" οριζόντιο:

RIGOL Print Screen4-12-2015 1_06_36 Γβ‚¬ΓŽΒΌ,634.png

Όπως βλέπετε τα I2S είναι σύρματα στον αέρα, χωρίς τερματισμούς, χωρίς τίποτα, γιαυτό έχει ringing.. η ιδέα ήταν να δω απλά ότι δουλεύει.

Οπότε, τα βασικά όντως δουλεύουν.. Σειρά έχει το software mode, από αύριο.
 

lemon

Supreme Member
3 March 2009
4,041
Δημήτρη, σίγουρα θα δούλευε εφόσον το ίδιο σετάπ έχει δοκιμαστεί στο κατά τα άλλο ολόιδιο 8804 και δουλεύει.

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