Jump to content
F4HJH

Outils de conception SDR DUC/DDC + FPGA

Recommended Posts

F4HJH

Bonjour,

initialement, je rédigeai un mail à destination de Marc @F6ITU , partager ma question ici me parait finalement plus intéressante car d'autres se posent peut être les mêmes.

Au Radio Club, nous nous lançons dans un projet très ambitieux d'étude de la bande étalée. Par "étude", nous souhaitons vouloir comprendre les concepts, modéliser, et  prototyper.

Au départ, nous étions partis un peu automatiquement sur Gnuradio car nous l'avons déjà utilisé maintes fois, mais.....
  • 100% des traitements sont faits sur le PC, 
  • pas de code VHDL ou autre permettant au FPGA de faire son travail (decimation),
  • peu de documentations ou pas à jour,
  • pas mal de galères et autant de solutions que de versions lorsque l'on veut utiliser des blocs externes...
 
Côté hardware, nous utilisons des RedPitaya 
 
On a essayé de faire causer la RedPitaya avec Gnuradio et nous nous heurtons à des problèmes que nous n'arrivons pas à résoudre (et nous ne sommes pas les seuls).
Il y a bien deux ou trois gars qui ont réussi mais nous ne savons pas grand chose, les questions sur les forums sont laissées sans réponse. (= découragement assuré)
 
Bref, nous souhaitons passer à autre chose pour éviter - si possible - de passer une partie de notre temps à faire de la plomberie.
Gnuradio reste néanmoins un super "atelier" pour du prototypage et modéliser les concepts.
Mais.... il semble que l'on ne puisse aller plus loin. C'est à dire exporter les projets que l'on pourrait utiliser dans d'autre logiciels à des fins de package ou de compilation.. 
 
Nous souhaitons pouvoir utiliser le potentiel de la RedPitaya avec son FPGA : et la question arrive !
 
Quels sont les outils logiciels qui sont à privilégier pour se lancer dans le développement logiciel SDR ? (Modulation/Codage/Décodage) ?
L'idée est de pouvoir utiliser la RedPitaya avec son FPGA (et d'autres matériels) ?
 
On a pensé à Matlab, la RedPitaya peut être pilotée en SCPI.... Super pour allumer des diodes, et faire l'acquisition de data mais pas plus.
Matlab ne connais pas nativement la RedPitaya (tout comme le pendant OpenSource SCIlab).
 

Share this post


Link to post
BEZOMBES Jean-Louis

Bonjour,

 

A mon avis il ne faut pas se lancer dans du code VHDL sur FPGA, si déjà on a du mal à faire tourner du code GNU radio sur un PC.

Matlab c'est faire pour faire de la simulation. Il y a une chaine qui permet de faire du portage en code compilable C, ou aussi en VHDL pour du FPGA, mais cet outil est cher et necessite beaucoup de savoir faire.

 

 

jean-Louis

Share this post


Link to post
F5MI

73 les amis,

Matlab c'est bien à condition de savoir (et pouvoir s'en servir).

Si on n'est pas dans une boite qui peut se l'offrir, ou que l'on n'est pas en Université. Il reste la version d’essai de 30 jours (complète), que l'on peut négocier pour 30 jours supplémentaires!! Difficile de passer ses jours et ses nuits à bosser sur un programme!

On peut l'acheter en faisant valoir son titre de Radio amateur pour 150€; les mises à jours sont gratuites.. Mais on a besoin de Simulink et des Toolboxes.. Chaque Toolbox coûte 30€. Il en faut 3 ou 4 pour commencer à pouvoir faire quelque chose de bien. Il y en a de gratuites (RTL-SDR, Arduino, Pluto...etc). Un Radio-Club peut l'envisager.

On peut se passer de travailler en VHDL, si on utilise Simulink et tous ses blocs! Certains Compilateurs sont gratuits, d'autres pas.. Faut voir au fur et à mesure ce que l'on a besoin.

Si on travaille avec des Altéra il faut télécharger Quartus qui est libre de droit et suffisant pour notre usage.

Si on travaille avec des Xilinx et c'est le cas du Red Pitaya, il faut télécharger depuis le site de Xilinx tout le soft, ainsi que l'ensemble Vivado.. pour travailler avec Simulink dans un environnement Xilinx.. C'est libre de droit.. Mais pas tous les compilateurs..

F4HJH.. Parlez en à Marc de F6ITU, il adore la programmation!!! 😂 (Dites lui que c'est moi qui vous ai renseigné HI!!)

J'ai sur le net un site: https://f5mi640.pagesperso-orange.fr  pour le moment il n'y a que du DSP, mais je suis en train de le rénover et dans une quinzaine vous aurez des exemples de FPGA avec Matlab/Simulink...  je préviendrai lorsque ce sera OK.

Amitiés F5MI

 

 

 

Edited by F5MI

Share this post


Link to post
BEZOMBES Jean-Louis

Bonjour,

 

Il existe une alternative gratuite à Matlab , qui commence à être utilisée meme dans l'industrie : SCILAB.

 

Jean-Louis

Share this post


Link to post
F5MI

Je connais depuis longtemps  mais il n'y a pas l'équivalent de Simulink, et c'est dommage.

Amitiés JP

 

Share this post


Link to post
F4HJH

Merci pour vos contributions 😊

Nous savons que le sujet nécessite des connaissances, et certaines compétences. Nous verrons bien jusqu’où nous pourrons aller.

Nous sommes déjà contents d'avoir pu se faire la main avec Gnuradio en créant depuis une page blanche un tranceiver LSB 😊

Je pense que la difficulté que nous avons est d'avoir une vision d'ensemble.

Pour ce qui est de la difficulté, nous verrons bien ce qui est soutenable dans le cadre de nos activités d'amateur.

Jean Pierre @F5MI, merci pour l'information je savais qu'une licence pour particulier Matlab+Simulink et quelques outils as un coût aux alentours des 500-600 €.

La question que nous nous posons : est-ce la bonne direction sachant qu'il n’y a pas à ma connaissance d'activX ou autres drivers permettant de brancher la RedPitaya sur Matlab, sauf en SCPi...

Il y a 1 heure, F5MI a dit :

Si on travaille avec des Xilinx et c'est le cas du Red Pitaya, il faut télécharger depuis le site de Xilinx tout le soft, ainsi que l'ensemble Vivado..

Bingo ! Je découvre tout juste et je monte une VM Debian avec le package Vivado Core. Il n'y a plus qu'à presser du jus de crâne (Copyright @F6ITU 😄)

 

[EDIT] Je ne connaissait pas cette petite mine d'informations, merci Jean Pierre 

Edited by F4HJH

Share this post


Link to post
F6ITU

F5MI m'a TUER 🙂 

oui, être passé à coté de Vivado est impardonnable si l'on suit un peu le travail est les commentaires de Pavel Denim. 

Sylvain F4GKR a organisé, cette semaine précisément, une "université SDR" traitant  (entre autres choses) de ces questions. 

Pour ma part j'estime, alors que j'ai horreur de tout ce qui se compile, s'écrit, se debug etc, qu'en rester au stade de Gnu Radio relève déjà de la performance pour la grande majorité des radioamateurs. Lire du vhdl pour comprendre ce qu'a fait l'auteur, passe encore. Mais concevoir et pondre du vhdl pour réaliser du traitement de signal, (-ou pire, ces jargons impensables utilisés dans les dsp... tels que ceux utilisé par F5MI)... est un véritable travail de seigneur. Je passe mon tour avec crainte et respect :- ) 

Marc

Edited by F6ITU

Share this post


Link to post
F4HJH

Donc...

@F5MIJean Pierre, nous devons passer par Vitis / Vivado quoi qu'il arrive.

Et pour se familiariser (ou fuir en courant), je crois que nous devons mettre en oeuvre notre machine de développement (décrite par Pavel Demin)

Je pense que l'on va démarrer par des TP "simples" : Anton Potočnik a rédigé pas mal de contenu avec des programmes qui semblent assez pédagogiques.

Ces premières étapes nous aiderons peut être à avoir une vue d'ensemble de l’écosystème Hard/Soft autour des DAC/FPGA.

Je ne sais pas trop dans quoi nous nous embarquons, et si nous réussirons à recevoir un signal en AM, mais je pense que nous pourrons apprendre pas mal de choses... 😊

Share this post


Link to post
F5MI

MATLAB

EUR 119

Price applies for purchase and use in France. For pricing in other regions contact sales. Pricing excludes TAX/VAT.

Select this license if you would like to get MATLAB for your personal use.

This license option Is not for government, academic, commercial, or other organizational use.

C'est ce que je disais 150€ avec la TVA et 30€ pour les add ons

F5MI

 

Share this post


Link to post
F5MI

@ F4HJH

Vitis/Vivado est en cours de 'Update' chez moi.. C'est pas une mince affaire il faut télécharger 9Go avant de l'installer.

Je travaille sur ce schéma qui est issu d'une étude de K6JCA et que je reprends en utilisant Simulink et Le System Générator de Xilinx.. C'est beaucoup de travail, car sous les blocs il y a foule d'autre blocs, que l'on doit mettre au point avant de générer le code final.

Je ne veux pas générer de polémiques stériles, mais je ne pense pas que d'autres logiciels soient à même de donner ce résultat. A la fin je n'aurais pas écrit une ligne de code, c'est Vivado qui s'en chargera. On n'en est pas là, il y a encore du travail sur la planche avec les simulations diverses.

Amitiés 73 JP

 

Xcvr_SSB_2p5.thumb.png.431e806033adb490383dee05e39ffe43.png

Share this post


Link to post
F4HJH

@F5MI Jean Pierre,

 

Pavel Demin indique :

image.png.17c9920ddbcb384d6dcd80c97e698bc4.png

=> Le package à charger ne fais pas 9Go...

C'est celui-ci qu'il faut charger :

image.png.c7ee050c41d464adcc08506ef3af07c7.png

(passer la souris sur le lien, qui permet d'afficher le nom du fichier)

Vive la fibre et les gros disques....

[EDIT] : Pour utiliser Vivado gratuitement, il faudra générer une licence WebPACK

Edited by F4HJH

Share this post


Link to post
F5MI

@HJH

Quand vous aurez installé celui là, il y aura encore une mise à jour de 9 Go à faire

Faut du temps, et de la patience.. et générer une licence, mais ça c'est facile..

73 JP

 

Edited by F5MI

Share this post


Link to post
F5MI
Posted (edited)

@HJH

Re-bonjour, je viens de l'autre post.

 

Etude.png

Tiens elle est un peu de travers!! HI.. C'est le papier initial de l'étude que j'avais passée à Marc avant le confinement!

C'est assez simple, il y a plein de chemins de traverse, on part du principe que l'on va travailler avec des modules achetés sur le net!! il y a l'embarras du choix, mais je ne pouvais pas prévoir que je ne recevrais rien de ce que j'avais commandé!

Je suis parti sur une carte Altéra EP4CE22, et sur un ADC AD6645 14bits 105Msps; C'est du super courant, et en principe Matlab + Simulink doit permettre de réaliser ce que l'on voit sur la feuille.. Le premier écueil se situe au niveau du mélangeur digital. Avec Simulink on travaille par modules qui contiennent des blocs! Alors un mélangeur digital si on regarde comment c'est fichu, ce n'est qu'une somme de multiplicateurs! et un petit NCO que l'on peut commander de l'extérieur par un Arduino!! Je ne suis pas arrivé à faire ce que je voulais, sauf à descendre à l'étage VHDL, ce que je ne voulais pas faire... MAIS, je suis passé sur Vivado, le Générateur de Code, et un Spartan, et là j'ai eu accès à des blocs Xilinx dédiés, comme un compiler DDS..etc, et c'est devenu plus agréable..et ce n'est pas que de la simulation, on peut avoir du code, qui pourra être utilisé lorsque tous les modules seront exécutés. Pour les CIC et les FIR idem, j'ai eu droit à des compilers dédiés. Je suis arrivé au bout de la Simulation sans avoir d'erreurs notables (des Warnings oui, mais pas d'erreurs) et j'ai pu demander au Générateur une compilation complète, il m'a fourni un fichier .xise dans un dossier netlist, et ensuite j'ai lancé Vivado qui a fait la vérification complète du projet et m'a fournit un fichier qui permet de programmer le FPGA (lorsque je l'aurai reçu!).

Dans cette histoire je n'aurai pas écrit une ligne de code.. J'ai la License de Xilinx pour pas mal de temps, ensuite il faut la renouveler, et pour Matlab j'ai une License home, qui vient d'être mise à jour automatiquement!

Je pourrai éventuellement me lancer à faire la même chose à partir de Quartus et des produits Altéra en VHDL, je le ferai certainement avec un autre projet quand celui là va fonctionner.

C'est pas ultra difficile, ça bouffe du temps, il faut remplir les menus des blocs, et là c'est pas toujours simple, on  a besoin de se plonger dans la documentation! Mais bon ça plante et c'est normal, mais la nuit portant conseil le lendemain ça va mieux! La programmation ça a  été toujours comme ça!

Vivado marche bien, j'avais l'habitude de la Suite ISE, il y a quand même un plus..

Bon WE Amitiés

JP F5MI

 

 

Edited by F5MI
  • Message intéressant 1

Share this post


Link to post
F5MI
Posted (edited)

224781915_UpDownLOandMixers--Top.thumb.png.b95f52dd3e7780e67000eab5894c2cd7.pngLe schéma bloc du module mixers!

 

 

Edited by F5MI
  • Message intéressant 1

Share this post


Link to post
F5MI

@HJH

Pour tester les circuits il faut faire une source RF qui est insérée à l'entrée du Synoptique. Voilà ce que ça donne;

200173064_SourceRF.png.b75270874c4ddce968ff1238e5e70475.png

Et le spectre est le suivant Signal de 10 Mhz réglable, échantillonné à 80 Mhz, avec un certain bruit gaussien..

2143904828_SpectreRF.png.0ea30d8790006c29493b8dd8ce56ff39.png

  • Message intéressant 1

Share this post


Link to post
F4HJH

Bonjour @F5MI Jean Pierre,

merci pour ces contributions que je n'avais pas encore lu.

J'en suis encore au stade de découverte à l'aide de ce fais Anton Potočnik

Donc, pour ce type de projet il est nécessaire d'utiliser Matlab + Simulink et Vivado pour générer le code VHDL  

K6JCa  fais un peu la même chose, son github

Donc on arrive finalement en pleinement sur la question que je me pose : Que fais t-on avec Matbla + Simulink et à quel moment on utilise Vivado ? (uniquement pour générer le code final du FPGA ?)

(Je pensait utiliser que Vivado 😐, mais en fait...non...)

Share this post


Link to post
F5MI

@HJH,

Bjr Christophe,

Le processus est simple:

On crée un projet sur Vivado, ensuite on démarre le Code Générator, puis Matlab... si on fait l'inverse ça marchera pas on n'aura pas les blocs Simulink de Xilinx.

Sous Simulink on crée le projet que l'on veut faire, et on fait des modules qui seront mis au point les uns après les autres, jusqu'à obtention d'un unique fichier qui représente le projet total, et qui sera sauvegardé sous .slx ou .mdl

Ensuite si il n'y a pas d'erreur on lance la génération de code depuis le Codegenerator.. Lui va ouvrir un dossier netlist dans lequel on trouvera un fichier .xise entre autre.

Ensuite on va sur Vivado, on lance ce fichier .xise et lui va poser des questions, faire tous les tests, et quand ce sera bon, vous créer le fichier qui va servir à programmer le FPGA, si celui-ci est relié à l'ordi il n'y a qu'à démarrer la prog, et ça devrait bien se passer... Ensuite passer aux essais!

Je connais bien K6JCA avec qui je travaille depuis longtemps, son git n'est pas exploitable, car il a été créé avec un Matlab 2009 et la suite Xilinx ISE 12... Et porter sa réalisation sur les logiciels actuels n'est pas possible, car nombre de blocs ont évolué, en particulier les Compilers.. IL faut tout repenser, et ne garder que la genèse du projet!

En plus il manque le programme qui gère l'arduino, et donc il faut le réécrire sinon rien ne marche!

K6JCA est conscient de ça, mais il est parti vers d'autres sujets, et ne pense pas reprendre les FPGA qui lui ont mangé bcp de temps!

Voilà pour le moment,  faites toutes vos découvertes pour maîtriser Xilinx. surtout n'essayer pas encore de doubler Xilinx et Altera ça vous perturberais.

Bob Dimanche

73

JP F5MI

PS: Il faut commencer par un récepteur simple qui ne décode que la SSB par exemple, c'est déjà assez compliqué. ensuite on ajoute des modules..

 

  • Merci ! 1

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...