DSPIY 2560 - Proto 1

Discutions générales sur le DSPiy et tout ce qui s'y rattache
louisr
Messages : 457
Enregistré le : mar. 14 juil. 2015 15:52
Localisation : Bordeaux/Poitiers

Re: DSPIY 2560 - Detection du signal - Bargraphe

Messagepar louisr » jeu. 20 août 2015 12:22

Toute petite avancée : le connecteur OLED. Simples diviseurs pour passer de 5V à 3V3. Je me suis permis de rajouter une capa, je sais pas si c'est très utile mais bon.
Image

Je vais m'attaquer maintenant aux entrées numériques avec la puce WM8805 mais il faut que je me replonge dans la doc :]
Ensuite ça sera le bluetooth, et enfin la détection du signal, ou il y aura pas mal de travail. Après ça, on devrait être pas mal pour un premier proto :super:

louisr
Messages : 457
Enregistré le : mar. 14 juil. 2015 15:52
Localisation : Bordeaux/Poitiers

Re: DSPIY 2560 - Detection du signal - Bargraphe

Messagepar louisr » jeu. 20 août 2015 14:52

Je commence doucement à avancer dans la doc du WM8805, et j'ai déjà quelques questions. Niveau alimentation, il faut 3V3 pour la PLL et 3V3 pour le reste. Est-ce qu'il faut séparer les alim, ou une seule suffit ? Est-ce que je peux partir sur le 3V3 de l'atmega, ou c'est mieux de prendre le 5V du dspiy ? Ou est-ce qu'il y a un 3V3 dispo depuis directement le dspiy ?
Il me faut un oscillateur de 12MHz, il y a beaucoup de choix et je ne sais pas quoi choisir. Je pense qu'il en faut un correct, car la pll "recover" le spdif, mais, si je dis pas de bêtises, il sera encore "récupérer" dans le dspiy. D'ailleurs ça sera bien si on pouvait bypasser la pll, mais je crois pas que c'est possible.
Le signal d'entré peut être échantillonner juste 192kHZ. La pll se configure automatiquement jusqu'à 96KHz, et au dessus il faut la configurer manuellement. En soit ce n'a pas l'air très compliqué, mais est-ce que c'est bien nécessaire d'aller jusque la ?
Ensuite, pour configurer la puce, il faut mettre les pins gpio0/swifmode et sdin/hwmode à 1 pendant le démarrage. J'arrive pas à voir comment on peut faire ça en sofware ou hardware : gpio0 je peux physiquement le mettre à 1 car je crois pas que j'en ai besoin, mais ça veut dire qu'il le sera tout le temps même après le démarrage, et je sais pas si ça pose problème. SDIN il est relié au bus I2C, et je vois pas comment le mettre à 1 juste pendant le démarrage..
Dernière question : ils ne font pas de distinction en spdif toslink et les spidf coaxial, et comme Thierry me le disait plus haut, ce n'est pas le même niveau logique. Dans la partie "Absolute maximum ratings" les entrées numériques doivent être entre ~0 et ~DVDD, c'est tout ce que j'ai trouvé.
Edit : j'avais pas vu ce petit passage :
The S/PDIF receiver has up to 8 dedicated inputs. These inputs can be configured as either single ended CMOS or a 500mVp-p comparatir input, depending upon the state of the SPDIFINMODE register

Ça fait beaucoup de question, mais cette puce c'est très limite au niveau de mes connaissances :gene:
Louis

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 3523
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: DSPIY 2560 - Detection du signal - Bargraphe

Messagepar thierryvalk » jeu. 20 août 2015 15:56

Oui, sélection Coax ou Toslink par entrée via le registre R9.

Alim 3V3, le mieux à mon avis est de mettre un petit régulateur 3V3 qui servira pour le WM et les récepteurs Toslink.
Un seul me semble suffisant pour digital et PLL en mettant une ferrite en entrée du régulateur coté 5V et une sur le DVDD du WM ainsi que sur chaque récepteur Toslink.
Ce qui fait donc le AVDD en direct sur le régulateur et les autres via des ferrites pour ne pas polluer.

Pour l’oscillateur, un simple quartz HC49 et les 2 capas ferons bien l’affaire.
12 MHz c’est classique et éprouvé. (pense juste à ne pas mettre le quartz à côté du régulateur et liaisons les plus courtes avec le WM)

192KHz c’est bien joli, mais il faudrait que les récepteur Toslink suivent ainsi que tout le reste. Et en Hifi sais pas trop si utilisé.

A la mise sous tension, un bus I2C est à l’état haut par les résistances de pullup.
Et aucun souci pour laisser toujours à 1 un GPIO, voir schéma recommended page 64.

J’ai répondu à tout ? :)

louisr
Messages : 457
Enregistré le : mar. 14 juil. 2015 15:52
Localisation : Bordeaux/Poitiers

Re: DSPIY 2560 - Detection du signal - Bargraphe

Messagepar louisr » jeu. 20 août 2015 16:25

Parfait, merci beaucoup ! :ghee:
Une dernière question : est-ce que ça vaut le coup de prendre le 5V de l'atmega, et mettre un transformateur en sortie du WM pour isoler les entrées/WM du DSPIY ?

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 3523
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: DSPIY 2560 - Detection du signal - Bargraphe

Messagepar thierryvalk » jeu. 20 août 2015 16:48

Sais pas trop, je me poserais plus la question de savoir si utiliser le TX SPdif ou l’I2S.
Pour ce genre de question, il faut voir sur le schéma d’ensemble et la disposition du ou des PCB.

louisr
Messages : 457
Enregistré le : mar. 14 juil. 2015 15:52
Localisation : Bordeaux/Poitiers

Re: DSPIY 2560 - Detection du signal - Bargraphe

Messagepar louisr » jeu. 20 août 2015 16:58

J'y ai pensé. L'I2S du 1701 est occupé par le module bluetooth. Il me semble qu'il reste un I2S sur l'adau1452, mais niveau master/slave je suis un peu perdu :gene:
Et ça serait quoi l’intérêt de passer en I2S plutôt qu'en spdif ?
je vais mettre à jour le schéma que j'avais fait dans la soirée

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 3523
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: DSPIY 2560 - Detection du signal - Bargraphe

Messagepar thierryvalk » jeu. 20 août 2015 20:17

C’est surtout une question de logique, d’utiliser ce qui est fait pour et au mieux.
L’I2S c’est pour de l’interconnexion sur distance raisonnable.
Le SPdif, plus simple d’une certaine manière c’est pour de la plus longue distance.
Mais ça tu le savais.

L’ADAU1452 au niveau de ses entrées I2S peut se configurer à souhait.
Mais pas vraiment de tests déjà réalisés.

Faut voir aussi comment gérer tout cela, par exemple si I2S de l’ADAU1452, il faudra faire les applis.
Jusque-là c’est facile, mais DStudio lui ne connait pas les entrées de l’ADAU1452, donc le sélecteur d’entrée ne fonctionnera pas et ce sera un preset par entrée.

Faut voir aussi que c’est ton ATmega qui va faire sélecteur d’entrée.
Là je dirais que le plus simple serait que ton module Bluetooth sorte en SPdif et donc ton WM gère via l’ATmega toutes les entrées digitales.

D’un autre coté en revoyant ton schéma c’est 2 coax et 5 Toslink, si je ne me trompe.
Les 2 coax existent sur le DSPiy, resterait 5 toslink qui eux sont en TTL .. donc un simple multiplexeur un peu rapide devrait le faire. C’est plus léger qu’un WM8805 mais peut être moins joli niveau câblage et moins pratique pour la sélection.

Voilà, je t’embrouille, mais il faut bien analyser l’ensemble.

louisr
Messages : 457
Enregistré le : mar. 14 juil. 2015 15:52
Localisation : Bordeaux/Poitiers

Re: DSPIY 2560 - Detection du signal - Bargraphe

Messagepar louisr » ven. 21 août 2015 12:35

Merci de me donner d'autres pistes, ça me permet vraiment de ne pas rester borné sur une solution qui n'est pas forcément la plus adaptée :gene:
J'étais parti à la base sur 5 tos et 2 coax en vu de mon installation actuelle, mais avec la VM ça me permet d'avoir une entrée en plus, ce qui est pas plus mal. Après effectivement, si la puce peut tout gérer ça peut être pas mal, du point de vu de l'atmega mais aussi du dspiy/DStudio ou il faudra juste switcher entre analogique/I2S. Cette solution me plait bien :super: il faut que j'y reflechisse pour voir si ça bloque pas quelque part.
Je pense rester sur cette puce, car elle permet d'avoir des infos sur le signal. C'est un peu inutile, mais c'est toujours sympa à afficher sur l'écran !
C'est vrai qu'il y a déjà des entrées sur de dspiy, d'un côté c'est un peu dommage de ne pas les utiliser, mais je pense que c'est mieux si tout est gérer par l'atmega, ça simplifiera au niveau de dstudio par exemple.
Sinon niveau hardware, je vois ça comme ça : boitier hifi2000 2U (comme l'UGS), la carte avec tous les connecteurs, le µC, bluetooth etc, sur laquelle s'enfiche les 3 DSPIY. Un ADAU1458 (pour l'instant, peut-être plus après) enfiché sur le dspiy1. Enfin la carte avec l'écran/led/BP relié par une nappe à la carte principale. Ca fera une carte mère pas très compacte, mais je pense que ça sera le mieux et le plus propre au niveau des liaisons.

louisr
Messages : 457
Enregistré le : mar. 14 juil. 2015 15:52
Localisation : Bordeaux/Poitiers

Re: DSPIY 2560 - Detection du signal - Bargraphe

Messagepar louisr » ven. 21 août 2015 19:08

J'ai modifié mon schéma avec les masses. J'ai rajouté le WM. Le bluetooth se connecte dessus en spdif, ainsi que toutes les entrées. La sortie est en I2S vers le DSPIY1.
Fichiers joints
ground.pdf
(149.31 Kio) Téléchargé 241 fois

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 3523
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: DSPIY 2560 - Detection du signal - Bargraphe

Messagepar thierryvalk » ven. 21 août 2015 21:55

Au premier ca semble cohérent. :super:
Si j'ai bien compris tu va faire un PCB pour y enficher 3 DSPiy ?
Si j'étais toi, je rajouterais tout de même une empreinte de connecteur sur le TX du WM, ca peut toujours servir déjà rien que pour les tests.

louisr
Messages : 457
Enregistré le : mar. 14 juil. 2015 15:52
Localisation : Bordeaux/Poitiers

Re: DSPIY 2560 - Detection du signal - Bargraphe

Messagepar louisr » ven. 21 août 2015 22:11

Super ::d
Oui, mais ça sera dans un second temps. Dans un premier temps je vais faire un pcb plus simple, avec pas mal de connecteurs pour faire des tests. L'atmega sera une carte arduino, avec l'ethernet shield. Ca sera suffisant pour vérifier que tout marche, corriger ce qui ne marche pas, et surtout faire le code. Après (mais ça c'est pas tout de suite) je ferai un pcb au bonnes dimensions pour bien intégrer dans le boitier, avec les dspiy qui s'enficheront dessus :]

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 3523
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: DSPIY 2560 - Detection du signal - Bargraphe

Messagepar thierryvalk » ven. 21 août 2015 22:18

La sagesse même. :]

louisr
Messages : 457
Enregistré le : mar. 14 juil. 2015 15:52
Localisation : Bordeaux/Poitiers

Re: DSPIY 2560 - Detection du signal - Bargraphe

Messagepar louisr » ven. 21 août 2015 22:24

:frime:

louisr
Messages : 457
Enregistré le : mar. 14 juil. 2015 15:52
Localisation : Bordeaux/Poitiers

Re: DSPIY 2560 - Detection du signal - Bargraphe

Messagepar louisr » lun. 24 août 2015 20:07

J'ai pas mal avancé dans la doc du WM. C'est un peu long car je dois relire chaque phrase plusieurs fois, pour bien comprendre ::d
Niveau hardware, il manque quelque truc mais le plus gros est fait, je posterai ça dans la soirée ou demain. Le contrôle se fait en I2C et via GPIO0 qui sert d'interrupt. Tout entre en spdif et on ressort en I2S. Si j'ai bien suivi la doc sur l'I2S du dspiy, le WM doit être configuré en master.
Par contre, DIN semble être une entré I2S, mais je trouve absolument aucune info deçu 8/
Louis

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 3523
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: DSPIY 2560 - Detection du signal - Bargraphe

Messagepar thierryvalk » lun. 24 août 2015 20:21

J'ai pas mal avancé dans la doc du WM. C'est un peu long car je dois relire chaque phrase plusieurs fois, pour bien comprendre ::d

C’est normal, il y a bien longtemps, du temps du papier, les datasheets étaient compréhensibles, je suis heureux de voir que ce n’est pas que moi avec l’âge qui dois lire plusieurs fois. :mrgreen:
Le tout est de ne pas tout lire, mais se balader et chercher son info.

Si possible évite les IRQ sur des truc « lents » comme les infos SPdif.

Par contre, DIN semble être une entré I2S, mais je trouve absolument aucune info deçu 8/

Dessus ou t’es déçu de ne pas avoir trouvé d’info ?
Entré/sortie != Slave/Master
(et ne dis pas que j’ai écrit cette doc comme un datasheet :rougefaché: Par contre il y a quelques coquilles dans les graphiques)

louisr
Messages : 457
Enregistré le : mar. 14 juil. 2015 15:52
Localisation : Bordeaux/Poitiers

Re: DSPIY 2560 - Detection du signal - Bargraphe

Messagepar louisr » lun. 24 août 2015 20:37

Oui enfin c'est surtout le fait que je débute :perv:
Si possible évite les IRQ sur des truc « lents » comme les infos SPdif.

C'est pour ne pas "sous-utiliser" les pins dédiés aux IRQ ou il y a une autre raison ? Parce que je crois qu'il m'en reste des libres !
Dessus ou t’es déçu de ne pas avoir trouvé d’info

:mrgreen:
Non ta doc est très bien et très claire !
Je me suis mal exprimé. Je parlais de la pin DIN du WM. Dans la doc :
The audio interface operates in either slave or master mode, selectable using the AIF_MS bit. In both master and slaves modes DIN is always an input and DOUT is always an output.

Mais c'est le seul endroit ou ils parlent de DIN, je comprend pas à quoi elle sert, car à aucun endroit ils indiquent si on peut, par exemple, la faire ressortir en Spdif, ou quelque chose comme ça :/

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 3523
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: DSPIY 2560 - Detection du signal - Bargraphe

Messagepar thierryvalk » lun. 24 août 2015 21:03

Ahhhh ok
DIN ou carte D_In, erreur de ma part.
C’est donc le data In I2S du WM, logique que ce soit une entrée et comme ton extrait le dit configurable en Slave ou Master.
Donc c’est bien et je présume que tu pourrais ressortir de l’I2S vers le SPdif TX, mais d’un intérêt limité vu que l’ADAU1452 a déjà un SPdif TX.

Les IRQ, c’est formidable, quand ça fonctionne. :happy1:
En usage normal en I2C on n’utilise pas de ligne d’interrupt suppémentaires, mais là aussi toute une histoire de Master et Slave.
Je présume que cette ligne dédiée permet à l’ATmega d’être prévenu d’un changement et donc d’aller lire via l’I2C.
Le problème qui peut se poser est que ta lib en I2C utilise aussi des interrupts propre à l’I2C qui rend ce dernier moins dépendant de ton soft.
Suppose que ton I2C est en attende de réponse, c’est de l’interrupt donc tu ne le gère pas vraiment.
A ce moment ton WM lui envoit une autre interrupt, que fait ton ATmega ? Continuer d’attendre ou relancer une nouvelle requête ?

Toi tu cherches à connaitre simplement le statu SPdif pour l’afficher, donc c’est lent, il suffit d’interroger quelques fois par secondes ton WM pour avoir les infos.
Dans ce cas ton ATmega va faire beaucoup de travail inutile mais tu limite très fortement le risque de plantage et tu économise une ligne avec tout le travail de routage.
Mais encore une fois, c’est mon avis, d’autres préfèrent travailler avec un max d’IRQ et leur gestion.

louisr
Messages : 457
Enregistré le : mar. 14 juil. 2015 15:52
Localisation : Bordeaux/Poitiers

Re: DSPIY 2560 - Detection du signal - Bargraphe

Messagepar louisr » lun. 24 août 2015 21:23

En fait je me demandais si c'était possible de connecter le module bluetooth sur cette entrée I2S, pour avoir uniquement de l'I2S entre les différents composants, et réserver le spdifs aux entrées externes (et avoir une entrée supplémentaire). Et ressortir le tout du WM en I2S vers le dspiy. Mais je ne vois à aucun endroit dans la datasheet comment sélectionner l'entrée I2S à la place des entrées spdif
Je présume que cette ligne dédiée permet à l’ATmega d’être prévenu d’un changement et donc d’aller lire via l’I2C.

Exactement, c'est ce que j'avais aussi prévu pour le pcf8575 qui s'occupera des boutons poussoirs. Mais effectivement c'est très lent, donc peut-être pas nécessaire. Je trouve ça juste plus "joli" au niveau code :D
Je mettrais un connecteur, on verra bien si je m'en sers ou pas


Retourner vers « DSPiy général »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 8 invités