• Aucun résultat trouvé

Etude d’un oscillateur à contrôle numérique, partie 2 : synthèse par une « méga-fonction » de Quartus II

N/A
N/A
Protected

Academic year: 2022

Partager "Etude d’un oscillateur à contrôle numérique, partie 2 : synthèse par une « méga-fonction » de Quartus II"

Copied!
7
0
0

Texte intégral

(1)

1 Description du projet

Afin de tester la mégafonction NCO, nous allons implanter un oscillateur numérique le plus simple possible au sein de notre projet.

Ouvrir un nouveau projet avec les méthodes habituelles, pour le circuit cible de la carte DE2, le FPGA EP35F672C6 par « File » « New Project Wizard… » :

Ouvrir une feuille de description graphique au sein de ce projet, par « File » « New… » : Insérer un nouveau symbole (clic droit dans la feuille puis « Insert… » « Symbol ») :

Rechercher la Mégafonction « NCOv9.1 », la sélectionner et donner un nom à l’instance que nous allons créer :

La fenêtre suivante s’ouvre alors au bout de quelques secondes :

(2)

Une documentation, sous forme pdf est accessible, ainsi que différentes phases de paramétrage.

Ouvrons la phase 1 (Step 1) :

Imposons une architecture en ROM (tous les angles sont stockés en mémoire) avec 28 (Angular Resolution) mots de 10 bits en sortie (Magnitude Précision), le calcul de l’adresse se faisant aussi sur 8 bits (Phase Accumulator Précision).

La relation de la fréquence de sortie est donnée, comme nous l’avons vu lors de la séance précédente, par :

Fo=phi_inc . fclk/28

où phi_inc est appelé dans cette description « incrément de phase » et fclk la fréquence d’horloge.

Imposer pour l’instant une seule sortie et pas d’entrée de modulation :

Le chronogramme et spectrogramme de cette fenêtre évoluent avec la configuration des paramètres ;

(3)

inst

Effectuer une analyse et synthèse par « Start Analysis & Synthesis ».

2 La simulation

Ouvrir un nouveau fichier de chronogrammes pour la simulation par « File » « New… » :

Placer les entrées sorties par la méthode habituelle, imposer une simulation sur 20 µs avec un pas de 20 ns.

Imposer une incrémentation de phi_inc tous les 2 µs par exemple.

Les amplitudes du signal de sortie en ROM étant codées en complément à 2,imposer une représentation décimale signée pour fsin (sélectionner le chronogramme puis « Properties »).

On obtient alors le chronogramme suivant, sur lequel on vérifie bien que si l’incrément de phase vaut 1, la fréquence de sortie vaut environ 200 kHz (195,3 exactement), puis le double pour un incrément de 2 etc…

3 Modification du paramétrage de la mégafonction

Lorsque l’on doit modifier le paramétrage de la Mégafonction (nombre de bits, de sorties etc…), on accède aux paramétrages par un double clic sur le composant ; il faut ensuite mettre à jour le symbole dans le fichier graphique : clic droit dans la page puis « Update Symbol or Blocks… » :

(4)

Penser ensuite à ajuster les dimensions des bus d’entrée et sortie si nécessaire.

4 Programmation du circuit cible de la carte DE2

Afin de tester le projet et de visualiser le signal à l’oscilloscope, nous allons envoyer les sorties vers le triple convertisseur numérique analogique vidéo ADV7123 intégré sur la carte DE2. On trouvera dans les annexes de la séance précédente une description succincte de ce circuit (documentation complète dans les documents ressources), ainsi que le brochage de l’implantation sur la carte.

PIN_B7 VGA_SYNC

OUT PUT

PIN_D6 VGA_BLANK OUT PUT

PIN_B8 VGA_CLOCK OUT PUT

PIN_C8 PIN_F10 PIN_G10 PIN_D9 PIN_C9 PIN_A8 PIN_H11 PIN_H12 PIN_F11 PIN_E10

VGA_R[9..0]

OUT PUT phi_inc_i[7..0]

clk reset_n clken

fsin_o[9..0]

out_valid NCO

inst VCC 28

lpm_constant0

inst2

VCC

N 10 Signed Integer Parameter Value Type

Clk DIN[n-1..0]

DOUT[n-1..0]

CP2_BD

inst7

CLOCK_50 INPUTVCC PIN_N2

LEDG[8]

OUT PUT

PIN_Y12 CLOCK_50

La sortie de la ROM étant en complément à 2 et l’entrée du CNA nécessitant du binaire décalé, une conversion est réalisée le bloc « CP2_BD » écrit en VHDL

La sortie du convertisseur est envoyée sur l’entrée numérique de la « voie rouge » du convertisseur numérique analogique vidéo, la sortie « VGA_R » du CNA étant disponible sur la borne 1 du connecteur VGA de la carte DE2 (voir annexes) ;

Le CNA nécessite un signal d’horloge pour fonctionner (utilisation de l’horloge à 50 MHz de la carte DE2), ainsi que la mise aux niveaux logique 1 de ses entrées « VGA_blank » et « VGA_sync ».

La sortie « Out_valid » du NCO est envoyée sur la DEL verte se trouvant entre les afficheurs 7 segments.

L’entré « phi_inc » est imposée à la valeur 2 (fréquence de sortie Fo=phi_inc . fclk/28

= 2 x 50 MHz/ 28 soit 390 kHz), par le symbole « lpp_constant » de la bibliothèque

« ‘megafuctions \ gates »).

Afin de simplifier l’assignation de broche, on utilisera les noms donnés par le constructeur de la carte, définit dans le fichier DE2_pins_assignments.csv présent dans les documents ressources (ou sur le CD de la carte DE2). Ce fichier peut s’ouvrir dans Quartus par « Open / File… » en précisant « All

(5)

pour une amplitude crête à crête de 1,36 V, ce qui correspond à l’amplitude de courant maximale en sortie de CNA ADV7123 de 18,67 mA dans la résistance de 75 Ω qui charge la sortie.

4.1 Modulateur numérique

En vous inspirant des projets synthétisés lors de la première partie, proposer un montage permettant de mettre en œuvre une modulation à déplacement de fréquence, puis à déplacement de phase, puis à déplacement d’amplitude.

(6)

Annexe 1 : vérification de la licence

Ouvrir Quartus II et vérifier par « Tools » puis « Licence Setup… » que l’accès aux « MégaCore functions » est possible :

- la clé matérielle doit avoir été placée dans le port parallèle ou USB selon le type de clé ; - le fichier licence doit avoir été déclaré (1) ;

- les « MegaCore functions » sont alors disponibles (2).

La licence des Mégafonctions est libre le temps du prototypage : le FPGA programmé fonctionne tant qu’il est relié à l’ordinateur de programmation et une heure en étant déconnecté.

Annexe 2 : réalisation du convertisseur complément à 2 binaire décalé

Pour réaliser cette opération, il suffit simplement d’inverser le bit de poids fort :

library ieee;

use ieee.std_logic_1164.all;

-- ce programme permet de passer de DIN codé en complément à 2 -- à DOUT codé en binaire décalé

entity CP2_BD is

1

2

(7)

end process;

END arch;

Les simulations suivantes montrent la conversion pour des nombre négatifs en DIN, puis positifs, puis pour une représentation analogique :

Le format (« radix » accessible par clic droit puis propriétés) de DIN doit être « signed decimal » et celui de DOUT « unsigned decimal ».

Références

Documents relatifs

C’est cependant Blaise Pascal qui, dans la première moitié du XV II ième siècle, a le premier mené des études sur la notion de tangente à une courbe - lui-même les appelait

Dans combien d’années, l’âge de Pierre sera-t-il le double de celui de Marc.. La démarche suivie sera détaillée sur

(a) D´ emontrer que, pour tout entier naturel n, T n est un polynˆ ome de degr´ e n dont on d´ eterminera le coefficient du terme de degr´ e n.. (b) Etablir que, si n est un entier

De mˆeme la deuxi`eme s´erie commence au lancer suivant la fin de la premi`ere s´erie et se termine au lancer pr´ec´edant un changement de cˆ ot´e ou bien au n-i`eme lancer..

Denis Rabasté Programmation des CPLD et FPGA en VHDL avec Quartus II 5/25 Par le menu contextuel (clic droit sur le nom du fichier dans le navigateur), enlever le fichier ressource

Sauvegarder ensuite le schéma, sous le nom par exemple de fct_ET ; votre schéma sera alors sauvegardé sous le nom fct_ET.bdf (pour Block Description File) au sein

Contrairement à la séance précédente où notre projet était décrit par un unique fichier VHDL, nous allons cette fois travailler avec plusieurs descriptions au

Une fois le composant choisi (dans l’exemple une mémoire ROM lp_rom), cliquer sur « OK » pour accéder au paramétrage, qui propose dans un premier temps de choisir