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

Et si l’on rajoutait du FIR au DSPiy ?

Message » 04 Nov 2013 21:13

thierryvalk a écrit:Ma question actuelle est toujours Linux ou un autre système RTOS ou juste un BIOS.
Quelque part sans Linux, je risque moins d'avoir des débordements en tous sens.

Pour un simple FIR, sans pousser aux limites, Linux le fera sans problème .
Je pense que cela va juste te faire un peu drôle. Tu vas quitter le monde des microcontroleurs et DSP pour entrer dans un monde différent.
Il y a tellement de puissance CPU disponible de nos jours qu'on s'en fout du real time, c'est du largely in time :ane:
Maintenant, si c'était pour le flybywire d'un avion de ligne , je dirais pas la même chose ...
Dernière édition par tcli le 04 Nov 2013 21:57, édité 1 fois.
tcli
 
Messages: 4066
Inscription Forum: 23 Nov 2009 22:40
Localisation: Complètement à l'ouest
  • offline

Message » 04 Nov 2013 21:22

Je pense que cela va juste de faire un peu drôle. Tu vas quitter le monde des microcontroleurs et DSP pour entrer dans un monde différent.

En effet, c’est déjà un des problèmes au passage des bons 8bits à 8051 aux cortex-m0.
On n’a plus la main sur tout et allumer une Led devient compliqué vu que le CPU et les IO sont deux éléments séparés
Et je ne parle pas des lib à rallonge ou c’est le programme qui fait des calculs de constantes, on a de la ressource, il faut la gaspiller. :(
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 04 Nov 2013 23:37

thierryvalk a écrit: on a de la ressource, il faut la gaspiller. :(

Et oui, la société de consommation est un concept universel :ane:
tcli
 
Messages: 4066
Inscription Forum: 23 Nov 2009 22:40
Localisation: Complètement à l'ouest
  • offline

Message » 09 Nov 2013 0:25

Je continue mes investigations et travailler sous SaterWare de TI donc sans OS me semble plus adapté à mon niveau.
De ce que j'ai vu, sous Linux, c'est beaucoup de configurations et pas vraiment adapté, du genre : que donner comme codec ou carte son a Alsa, je doute qu'il prenne en charge le DSPiy. :mdr:
La BBB permet le degugage en JTAG, mais il faut souder soi même le connecteur, ce qui est fait.
L' IDE est CCS5 de TI, soft payant, mais vu l'ajout de la sonde JTAG du constructeur la licence passe en Free. Pas tout compris, on verra dans le temps.
Le CCS5 tourne sous Éclipse comme beaucoup d'Ide, c'est du terrain connu bien que tellement configuré que l'on recherche tout de même ses marques.
C'est relativement long à mettre en place, j'espère pouvoir faire clignoter une LED du BBB prochainement. :idee:
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 09 Nov 2013 11:31

thierryvalk a écrit:Je continue mes investigations et travailler sous SaterWare de TI donc sans OS me semble plus adapté à mon niveau.
De ce que j'ai vu, sous Linux, c'est beaucoup de configurations et pas vraiment adapté, du genre : que donner comme codec ou carte son a Alsa, je doute qu'il prenne en charge le DSPiy. :mdr:

TI ne fournit pas des drivers Linux pour les sorties I2S ?

Sinon il semble y avoir une astuce pour accéder a l'I2S qui va vers le ship HDMI :
http://www.element14.com/community/community/knode/single-board_computers/next-gen_beaglebone/blog/2013/05/28/bbb--audio-notes
http://www.element14.com/community/community/knode/single-board_computers/next-gen_beaglebone/blog/2013/07/06/bbb--building-a-dac
tcli
 
Messages: 4066
Inscription Forum: 23 Nov 2009 22:40
Localisation: Complètement à l'ouest
  • offline

Message » 09 Nov 2013 12:27

TI fournit beaucoup de choses, mais pour différentes plateformes et systèmes. Par exemple il y a des différences entre BeagleBone White, l’ancienne, et la Black relativement récente.
Tout semble être là, il faut y faire son marché et l’inclure au projet ce qui n’est pas si simple.
Il y a un bel exemple de gestion de l’I2S dans StarterWare avec gestion DMA, mais il faut retrouver les Lib et surtout les codes objets de ces lib correspondants au BBB.
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 09 Nov 2013 13:27

Un lien avec les fonctions disponibles pour l’I2S avec StarterWare.
http://processors.wiki.ti.com/index.php/StarterWare_McASP

Le grand avantage est de pouvoir tout configurer, par exemple notre application va utiliser l’I2S In et Out en Salve, alors qu’habituellement pour un DAC c’est de l’I2S Master qui est utilisé.

et le driver pour Alsa : http://processors.wiki.ti.com/index.php/AM335x_Audio_Driver's_Guide
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 09 Nov 2013 18:51

Pour Linux, ça reviens a écrire un "codec" ASOC pour le DSPIY.
Si on se borne aux même type d'interfaçage qu'avec la D-IN, C'est une conf basique et statique de l'I2S ou du TDM, le cas "hello world" le plus simple imaginable pour un driver codec ASOC.
Mais je te l'accorde, Linux est un monde à lui tout seul et la "Learning curve" en terme de dev bas niveau est énorme, pas de part sa complexité, mais de part le volume de choses à engloutir pour commencer (sans parler des truc "mouvant" ou "pas sec" dont il faut connaitre l'état et la cible pour pas se faire piéger)
Quand on part de zéro, c'est plutôt agaçant.
Pour ma part c'est l'inverse : même si je pratique très peu en dev au final, comme je suis le dev du kernel de très près depuis 20 ans maintenant (boudioouu, j'avais jamais fait le compte) m'appuyer sur cette fabuleuse boite à outil me rassure et j’appréhenderai à l'inverse de devoir tout faire à la main sur des SOCs aussi complexes, contrairement à avec des µC ou "supers" µC.
Tazz28
 
Messages: 2802
Inscription Forum: 03 Nov 2008 23:47
Localisation: Dreux
  • offline

Message » 09 Nov 2013 19:29

Le tout est de voir l’application finale, pour une gestion de fichiers, gestion de la mémoire dynamique pour plusieurs tâches, en effet il faut un OS.
Par contre grâce à l’emploi de librairies, on dispose déjà de mal de ressources sans avoir à réécrire le code, j’ai de la sorte testé récemment du IIR sur Cortex M3 avec seulement quelques lignes de code.
Ici c’est bien plus qu’un M3, mais on n’est pas obligé de tout utiliser.
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 23 Nov 2013 22:02

J’ai commencé à utiliser la BB sous Sraterware de TI.
C’est pas vraiment simple, Starterware est un ensemble de librairies sensées prémâcher le travail de bas niveau.
Mais ces lib sont prévues pour plusieurs processeurs et cartes. Pas de chance l’audio pour la BBB n’est pas supporté.
Mais théoriquement pas bien gênant vu que l’on est toujours en bas niveau, il suffit de rajouter quelques lignes de définitions.

Pour développer on utilise une sonde JTAG qui permet de charger et débugger le code directement dans le processeur.
Pour cela on utilise un fichier .GEL qui va paramétrer mémoire et horloges ensuite se lance un .cmd suivit du programme utilisateur.
Le processeur étant un AM3559 il est logique d’utiliser le fichier AM3559.cmd et bien non fonctionne pas. Par contre en partant sur un exemple pour la BB qui utilise un CMD prévu pour un TMS470 ça fonctionne. :hein:

Le processeur dispose de 2 unités audio, Mcasp0 et Mcasp1.
C’est le Mcasp0 qui est utilisé pour l’HDMI mais le 1 est aussi disponible sur les connecteurs d’extension.
Ces 2 connecteurs d’extensions sont paramétrables, chaque Pin est dite multiplexée. En fait on peut choisir le mode de fonctionnement de chaque Pin selon un tableau avec 6 modes max différents.
Par exemple la Pin 31 du connecteur P8 est assignée par défaut au LCD data14 utilisé pour l’HDMI.
Mais en sélectionnant le mode3 elle devient Mcasp0_axr1 qui veut dire ligne de donnée pour l’unité Mcaps0 pour le sérialieur 1. Ligne qui peut être configurée en entrée ou sortie.
Bien sûr si on utilise cette ligne pour de l’audio, on n’a plus la sortie HDMI.
Chaque sérialieur peut être configuré en I2S pour passer 2 canaux ou en TDM pour passer jusqu’à 8 canaux.
Si l’on veut rester en I2S, on a sur les connecteurs 4 ports I2S en Mcasp0 et 2 ports en Mcasp1 soit un total de 12 canaux audio.

C’est donc une grande fourmilière mais qui permet énormément de possibilités. En partant sous Linux, on serait vite limité vu qu’un système sous linux sans écran n’a pas beaucoup de sens et donc il manquerait pas mal de drivers si l’on veut exploiter au max les fonctions audio.
Pour le moment j’arrive à sortir les clocks en I2S mais pas encore de data. :zen:
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 23 Nov 2013 22:32

thierryvalk a écrit:En partant sous Linux, on serait vite limité vu qu’un système sous linux sans écran n’a pas beaucoup de sens

:o , mais si au contraire. Les systèmes Unix ont été à la base conçu pour fonctionner avec une simple console (par ce qu'il n'y avait rien d'autre à l'époque). Même si aujourd'hui c'est moins souvent le cas, la possibilité reste.
Ie : Tous mes fichiers audio sont stockés sur un NAS sous Linux qui n'a pas de sortie vidéo et que j'accède uniquement via ssh quand j'ai besoin de l'administrer. (sinon pour l'accès aux fichiers c'est du DLNA).

thierryvalk a écrit: et donc il manquerait pas mal de drivers si l’on veut exploiter au max les fonctions audio.
Pour le moment j’arrive à sortir les clocks en I2S mais pas encore de data. :zen:

Ca c'est le problème. En Linux, il y a des chances que pour faire ce que l'on veut, il faille s'écrire ou modifier des drivers existants..
Je suis bien tenté par m'acheter une BBB (je vais la demander sur ma liste pour le père Noel, on sait jamais, ça marche parfois ..)
mais si je franchis le pas, cela sera sous Linux. C 'est beaucoup plus simple pour moi.
Tu confirmes qu'il y a bien la possibilité hard de sortir plusieurs canaux I2S. C'est le plus important. On trouvera bien une façon de les exploiter.

PS: Au fait, tu l'as trouvé où ton BBB. Parce qu'il ne semble pas si facile de se le procurer...
Dernière édition par tcli le 23 Nov 2013 22:34, édité 1 fois.
tcli
 
Messages: 4066
Inscription Forum: 23 Nov 2009 22:40
Localisation: Complètement à l'ouest
  • offline

Message » 23 Nov 2013 22:34

Je m'excuse de ma question d'ultranul, mais quelle est la différence entre FIR et I2S ?

La configuration dans mon profil


Intoxiqué au Beryllium :D
Powerdoc
Modérateur Home-Cinéma
Modérateur Home-Cinéma
 
Messages: 7907
Inscription Forum: 30 Sep 2006 19:05
Localisation: Allier
  • offline

Message » 23 Nov 2013 22:40

Powerdoc a écrit:Je m'excuse de ma question d'ultranul, mais quelle est la différence entre FIR et I2S ?

La même qu'entre une courgette et une banane ... :ane:
.
.
.
.
FIR désigne un type de filtrage numérique.

I2S une convention de liaison pour passer des données audio.
Par exemple des circuits intégrés DAC vont accepter des entrées digitales au format I2S.
Bref, ca na rien à voir.

Si ont veut utiliser le BBB comme filtre FIR, il faut déjà s'assurer qu'il puisse sortir les données dans un format (I2S) compréhensible par des DAC.
tcli
 
Messages: 4066
Inscription Forum: 23 Nov 2009 22:40
Localisation: Complètement à l'ouest
  • offline

Message » 23 Nov 2013 22:46

Pour le mode console, oui, il existe toujours en sériel. Il suffit de rajouter un câble FDTI pour une liaison USB vers port com en 3V3.
J'ai acheté mon BBB chez Farnell.
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 24 Nov 2013 0:42

thierryvalk a écrit:J'ai acheté mon BBB chez Farnell.


Disponibilité: En cours d'appro.fournisseur. Nous contacter
:x
C'est bien ce qu'il me semblait. Elle est en rupture un peu partout ..
Ah non, elle semble dispo, et en promo chez .. conrad :o
tcli
 
Messages: 4066
Inscription Forum: 23 Nov 2009 22:40
Localisation: Complètement à l'ouest
  • offline


Retourner vers Filtrage actif, Equalisation et Processeurs