Logo de la rubrique Développez un Système embarqué sur SoC FPGA

Développez un Système embarqué sur SoC FPGA

Certains projets de systèmes embarqués impliquent du traitement d’image. Les SoC FPGA sont adaptés à ce type de situations, ils embarquent sur une même puce un processeur et un FPGA. Les deux unités de calcul communiquent via un bus de communication accessible depuis l’espace utilisateur, ou plus simplement par un partage d’une zone de la RAM. Cette formation a pour but de présenter la méthodologie pour embarquer Linux sur le processeur pour les tâches de communication et développer en VHDL vos applicatifs dédiés au traitement d’image sans pénaliser le CPU.

OBJECTIFS

Savoir répondre aux questions suivantes : Dans quels cas l’utilisation de SoC FPGA peut rendre possible un projet ? Quels sont les opérations réalisables efficacement par la programmation d’un FPGA ? Quel est l’effort à mettre en œuvre pour réaliser un déploiement de ce type d’architecture ? Les participants auront l’expérience d’une mise en oeuvre réelle sur SoCFPGA.

PUBLIC VISE

Techniciens et Ingénieurs concepteurs de systèmes embarqués. Pas d’expérience requise en développement sur FPGA

PREREQUIS

Avoir des notions de C et connaitre les lignes de commande sous Linux. Les notions de base en VHDL ou Verilog ne sont pas nécessaires pour cette formation. Un PC avec webcam, haut-parleur et micro et une liaison Internet sont requis.

INTERVENANT

Docteur en informatique et système embarqué. Développeur FPGA.
Le programme CAP’TRONIC aide, chaque année, 400 entreprises à monter en compétences sur les technologies liées aux systèmes électroniques et logiciel embarqué

DUREE

3 jours soit 21h

PRIX

Consulter Sébastien SALAS, salas@captronic.fr - 06 87 83 32 32

LIEU

Formation présentielle ou distancielle
A distance, les accès à un outil informatique en ligne adapté seront fournis au stagiaire avant le démarrage de la formation.
En présentiel, surface de salle permettant de respecter les mesures sanitaires de distanciation sociale, salle équipée d’un outil de projection et connexion à Internet.

PROGRAMME

Tour de table

JOUR 1 Mise en oeuvre du SoC FPGA de10-nano Introduction Du cahier des charges du projet à l’architecture réseau

De l’architecture réseau aux contraintes sur les unités de calcul embarquées
Puissance de calcul embarquée, les problématiques classiques : autonomie énergétique, réactivité, calcul algorithmique, compilation de statistiques, réseau de neurones artificiels, traitement du signal, capteurs et communications. Le SoC FPGA une proposition de résolution du problème d’occupation CPU.
Comment programmer un SoC FPGA chez Intel
Comment un FPGA réalise l’implémentation d’un algorithme de traitement du signal
Programmer un FPGA en HDL (VHDL / Verilog)
Communication entre un le HPS et le FPGA chez Intel : AXI, Avalon MM, port parallèle, accès à la RAM
Quartus ii et Platform Designer
Mettre en oeuvre la distribution Linux fournie
Récupérer l’image de la carte SD fournie par Terasic
Démarrer la carte de prototypage et prendre le contrôle du SoC en UART
Identifier dans la documentation du SoC les informations pour piloter des Leds depuis le HPS
Les outils de développement : Quartus ii, Soc EDS, Linaro
Communication entre le HPS et le FPGA, piloter les Leds depuis Linux en envoyant au FPGA une commande sur un port parallèle, le FPGA se chargeant du pilotage des Leds
[Pour ceux qui sont en avance] Mettre en oeuvre sa propre distribution Linux pour SoC Intel
Le bootloader, le Noyau Linux et la distribution Linux sur un SoC FPGA Intel
Configurer et compiler u-boot
Récupérer et compiler les sources du noyau Linux fourni par Altera
Configurer une distribution Linux
Créer une carte SD avec Linux
Démarrer sur la nouvelle distribution Linux Activer la communication entre Linux et le FPGA (avec un device tree)

JOUR 2 Décharger le CPU d’une opération

Décharger le CPU d’une opération en un port classique
Ouvrir et configurer le squelette de projet fourni par Terasic
Développer une opération parallèle sur FPGA
Configurer Platform Designer que le HPS communique avec le FPGA via un bus Avalon
Appeler la procédure du FPGA depuis l’espace utilisateur Linux en transférant les paramètres via le port parallèle Avalon.
Limitations du bus de communication parallèle, avantages d’utiliser la RAM.
Décharger le CPU en utilisant la RAM
Réserver une zone de RAM aux échanges entre HPS et FPGA
Configurer Platform Designer
Appeler la procédure du FPGA avec les données en RAM

JOUR 3 Cas d’application en traitement d’image

Décharger le CPU : seuillage d’image sur FPGA
Préparer l’envoi d’une image (formats d’image en OpenCV)
Configurer Platform Designer
Compiler la procédure de seuillage de pixel pour FPGA
Appeler la procédure de seuillage sur FPGA avec les données en RAM
Conclusion
Avantages/difficultés du déchargement du CPU en utilisant un SoC FPGA
Rappel des étapes de développement
A venir dans une formation complémentaire : communication entre le HPS et le CPU via un module noyau (fichier caractère), utiliser les ports d’entrée-sortie du FPGA pour le pilotage de capteurs/actionneurs en temps-réel. Utiliser un écran tactile pour obtenir une tablette dédiée au traitement du signal embarqué.

Tour de table

ORGANISATION

Moyens pédagogiques : Outil de visioconférence si formation à distance - Support de cours - Etude de cas – Démonstration ou travaux pratiques. Une assistance pédagogique sur le cours sera assurée par le formateur pendant 1 mois à l’issue de la formation.
Moyens permettant d’apprécier les résultats de l’action : Evaluation de l’action de formation par l’envoi d’un questionnaire de satisfaction à chaud à l’issue de la formation, puis d’un questionnaire à froid quelques semaines après la formation.
Moyen permettant de suivre l’exécution de l’action : Evaluation des connaissances via un questionnaire avant et après la formation. En présentiel, feuilles de présence signées par chaque stagiaire et le formateur par demi-journée de formation.
Sanction de la formation : Attestation de présence ou d’assiduité

RENSEIGNEMENTS ET INSCRIPTION

Sébastien SALAS, salas@captronic.fr - 06 87 83 32 32
Pour toute question y compris les conditions d’accès pour les publics en situation de handicap.


Informations mises à jour le 13/01/2023