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

DAC CS8414 SM5847 PCM1704

Message » 17 Avr 2008 14:49

Salut a tous,

Je remets le pied à l'étrier pour me faire un nouveau DAC.

Celui-ci sera basé sur une transmission spdif (plus facile a utiliser que l'i2s) mais avec une attention toute particulière sur le jitter.
Je prévois d'y ajouter un convertisseur usb-spdif pour plus tard.


Place au schéma, pas encore terminé :

Image

On retrouve le cs8414 en configuration classique, configuré pour sortir de l'eiaj en 16 bits 44khz.
J'utilise l'horloge récupérée par le cs8414 pour alimenter une pll qui pilotera un vcxo tent labs (filtrage pas encore réalisé), pour s'isoler au maximum du jitter inhérent au spdif.

Les données passent ensuite dans le filtre numérique, un SM5847. L'horloge du sm5847 est a 256 x 44.1khz, soit 11.2896mhz. Cela permet d'avoir un bit clock en sortie de filtre (x8) égale au master clock (pll). C'est intéressant car cela permet d'alimenter les dacs directement avec l'horloge qui sort du vcxo (la plus stable).

Les deux hc374 permettent de faire un registre à décalage pour décaler les données du sm5847 de 8 périodes d'horloge par rapport au signal wclk. Etant donné que je vais certainement utiliser des pcm1704, le bit clock est le seul signal réellement important, donc pas de reclocking du wclk.

Place aux commentaires !

Je mettrai le design a jour au fur et a mesure de l'avancement et des tests.
Dernière édition par apolon34 le 29 Avr 2008 20:46, édité 2 fois.
apolon34
 
Messages: 2176
Inscription Forum: 24 Mar 2003 15:57
Localisation: Rouen (76)
  • offline

Message » 17 Avr 2008 16:01

J'voulais me faire un petit DAC avec des vieux PCM, je crois que je vais attendre un peu 8)
Je débute, alors mes questions peuvent sembler stupide... j'en ai juste une en fait. Tu fournis le signal d'horloge au filtre à 256Fs donc ok pour 11.28 Mhz. Tu reprends la même fréquence pour alimenter le BCK du DAC ?... A 44.1 KHz en 16 bit à 8x d'oversampling on ne dépasse pas les 5.64 pour le BCK non ? ai je loupé quelque chose ( 16x, division à suivre ...) ou n'ai je rien compris ?
RTD
 
Messages: 1047
Inscription Forum: 01 Avr 2003 13:12
  • offline

Message » 17 Avr 2008 16:32

En fait les données sont transférées du filtre numérique vers le dac en 32 bits, quel que soit la résolution du dac.

Le filtre fait un oversampling x8, ce qui nous donne 44.1khz * 8 * 32 = 11.2896mhz. Le compte est bon.

Si il y a des interessés pour le futur dac, qu'ils le fassent savoir, je commanderais un peu plus de pcb et composants clé le moment venu.

Pour le moment j'ai du rab en SM5847, je les ai trouvés que par 10.
apolon34
 
Messages: 2176
Inscription Forum: 24 Mar 2003 15:57
Localisation: Rouen (76)
  • offline

Message » 17 Avr 2008 21:46

Concernant le dac, je compte les mettre sur un support DIL plus ou moins universel qui me permettra d'en comparer plusieurs dans les mêmes conditions. Evidemment la partie alimentation de la "carte mère" peut ne pas convenir pour tous, auquel cas il faudra la modifier ou alimenter de façon externe.

Pour le moment les DACs que j'envisage de tester sont:
- AD1862
- pcm1704
- PCM63p

les trois en question fonctionnent avec une alimentation numérique en +/- 5v.
L'ad1862 fonctionne en +/-12 pour l'analogique, les autres en +/- 5v.

Je pense prévoir +/-12v de base, on peut facilement réguler en +/- 5v a la suite.
apolon34
 
Messages: 2176
Inscription Forum: 24 Mar 2003 15:57
Localisation: Rouen (76)
  • offline

Message » 18 Avr 2008 10:15

ouh là..si il y a un 1704 alors je prend un tiquet ici meme pour voir la suite :P
merci apolon
Aldo ;)
aldo
Pro-Fabricant
Pro-Fabricant
 
Messages: 24638
Inscription Forum: 25 Déc 2001 2:00
Localisation: Landes dans le 4 zero!
  • offline

Message » 18 Avr 2008 10:25

Bonjour

Curieux de nature j'ai une question .
Pourquoi partir sur un CS 8414 ?

Le 8416 est peut etre plus d'actualite :idee: mieux au niveau du jitter peut etre .

Je suis ton post de pret :wink:

Serge
sergelisses
 
Messages: 864
Inscription Forum: 22 Sep 2004 14:07
  • offline

Message » 18 Avr 2008 12:01

Comme le sm5847 sort en 24 bits, comment obtient on du 32 bits ? c'est le shift register de 8 bits ?
Je poses ces questions pour comprendre dans l'objectif d'utiliser le même type de montage mais avec un PMD100 (que j'ai déjà)...

HS : Guido parlait sur un autre forum d'acquérir un logic analyser pour visualiser tous ces signaux. Existe il en sus d'outil de simulation en amont afin de comprendre et simuler la gestion de tous ces délais ?
RTD
 
Messages: 1047
Inscription Forum: 01 Avr 2003 13:12
  • offline

Message » 18 Avr 2008 13:25

Pour deux raisons principalement:

- Il est plus facile d'alimenter tout le circuit en 5v, ca m'évite de prévoir un régulateur supplémentaire en 3.3v
- Je n'aime pas le fait de fournir un signal en 3.3v a une puce qui accepte du 5v (sm5847).

En plus de ca je compte séparer le circuit de réception spdif et n'aurais donc pas l'utilité des entrées multiples du 8416.

Concernant le jitter, il ne doit avoir aucune importance puisque les dacs seront directement reliés au vcxo.


Si des forumeurs peuvent m'aider par contre pour prévoir le filtrage de controle du vcxo, je suis preneur. Le signal de controle est délivré par le 74hc7046, l'impédance d'entrée du vcxo est de 50k.
Je préfèrerais faire un filtrage passif, coupure aux alentours de 3hz environ.

Pour RTD, le filtre numérique est en effet un 24 bits, mais les données sont transmises par une trame de 32 bits de long. Les 8 bits le moins significatifs (LSB) sont remplis a zero.
En l'occurence le filtre transmet 24 bits (si réglé en 24 bits), puis arrête l'horloge, attend que wclk passe à l'état bas, puis remet l'horloge pour transferer les 24 bits suivants.

On a donc 24 fronts d'horloge, une pause de 8 fronts, reprise, etc...

Le but du registre à décalage est que le dac fonctionne avec une horloge non interrompue, générée par le vcxo. Si je laisses le montage tel quel, le filtre numérique enverra les 24 octets de données sur les 24 premiers fronts, puis plus rien après. Comme le dac recevra ensuite 8 fronts d'horloge, il va décaler les données et on perdra 8 bits significatifs.
Le registre a décalage va donc permettre de décaler les données de 8 bits pour qu'au moment du front descendant de wclk, on ait bien les bonnes données à l'intérieur.

C'est pas vraiment clair, je vais essayer de faire un schéma.
apolon34
 
Messages: 2176
Inscription Forum: 24 Mar 2003 15:57
Localisation: Rouen (76)
  • offline

Message » 18 Avr 2008 14:21

Merci :D avec le datasheet du 5847 devant et tes explications, je pense avoir compris.
RTD
 
Messages: 1047
Inscription Forum: 01 Avr 2003 13:12
  • offline

Message » 18 Avr 2008 17:01

Je suis en train de construire un prototype pour voir si le système de décalage fonctionne sur mon sm5842 (prédécesseur du 5847). Première surprise, le temps de propagation des 74hct04 semble être de 5.2ns à température ambiante, plutôt que les 8ns typiques indiquées par le datasheet.

Je continue le montage avec des 74hct74 parcequ'un xxxx de magasin d'électronique est pas foutu d'avoir des 74hct374 en stock et a pas compris que c'était des 74hct174 et pas 74 que je voulais a la place ....
apolon34
 
Messages: 2176
Inscription Forum: 24 Mar 2003 15:57
Localisation: Rouen (76)
  • offline

Message » 18 Avr 2008 17:20

Image
apolon34
 
Messages: 2176
Inscription Forum: 24 Mar 2003 15:57
Localisation: Rouen (76)
  • offline

Message » 19 Avr 2008 15:12

Le schema mis a jour:
Image

Modifications:
- Ajout du reclocking de WCLK, necessaire pour les dacs qui activent les sorties avec ce signal (ad1862)
- Remplacement des 74hc374 par un registre à décalage, plus adapté.
- Ajout d'un delai d'environ 70ns pour l'horloge de tout sauf dac.
apolon34
 
Messages: 2176
Inscription Forum: 24 Mar 2003 15:57
Localisation: Rouen (76)
  • offline

Message » 20 Avr 2008 18:47

J'ai terminé ma carte d'évaluation de la partie reclocking et ca fonctionne.

Voila le schema:
Image
apolon34
 
Messages: 2176
Inscription Forum: 24 Mar 2003 15:57
Localisation: Rouen (76)
  • offline

Message » 21 Avr 2008 1:01

Je suis largué et à mon avis je ne suis pas le seul. A défaut de pouvoir t'aider toujours quelques questions car je suis perdu sur les delay :

Comment obtiens tu 30 ns de délai avec les 6 hct04 à 7-8 ns (datasheet) ?
Le reclock de WXCKO c'est pour obtenir un LE ?
Pour le DOL et le DOR avec un un 7HCT164 et un 74HC164 c'est pour être au total dans les 25 ns ?
RTD
 
Messages: 1047
Inscription Forum: 01 Avr 2003 13:12
  • offline

Message » 21 Avr 2008 8:29

Salut,

A défaut de pouvoir m'aider, c'est déjà bien de poser des questions, je me sens moins seul :)

Pour les 6 hct04, le datasheet donne effectivement 8ns de temps de propagation typique. Je les ai mesurés et sous 5v à température ambiante, ils sont plutot autour des 5.2ns.

Le signal WCKO est effectivement le LE (latch enable). Il est necessaire que le front descendant se produise après le front descendant de l'horloge du LSB. Comme je n'ai pas trouvé de bascule D sur front descendant, j'utilise l'horloge inversée.
On a donc le WCKO qui descend environ 20ns après le front descendant de l'horloge du dernier bit (5ns inverseur + 15ns bistable).

Concernant les 74HCT164, on a en fait 15ns de temps de propagation même si on en met deux.

Si on considère le premier bistable, une donnée placée en entrée va se retrouver en sortie QH 8 fronts d'horloge plus tard + 15ns de temps de propagation.
Au prochain front d'horloge (63ns plus tard), la donnée va passer en QA, 15ns plus tard.

On a donc la donnée dispo 15ns après le front d'horloge, même dans le second 74hct164.

D'ailleurs je viens de voir que je me suis trompé dans le schéma, les 4 sont des 74hct164.
apolon34
 
Messages: 2176
Inscription Forum: 24 Mar 2003 15:57
Localisation: Rouen (76)
  • offline


Retourner vers Sources et DAC

 
  • Articles en relation
    Dernier message