TP2 Synthèse d'un Générateur Basse Fréquence GBF



Documents pareils
Manipulations du laboratoire

SIN-FPGA DESCRIPTION PAR SCHEMA

QUESTION 1 {2 points}

La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA)

ELP 304 : Électronique Numérique. Cours 1 Introduction

Le langage VHDL. Eduardo Sanchez EPFL

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

SYSTEME DE PALPAGE A TRANSMISSION RADIO ETUDE DU RECEPTEUR (MI16) DOSSIER DE PRESENTATION. Contenu du dossier :

T. BLOTIN Lycée Paul-Eluard SAINT-DENIS

GPA770 Microélectronique appliquée Exercices série A

TP Modulation Démodulation BPSK

Conception Systèmes numériques VHDL et synthèse automatique des circuits

CONVERTISSEURS NA ET AN

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

Conception Systèmes numériques VHDL et synthèse automatique des circuits

Partie Agir : Défis du XXI ème siècle CHAP 20-ACT EXP Convertisseur Analogique Numérique (CAN)

CARACTERISTIQUE D UNE DIODE ET POINT DE FONCTIONNEMENT

Oscilloscope actif de précision CONCEPT 4000M

REALISATION D UNE CALCULATRICE GRACE AU LOGICIEL CROCODILE CLIPS 3.

TD Architecture des ordinateurs. Jean-Luc Dekeyser

TRAVAUX PRATIQUES SCIENTIFIQUES SUR SYSTÈME

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

LYCEE TECHNIQUE PIERRE EMILE MARTIN BOURGES ETUDE D UN TRAITEMENT DE SURFACE

Fiche technique CPU 314SC/DPM (314-6CG13)

TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3 & ' " ( ) '*+ ", ##) # " -. /0 " 1 2 " 3. SIMULATION 7 " - 4.

A. N(p) B + C p. + D p2

1. PRESENTATION DU PROJET

VIII- Circuits séquentiels. Mémoires

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté

COMMANDER A DISTANCE LE ROBOT-PONG ETUDE DE LA TELECOMMANDE (2 nde PARTIE)

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

Equipement. électronique

Information. BASES LITTERAIRES Etre capable de répondre à une question du type «la valeur trouvée respecte t-elle le cahier des charges?

RÉALISATION ET MISE AU POINT D UN SYSTÈME DE TÉLÉSURVEILLANCE VIDÉO

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

Éléments d'architecture des ordinateurs

I- Définitions des signaux.

- Instrumentation numérique -

Mini_guide_Isis_v6.doc le 10/02/2005 Page 1/15

1 Démarrer L écran Isis La boite à outils Mode principal Mode gadget Mode graphique...

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Régler les paramètres de mesure en choisissant un intervalle de mesure 10µs et 200 mesures.

PIC EVAL Dev Board PIC18F97J60

IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Mini_guide_Isis.pdf le 23/09/2001 Page 1/14

Transmissions série et parallèle

SYSTEME DE TELESURVEILLANCE VIDEO

Transmission d informations sur le réseau électrique

IUT BREST UN LOGICIEL SCADA : PC VUE 2010 DEP.GMP

Le multiplexage. Sommaire

Animation pédagogique sur l oscilloscope à mémoire Hameg HM 507

Projet M1 Année scolaire 2013/2014

Lecteur de carte à puce LCPM1 SOMMAIRE

Génie Logiciel avec Ada. 4 février 2013

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

SYSTEME D ALARME. Etude d un objet technique : Centrale d alarme. LP Porte d Aquitaine - Thiviers Page 1/13

La programmation des PIC en C. Les fonctions, les interruptions.

Chapitre 4 : Les mémoires

LOGICIEL DC4D MONITOR

Fiche technique CPU 315SN/PN (315-4PN33)

ANALYSE TRAMEs LIAISON SERIE

IFT1215 Introduction aux systèmes informatiques

Conception et réalisation d'une pédale MIDI

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

Sélection du contrôleur

Systèmes de transmission

COMMANDER la puissance par MODULATION COMMUNIQUER

AP1.1 : Montages électroniques élémentaires. Électricité et électronique

Comment aborder en pédagogie l aspect «système» d une chaîne télécom?

ASR1 TD7 : Un microprocesseur RISC 16 bits

CONFIGURATION DE L AUTOMATE SIEMENS

TP - Alarme de voiture / Approche fonctionnelle

MEMOIRES MAGNETIQUES A DISQUES RIGIDES

Guide Mémoire NETRAM

Présentation et installation PCE-LOG V4 1-5

Projet Active Object

V- Manipulations de nombres en binaire

NOTICE GPSTA1 I. DESCRIPTION II. ACCESSOIRES. J. R International - Eclats Antivols. 2014

Conception de circuits numériques et architecture des ordinateurs

Modules d automatismes simples

PRODUIRE DES SIGNAUX 1 : LES ONDES ELECTROMAGNETIQUES, SUPPORT DE CHOIX POUR TRANSMETTRE DES INFORMATIONS

LES TYPES DE DONNÉES DU LANGAGE PASCAL

ET 24 : Modèle de comportement d un système Introduction à Labview et initiation à la réalisation d un Instrument Virtuel (VI).

Didier Pietquin. Timbre et fréquence : fondamentale et harmoniques

Union générale des étudiants de Tunisie Bureau de l institut Préparatoire Aux Etudes D'ingénieurs De Tunis. Modèle de compte-rendu de TP.

TP: Représentation des signaux binaires. 1 Simulation d un message binaire - Codage en ligne

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

GUIDE DE PRISE EN MAIN ISIS PROTEUS V7

Débuter avec PsoC ou PsoC niveau 0

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES

NOTICE SIMPLIFIEE ER-A280F. I Initialisation avec Remise à Zéro de la caisse : ENTER PASSWORD ER-A280V. Ver1.02

KL5121. Pour activer des sorties en fonction de la position d'un codeur

Relais d'arrêt d'urgence, protecteurs mobiles

PROGRAMMATION EVENEMENTIELLE sur EXCEL

Gérer les règles de prix catalogue sur Magento

Méthodologies de développement de logiciels de gestion

Transcription:

Filière ELT 2 ème année TP2 Synthèse d'un Générateur Basse Fréquence GBF Le but final de ce TP est de réaliser un générateur basse-fréquence (GBF). Il doit être capable de produire un signal sinusoïdal, un signal carré, et un signal dent de scie. Le choix de la forme d onde se fait par deux interrupteurs. La Figure 1 schématise le circuit général à synthétiser. Figure 1- Schéma global du circuit à réaliser Travail 1 Dans un premier temps nous allons mettre en évidence l utilisation du CNA. Le circuit du convertisseur numérique analogique passif et disponible en TP est donné sur la Figure 2. Figure 2- Le circuit du CNA passif disponible en TP 1

- Connecter la carte CNA aux broches d'extension de la carte FPGA (connecteur d'expansion JD1). - Créer un nouveau projet que vous appellerez gbf. - Créer un nouveau module VHDL avec les entrées/sorties SW et CNA. - Ecrire l'architecture de ce circuit qui ne contiendra qu'une seule instruction d'affectation pour connecter les 8 interrupteurs de la carte nexys3 aux 8 sorties CNA. - Ajouter les contraintes concernant les broches. - Après avoir configuré le FPGA, visualiser sur l oscilloscope la tension analogique de la sortie du CNA. En agissant sur les 8 interrupteurs de la carte nexys3, observer la tension analogique obtenue. - Tracer une courbe qui relie la tension analogique lue sur oscilloscope et la valeur numérique en décimal représentée par les interrupteurs. Travail 2 : Ecrire le programme principal Nous allons créer dans un premier temps un signal de référence qui fixera le rythme. C'est un signal périodique dont la période est contrôlée par deux des interrupteurs de la carte nexys3. Le tableau cicontre résume la fréquence d'échantillonnage que l'on doit obtenir en fonction des états des switch. La forme de ce signal de référence que l'on appelle "clk_en" doit ressembler à un signal de triger comme présente la Figure 3. Figure 3- Le signal clk_en - Garder le projet précédent, on modifiera le programme gbf.vhd. - Changer dans l'entité le port d'entrée SW en FREQ. Ceci donnera le circuit schématisé sur la Figure 4. Figure 4- Process qui génère le signal clk_en - Ecrire un process pour réaliser un circuit qui produit le signal clk_en à partir de MCLK et FREQ. Le listing de ce process est le suivant: 2

process(mclk) begin if MCLK event and MCLK= 1 then clk_en <= 0 ; cmp <= cmp + 1; if cmp = compt_max then clk_en <= 1 ; cmp <= 0; end if; end if; end process; cmpt_max est un signal de type entier qui dépend de l'état des switch. Nous devons déclarer ce signal dans la partie déclarative de l'architecture. Un circuit combinatoire relie les états des switch (le signal FREQ) au compt_max. - Tracer un chronogramme qui illustre le signal MCLK, cmp et clk_en quand compt_max=3 et un autre quand compt_max=7. Pour le moment on ne teste pas le fonctionnement de votre programme. Nous allons y ajouter 3 components pour générer les 3 types de signaux (carré, dent de scie et sinusoïdal). Dans un premier temps, nous allons réaliser la partie concernant le générateur du signal carré dans un fichier séparé et nous allons l ajouter comme un component à ce programme principale "gbf.vhd". Travail 3 : Générateur du signal carré Le schéma bloc du circuit à réaliser est le suivant : Figure 5- Schéma fonctionnel du circuit Le circuit «sig_carre» est un sous-programme qui réalise un générateur du signal carré, à écrire dans un fichier séparé. L entité de ce circuit est la suivante (nom du fichier doit être identique au nom de l entité : sig_carre.vhd) : 3

entity sig_carre is Port( MCLK : in std_logic ; CLK_EN : in std_logic ; SIG_OUT : out std_logic_vector(7 downto 0)) ; End sig_carre; Figure 6- le bloc sig_carre - Ecrire l architecture de cette entité pour envoyer la valeur «11111111» en sortie SIG_OUT (qui correspond à la tension analogique la plus importante en sortie du CNA) pendant 128 coups de CLK_EN. Ensuite, envoyez «00000000» en sortie pendant 128 coups de CLK_EN ; et ainsi de suite. Cette entité constituera le component à utiliser dans le circuit principal. Remarque important : Dans tous les process synchrones que vous faites, synchronisez les process sur le front montant de l horloge principal (MCLK à 100 MHz). Pour obtenir des fréquences différant de l'horloge principale, utiliser plutôt des signaux «enable» avec une synchronisation sur l horloge principale : Process(CLK) Begin If CLK event and CLK= 1 then If CLK_EN= 1 then Série d instructions End if ; End if ; End process ; Il faudra que maintenant le circuit principale fasse appelle à ce bloc. Deux étapes à réaliser: 1- déclaration de component, 2- instanciation. Pour la déclaration on ajoute les lignes suivantes dans la partie déclarative de l'architecture de gbf. component sig_carre Port( MCLK : in std_logic ; CLK_EN : in std_logic ; SIG_OUT : out std_logic_vector(7 downto 0)) ; end component; 4

Pour câbler ce bloc dans le module gbf, on l'instancie dans l'architecture de gbf : Gene:sig_carre: sig_carre Port map( MCLK => MCLK, CLK_EN => clk_en, SIG_OUT => carre_out) ; - Connecter le signal carre_out au port CNA: CNA <= carre_out; - synthétiser gbf et vérifier la sortie analogique du CNA sur l oscilloscope. Est-ce que la fréquence change en jouant sur les interrupteurs? Est-ce que les valeurs des fréquences sont correctes? Travail 4 : Générateur dent de scie Maintenant nous allons y ajouter le générateur de dent de scie. Ce circuit est schématisé cidessous. X"01" 8 8 1 EN 8 D CLK Figure 7- Schéma fonctionnel du circuit, à gauche schéma comportemental, à droite schéma RTL Ajouter un nouveau module VHDL à votre projet (dent_scie.vhd) où vous écrivez un programme VHDL pour créer un générateur de signal dent de scie. L entité est la suivante : entity DENT_SCIE is Port ( CLK : in std_logic ; CLK_EN : in std_logic ; SIG_OUT : out std_logic_vector(7 downto 0)) ; end DENT_SCIE; Modifiez le circuit principal pour que l'on puisse sélectionner la forme d'onde (carré ou dent de scie) en utilisant l interrupteur 7 (SW7) de la carte. 5

Travail 5 : Générateur du signal sinusoïdal Le diagramme de flux d un oscillateur sinusoïdal est le suivant : Figure 8- Diagramme de flux d'un oscillateur numérique Un programme VHDL réalisant ce diagramme de flux peut être téléchargé de la page web du TP (dans la partie "Resources". Sauvegarder ce fichier dans le répertoire courant puis l ajouter à votre projet. Retourner à votre entité «gbf» pour déclarer ce nouveau component. Modifier le programme «gbf.vhd» en considérant le diagramme global de la page 1. Attention: Un nouveau signal est à ajouter dans l'entité "gbf" en tant qu'une entrée binaire (std_logic), c'est un signal RESET qui sera relié à un des boutons poussoirs de la carte (BTND par exemple). Travail 6 : Ajout d'un quatrième signal Nous allons utiliser la mémoire embarquée de FPGA pour produire un quatrième signal. Utilisant le "corgen", ajoutez à votre projet une mémoire de type ROM de taille 256 octets. Initialisez cette mémoire par 256 échantillons. Ces échantillons ont été déjà rangés dans un fichier qui peut être récupéré à partir de la page web de TP. Faites un programme VHDL qui instancie ce component (la ROM) et lui fournit une adresse allant de 0 à 255 de manière circulaire. Le circuit récupère la data de la ROM et la sauvegarde dans un registre et c est la sortie de ce registre qui constitue la sortie finale du bloc. Figure 9- Utilisation d'un LUT (Look Up Table) 6

Intégrer ce circuit comme un quatrième component à votre programme principal précédent. Maintenant il faudra que votre GBF crée 4 types de signal que l'on peut sélectionner utilisant deux des interrupteurs de la carte Nexys3. Conclusion Vous devez savoir réaliser des blocs hiérarchiques, de les déclarer dans un programme principal, et de les appeler (instancier). Dans ce TP, nous avons réalisé un système numérique avec une fréquence d'échantillonnage inférieure à la fréquence d'horloge de la carte. Vous avez appris d'utiliser un signal "enable" dans des process synchrone pour faire exécuter un process à une fréquence différant de la fréquence d'horloge principale. Ce signal "enable" a été réalisé moyennant un process synchrone et un compteur. N'oublions pas que la durée "haute" de ce signal est une seule période d'horloge. Vous avez appris aussi comment en utilisant une LUT, on peut générer un signal périodique quelconque. Exercice Sachant que nous avions un CAN sur 8 bits, comment la LUT a été remplie? En effet on a calculé un vecteur de taille 256 (taille de la mémoire) contenant des valeurs de sinus (avec le programme Matlab ci-dessous): t=(0:255)/pi*2; Sinx = sin(t); Ceci donne dans le tableau "Sinx" les valeurs de sinus en réel: - 1 1. Sachant que la tension minimale en sortie du CNA est 0 et obtenue par "00000000" et que la tension maximale est le Vcc (3.3 V) et obtenu par "11111111", avec quelle formule vous calculez les valeurs entières du sinus allant de 0 à 255 à mettre dans la mémoire? 7