Vous êtes sur la page 1sur 8

1 ELN : T.P.

N°5 D’ELECTRONIQUE CIRCUITS LOGIQUES PROGRAMMABLES Page 1 sur 8

INITIATION À LA PROGRAMMATION DES PLD Les matrices programmables utilisent des "fusibles" placés en série entre les entrées et
les opérateurs logiques. Dans les structures reprogrammables ces "fusibles" sont remplacés
A. OBJECTIFS par des transistors MOS.

- Réaliser les différentes étapes de la programmation d'un PLD.


- Vérifier expérimentalement la validité des programmations.

B. DOCUMENT NÉCESSAIRE
- Cours 'Circuits logiques programmables'.

C. MATÉRIEL UTILISÉ
- Ordinateur équipé de Proteus.
- Maquette pédagogique 22V10 et programmateur.
La représentation donnée dans l'exemple n'est pas utilisée en pratique, car elle occupe
D. PRÉSENTATION trop de place et cela conduirait à des schémas illisibles. Une représentation simplifiée (mais
équivalente) a été adoptée pour représenter la structure interne des circuits logiques
I. RAPPEL SUR LES CIRCUITS LOGIQUES PROGRAMMABLES programmables :
Les circuits logiques programmables disposent au moins de deux ensembles
fonctionnels :
- Un ensemble d'opérateurs ET (matrice ET) recevant les entrées et leurs
compléments.
- Un ensemble d'opérateurs OU (matrice OU) qui réalise une somme de produits et
fournit les sorties.
Selon la complexité des circuits programmables utilisés une ou l'autre ou chacune des
matrices pourra être programmée.

II. STRUCTURE DE BASE


III. PRÉSENTATION DU GAL22V10 (UTILISÉ EN TP)
La figure suivante présente un exemple simplifié de la structure interne de base d'un
circuit PAL (matrice ET programmable) :
1. PRÉSENTATION
Le GAL 22V10 est implanté dans un boitier DIP 24 broches ou PLCC 28 broches. Il
appartient à la technologie E2CMOS PLD (E2 = Electrically Erasable). Sa structure interne
est donnée à la page suivante.
Ce circuit est doté de 12 entrées dont une à double fonction et de 10 sorties. On
remarque que ces 10 sorties sont issues de cellules nommées OLMC (Output Logic Macro
Cell). L'analyse de la structure interne (paragraphe suivant) montre que ces sorties sont ré-
injectables comme entrées.
1 ELN : T.P. N°5 D’ELECTRONIQUE CIRCUITS LOGIQUES PROGRAMMABLES
1 ELN : T.P. N°5 D’ELECTRONIQUE CIRCUITS LOGIQUES PROGRAMMABLES Page 3 sur 8

2. STRUCTURE INTERNE D’ UNE OLMC 4. COMBINATORIAL MODE (MODE COMBINATOIRE)


L'OLMC comporte principalement une bascule D et deux multiplexeurs. C'est une Dans ce mode, les sorties peuvent être réinjectées dans la matrice ET. Ces broches
structure programmable. peuvent aussi être utilisées directement comme des entrées.

IV. PROGRAMMATION DU GAL22V10


Pratiquement on ne programme jamais directement ni les OLMC ni les matrices. On
Les figures données ci-après présentent les principales configurations possibles de utilise pour cela un logiciel (ISIS de Proteus avec compilateur Ez-ABEL) qui connait la
l'OLMC. structure interne du composant et qui y réalise l'implantation (fitting) du problème qu'on lui
soumet. Néanmoins, la connaissance du composant permet d'évaluer avec efficacité la
3. REGISTRED MODE (BASCULE D UTILISÉE) faisabilité d'un projet.
L'analyse de la structure interne du GAL22V10 met en évidence certaines contraintes
d'utilisation et donc de programmation de certaines broches (en mode registered) :
- Les bascules ont une horloge commune (synchrone), broche 1.
- Les bascules sont dotées d'un RESET (mise à 0 des sorties Q) asynchrone et d'un
PRESET (mise à 1) synchrone. La programmation du RESET est obligatoire.
La programmation d'un circuit logique programmable s'effectue à partir des équations
ou de la table de vérité dans un fichier de description utilisant le langage ABEL.

1. ÉTAPES DE LA PROGRAMMATION
- Création d’un projet Proteus et saisie du schéma sous ISIS,
- Création et compilation du fichier ABEL,
- Association du fichier JEDEC obtenu au PLD du schéma,
- Simulation interactive ou avancée (chronogrammes) du système,
- Programmation du PLD à l’aide d’un programmateur,
- Validation du fonctionnement sur la carte électronique.
1 ELN : T.P. N°5 D’ELECTRONIQUE CIRCUITS LOGIQUES PROGRAMMABLES Page 4 sur 8

2. EXEMPLE DE FICHIER ABEL : DSPPROG.ABL

Module DSPPROG " ___________________________________________

Title 'alarme de phares' " ___________________________________________

Declarations " ___________________________________________

" Référence du composant à programmer

DSPPROG device 'P22V10'; " ___________________________________________

" Déclaration des entrées

C, L, P pin 2, 3, 4; " ___________________________________________

" ___________________________________________

4. SCHÉMA D’IMPLANTATION
" ___________________________________________

" Déclaration des sorties

S pin 23 istype 'com'; " ___________________________________________

Equations " ___________________________________________

S = !C & L & P; " ___________________________________________

End DSPPROG " ___________________________________________

3. SCHÉMA STRUCTUREL DE LA MAQUETTE PÉDAGOGIQUE


On donne ci-contre le schéma structurel de la maquette utilisée pour les TP :
1 ELN : T.P. N°5 D’ELECTRONIQUE CIRCUITS LOGIQUES PROGRAMMABLES Page 5 sur 8

E. TRAVAIL DEMANDÉ

I. PROGRAMMATION DU GAL22V10

1. SAISIE DU SCHÉMA ET LABELLISATION DES FILS


Ouvrir le logiciel ISIS de la suite Proteus.
- Cliquer sur Fichier -> Nouveau Projet, choisir le modèle Landscape A4.
- Cliquer sur Projet -> Éditer les propriétés du Projet et compléter les différents
champs.
- Cliquer sur la disquette afin d’enregistrer votre projet en respectant le nom et le Figure 1
chemin suivants : P:\ELN\DSPPROG.DSN
Vérifier l’exactitude du contenu du cartouche en bas à droite du schéma. 3. PLACEMENT DES SONDES DE MESURES
Réalisation du schéma DSPPROG utilisant un PLD 22V10 : - Cliquer sur l’icône Mode sonde de tension puis cliquer sur la liaison de sortie S du
montage.
- Cliquer sur l’icône Mode composant puis Cliquer sur l’icône P,
- Entrer la référence du composant en Mots clés (22V10), 4. PLACEMENT ET CONFIGURATION DES CHRONOGRAMMES
- Dans la fenêtre des résultats, choisir AM22V10 puis valider. Le composant Placement des chronogrammes sur le schéma :
apparaît maintenant dans le sélecteur d’objets à gauche,
- Cliquer sur l’icône Mode graphe. Sélectionner DIGITAL pour effectuer une
- Cliquer sur le schéma pour placer le composant puis réaliser les liaisons du simulation logique.
montage : fils d’entrées et sortie correspondant au fichier ABEL.
- Pour placer le graphe sur le schéma, positionner le curseur dans une zone libre du
Labellisation des fils : dessin, enfoncer le bouton gauche de la souris puis faite glisser celle-ci afin
- Cliquer sur l’icône Mode label puis cliquer sur les liaisons d’entrées et de sortie d’obtenir un cadre. Relâcher le bouton, un chronogramme vierge apparaît.
du montage afin de saisir leurs noms (P, L, C et S). Configuration des chronogrammes :
- Double cliquer sur le graphe pour faire apparaître sa boite de dialogue. Ajuster la
2. PLACEMENT ET CONFIGURATION DES SIGNAUX D’ENTRÉES valeur Temps fin qui permettra d’obtenir la durée totale souhaitée sur la Figure 1.
Placement des générateurs d’entrées : - Glisser le générateurs et la sonde de tension du schéma dans le graphe afin qu’ils
- Cliquer sur l’icône Mode générateur, sélectionner DCLOCK puis cliquer sur les apparaissent dans l’ordre suivant (de haut en bas) : P, L, C et S.
liaisons d’entrées P, L et C du montage. Le générateur doit automatiquement
5. CRÉATION ET COMPILATION DU FICHIER ABEL
porter le même nom que le label placer précédemment.
Paramétrage du logiciel :
Configuration des signaux d’entrées :
- Cliquer sur Source -> Définir outil de génération de code…, choisir l’outil ABEL.
- Double cliquer sur chaque générateurs et configurer leurs boites de dialogue afin
d’obtenir les signaux ci-contre : Remarque :
Si l’outil ABEL ne figure pas dans la liste
o cliquer sur Nouveau puis sélectionner le fichier :
C:\Program Files\Labcenter Electronics\Proteus 7 Professional\Tools\Ez-abel\Abel.bat
o Configurer l’outil conformément à la figure 2 :
1 ELN : T.P. N°5 D’ELECTRONIQUE CIRCUITS LOGIQUES PROGRAMMABLES Page 6 sur 8

7. LANCEMENT DE LA SIMULATION ET EXPLOITATION DES RÉSULTATS


Lancement de la simulation :
- Cliquer sur le graphe et appuyer sur la barre d’espace pour lancer la simulation.
Exploitation des résultats :
- Vérifier l’exactitude des chronogrammes afin de valider le fonctionnement du
système.

Faire vérifier le fonctionnement par le professeur.

8. PROGRAMMATION DU PLD À L’AIDE D’ UN PROGRAMMATEUR


- Programmer un 22V10 avec le fichier JEDEC : DSPPROG.JED
- Placer le composant programmé sur la carte pédagogique 22V10.

Attention ! le composant est extrêmement fragile. La tension d'entrée ne doit


surtout pas dépasser 5V.
- Tester les différentes combinaisons.

Faire vérifier le fonctionnement par le professeur.


Figure 2
F. APPLICATION : STORE SOMFY
Création du fichier ABEL :
On souhaite intégrer la fonction combinatoire FP4 (étudiée lors du TP N°4) dans un
- Cliquer sur Source -> Ajouter/supprimer fichier source…, choisir l’outil de
22V10. Il est donc indispensable de posséder les documents relatifs à cette étude.
génération de code ABEL, cliquer sur Nouveau et créer le fichier en respectant le
nom et le chemin suivants : P:\ELN\DSPPROG.ABL 1. ÉQUATIONS DE FONCTIONNEMENT
- Cliquer sur Source -> 1.DSPPROG.abl afin d’ouvrir l’éditeur de fichier.
Rappeler les équations des sorties MONTEE et DESCENTE en fonction des variables
- Compléter le fichier ABEL et enregistrer les modifications.
d'entrée S, V, M et D :
Compilation du fichier ABEL :
- Cliquer sur Source -> Tout construire. Corriger les erreurs éventuelles dans le _________________________________________________________________________
fichier ABEL et, le cas échéant, relancer la compilation.
Si vous obtenez le message COMPILATION EFFECTUEE AVEC SUCCES alors le _________________________________________________________________________
fichier JEDEC à bien été créé dans votre projet.

6. ASSOCIATION DU FICHIER JEDEC OBTENU AU PLD DU SCHÉMA 2. DESCRIPTION DU FICHIER ABEL


- Effectuer un click droit sur le composant AM22V10 puis éditer ses propriétés. On utilisera pour les entrées S, V, M et D les broches 2, 3, 4 et 5.
- Dans le champ JEDEC Fuse Map File, parcourir et sélectionner votre fichier Les sorties MONTEE et DESCENTE seront placées sur les broches 23 et 22.
JEDEC fraichement créé (P:\ELN\DSPPROG.JED). Rendre ce champ visible sur En vous aidant de l'exemple précédent et du langage de programmation ABEL,
le schéma (sélectionner Show All pour ce champ). compléter le fichier STORESOM.ABL de la page suivante permettant d'obtenir le
fonctionnement souhaité.
1 ELN : T.P. N°5 D’ELECTRONIQUE CIRCUITS LOGIQUES PROGRAMMABLES Page 7 sur 8

" Fichier ABEL du STORE SOMFY Compléter le fichier DECODEUR.ABL suivant :

MODULE ________________________________________________________________ MODULE ________________________________________________________________

TITLE ___________________________________________________________________ TITLE 'decodeur BCD 7 segments'

DECLARATIONS DECLARATIONS

_________________________________________________________________________ _________________________________________________________________________

_________________________________________________________________________ _________________________________________________________________________

_________________________________________________________________________ _________________________________________________________________________

EQUATIONS @dcset " Pour ne pas tenir compte des combinaisons d'entrée inutilisées

_________________________________________________________________________ TRUTH_TABLE ([E4, E3, E2, E1] -> [a, b, c, d, e, f, g])

_________________________________________________________________________ [ 0, 0, 0, 0 ] -> [1, 1, 1, 1, 1, 1, 0];

END ____________________________________________________________________ [ 0, 0, 0, 1 ] -> [0, 1, 1, 0, 0, 0, 0];

3. SIMULATION DU STORE SOMFY [ 0, 0, 1, 0 ] -> _____________________________________________________________

En vous aidant de l'exemple précédent, effectuer la simulation de la fonction FP4 du [ 0, 0, 1, 1 ] -> _____________________________________________________________
STORE SOMFY dont le nom de projet sera : P:\ELN\STORESOM.DSN
Faire vérifier le fonctionnement par le professeur. [ 0, 1, 0, 0 ] -> _____________________________________________________________

4. VÉRIFICATION EXPÉRIMENTALE DU STORE SOMFY [ 0, 1, 0, 1 ] -> _____________________________________________________________


Effectuer la programmation du composant et vérifier sont fonctionnement sur la [ 0, 1, 1, 0 ] -> _____________________________________________________________
maquette pédagogique.
Faire vérifier le fonctionnement par le professeur. [ 0, 1, 1, 1 ] -> _____________________________________________________________

G. DÉCODEUR BCD / 7 SEGMENTS [ 1, 0, 0, 0 ] -> _____________________________________________________________


On souhaite intégrer la fonction Décodeur BCD / 7 segments dans un 22V10.
[ 1, 0, 0, 1 ] -> _____________________________________________________________
1. DESCRIPTION DU FICHIER ABEL
END ____________________________________________________________________
On va utiliser dans le cas présent la description par la table de vérité.
Les entrées E1, E2, E3 et E4 seront affectées respectivement aux broches 2, 3, 4 et 5.
Les sorties a, b, c, d, e, f et g seront affectées respectivement aux broches 23 à 17.
1 ELN : T.P. N°5 D’ELECTRONIQUE CIRCUITS LOGIQUES PROGRAMMABLES Page 8 sur 8

2. SIMULATION INTERACTIVE DU DECODEUR 3. MODIFICATION DU DECODEUR


Proteus permet d’animer les schémas lors de leur simulation. - Modifier le fichier ABEL de manière à obtenir un affichage de 0 à 9 et de A à F.
- Saisir le schéma suivant dont le nom de projet sera : P:\ELN\DECODEUR.DSN. - Valider par la simulation les modifications effectués.
Pour cela, on utilisera les objets :
Objet Mode Mots clés Propriétés 4. VÉRIFICATION EXPÉRIMENTALE DU DECODEUR
VCC Terminal POWER Chaîne = VCC - Effectuer la programmation du composant et vérifier sont fonctionnement sur la
GND Terminal GROUND Chaîne = GND maquette pédagogique.
Résistances Composant RES Résistance en ?
Faire vérifier le fonctionnement par le professeur.
DIPSWITCH Composant DIPSW_4 -
PLD Composant AM22V10 DECODEUR.JED H. GIROUETTE
Afficheur Composant 7SEG-COM-CATHODE - On souhaite intégrer dans deux 22V10 une girouette qui indique la provenance du
vent selon 8 directions différentes. L’indication de la direction du vent est faite par un
affichage du point cardinal sur deux afficheurs : N, N-E, E, S-E, S, S-O, O et N-O.

Direction E4 E3 E2 E1 Afficheur 1 Afficheur 2


Nord 0 0 0 0 N
Nord-est 0 0 0 1 N E
Est 0 0 1 0 E
Sud-est 0 0 1 1 S E
Sud 0 1 0 0 S
Sud-ouest 0 1 0 1 S O
Ouest 0 1 1 0 O
Nord-ouest 0 1 1 1 N O

1. SIMULATION DU FONCTIONNEMENT DE LA GIROUETTE


Réaliser la simulation de la girouette précédemment décrite. Le nom de projet sera :
P:\ELN\GIROUETTE.DSN

Remarques :
- Le schéma devra comporter deux circuits logiques programmables 22V10 et deux
afficheurs 7 segments.
- Effectuer la compilation du fichier ABEL. - Ces deux circuits recevront chacun un fichier JEDEC provenant de la compilation
des fichiers P:\ELN\GIROUET1.ABL et P:\ELN\GIROUET2.ABL
- Cliquer sur Jouer et vérifier le fonctionnement en agissant sur les DIPSWITCHS.
Faire vérifier le fonctionnement par le professeur.
Faire vérifier le fonctionnement par le professeur.