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

Et si l’on rajoutait du FIR au DSPiy ?

Message » 31 Oct 2013 14:57

thierryvalk a écrit:Je pense qu’il faudra me résoudre à utiliser Linux.
Il existe bien de RTOS et bios, mais je pense que je serais dans ce cas obliger de travailler avec les outils payants de TI . Le prix est correct, mais tout de même.

C'est un marteau pour écraser une mouche, mais si il n'y a pas d'autres outil en stock ...
Et puis comme ca, tu pourras virer l'affichage LCD du DSPiy, et porter ton soft de génération des coeff sur la BeagleBone en utilisant sa sortie video.
Bref ta du taff ...

PS : En regardant les perf de cette carte, je me dis qu'elle pourrais presque remplacer ma ZBOX ID81 : http://www.zotacusa.com/zbox-id81.html
tcli
 
Messages: 4066
Inscription Forum: 23 Nov 2009 22:40
Localisation: Complètement à l'ouest
  • offline

Message » 31 Oct 2013 17:20

belle affaire :love:

comme tu dis, ca va se retourner : c'est la beaglebone qui va finir par gérer le tout avec un serveur web intégré, DStudio en html/java, et on paramètrera les applis en temps réel depuis un smartphone en wifi :)

Bon, pour tout ça je peux attendre 2014. Pour noel 2013, restons en au traitement fir déporté dans une carte fille ;)

Trève de bétises : je vais suivre les yeux émerveillés.

ps: une beaglebone pour xbmc c'est parfait :)
alkasar
 
Messages: 11517
Inscription Forum: 29 Nov 2005 22:47
Localisation: Neuf deux
  • offline

Message » 31 Oct 2013 17:49

J’ai encore un peu regardé les outils :

Il y a le StarterWare de TI qui semble bien si l’on veut travailler sans OS.
Il est gratuit mais travaille avec l’IDE CCS qui lui coute 620eur HTVA pour 1 licence flottante.
Il faut idéalement y rajouter une sonde JTAG +- 100EUR, mais en lisant pas si par là avec la sonde CCS deviendrait gratuit.

Et lorsque l’on voit des temps de latence de 30 à 100µS pour une interrupt sous OS, il y a du gaspillage quelque part. :wtf:

Linux c’est en effet bien pour faire un peu de tout, tout comme un PC mais avec les problèmes des PC lorsque l’on veut un semblant de temps réel.
Du code pur et dur se basant sur de Lib et exemples, c’est bien plus performant mais il faut rester réaliste dans les fonctionnalités.
Peut-être est ’il possible d’avoir Linux pour le boot, config, gestion de la mémoire ect.. puis de le mettre au frigo et de prendre la main pour faire du vrai temps réel.

Au fait, l’Ipad, c’est un cortex A8 made in Apple.
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 31 Oct 2013 18:38

Xenomai si tu y tiens permettra de passer tes traitements en temps réel hard (le reste kernel linux devenant une tache annexe de priorité inférieure mais qui sert de maxi boite à outils pour tout le reste)
Rien que se taper la gestion de la mémoire/MMU à la main me découragerais d'avance.
Sans utilisations des DMA et un traitement par bloc aucune chance de tirer des perfs de ces machins. Le read / process / write par samples est complètement utopique et les perfs seraient ridicules.
Les extensions SIMD genre NEON et autre sont efficaces lorsque l'on vectorise et "pipeline-ize" un maximum les traitements. C'est ce qui fait la différence avec le mode de fonctionnement des DSP.
Donc même avec du code en dur ou sous OS temps réel hard, les DSP gagnerons toujours la course à la latence minimale du traitement global.
Par contre il est possible de faire des choses pas mal avec une latence raisonnable et sous contrôle. Mais la latence sera nécessaire et inévitable pour avoir de la bande passante en terme de traitement.
En plus se retaper toutes les libs d'algo et traitement optimisé A8/NEON soit même est plutôt ambitieux pour par dire suicidaire. Autant profiter de toutes les libs de code libre déjà optimisés et qui continuerons à l'être par des fou de l'algo ASM.

Très bon choix la BB Black.

Linux c’est en effet bien pour faire un peu de tout, tout comme un PC mais avec les problèmes des PC lorsque l’on veut un semblant de temps réel.

Je suis pas d'accord. Une grosse partie des pblm des PC viennent de leur archi matérielle, et Linux permet déjà de base de faire plus qu'un semblant de temps réel sans utiliser un quelconque mode de développement spécifique. Je ne te rappellerai pas la définition de "temps réel". Les noyaux Linux actuels tout OS non spécifiquement temps réel confondu a les vitesses de context switch et de latence max les meilleures. Les travaux de ces dernières années ont permis d'éliminer quasiment (même sur pc) toutes les sources de latences non bornées et importantes. Avec un simple noyaux -RT et une configuration de l'OS approprié (on est sur de l'embarqué avec toutes les sources d'I/O sous contrôle contrairement à un système généraliste), on peu garantir une latence max au moins 10 fois inférieure à la latence moyenne habituelle. (les valeur en µs sont spécifiques à chaques plateformes / processeurs ...).
Avec un Linux, t'as potentiellement tout sous contrôle ou en tout cas à des années lumières des OS à la fenêtre ou à la pomme.
Tazz28
 
Messages: 2802
Inscription Forum: 03 Nov 2008 23:47
Localisation: Dreux
  • offline

Message » 31 Oct 2013 19:09

Merci pour ces infos Tazz.
Pour l' assembleur, j'en ai fait pendant des années et même sur DSP, le TMS320C26.
Et justement, j avais fait un fraiseuse CNC avec ce DSP puis un jour j'ai pris un PC a base de pentium 1 GHz, repris de veilles disquettes de dos3.3 et TurboC et j'ai refait le programme pour cette CNC sur ce PC en Dos. Impressionnant la vitesse d'exécution et bien en temps réel en utilisant le port // pour les IO.
Bref tout cela demande réflexions afin de ne pas se lancer dans une direction et y perdre du temps ou bricoler.
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 01 Nov 2013 13:44

thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 04 Nov 2013 12:55

BBB reçue, très belle petite carte, un concentré de technologie pour moins de 50EUR.
On peut y brancher un moniteur en HDMI, clavier/souris en USB, une liaison Ethernet et l’on devrait pouvoir se balader sur le forum.
Un peu dommage, les trous de fixations qui ne sont pas symétriques et la connectique sur plusieurs faces bien que non utilisée dans une application qui ferait uniquement du FIR.
Le 5V pourrait même être donné par le DSPiy.
bbb+dspiy.jpg
bbb+dspiy.jpg (101.81 Kio) Vu 853 fois
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 04 Nov 2013 14:21

un beau couple.
Un pcb dspiy entièrement vierge.... tu vas souder à la main ? :mdr:
alkasar
 
Messages: 11517
Inscription Forum: 29 Nov 2005 22:47
Localisation: Neuf deux
  • offline

Message » 04 Nov 2013 14:40

Vu la puissance du truc, on peut se demander si on peut pas faire du filtrage FIR multivoie directement avec. Peut être pas 3 voies stéréo mais surement 2 voies stéréo (on a pas forcement besoin de beaucoup de coeff pour la voie aiguë ).
Du coup, plutôt que BBB+DSPiy, un combo BBB+carte d'I/O suffirait. Peut être même que la carte DSPiy peut faire office ?

A noter que si tu pars sur du Linux, alors la partie filtrage que j'ai développé pour ma config s'appliquerait assez facilement. (il semble que le compilo GNU sache générer du code neon). Il existe de bien meilleurs convolver pour Linux, mais plus difficile à mettre en œuvre, surtout dans une config restreinte comme celle ci. De plus, si il y a un intérêt, il est tout à fait possible que j'améliore mon convolver (FFT/ partitionnement etc ...) tout en restant dans une approche de mise en oeuvre simple.
Dernière édition par tcli le 04 Nov 2013 15:05, édité 2 fois.
tcli
 
Messages: 4066
Inscription Forum: 23 Nov 2009 22:40
Localisation: Complètement à l'ouest
  • offline

Message » 04 Nov 2013 14:52

tcli a écrit:Vu la puissance du truc, on peut se demander si on peut pas faire du filtrage FIR multivoie directement avec. Peut être pas 3 voies stéréo mais surement 2 voies stéréo (on a pas forcement besoin de beaucoup de coeff pour la voie aiguë ).
Du coup, plutôt que BBB+DSPiy, un combo BBB+carte d'I/O suffirait. Peut être même que la carte DSPiy peut faire office ?

Peut-être, mais on va manquer de port I2S et/ou tomber dans du non standard.
Le DSP du DSPiy fait petit, mais a ses avantages car dédié à l’audio et son prix est presque au prix d’un ADC. De plus vu que l’on serait en I2S synco, il n’y a aucune perte entre les 2 processeurs.
Par contre le BBB pourrait peut-être remplacer Amanero.
tcli a écrit:A noté que si tu part sur du Linux, alors pour la partie filtrage que j'ai développé pour ma config s'appliquerait assez facilement. (il semble que le compilo GNU sache générer du code neon). Il existe de bien meilleurs convolver pour Linux, mais plus difficile à mettre en œuvre, surtout dans une config restreinte comme celle ci. De plus, si il y a un intérêt, il est tout à fait possible que j'améliore mon convolver (FFT/ partitionnement etc ...) tout en restant dans une approche de mise en oeuvre simple.

c'est bien noté et pas tombé dans l'oreille d'un sourd. :thks:
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 04 Nov 2013 15:00

Très intéressant tout ça ! :thks:
Si jamais on peut t'aider pour quoi que ce soit tu n’hésites surtout pas hein :ane:
mtf
 
Messages: 1080
Inscription Forum: 06 Nov 2003 20:25
  • offline

Message » 04 Nov 2013 15:01

thierryvalk a écrit:Peut-être, mais on va manquer de port I2S et/ou tomber dans du non standard.

Je ne connais pas bien I2S pour l'audio. On est limité à 2 canaux à cause du débit ?
tcli
 
Messages: 4066
Inscription Forum: 23 Nov 2009 22:40
Localisation: Complètement à l'ouest
  • offline

Message » 04 Nov 2013 15:06

L’I2S c’est comme du SPI mais sur 2 canaux avec un signal en plus qui détermine si le data est pour le canal L ou R. Donc il faut 1 port par 2 canaux bien qu’il existe un mode TDM qui permet d’en faire passer plus, mais les vitesses montent vu que l’on est en série.
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 04 Nov 2013 15:11

BBB + DIN (entrées sdpif->I2S) + Symout (3 dacs 2 voies entrée I2S) + mini carte qui assure la connectique I2S/I2C + alim 3V6 + BPs, molette, ... et c'est bon coté hardware non ?

après faut voir la puissance disponible et la facilité de programmation. Sigmastudio c'est quand même plutot simple et DSPiyStudio met le paramétrage a portée de tous. Un truc génial utilisable seulement par un champion de la programmation C sur linux c'est super, mais pas généralisable.

I2S pour l'audio. On est limité à 2 canaux à cause du débit ?

le DSP du DSPiy c'est 8 canaux sur I2S.
alkasar
 
Messages: 11517
Inscription Forum: 29 Nov 2005 22:47
Localisation: Neuf deux
  • offline

Message » 04 Nov 2013 15:18

thierryvalk a écrit:Une petit doc qui semble intéressante : http://www.arrownac.com/offers/vision/files/ppt/ti-linux-beaglebone.pdf

Ah ouais quand même, ils font tourner XBMC (le media center que j'utilise) dessus :o
Dernière édition par tcli le 04 Nov 2013 15:36, édité 1 fois.
tcli
 
Messages: 4066
Inscription Forum: 23 Nov 2009 22:40
Localisation: Complètement à l'ouest
  • offline


Retourner vers Filtrage actif, Equalisation et Processeurs