Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Slides:



Advertisements
Présentations similaires
LES NOMBRES PREMIERS ET COMPOSÉS
Advertisements

PC / Traitement numérique / Contrôle Environnement logiciel
11 - Composants dun routeur. Sommaire 1)Sources de configuration externes 1)Composants de configuration internes et commandes détat associées.
Martin Guibert Pereira Helder Steven Ly Aiman Krissane.
Coupe de France de Robotique 2007 Candidat n°4 – Steven LY BTS IRIS – PROMOTION
Architecture de machines Les entrées sorties Cours
TECHNOLOGIE DES ORDINATEURS
LIRMM 1 Journée Deuxièmes années Département Microélectronique LIRMM.
Projet RLI 2002: Etude du chip SC12
Smart House System Framework Vincent Chicherie
JXDVDTEK – Une DVDthèque en Java et XML
Formation Technique 6èmepartie.
Guillaume KRUMULA présente Exposés Système et Réseaux IR3 Mardi 5 Février 2008.
13 - Plate-forme logicielle Cisco IOS
Codage par transformées(1)
Architecture de réseaux
Génération interactive dimages projectives : Application à la Radiothérapie Pierre BLUNIER Du 01/12/2002 au 28/03/2003 Centre Léon Bérard.
Baccalauréat professionnel SEN
Modélisation et commande hybrides d’un onduleur multiniveaux monophasé
Jc/md/lp-01/05Boot Loader1 BOOT LOADER. jc/md/lp-01/05Boot Loader2 Objectif du chapitre Introduire la notion de Boot Loader Donner un aperçu de lorganisation.
L’encodage des images informatiques
TRANSMISSION DES DONNEES INFORMATIQUES
Architecture de machines Principes généraux
Conception d’une application de gestion de fiches études
Présentation d’un design de carte vidéo
Le Concept. Régulation électronique LonWorks communicante pour application poutre froide.
GTCB Kahila Boulbaba BTS IRIS Session Sommaire Description du projet Présentation Moyen mis en œuvre Interaction entre les éléments Répartition.
Cours Systèmes logiques
ARCHITECTURE GLOBALE CAPTAGE Traitement DES des données GRANDEURS
Topic: CP Advanced Name: P. BRASSIER Department: A&D.
Coupe de France de Robotique 2007 Candidat n°4 – Steven LY BTS IRIS – PROMOTION
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
Département informatique Automne 2013
Définition – Rôle Formes Composants Périphériques internes
Informatique générale
Application des algorithmes génétiques
Gestion des Périphériques
Serveurs Partagés Oracle
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
Interaction audio sur le site web du LIA
Architecture des Ordinateurs
Virtual Local Area Network
Configuration de Windows Server 2008 Active Directory
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
@SSR – Installation des applications eduscol.education.fr/securite - février 2007 © Ministère de l'Éducation nationale, de l'Enseignement supérieur et.
Module 3 : Analyse des performances du serveur
Détection du meilleur format de compression pour une matrice creuse dans un environnement parallèle hétérogène Olfa HAMDI-LARBI.
Projet de Master première année 2007 / 2008
L ’acquisition d ’images
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Coupe de France Robotique 2007
Afficheur industriel « AIW » MAT Électronique
Outil de gestion des cartes grises
LES PILES ET FILES.
Module 8 : Surveillance des performances de SQL Server
MICROLOR Le savoir partagé
Power PC embarqués et accélérateurs matériels pour des cibles de type FPGA Julien Dubois.
Les systèmes mono-puce
Images Matrice de points (pixels) Caractérisée par : Poids en octets
SURVEILLANCE VIDEO SUR RESEAU ETHERNET
Noyau Linux et multi-processeur sur plateforme embarquée ST50 Vendredi 18 Mars 2005 – Thomas Petazzoni.
Implantation de processeurs dans les FPGA et ASIC
Les FPGA « Field Programmable Gate Array »
LES MEMOIRES.
SUNDANCE Multiprocessor Technology Ltd. Yann CLIN Stage effectué de février à juin Superviseur technique: Jocelyn SEROT Superviseur industriel: Emmanuel.
TIPE : JPEG Romain Fliedel MP
GTCB Kahila Boulbaba BTS IRIS Session Sommaire Description du projet Présentation Moyen mis en œuvre Interaction entre les éléments Répartition.
CEA DSM Irfu 29 / 12 / Christophe Cara - Développement d’un SoC LEON Séminaire ‘instrumentation’ FPGA intégrant un microprocesseur Développement.
Intervention sur un système technique Afficheur industriel « AIW »
Transcription de la présentation:

Mémoire d'Ingénieur CNAM en Electronique 05/12/2006 MISE EN ŒUVRE D’UNE APPLICATION DE TRAITEMENT D’IMAGE SUR LA PLATE FORME ML310 BMP JPEG Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Mémoire d'Ingénieur CNAM en Electronique 05/12/2006 PLAN Définition des systèmes sur puce Description de la carte de prototypage rapide ML310 Description puis l’implantation du module de compression d’image JPEG en matériel Partie logicielle de l’application de traitement d’image Démonstration Conclusion Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Mémoire d'Ingénieur CNAM en Electronique 05/12/2006 But du projet Réaliser une application de traitement d’image en utilisant au mieux les ressources de la carte ML310 : capacités du FPGA embarqué capacités des périphériques matériels capacités logicielles Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Les systèmes sur puce Actuellement Début années 90 Définition des systèmes sur puce Les systèmes sur puce Début années 90 Actuellement Système sur circuit imprimé Implantation dans un seul composant ASIC ou FPGA Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Définition des SOPC/SOC Définition des systèmes sur puce Définition des SOPC/SOC « System On Programmable Chip» : est une collection d’éléments en interaction sur un seul circuit programmable. Cependant, tous les circuits intégrés ne sont pas des SOPC, un SOPC implémente une fonction « complète »  Décodeur MPEG2 vidéo + audio + système + transport + graphique + interface utilisateur Les éléments constitutifs d’un SOPC sont "complexes", réutilisables et de nature variée Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Avantages du système sur puce Définition des systèmes sur puce Avantages du système sur puce Faible encombrement Robustesse améliorée (mécanique, électromagnétique) Faible consommation électrique Meilleures performances en fréquence Temps de mise sur le marché plus court Diminution du coût global Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Contraintes des systèmes sur puce Définition des systèmes sur puce Contraintes des systèmes sur puce Méthodologie de développement plus stricte Absence d ’outils « polyvalent » pour le partitionnement automatique logiciel/matériel De fortes dépendances entre le logiciel et le matériel Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Mémoire d'Ingénieur CNAM en Electronique 05/12/2006 Définition des systèmes sur puce Les FPGA pour les SOPC Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Description de la carte de prototypage rapide ML310 Les caractéristiques matérielles Les outils de développement du matériel Les outils de développement du logiciel Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Mémoire d'Ingénieur CNAM en Electronique 05/12/2006 Description de la carte de prototypage rapide ML310 Audio, Ethernet USB, ports Série et // DDR PCI JTAG FPGA IDE Compact Flash E/S Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Mémoire d'Ingénieur CNAM en Electronique 05/12/2006 Description de la carte de prototypage rapide ML310 Le FPGA XC2VP30 8 Unités de gestion des horloges Multiplication/Division de fréquence Contrôle du déphasage des horloges 4 RocketIO Multi-Gigabit Convertisseurs Série => Parallèle Jusqu’à 6,3 Gbit/s 136 Multiplieurs 18x18 bits résultat sur 36 bits 136 Blocs SelectRAM Mémoire double port de 18Kb Configurables de 16Kx1bit à 512x36bits 556 Entrées/Sorties « SelectIO Ultra » Configurable en tension 1,2 à 3,3V 47 Normes différentes PCI,LVTTL… 2 PowerPC 405 Masque créé par IBM Processeur RISC fonctionnant à 300MHz Blocs Logiques Configurables « CLB » Réalisation de fonctions logiques synchrones, asynchrones ou de mémorisation Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Les périphériques de la ML310 Description de la carte de prototypage rapide ML310 Les périphériques de la ML310 CF System ACE JTAG 256MB DDR DIMM RS232 High-Speed PM1 SMBus EEPROM SPI High-Speed PM2 GPIO/LEDs Bus PCI page suivante Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Mémoire d'Ingénieur CNAM en Electronique 05/12/2006 Description de la carte de prototypage rapide ML310 Bus PCI 3,3V du FPGA Intel GD82559 10/100 Ethernet NIC RJ45 TI PCI 2250 PCI 5V PCI 3,3V Ali M1535+ South Bridge AMD Flash RS232(2) GPIO PS/2 K IDE(2) Port // USB(2) SMBus Audio Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Outils de développement matériel de la carte ML310 Description de la carte de prototypage rapide ML310 Outils de développement matériel de la carte ML310 ISE Développement Matériel de l’IP Simulation MODELSIM Synthèse SYNPLIFY Xilinx Platform Studio Développement de la Plate Forme Matérielle Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Outils de développement du matériel de la carte ML310 Description de la carte de prototypage rapide ML310 Outils de développement du matériel de la carte ML310 Xilinx Platform Studio (XPS) Développement de L’interface entre l’IP et la Plate Forme Matérielle Développement de la Plate Forme Matérielle Carte ML310 PPC Interface BUS/IP Périphériques et Bus Cartes Périphériques Bus CoreConnect IP ISE ISE FPGA XC2VP30 Entrées Sorties Développement Matériel de l’IP Générer le BitStream IP ISE Simulation MODELSIM Synthèse SYNPLIFY Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Outils de développement du logiciel de la carte ML310 Description de la carte de prototypage rapide ML310 Outils de développement du logiciel de la carte ML310 Mode Stand-Alone avec Xilinx Platform Studio Réservé aux applications simples Les librairies pour accéder aux périphériques sont à développer par l’utilisateur Utilisation d’un système d’exploitation OS VxWorks Nécessite des équipements matériels supplémentaires (VisionProbe) Nécessite des outils délivrés sous licences payantes (SingleStep, Tornado) Linux Pas de matériel supplémentaire De nombreux outils libres et sous licences disponibles Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Outils de développement du logiciel pour LINUX Description de la carte de prototypage rapide ML310 Outils de développement du logiciel pour LINUX L’Utilisateur Interpréteur de commandes Les Applications Noyau Linux Drivers et Modules Linux Partie libre Le Matériel Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Outils de développement du logiciel pour LINUX 2 Description de la carte de prototypage rapide ML310 Outils de développement du logiciel pour LINUX 2 Xilinx Platform Studio Version d’évaluation De MontaVista Librairies + Noyau Linux Générique = Noyau Linux Drivers et Modules Linux Compilateur Croisé CrossTool Les applications de traitement d’image Compilateur Gcc Les utilitaires « Server Web, librairies… » Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Répartition des applications Description de la carte de prototypage rapide ML310 Répartition des applications Liaison Ethernet Carte ML310 PC Disque dur du PC Xilinx Platform Studio Version d’évaluation De MontaVista Xilinx Platform Studio Version d’évaluation MontaVista Noyau Linux Drivers et Modules Linux Console Telnet Compilateur Croisé CrossTool Disque partagé CrossTool Cartes Compact Flash Les Applications de traitement d’image Compilateur Gcc Compilateur Gcc Disque Dur de la ML310 Les utilitaires« Server Web, librairies… » Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

APPLICATION DE TRAITEMENT D ’IMAGE Principe de la compression JPEG Préparation de l’implantation du noyau JPEG sur le FPGA de la carte ML310 Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Principe de la compression JPEG Application de traitement d’image Principe de la compression JPEG Le format de fichier embarquant un flux codé en JPEG est JFIF (JPEG File Interchange Format, soit en français Format d'échange de fichiers JPEG), Encodage de l'image en parcourant le bloc en zig-zag suivi d’un codage RLE ou codage des répétitions pour enlever un maximum de valeurs nulles Application de la fonction 2D DCT transformation en cosinus discrète qui décompose la matrice 8x8 en somme de fréquences Quantification de chaque bloc, on applique un coefficient de perte pour diminuer valeurs des hautes fréquences (ratio taille/qualité) Rééchantillonnage de la chrominance, car l'oeil ne peut discerner de différences de chrominance au sein d'un carré de 2x2 points Découpage de chaque composante en blocs de 8x8 points Compression de l'image avec la méthode d'Huffman Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Caractéristique du noyau JPEG Application de traitement d’image Caractéristique du noyau JPEG Composant JPEG est disponible sur le site OPENCORE Respecte la norme JPEG ISO ITU-T81: Basé sur une DCT à 2D. Encodage selon la méthode Huffman. Type de fichier de sortie JFIF Header. Trois taux de compression pour une image couleur ou noir et blanc RGB de 352x288 codée sur 24bits. Ressources matérielles : Prévu pour être implanté dans un FPGA XILINX Virtex XC2V1000 (Technologie précédant le Virtex II Pro) Conçu à partir de 3 IP Xilinx Coregen dont la DCT (2D Forward DCT) 11 BlockRAMs utilisés, 3969 LUTs utilisées Fréq. Horloge : 41.2 MHz for XC2V1000-4 Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Adaptation du code JPEG à la cible FPGA XC2VP30 Application de traitement d’image Adaptation du code JPEG à la cible FPGA XC2VP30 Xilinx Platform Studio Adaptation de l’OpenCore JPEG Pour un FPGA XILINX XC2VP30 ModelSim OpenCore JPEG Pour un FPGA XILINX XC2V1000 Simulations Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Mémoire d'Ingénieur CNAM en Electronique 05/12/2006 Application de traitement d’image Résultats Occupe 7976 LUT soit 29% du FPGA Peut être implanté en plus de l’environnement PCI Constats: La fréquence de fonctionnement maximale simulée après placement routage est de 33MHz Le fonctionnement du code de simulation n’est pas stable Le fichier de l’image compressée JPEG est généré pour la simulation fonctionnelle du code VHDL Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Modifications apportées Application de traitement d’image Modifications apportées Résolution des problèmes liés à l’instabilité du code Réécriture du fichier de simulation Amélioration de l’interface de contrôle du composant Ajout d’une FIFO d’entrée Ajout d’un contrôleur de remplissage de la FIFO Ajout d’un contrôleur de synchronisation de la compression Obtention du fichier de l’image compressée JPEG Ajout de la logique nécessaire et de la mémoire pour stocker le fichier résultat selon le standard JPEG Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Le composant JPEG modifié Application de traitement d’image Le composant JPEG modifié JPEG Modifié Nb L/C IM C/NB Données Compressées OpenCore JPEG Pour un FPGA XILINX XC2VP30 Buffer de Stockage de l’image JPEG Contrôleur de Compression RGB Logique de Gestion des adresses Busy RGB FIFO D’Entrée La FIFO Contient Des Données FIFO Pleine RGB Contrôleur de Remplissage Données Compressées Lancement de La compression Initialisation de la compression Attente de la Fin de Compression Extraction de L’image JPEG Compression Terminée Image Envoyée Envoi de L’image RGB Fichier JPEG Reset du composant Nouveau Fichier de Simulation Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Préparation de l’implantation Application de traitement d’image Préparation de l’implantation Répartition des Entrées/sorties sur 4 registres de 32 bits Trois en entrée Un en sortie 33MHz 100MHz Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Résultat de la simulation du composant JPEG modifié 2 Application de traitement d’image Résultat de la simulation du composant JPEG modifié 2 Effets de blocs dus à la DCT Image BMP 352x288 24 bits 297 Ko (304 182 octets) Image JPEG 352x288 24 bits 9.96 Ko (10 204 octets) Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

IMPLANTATION DU COMPOSANT JPEG SUR LA CARTE ML310 Le choix des interfaces entre le processeur et le composant Les résultats de l’implantation Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Interfaçage du composant JPEG au bus Coreconnect Implantation du composant JPEG sur la carte ML310 Interfaçage du composant JPEG au bus Coreconnect Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Résultats de l’implantation du composant JPEG sur la carte ML310 La fréquence de fonctionnement réelle est de 10MHz Capacité de traitement maximum 6 images par secondes au format 352x288 24 bit quelque soit la charge du processeur sous Linux Taux Faible Taux Moyen Taux Fort Moyenne pour 10 Images de 352x288 12 25 61 Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Mémoire d'Ingénieur CNAM en Electronique 05/12/2006 PARTIE LOGICIELLE Cahier des charges de la partie logicielle Séquence d’acquisition puis de compression depuis une page HTML Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Cahier des charges pour la partie logicielle Acquisition de l’image depuis une WebCam connectée sur le port USB de la ML310 Application utilisable depuis le réseau Ethernet Lancement de l’acquisition/compression depuis une page HTML Avec paramétrage de la taille de l’image Affichage de l’image prise par la WebCam Sur la page HTML et sur un moniteur relié à la carte ML310 Affichage des images compressées sur le page HTML Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Déroulement de l’application logicielle Partie logicielle Déroulement de l’application logicielle YUV420 640x480 640x480 Initialisation De la WebCam En 640x480 Lancement de l’application depuis un Navigateur Windows Lancement de L’Acquisition Puis de la Compression Carte ML310 JPEG C1-1 320x240 JPEG C3-1 320x240 JPEG C2-1 320x240 Liaison Ethernet Disque Dur BMP 320x240 BMP 320x240 BMP 320x240 BMP 320x240 BMP 320x240 Serveur Apache BMP 640x480 YUV420 640x480 BMP 640x480 BMP 320x240 BMP 320x240 JPEG C1-1 320x240 JPEG C1-2 320x240 JPEG C1-3 320x240 JPEG C1-4 320x240 JPEG N1-1 320x240 JPEG N1-2 320x240 JPEG N1-3 320x240 JPEG N1-4 320x240 JPEG C2-1 320x240 JPEG C2-2 320x240 JPEG C2-3 320x240 JPEG C2-4 320x240 JPEG N2-1 320x240 JPEG N2-2 320x240 JPEG N2-3 320x240 JPEG N2-4 320x240 JPEG C3-1 320x240 JPEG C3-2 320x240 JPEG C3-3 320x240 JPEG C3-4 320x240 JPEG N3-1 320x240 JPEG N3-2 320x240 JPEG N3-3 320x240 JPEG N3-4 320x240 Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Mémoire d'Ingénieur CNAM en Electronique 05/12/2006 Démonstration Lancement de la console en mode Telnet Page du serveur Apache Lien vers l’acquisition puis compression d’une image de 640x480 24bits Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Mémoire d'Ingénieur CNAM en Electronique 05/12/2006 Conclusion L’application est fonctionnelle même si les performances ne sont optimales D’un point de vue personnel Acquérir des connaissances sur les FPGA Programmation Simulation Synthèse Implantation Acquérir des connaissances sur le logiciel embarqué Mise en place d’un OS Développement des couches logicielles bas niveau Mémoire d'Ingénieur CNAM en Electronique 05/12/2006

Mémoire d'Ingénieur CNAM en Electronique 05/12/2006 QUESTIONS ? Mémoire d'Ingénieur CNAM en Electronique 05/12/2006