You are on page 1of 7

Tutoriel pratique pour simuler un Chip du type PLD 22V10 avec PROTEUS

Lobjectif de ce tutoriel est de programmer un circuit PAL du type AM22V10 pour simuler un dcodeur pour afficheur 7 segments. Les tableaux de Karnaugh seront utiliss. Dautres mthodes de programmation sont possibles. Un autre exemple sera donn plus loin.

Pour pouvoir suivre le tutoriel, il sera ncessaire davoir les logiciels suivants: ( note : la plateforme utilise est Windows XP.) WinCUPL tlchargeable gratuitement chez AMTEL ladresse http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2759 ISIS PROTEUS de la socit Labcenter. Logiciel payant. Il va nous servir pour la simulation. Karnaugh Minimizer (optionnel) version de dmo (Free to try) ladresse http://karnaugh.shuriksoft.com/ la version demo peut tre utilise pour ce tutoriel. Ce logiciel va nous aider trouver les formules via les tableaux de Karnaugh. Ce logiciel nest pas obligatoire si vous souhaitez trouver les formules par vous-mme.

Pour raliser ce projet nous avons 4 entres binaires (comptage de 0 F) et 7 sorties pour les segments de lafficheur. Nous allons remplir les tables de vrit. A,B,C,D sont les entres et Sa, Sb, Sc, Sd, Se, Sf, Sg sont les sorties sur les segments de lafficheur selon la figure suivante :

Tables de vrit: DCBA 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 DCBA 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Sa 1 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1 Se 1 0 1 0 0 0 1 0 1 0 1 1 1 1 1 1 D 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 D 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 CBA 000 001 010 011 100 101 110 111 000 001 010 011 100 101 110 111 CBA 000 001 010 011 100 101 110 111 000 001 010 011 100 101 110 111 Sb 1 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 Sf 1 0 0 0 1 1 1 0 1 1 1 1 1 0 1 1 DC 00 00 00 00 01 01 01 01 10 10 10 10 11 11 11 11 D 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 BA 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 Sc 1 1 0 1 1 1 1 1 1 1 1 1 0 1 0 0 Sg 0 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 DCBA 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Sd 1 0 1 1 0 1 1 0 1 1 0 1 1 1 1 0

CBA 000 001 010 011 100 101 110 111 000 001 010 011 100 101 110 111

Avec les tableaux de Karnaugh nous obtenons les formules suivantes: Sa = C*B + |D*B + D*|A + |C*|A + |D*C*A + D*|C*|B Sb = |C*|A + |C*|B + |D*B*A + D*|B*A + |D*|B*|A Sc = |B*A + |D*A + D*|C + |D*C + |C*|B Sd = |D*B*|A + |D*|C*B + D*|C*A + C*|B*A + D*C*|A + |C*|B*|A Se = B*|A + D*B + D*C + |C*|A Sf = D*B + D*|C + C*|A + |B*|A + |D*C*|B Sg = D*B + |C*B + D*|C + C*|B*A + |D*C*|A

Nous nallons pas dtailler ici la faon dobtenir ces formules manuellement. Vous pouvez vous rfrer aux diffrents articles que vous trouverez sur le web.

En ce qui concerne la rsolution des tableaux de Karnaugh, vous pouvez utiliser le logiciel Karnaugh Minimizer cit plus haut. La version de dmo est suffisante pour ce tutoriel. Lancez le logiciel. Via Options changez le nom des variables comme dans la figure ci-dessous. (dans lordre)

Les oprations suivantes sont raliser pour chaque segment. Donc 7 fois. Entrez les donnes pour le segment Sa dans la colonne Fn laide du click de la souris. Utilisez pour cela les tables de vrit de la page prcdente. (Sa Sg)

Lancez lanalyse via le bouton Analyser et voici notre formule sur la partie droite de la fentre. Via le menu outils Formules schma puis convertir, nous pouvons visualiser le schma quivalent de notre formule. (image de droite)

Vous pouvez obtenir plus dinformation sur la rsolution du tableau via le bouton Rapport

Faites la manipulation pour toutes les autres tables de vrits.

Nous voil maintenant en possession de nos 7 formules. Il nous reste encore les utiliser. Lancez le programme WinCUPL Via Options WinCUPL onglet General, Entrez le chemin pour le projet. Entrez File New Project puis saisissez les informations sur le projet.

Puis entrez le nombre dentres. Dans notre cas rpondez 4. Pour le nombre de sorties 7. Enfin laissez pinnodess 0. Vous pouvez maintenant passer la saisie du programme.

Nous devons dfinir les pins du chip qui seront utilises comme entres (input) associes une variable. Dfinissez galement les sorties (output). Vous pouvez constater que dans les formules le signe NON | devient ! que le ET * devient & enfin le OU + devient # .

Nous pouvons lancer maintenant la compilation. Via menu Run Device Dependent Compile. La compilation doit se terminer sans erreur. Compilation successfull

Nous devons maintenant trouver un fichier .jed qui servira piloter notre 22v10 sous Proteus.

Fermez WinCUPL et lancez Proteus. Saisir le schma ci-dessous :

Nous utilisons 4 rsistances de 10k, 7 rsistances de 330W, 1 afficheur 7 segments, un bloc de 4 interrupteurs et un circuit PAL AM22V10. Editez (click droit sur le chip) les proprits du 22v10 et dans la zone JEDEC Fuse Map File donnez le chemin qui pointe sur le fichier .jed cr prcdemment.

Testez le fonctionnement de lensemble en lanant la simulation PROTEUS et en agissant sur les 4 interrupteurs vous devriez voir la traduction sur lafficheur du code binaire entr avec les interrupteurs.

Comme indiqu au dbut du tutoriel, il y a plusieurs possibilits daborder la programmation de cet exemple. Nous pouvons utiliser WinCUPL sans passer par les tableaux de Karnaugh. Utilisation dun tableau qui contient le binaire correspondant aux segments. Voici un autre exemple de programme :
Name PartNo Date Revision Designer Company Assembly Location Device 7Digits2 ; 00 ; 06.06.2009 ; 01 ; Gerard ; Private ; None ; Geneva; g22v10 ;

/* *************** INPUT PINS **********************/ PIN [2..5] = [I0..I3] ; /* *************** OUTPUT PINS *********************/ PIN [17..23] = [Q0..Q6] ; FIELD input = [I3..I0] ; FIELD output = [Q6..Q0] ; TABLE input => output { /* seg abcdefg */ 0 => 'b'1111110 ; 1 => 'b'0110000 ; 2 => 'b'1101101 ; 3 => 'b'1111001 ; 4 => 'b'0110011 ; 5 => 'b'1011011 ; 6 => 'b'1011111 ; 7 => 'b'1110000 ; 8 => 'b'1111111 ; 9 => 'b'1111011 ; A => 'b'1110111 ; B => 'b'0011111 ; C => 'b'1001110 ; D => 'b'0111101 ; E => 'b'1001111 ; F => 'b'1000111 ; }

Thats all. GBG le 06 juin 2009 electronic@altisim.com

You might also like