Aller au contenu


Photo
- - - - -

Microsemi SmartFusion et autres SoC FPGA

FPGA Soc Cortex-M3

2 réponses à ce sujet

#1 Jekert

Jekert

    Auteur

  • Modérateur
  • PipPip
  • 223 messages
  • Gender:Male

Posté 19 février 2021 - 03:23

Hey,

 

On voit souvent sur les forums la question Arduino ou Raspberry, mais on croise plus rarement celle de microcontrôleur ou FPGA qui prend aussi un peu d'importance avec l'arrivée de FPGA abordables.

 

D'un côté, on a les microcontrôleurs que l'on a l'habitude de voir, on les programme facilement et ils exécutent le code qu'on leur donne ligne après ligne.

D'un autre coté, il y a les FPGA (Field Programmable Gate Array), ce sont des puces capables de reconfigurer leur logique interne en fonction de vos besoins. Il est possible de concevoir un schéma logique sur le logiciel et il sera automatiquement recréé dans la puce. La complexité du schéma peut aller d'une simple porte NAND à un microcontrôleur complet voir même un microprocesseur. Leurs avantages sont de pouvoir effectuer de nombreuses tâches en simultané lorsque l'on utilise une logique combinatoire (schéma à base de portes logiques uniquement) ou d'utiliser une architecture pipe-line pour faire plusieurs tâches en parallèle. Ils sont aussi utilisés pour tester les microprocesseurs avant de faire la première série de production.

 

Cela fait 3 ans que j'utilise des FPGAs lors de TP à la fac et je me suis souvent demandé si il existait une puce (SystemOnChip) qui comporterait à la fois un ASIC et un FPGA pour avoir le meilleur des 2 mondes. Et récemment, j'ai pu tester une carte SMF2000 (SmartFusion2) ainsi qu'une carte de développement à base de SmartFusion1. Pour le moment, je trouve encore leur utilisation plus complexe que si je disposai de 2 cartes séparées, malgré la HAL (Hardware Abstraction Layer, une couche entre la programmation haut niveau en C et le matériel). Celle-ci est plutôt bien documentée grâce à des programmes d'exemples pour les fonctions les plus utilisées ainsi qu'une description détaillée de chaque fonction de leurs bibliothèques.

 

Pour programmer la carte on commence par créer la partie FPGA sur le logiciel Libero SoC de MicroSemi qui contient aussi l'interface avec le Cortex-M3, il est possible de faire des simulations avec ModelSim avant de programmer la carte. Puis on génère les firmwares pour le programme C et on bascule sur un autre logiciel, SoftConsole, pour la compilation du code et le debug. C'est la première fois que j'utilise une fonction de debug et je dois avouer que c'est plutôt pratique, il permet de lancer le programme ligne après ligne et observer les différents états du microprocesseur.

 

Exemple:

J'ai fait un petit test simple à l'aide du bouton poussoir et d'une led sur la carte, le but de diviser l'horloge (programme fait en VHDL) pour qu'elle dispose d'un cycle d'une seconde puis de faire passer ce signal dans une porte logique ET pour compter le nombre de secondes pendant lequel le bouton est appuyé. Sur le microcontrôleur il y a une interruption qui détecte le changement d'état, incrémente le compteur et affiche la valeur sur le port Série. La partie logique ressemble à ceci :

libero_QD3qwAWrrJ.png

B est le bouton, s la led, et Y est la connexion entre le FPGA et le microcontrôleur.

 

Prix :

On m'a aussi parlé d'une carte intéressante nommée QuickFeather qui comprend elle aussi un FPGA et un Cortex-M3 mais qui possède une toolchain entièrement opensource.

Niveau prix, le SMF2000 et la QuickFeather sont toutes les deux proposées à un peu plus de 40€.

 

 

Pour le moment je n'ai pas encore de projet précis avec cette carte (je ne m'attendais pas à en avoir une prochainement), mais je trouvais ces cartes intéressantes pour tenter d'obtenir des systèmes Low Power sans avoir à atteindre entièrement le SoC. J'aimerais aussi tester une FFT ou au moins un FIR sur le FPGA et utiliser le Cortex-M3 pour communiquer avec le PC.

Est-ce que vous avez déjà utiliser des cartes similaires ? Et si oui, sur quel type de projets ?

 
P.S: Pour accélérer le développement de produits sur FPGA on peut utiliser des modules pré-faits, ceux inclus avec Libero ne me suffisant pas, je vous partage les liens de sites qui répertorient des modules open source que vous pouvez importer sur la plupart des cartes FPGA:

 


Mon blog  ------  101robotics.com

Ouvrage    -----  Guide pour débuter avec Arduino

Ancien Blog  --  Journal d'un Arduinaute


#2 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 766 messages
  • Gender:Male

Posté 19 février 2021 - 06:27

Coïncidence ! Il y a quelques jours, j'ai visionné cette vidéo que j'ai trouvé très intéressante.

C'est hors de ma portée, mais j'essaye de me tenir au courant des dernières techniques existantes.

 

Peut-être que cela pourrait t'intéresser, voir intéresser d'autres personnes.

 

Les vidéos d'Eric PERONNIN sont très intéressantes, en particulier la série sur Arduino qu'il vient de commencer. Le problème, c'est que j'ai du mal à le suivre tellement il est productif. Ses journées doivent avoir 48h . . .

 



#3 Jekert

Jekert

    Auteur

  • Modérateur
  • PipPip
  • 223 messages
  • Gender:Male

Posté 19 février 2021 - 10:37

Coïncidence ! Il y a quelques jours, j'ai visionné cette vidéo que j'ai trouvé très intéressante.

C'est hors de ma portée, mais j'essaye de me tenir au courant des dernières techniques existantes.

 

Peut-être que cela pourrait t'intéresser, voir intéresser d'autres personnes.

 

Les vidéos d'Eric PERONNIN sont très intéressantes, en particulier la série sur Arduino qu'il vient de commencer. Le problème, c'est que j'ai du mal à le suivre tellement il est productif. Ses journées doivent avoir 48h . . .

 

Super intéressant ! Je vais jeter un oeil à ses projets mais je te comprends, je sais pas comment il fait pour poster autant de vidéos par semaines...

 

Comment j'ai pu passer à coté de la MKR Vidor ^^


Mon blog  ------  101robotics.com

Ouvrage    -----  Guide pour débuter avec Arduino

Ancien Blog  --  Journal d'un Arduinaute




Répondre à ce sujet



  


0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users