Computing">
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
0% ont trouvé ce document utile (0 vote)
340 vues22 pages

TP Integration Num FPGA V1.7

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1/ 22

http://ensem.univ-lorraine.

fr

Année
2A - S8
Module
NRJ B4 Intégration Numérique
https://arche.univ-lorraine.fr/course/view.php?id=47701

Enseignants
L. Baghli, A. Lahmadi, J.P. Martin

TP partie 2 : FPGA
Version 1.6 – 09/06/2021
Objectifs
Acquérir les éléments de connaissance requis pour réaliser l’intégration des lois de commande des
systèmes électriques dans des circuits numériques programmés (DSP) et configurables (FPGA).

Apprendre à programmer un DSP / DSC en langage C à l’aide de Code Composer Studio.


Configurer le timer, les interruptions, les Entrées/Sorties, le convertisseur analogique-numérique
(ADC) et la modulation de largeur d’impulsion (PWM).
Implémentation d’une régulation de courant dans une charge RL alimentée par un hacheur dévolteur.

Apprendre à utiliser Quartus II. Configurer les éléments logiques d’un FPGA et implémenter des circuits
en utilisant VHDL. Implémenter une PWM. Utiliser l’ADC de la carte DE1 SoC.
Même application finale : Régulation de courant dans la charge RL.

Séances (6 x 4h)
TP 1 : Introduction à Code Composer et DSP F28069M, Timer et ISR
TP 2 : PWM et ADC sur DSC
TP 3 : PWM, hacheur et régulation de courant sur DSC
TP 4 : Introduction à Quartus II, VHDL, GPIO
TP 5 : PWM et ADC sur FPGA
TP 6 : PWM, hacheur et régulation de courant sur FPGA

Outils
Hardware
Digital Signal Controller (DSC) Texas Instruments LaunchPad F28069M
Carte d'adaptation CMD
Boitier puissance contenant : Hacheur 4 quadrants, mesure de courant, charge RL
Carte FPGA ALTERA DE1-SoC Cyclone V 5CSEMA5F31C6
Alimentation 15V 5A, Oscilloscope, sonde externe de courant
Software
TI Code Composer Studio 10.x, C2000Ware_3_04, BIOS 6.x
Quartus II
Voir l'Annexe pour la préparation des TP avant la séance.

L. Baghli, A. Lahmadi, J.P. Martin Intégration Numérique 2/22


TP 4
Introduction à Quartus II, VHDL, GPIO
Objectifs
Prise en main du logiciel Quartus II, implémentation de circuits combinatoires et séquentiels.

Manipulations
Logiciel permettant de générer un circuit logique : Quartus II
Langage de description : VHDL
Circuit FPGA cible : Cyclone V 5CSEMA5F31C6

Lancez Quartus II 15.0 (64 bits)

TP 4.1
La prise en main du logiciel Quartus II développé par la société ALTERA (intelFPGA) est basée sur le
tutorial Quartus_II_Introduction_v15.0.pdf. Le fichier associé à la version 15.0 est disponible sur
arche.

Réaliser votre premier circuit en suivant les différentes étapes du tutorial. La description du circuit
utilisé pour ce tutorial sera le circuit additionneur complet pour deux nombres 1 bit. La description
VHDL est indiquée ci-dessous.

library IEEE;
use IEEE.std_logic_1164.all;
use ieee.numeric_std.all;

ENTITY tp1 IS
PORT(
a,b,cin : in std_logic_vector(0 downto 0);
s,cout : out std_logic);
END tp1;

ARCHITECTURE behavior OF tp1 IS


signal si : unsigned(1 downto 0);

L. Baghli, A. Lahmadi, J.P. Martin Intégration Numérique 3/22


BEGIN
si<=unsigned('0'&a)+unsigned('0`&b)+unsigned('0'&cin);
s<=si(0);
cout<=si(1);
END behavior;

Simuler et valider le fonctionnement de l’additionneur en créant un fichier Wavefrom à l’aide de


File/New/University Program VWF. Mettez des entrées de Compteur de 100 ns, 200ns, 400ns, sur
a,b,cin afin de parcourir toute la table de vérité.

Pour l’implantation sur la carte DE1-SOC, les broches suivantes sont utilisées :

Component Broche DE1-SOC


SW0 cin PIN_AB12
SW1 a PIN_AC12
SW2 b PIN_AF9
LEDR0 s PIN_V16
LEDR1 cout PIN_W16

Entrez les broches comme indiqué dans Quartus_II_Introduction_v15.0.pdf

TP 4.2
Réaliser en schématique un additionneur à retenue propagée de deux nombres a et b de 4 bits à partir
de l'additionneur complet précédant en intégrant les indicateurs de type Carry (C) et Overflow (OV).
Justifier la structure choisie.

Pour réaliser ce circuit, vous devez générer un nouveau projet (par exemple tp12) dans un répertoire
spécifique et coller le fichier vhdl de la partie TP1.1, sans changer le nom.
Créez un fichier Blog Diagram/Schematic file et sauvegardez le tp12.bdf (nom du circuit principal de
votre projet tp12)

L. Baghli, A. Lahmadi, J.P. Martin Intégration Numérique 4/22


Ouvrir le fichier tp1.vhd puis créez un symbole à partir de ce fichier (tp1.bsf).

Ajouter 4 Symboles tp1 dans le fichier schématique tp12.

L. Baghli, A. Lahmadi, J.P. Martin Intégration Numérique 5/22


Ajouter les différentes entrées / sorties et réaliser l’additionneur de deux nombres 4 bits.
Valider le fonctionnement du circuit en réalisant une simulation.
Indiquer le temps de propagation maximal de ce circuit (via Quartus II - TimeQuest Timing Analyzer -
Multicorner Datasheet report summary – propagation delay)

TP 4.3a
Reprendre la question de l'exercice 2 en synthétisant cette fois ci les circuits logiques à l'aide d'une
description VHDL avec instanciation et génération (slide 113).
Valider le fonctionnement par simulation.

TP 4.3b
Modifier le circuit pour effectuer une addition lorsqu’un signal cmd est à 0 et une soustraction lorsque
cmd est à 1. Une entrée "GENERIC" permettant de définir la taille des nombres devra être implantée.
Valider le fonctionnement par simulation.
Visualiser à l'aide de "Netlist Viewers" dans le menu "Tools" le circuit (Register-Transfer Level : RTL)
obtenu et indiquer les ressources matérielles utilisées ainsi que le temps de propagation maximal de
ce circuit (via Quartus II - TimeQuest Timing Analyzer) lorsque les nombres a et b sont codés sur 16
bits.

TP 4.4
Réaliser en vhdl un additionneur/soustracteur de deux nombres 16 bits en utilisant la librairie de
modules paramétrés (LPM). Comparer les ressources nécessaires et le temps de propagation obtenu
avec ce type de circuit et l’additionneur/soustracteur à retenue propagée réaliser dans l’exercice 3.

LIBRARY ieee;
USE ieee.std_logic_1164.all;
LIBRARY lpm;
USE lpm.all;

ENTITY addsub_lpm IS
GENERIC(N : integer:= 16);
PORT(
cmd_add_sub: IN STD_LOGIC ;
Cin: IN STD_LOGIC ;
Ain,Bin: IN STD_LOGIC_VECTOR (N-1 DOWNTO 0);
Cout,OVout : OUT STD_LOGIC ;
Sout: OUT STD_LOGIC_VECTOR (N-1 DOWNTO 0));
END addsub_lpm;

ARCHITECTURE behavior OF addsub_lpm IS


COMPONENT lpm_add_sub
GENERIC ( lpm_direction : STRING;
lpm_hint : STRING;
lpm_representation : STRING;
lpm_type : STRING;
lpm_width : NATURAL );
PORT ( add_sub : IN STD_LOGIC ;
cin : IN STD_LOGIC ;
datab : IN STD_LOGIC_VECTOR (N-1 DOWNTO 0);
overflow : OUT STD_LOGIC ;
cout : OUT STD_LOGIC ;
dataa : IN STD_LOGIC_VECTOR (N-1 DOWNTO 0);
result : OUT STD_LOGIC_VECTOR (N-1 DOWNTO 0));

L. Baghli, A. Lahmadi, J.P. Martin Intégration Numérique 6/22





END COMPONENT;

Indiquer les ressources matérielles utilisées (Logic utilization (in ALMs) dans Flow Summary) ainsi le
temps de propagation maximal de ce circuit (via Quartus II - TimeQuest Timing Analyzer) lorsque les
nombres sont sur 16 bits.

TP 4.5
Réaliser en vhdl un multiplieur de deux nombres 16 bits en utilisant la librairie de modules paramétrés
(LPM). Les nombres d’entrées et de sorties seront codés au format Q1.15.

Valider par simulation le fonctionnement du circuit.


Indiquer les ressources nécessaires ainsi que le temps de propagation obtenu avec ce type de circuit.

References
Configuration des GPIO page 28 du DE1-SoC_User_manual.pdf
Voir Annexes

L. Baghli, A. Lahmadi, J.P. Martin Intégration Numérique 7/22


TP 5
PWM et ADC sur FPGA
Objectifs
Créer un compteur-décompteur, utiliser l’afficheur HEX.
Utilisez l’ADC de la carte DE1 SoC et sortir un signal PWM.
Synchronisation de l’ADC et de la PWM.

Nous avons déjà défini les notions de PWM et d’ADC dans la série de TP du DSC F28069M. Nous allons
voir comment implémenter les mêmes concepts avec la cible (target) DE1 SoC.

TP 5.1 Compteur et Afficheur 1 HEX


En utilisant une description VHDL, réaliser un circuit permettant de réaliser un compteur modulo N.
Valider le fonctionnement du compteur par simulation en utilisant N=25d.

On désire maintenant afficher sur un afficheur 7 segments la valeur correspondant à 4 bits du


compteur. La documentation de la carte DE1-SoC utilisée est indiquée dans le fichier DE1-
SoC_User_Manual.pdf. Ce fichier est disponible sur Arche. Un exemple est représenté sur la figure ci-
dessous pour utiliser l’afficheur Hex0.

Les LED de l'afficheur Hex3 sont électriquement connectées au circuit FPGA comme précisé sur la
figure ci-dessous.

Les broches associées à chaque segment sont indiquées dans le fichier DE1-SoC_User_Manual.pdf à la
page 28.

Réaliser le circuit logique en VHDL permettant de piloter l’afficheur 7 segments.


Définir l’état des signaux logiques fournit par le FPGA pour allumer et éteindre les segments.

L. Baghli, A. Lahmadi, J.P. Martin Intégration Numérique 8/22


library ieee;
use ieee.std_logic_1164.all;

entity affichage_7seg is
port(
valeur : in std_logic_vector(3 downto 0);
seg : out std_logic_vector(6 downto 0));
end affichage_7seg;

architecture behav of affichage_7seg is


begin
process(valeur)is
begin
case valeur is
when "0000" => seg <="...";--0
when "0001" => seg <="...";--1
when "0010" => seg <="...";--2
when "0011" => seg <="...";--3
when "0100" => seg <="...";--4
when "0101" => seg <="...";--5
when "0110" => seg <="...";--6
when "0111" => seg <="...";--7
when "1000" => seg <="...";--8
when "1001" => seg <="...";--9
when "1010" => seg <="...";--A
when "1011" => seg <="...";--B
when "1100" => seg <="...";--C
when "1101" => seg <="...";--D
when "1110" => seg <="...";--E
when "1111" => seg <="...";--F
when others => seg <="...";
end case;
end process;
end architecture behav;

L. Baghli, A. Lahmadi, J.P. Martin Intégration Numérique 9/22


Tester votre code d’afficheur en utilisant 4 switchs puis avec un compteur de 28 bits, comme indiqué
ci-dessous.

TP 5.2 Compteur-décompteur

Dans cette partie, copiez le contenu du fichier tp5_2.zip dans un répertoire nommé complet.
Ouvrez le projet.

Simulez ce compteur (New file : University Program VWF) :


CLK 20ns, KEY reset à 0 puis 1 pour lancer, End time 5 us, changez le timer en Radix Unsigned Decimal.

Observez le comptage up &down.


Quelle est la période de comptage ?
Où pouvez-vous la modifiez ? Essayer une autre valeur (40d).
Observez les sorties clk_ech, clk_cmpr. A quoi pourraient-elles servir ? A-t-on un équivalent en
DSC F28069M ?

TP 5.3 Compteur-décompteur, ADC et Afficheur 3 HEX


Dans cette partie, copiez le contenu du fichier tp5_3.zip dans un répertoire nommé ADC-SPI-PWM.

L. Baghli, A. Lahmadi, J.P. Martin Intégration Numérique 10/22


Ouvrez le projet ADC-SPI-PWM.qpf

Modifier le fichier affichage_7seg.vhd avec ce que vous aviez trouvé en TP 5.1

Fonctionnement de l’ADC :
L’ADC de la carte est un LTC2308 de 12 bits qui communique via la liaison série synchrone SPI. Ce
protocole est implémenté dans le fichier adc_ltc2308.v que nous vous fournissons.
Les fichiers Verilog ont une syntaxe proche du langage C. Le début du fichier définit le module et
déclare les entrées/sorties :
module adc_ltc2308(
clk, // max 40 MHz
measure_start,
Imes_done, Iref_done,
Imes_dataread, Iref_dataread,
// adc interface
ADC_CONVST,
ADC_SCK,
ADC_SDI,
ADC_SDO,
EOC
);
input clk;
input measure_start;
output reg Imes_done;
output reg Iref_done;
output EOC;
output reg [11:0] Imes_dataread;
output reg [11:0] Iref_dataread;

output ADC_CONVST;
output ADC_SCK;
output reg ADC_SDI;
input ADC_SDO;

L. Baghli, A. Lahmadi, J.P. Martin Intégration Numérique 11/22


Configuration de l’ADC LTC2308

Chronogramme des signaux SPI propres à l’ADC LTC2308

Le SPI comporte 2 lignes de données (communication full duplex) : SDI (MOSI : Master Output, Slave
Input) et SDO (MISO : Master Input, Slave Output), une SCK (CLK) imposée par le master (FPGA) au
slave (ADC LTC2308) et un signal de lancement de conversion CONVST. Une SPI classique a un /CS (Chip
Select), il est remplacé ici par CONVST et l’arrêt d’envoi du signal SCK.

La particularité de ce composant est que la configuration est envoyée pour la prochaine conversion.
C’est-à-dire que pendant qu’on envoie la configuration (6 bits) [MSB S/D, O/S, S1, S0, UNI, SLP LSB], on
récupère sur SDO (MISO) les données de la précédente conversion.
On prépare donc le composant à nous envoyer les données de conversion l’une après l’autre. On utilise
les voies : ADC_IN1 et ADC_IN2
Iref : ADC_IN1 [3] Imes : ADC_IN2 [4]

Déterminez la configuration qu’il faut pour ces voies et comparez avec le code du fichier (extrait ci-
dessous).

// serial config command to adc chip


wire config_init;
wire config_enable;
wire config_done;
reg [2:0] sdi_index;

assign config_init = ( (tick == `tCONFIG_START) || (tick == `tCONFIG_START2) )?1'b1:1'b0;


assign config_enable = ( (tick > `tCLK_START && tick <= `tCONFIG_END)
|| (tick > `tCLK_START2 && tick <= `tCONFIG_END2) )?1'b1:1'b0;

L. Baghli, A. Lahmadi, J.P. Martin Intégration Numérique 12/22


assign config_done = ( (tick > `tCONFIG_END && tick <`tCONFIG_START2)
|| (tick > `tCONFIG_END2))?1'b1:1'b0;

always @(negedge clk)


begin
if (config_init)
begin
if (salve_2) config_cmd <= {4'h9, `UNI_MODE, `SLP_MODE}; // Config Imes in salve2 for next salve1
else config_cmd <= {4'hC, `UNI_MODE, `SLP_MODE}; // Config Iref in salve1 for coming salve2
ADC_SDI <= config_cmd[`CMD_BITS_NUM-1];
sdi_index <= `CMD_BITS_NUM-2;
end
else if (config_enable)
begin
ADC_SDI <= config_cmd[sdi_index];
sdi_index <= sdi_index - 1;
end
else if (config_done) ADC_SDI <= 1'b0;
end

Voici un chronogramme réel de notre application. Calculez la durée complète de l’acquisition des 2
conversions.

Compilez et uploader le programme (.sof) sur le FPGA.


Connectez la carte CMD (verte) à la carte FPGA DE1 SoC en présence de votre enseignant, afin
d’éviter toute erreur de branchement.

Branchement et mesures. Remarquez le cavalier en position haute (5V) pour la connexion de la carte
CMD Verte) sur la carte DE1 SoC FPGA

En tournant le potentiomètre de la carte CMD (verte) vous changez la référence (tension de 0 à 5V)
imposé à : ADC_IN1 ou ADC_IN2, en fonction de la manière dont vous avez connecté le câble bifilaire
de l’ADC.
La référence, doit normalement être affectée aux 3 chiffres HEX de gauche (HEX5, HEX4, HEX3).

L. Baghli, A. Lahmadi, J.P. Martin Intégration Numérique 13/22


Exemple d’affichage de Iref = 0x76A
Remarquez à gauche la connexion des entrées ADC

Expliquez et prenez des captures écran ou photos de l'oscilloscope.

L. Baghli, A. Lahmadi, J.P. Martin Intégration Numérique 14/22


TP 6
Régul de courant sur FPGA
Objectifs
Implémentez une PWM symétrique.
Implémentez une régulation numérique de courant d'une charge inductive à l'aide d'un hacheur 4
quadrants.

TP 6.1 Compteur-décompteur, ADC, Afficheur 3 HEX et PWM


On désire maintenant utiliser la valeur de l’ADC pour faire varier le rapport cyclique d’un signal PWM.
Un compteur-décompteur (timer) est déjà présent dans la partie précédente et permet de faire la
conversion analogique – numérique de deux signaux à une fréquence de 10 kHz.

Le signal de la PWM (u) est obtenu en réalisant la comparaison de deux grandeurs (timer et CMPR par
exemple). On désire obtenir u=1 lorsque la valeur du CMPR est supérieure à la valeur du timer. De plus,
on désire que la valeur du registre CMPR soit modifiée lorsque la valeur courante du timer est à 0.

En utilisant une description VHDL, réalisez le circuit demandé. Validez le fonctionnement de ce circuit
par simulation.

Modifiez le fichier comparateur.vhd du projet TP5_3 et validez, sur l’oscilloscope, le fonctionnement


du circuit complet.
Afficher les sorties du comparateur comme suit :
PWM1 : GPIO_0 [8] PIN_AJ17 PWM2 : GPIO_0 [9] PIN_AJ16

Observez les signaux Imes done, Iref done et EOC sur les GPIO
Out1 : GPIO_0 [6] PIN_AK19 Out2 : GPIO_0 [7] PIN_AJ19

TP 6.2 Régulateur PI
Soit le régulateur qu’on avait écrit en TP3 en C :
void RegulI()
{
e = Iref - Imes;
alpha = Kp*e + xe_I;
if ( (alpha <0.5) && (alpha>-0.5) ) xe_I += Ki*e;
// limiteur de tension
if ( alpha > 0.5) alpha = 0.5;
if ( alpha <-0.5) alpha =-0.5;
cmpr = (-alpha+0.5)*FullPWM;
}

Décomposez la structure du régulateur numérique en plusieurs états afin qu’il n’y ait pas d’opérations
concurrentes qui puissent se chevaucher.
Ecrire la machine à états.
Implémentez la régulation en simulation et vérifiez que l’action intégrale cumule bien l’erreur quand
Iref != Imes dans les 2 sens.

TP 6.3 Régulateur PI de courant de la charge RL


Incorporez le régulateur développé précédemment dans le projet du TP6.1 en ajoutant la possibilité
de faire de la boucle ouverte (cmpr <= Iref) ou fermée (cmpr <= Reg(Iref, Imes))

if (BOBF == 1'b0)
begin // BO
cmpr <= Xrefin; // Direct 12 bits
end

L. Baghli, A. Lahmadi, J.P. Martin Intégration Numérique 15/22


else begin // BF
cmpr <= cmpr16; // 12 bits en sortie
end

Testez les deux configurations à l’aide de la carte CMD verte sans alimenter le hacheur.
Vérifiez les sorties PWM1 et PWM2.
Faites vérifier les signaux et le montage par l’enseignant, puis branchez le hacheur et observez
l’allure du courant dans la charge.
On doit avoir le même fonctionnement que lors du TP3 avec le DSC.

TP 6.4 Régulateur de courant, échelons


Ajouter, aux bons endroits, les éléments suivant pour permettre d’imposer des échelons de
référence de courant :
`define EchOn 1'b0
`define EchNCount 16'd20
reg [15:0] EchCount;

Ech <= 1'b1;


EchCount <= 16'd0;

if (EchCount >= `EchNCount)


begin
EchCount <= 0;
Ech <= ! Ech;
end
else EchCount <= EchCount + 1;

if (`EchOn)
begin
if (Ech) Iref <= Xref - 16'sd2500;
else Iref <= 16'sd2500 -Xref ;
end
else Iref <= Xref - 16'sd2500;

Conclusions
Prototypage rapide, complexité de design, temps de compilation, rapidité d’exécution et
optimisation.
Comparaison par rapport à l’approche DSC.

L. Baghli, A. Lahmadi, J.P. Martin Intégration Numérique 16/22


Annexes
Carte d'interface CMD
Cette carte se connecte :
- Soit sur le Launchpad F28069M, mettre le cavalier en position basse (1-2), 3.3V, (comme sur
la photo ci-dessous)
- Soit sur la DE1-SoC via la nappe HE10 qui se divise en 2 connecteurs (Attention à l'ordre des
pins), mettre le cavalier en position haute (2-3), 5V (pas comme sur la photo ci-dessous)

L. Baghli, A. Lahmadi, J.P. Martin Intégration Numérique 17/22


La carte correspond à la configuration des connecteurs du Launchpad F28069M (particulièrement J1 et J4)
comme suit :

L. Baghli, A. Lahmadi, J.P. Martin Intégration Numérique 18/22


J1-J4 :
J1.01 +3.3V J3.21 +5V J4.40 PWM1A PWMHA J2.20 GND
J1.02 ADCINA6 Iref J3.20 GND J4.39 PWM1B PWMLA J2.19 SCS
J1.03 P28 BP1 J3.23 ADCINA7 J4.38 PWM2A PWMHB J2.18
J1.04 P29 BP2 J3.24 ADCINB1 J4.37 PWM2B PWMLB J2.17
J1.05 P12 LED1 J3.25 ADCINA2 J4.36 PWM3A PWMHC J2.16
J1.06 ADCINB6 Imes J3.26 ADCINB2 J4.35 PWM3B PWMLC J2.15 MOSI
J1.07 SCLK J3.27 ADCINA0 J2.14 MISO
J1.08 P22 OUT2 J3.28 ADCINB0 J2.13
J1.09 SCL_OLED J3.29 ADCINA1 J4.32 DAC1 BNC1 J2.12
J1.10 SDA_OLED J4.31 DAC2 BNC2 J2.11

Pour le branchement sur la carte FPGA, nous utilisons un câble spécial qui se divise en 2 :
Un connecteur HE8 (2xSIL4) sur le connecteur GPIO_0 et un connecteur (2 contacts) sur le
connecteur ADC (ADC_In1, ADC_In2).
Attention, la pin 1 de ces 2 connecteurs est vers le bas de la carte (connecteur à 180°).
C’est votre enseignant qui câblera ce connecteur.
GPIO_0[0] PIN_AC18 GPIO Connection 0[0]
GPIO_0 [1] PIN_Y17 GPIO Connection 0[1]
GPIO_0 [2] PIN_AD17 GPIO Connection 0[2]
GPIO_0 [3] PIN_Y18 GPIO Connection 0[3]
GPIO_0 [4] PIN_AK16 GPIO Connection 0[4]
GPIO_0 [5] PIN_AK18 GPIO Connection 0[5]
GPIO_0 [6] PIN_AK19 GPIO Connection 0[6]
GPIO_0 [7] PIN_AJ19 GPIO Connection 0[7]
GPIO_0 [8] PIN_AJ17 GPIO Connection 0[8]
GPIO_0 [9] PIN_AJ16 GPIO Connection 0[9]
GPIO_0 [10] PIN_AH18 GPIO Connection 0[10]
GPIO_0 [11] PIN_AH17 GPIO Connection 0[11]
GPIO_0 [12] PIN_AG16 GPIO Connection 0[12]
GPIO_0 [13] PIN_AE16 GPIO Connection 0[13]
GPIO_0 [14] PIN_AF16 GPIO Connection 0[14]
GPIO_0 [15] PIN_AG17 GPIO Connection 0[15]
GPIO_0 [16] PIN_AA18 GPIO Connection 0[16]
GPIO_0 [17] PIN_AA19 GPIO Connection 0[17]
GPIO_0 [18] PIN_AE17 GPIO Connection 0[18]
GPIO_0 [19] PIN_AC20 GPIO Connection 0[19]
GPIO_0 [20] PIN_AH19 GPIO Connection 0[20]
GPIO_0 [21] PIN_AJ20 GPIO Connection 0[21]
GPIO_0 [22] PIN_AH20 GPIO Connection 0[22]
GPIO_0 [23] PIN_AK21 GPIO Connection 0[23]
GPIO_0 [24] PIN_AD19 GPIO Connection 0[24]
GPIO_0 [25] PIN_AD20 GPIO Connection 0[25]
GPIO_0 [26] PIN_AE18 GPIO Connection 0[26]
GPIO_0 [27] PIN_AE19 GPIO Connection 0[27]
GPIO_0 [28] PIN_AF20 GPIO Connection 0[28]
GPIO_0 [29] PIN_AF21 GPIO Connection 0[29]
GPIO_0 [30] PIN_AF19 GPIO Connection 0[30]
GPIO_0 [31] PIN_AG21 GPIO Connection 0[31]
GPIO_0 [32] PIN_AF18 GPIO Connection 0[32]
GPIO_0 [33] PIN_AG20 GPIO Connection 0[33]
GPIO_0 [34] PIN_AG18 GPIO Connection 0[34]
GPIO_0 [35] PIN_AJ21 GPIO Connection 0[35]

ADC_IN1 [3] ADC_HEADER


ADC_IN2 [4] ADC_HEADER

Connecteur HE10 de la carte d’interface CMD (verte) et correspondance avec la carte DE1-SoC
Iref : ADC_IN1 [3] Imes : ADC_IN2 [4]
In1 : GPIO_0 [4] PIN_AK16 In1 : GPIO_0 [5] PIN_AK18
Out1 : GPIO_0 [6] PIN_AK19 Out2 : GPIO_0 [7] PIN_AJ19
PWM1 : GPIO_0 [8] PIN_AJ17 PWM2 : GPIO_0 [9] PIN_AJ16
+5V GND

L. Baghli, A. Lahmadi, J.P. Martin Intégration Numérique 19/22


J16 Out1 J19 ADC Imes

J17 Out2 J18 ADC Iref


J22 GND J7 PWM2 J6 PWM1

J20 In1

J21 In2

Branchement des sondes d'oscilloscopes pour l'affichage des signaux Out1, Imes, PWM1.
Remarquez le cavalier en position basse (1-2) 3.3V pour l'utilisation avec le Launchpad F28069M.
Ce cavalier sera mis en position haute (2-3) 5.0V pour une utilisation avec le FPGA.

Boitier puissance contenant : Hacheur 4 quadrants, mesure de courant, charge RL


Ce boitier doit être raccordé à la carte d'interface CMD.
Le bus continu doit être alimenté entre 10 et 15V avec la limitation de courant fixée à 4A.
Il faut raccorder une ou deux résistances sur le point milieu du bras de droite pour raccorder la
charge au pont en H du hacheur.

L. Baghli, A. Lahmadi, J.P. Martin Intégration Numérique 20/22


VDC

PWM1 R PWM2

ADC L
Imes

PWM2 R PWM1

Face avant du boitier puissance

L. Baghli, A. Lahmadi, J.P. Martin Intégration Numérique 21/22


Configuration de Quartus-II

Branchement du LTS-25 n°3 : +/-8A correspond à 0.6V autour de 2.5V

L. Baghli, A. Lahmadi, J.P. Martin Intégration Numérique 22/22

Vous aimerez peut-être aussi