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

USB-Audio expérimental pour DSPiy

Message » 19 Jan 2014 17:17

Je suis occupé a expérimenté de l’USB–Audio sur microcontrôleur avec LPC1769 cortex-M3.
Le but est d’avoir contrairement aux modules existants de l’I2S slave, et non master, à 96KHz 24bits pour pouvoir être directement connecté au DSP du DSPiy sans passer par la carte D_In qui joue à resynchroniser 2 bus I2S alors que l’USB Audio est par définition déjà asynchrone.
On y gagne en jitter qui est réduit au seul du DSP et simplification hardware.
Par contre il faut sortir de la source en 96K (éventuellement en 48K) en 16 ou 24 bits.
Pour le moment, sous Win7 la carte est reconnue sans driver additionnel et je sais lui donner les fréquences que je désire.
Par contre pas moyen de lui faire comprendre que je désire du 24bits, problème de driver ou de descriptor de la part de mon device USB ?
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 19 Jan 2014 19:54

thierryvalk a écrit:Je suis occupé a expérimenter...


Infatiguable!!!!!
Philby
 
Messages: 9819
Inscription Forum: 12 Mar 2001 2:00
Localisation: 33
  • offline

Message » 19 Jan 2014 21:56

On peut le dire ....infatiguable
razzortec
Membre HCFR
Membre HCFR
 
Messages: 1571
Inscription Forum: 05 Fév 2008 22:25
Localisation: 68
  • offline

Message » 20 Jan 2014 0:24

Et on est pas nombreux à pouvoir l'aider... Tazz, revient !!!
androuski
 
Messages: 23172
Inscription Forum: 14 Mar 2007 14:43
Localisation: C'est un trou, mais rempli de pinard, donc ça me va.
  • offline

Message » 20 Jan 2014 0:41

En fait je connais très mal l'USB et vu que c'est en faisant que l'on apprend ...
On dispose de librairies pour le uC, il suffit d'assembler puis tenter de comprendre pourquoi ça ne fonctionne pas. :ko:
On a plein de doc sur USB.org , mais très indigeste.
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 20 Jan 2014 0:51

Je ne sais pas si tu as le même problème mais au cas ou cela pourrait être en rapport: lien
Eric.D
 
Messages: 1870
Inscription Forum: 05 Juil 2006 12:45
Localisation: dans le 06
  • offline

Message » 20 Jan 2014 19:03

Oui, j’ai des problèmes similaire, Windows ne comprend pas que le Device change de caractéristiques sous le même ID.

Ça commence à fonctionner de ce côté, mais maintenant je dois tout adapter pour pouvoir recevoir ces 24bits.

Par contre une question qui me vient au vu du peux d’infos sur le mode 24bits et mon ignorance dans le domaine dématérialisé, il y a bien un intérêt à avoir du 24 bits ?
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 21 Jan 2014 0:14

thierryvalk a écrit:Par contre une question qui me vient au vu du peux d’infos sur le mode 24bits et mon ignorance dans le domaine dématérialisé, il y a bien un intérêt à avoir du 24 bits ?

oui

parceque des gens gèrent le volume sur le pc.
parceque des gens commencent a avoir de la musique enregistrée nativement en 24/96 ou même en 24/192


je peux pas aider non plus pour faire comprendre a windows ce qu'il doit.

si j'ai bien compris, ton idée serait de recevoir l'usb audio directement sur la prise USB uart du DSPiy.
le "petit" µC aura assez de ressources pour recevoir de l'usb audio en 24/96 et faire le reste de sa surveillance en meme temps ?
alkasar
 
Messages: 11517
Inscription Forum: 29 Nov 2005 22:47
Localisation: Neuf deux
  • offline

Message » 21 Jan 2014 19:59

T'es en USB audio class 1 ou 2 ?
Si ça marche sous windows sans drivers ça doit être de la class 1...

Branche le sur un linux et regarde les logs noyau (alsasound), tu auras des infos. Tu peux examiner à peu près tout ce que renvoie la carte.
Essaie 32 bits au lieu de 24.

> parceque des gens gèrent le volume sur le pc.

L'USB envoie l'information de volume au DAC (le volume global que tu règles avec le mixer ou le driver) donc le DAC peut gérer le volume...

> le "petit" µC

Petit ? Un LPC1769 ?
peufeu
 
Messages: 71
Inscription Forum: 24 Avr 2013 8:34
  • offline

Message » 21 Jan 2014 20:22

j'ai cru que c'était le µC actuel du DSPiy. désolé.

l'usbaudio peut envoyer l'info de volume pour que le "dac" ( le receveur USB plutot) le gère mais la plupart des gens ne l'utilisent pas ainsi. On gère le volume coté player. Cela dit, la question de thierry c'était "est ce utile d'envoyer du 24 bits" sous entendu "pourquoi me casser la tete si 16 bits est suffisant". Je répond que, de mon avis, c'est un gros plus de passer les 24 bits.
alkasar
 
Messages: 11517
Inscription Forum: 29 Nov 2005 22:47
Localisation: Neuf deux
  • offline

Message » 21 Jan 2014 20:49

Le µC actuel n’a pas l’USB, il utilise un convertisseur externe USB->UART.
Mais il existe avec l’USB : le LPC11U14 mais pas d’interface I2S.
Le LPC1769 (comme noté post 1) lui est cortex-M3 à 120MHz max. Les cortex-M4 sont équivalents avec des instructions DSP.
Je travaille sur une petite carte LPCXPRESSO qui dispose par exemple d’une interface Ethernet.

Pour en revenir à nos moutons, oui c’est bien la classe1.
Linux, bonne idée mais je ne maitrise pas encore.
Pour le moment Windows voit bien ma carte en 24bits, par contre plus de 16bits.
Apparemment pas le choix, pour les fréquences on dispose d’une petite table décrivant les différentes fréquences acceptées mais pas pour la longueur.
Très bonne idée de passer en 32bits, car c’est le problème actuel, l’I2S est en 32bits (pour du 24bits on met 8bits à zéro) et j’ai donc des soucis pour remettre mes data en ordre dans le buffer d’échange.
Et en effet la classe USB permet d’envoyer pleins d’infos dont le volume et même les EQ.
Pour la question du 16bit <> 24bits, c’est numériquement une énorme différence, mais le passage au 24bits c’est surtout une meilleure gestion du bruit et plus de souplesse en traitement.
Donc je reste tout de même perplexe.
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 21 Jan 2014 21:29

Merci peufeu.
J’ai modifié mon descriptor en mettant 32bits, subframe à 4 et adapté le buffer d’échange.
Désinstallé le périphérique, lancé le débug et j’ai maintenant à l’oscillo connecté sur l'I2S un signal qui ressemble bien à 2 canaux avec 24bits. :D
Par contre Windows ne me permet plus de changer de fréquence, il est fixe sur 32bits 96K en grisé.
C’est pas dérangeant en soit mais étrange.
Prochaine étape brancher un DAC et générer un sinus pour voir si tous ces datas sont en place.
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 21 Jan 2014 22:45

Un peu tard mais au cas ou il faudrait une solution de repli, celle de XMOS semble pas mal.
Eric.D
 
Messages: 1870
Inscription Forum: 05 Juil 2006 12:45
Localisation: dans le 06
  • offline

Message » 22 Jan 2014 10:33

thierryvalk a écrit:Merci peufeu.
J’ai modifié mon descriptor en mettant 32bits, subframe à 4 et adapté le buffer d’échange.
Désinstallé le périphérique, lancé le débug et j’ai maintenant à l’oscillo connecté sur l'I2S un signal qui ressemble bien à 2 canaux avec 24bits. :D
Par contre Windows ne me permet plus de changer de fréquence, il est fixe sur 32bits 96K en grisé.
C’est pas dérangeant en soit mais étrange.
Prochaine étape brancher un DAC et générer un sinus pour voir si tous ces datas sont en place.


Je ne sais pas si en USB1 tu as le bSubslotSize dans le descripteur de format qui te permet de spécifier le nombre d'octets par sample. Par exemple avec bBitResolution=24 et bSubslotSize =4 il va mettre 24 bits dans 4 octets... donc largement plus pratique à manipuler (mais mange plus de bande passante, pas un problème en USB2).

Si windows est verrouillé sur 96k c'est dommage de passer par un resampling alors que t'es pas obligé...
peufeu
 
Messages: 71
Inscription Forum: 24 Avr 2013 8:34
  • offline

Message » 22 Jan 2014 13:09

Oui, j’ai bien le bSubslotSize qui est nommé dans mon descripteur SubFrameSize.
Le verrouillage à 96K n’est pas un gros problème vu qu’au final je désire cette fréquence pour être compatible avec le DSPiy qui fonctionne en 96K.

J’ai regardé les produits XMOS qui sont en effet très biens, mais l’avantage des NXP pour moi est d’être en terrain connu.
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline


Retourner vers Sources et DAC