Université François-Rabelais de Tours Institut Universitaire de Technologie de Tours Département Génie Électrique et Informatique Industrielle Projet d’étude et réalisation Horloge numérique à Diodes Electroluminescentes pour automobile Julien JACQUIN Clément TREMBLIER 2ième Année – Q2 promotion 2006/200 Enseignants • Mme. DA COSTA . Mr. LEQUELJ T. or 15 Sni* to View LJniversité François-Rabelais de Tours promotion 2006/2008 informatique…. 13 3. Tests effectués 16 Conclusion…. . 17 Résumé. 18 ANNEXES.. 0 Introduction Durant la formation de DUT GEII, au cours du quatrième emestre, les cours d’études et réalisations nous permettent de mettre en oeuvre un projet. Ce projet est soit proposé par l’enseignant, soit proposé directement par un groupe d’étudiants et ensuite approuvé par l’enseignant afin d’autoriser sa création. Le projet que nous avons décidé de réaliser est un projet que nous avons propose, nous sommes donc partis de rien, il s’ agit d’ une horloge numérique sept segments à diodes électroluminescentes qui sera alimentée par une tension de 12 Volts, donc intégrable dans une automobile. 1. Présentation du projet 1 . 1. Le cahier des charges 5 Possibilité de coupure des afficheurs par interrupteur tout en gardant la partie de calcul de l’heure, Possibilité de programmer le composant In-Situ afin de faciliter les tests Intégration de deux boutons de réglage, Réalisation de la carte avec un certain esthétisme. Toutes ces contraintes nous ont obligé à faire l’analyse technique suivante. 1. 2.
Généralités Le but du projet était « simple il répondait au bloc fonctlonnel de niveau 1 suivant : Illustration 1: Bloc fonctionnel de niveau 1 Afin que notre projet corresponde au mieux avec le cahier des charges, nous avons dû ettre en oeuvre différentes solutions technologlques, certalnes, de par leur complexité de mise en oeuvre, ont dû être abandonnées, nous en parlerons brièvement. Afin de mener à bien ce pro’et nous avons décidé de nous partager le travail, I’ un de PAGF 15 constitueraient et comment nous ferions pour que le projet soit conforme aux contraintes que nous nous sommes imposées.
Dans un souci d’esthétisme, nous avons décidé de réaliser ce projet à l’aide de deux cartes, la première sera la carte dite « principale elle comportera l’alimentation, le composant programmable ainsi que plusieurs autres fonctions. La deuxième carte sera la carte affichage, elle comportera les diodes nécessaires à la création de l’horloge ainsi que les résistances pour les diodes des secondes. Cette partie sera découpée en plusieurs sous-parties, reprenant chacune une fonctlon de la carte.
Illustration 2: Photo de la carte principale 6 Partie 1 : L’alimentation La première partie du projet a été de penser à fournir l’énergie nécessaire au bon fonctionnement du projet. Le bloc alimentation servira à fournir l’énergie nécessaire afin de faire fonctionner le composant programmable (CPLD), l’horloge de 1 MHz ainsi que les ifférents interrupteurs prévus. L’alimentation que nous avions prévu initialement a été réalisée ? partir d’un circuit LM2574-ADJ, dont la particularité est de pouvoir régler la tenslon de sortie grâce à des résistances dites de retour.
Illustration 3: Schéma de la artie alimentation PAGFd 5 Les deux résistances R2 et R3 ont été choisies de façon à régler le régulateur ? découpage pour obtenir une tension de +5V à la sortie de celui-ci. La diode électroluminescente RB, associé à la résistance R23, sert à visualiser si la carte est alimentée correctement. Lorsque la diode est allumée, ela signifie que le régulateur fonctionne normalement. Illustration 4: Photo de la partie alimentation Partie 2 : L’horloge Afin d’obtenir une haute précision de la pendule, il a fallu « cadencer » le CPLD, c’est à dire lui indiquer quelle fréquence de calcul il aurait. Nous avons choisi de placer une horloge à 1 Méga Hertz, notre composant programmable effectuera donc 1 million de calcul par seconde. En choisissant cette fréquence, nous avons prévu, au cas où le composant ne prendrait pas en compte certains passages de l’horloge, de minimiser ces effets.
En effet, même si le CPLD « oubliait » 100 impulsions ‘horloge sur 1 million, cela créérait un décalage de seulement 0,0001 seconde. Afin de réaliser cette horloge, nous avons penser à faire un montage à base de quartz et de porte inverseuse, cependant après quelques recherches, nous avons trouvé un composant qui, lorsqu’on l’alimente sous 5 Volts, nous permet d’ obtenir directement le signal carré cadencé à 1 Méga Hertz. Illustration 5: Photo de l’ h s 5 68 d’entre elles peuvent servir d’entrées où de sorties.
Les autres pattes sont utilisées pour alimenter ce composant. La difficulté de mise en application de ce type de composant réside dans le fait que le outage des pistes s’avère délicat, étant donné le nombre conséquent de pattes à connecter. Nous avons choisi ce CPLD car il nous fallait assez d’entrées/ sorties (nous en utilisons environ 53), de plus, ce composant à la particularité d’être programmable « In-Situ c’est ? dire sans avoir à le déconnecter de la carte, ce qui permet du gagner du temps dans les tests.
Nous avions prévu, comme indiqué ci-dessus, de cadencer le CPLD à une fréquence de 1 MHz, la fréquence d’horloge maximum que l’on peut lui imposer étant de 147MHz selon le manuel du constructeur, nous sommes bien en dessous de ses apacités maximales de calcul. Sur le CPLD, nous avons 7 sorties pour commander les segments des heures et 2 pour commander soit l’allumage des unités, soit des dizaines. Nous avons également 9 autres sorties pour les minutes, selon le même procédé. Afin de faciliter la mise en place, nous avons choisi de commander une diode d’allumage de seconde par sortie.
Cela nous utilise donc 30 autres sorties. Une sortie est également nécessaire pour l’ affichage des deux points servant ? séparer les heures des minutes. Nous avons placé 3 entrées, l’une est l’interrupteur marche/arrêt, es deux autres sont les boutons de réglages. Enfin nous avons une entrée dihorlo e afin de lui transmettre sa fréquence de calcul. l’adaptateur JTAG Afin de réaliser une programmation dite « In-Situ » pour notre projet, nous avons dû rajouter un petit module comportant un connecteur IO broches ainsi que 5 résistances.
Avec le brochage correct du connecteur sur certaines pattes du CPLD, cela nous permet de rendre possible, via un adaptateur JTAG, la programmation du Illustration 8: Schéma du module de programmation In-Situ 10 Illustration 9: Photo du module de programmation In-Situ L’ adaptateur JTAG sert à établir la connexion entre l’ordinateur et le CPLD afin de procéder à sa programmation. Pour cela, il faut réaliser un adaptateur qui reliera le port 25 broches de l’ordinateur au connecteur 10 broches de la carte.
Illustration 10: Photo de l’adaptateur JTAG Partie 5 : Le multiplexage des dizaines et des minutes Le multiplexage est un procédé permettant d’économiser de l’énergie pour notre projet. Grâce à ce principe, nous n’aurons pas besoin d’alimenter les 4 afficheurs en même temps. Nous en allmenterons seulement deux, puis les deux autres et ainsi de suite. Cela permet de réduire la consommation de la carte et de minimiser le nombre de sorties nécessaires sur le CPLD (1 8 sorties en multiplexage contre 28 sans). 5 permet de bloquer le transistor celui-ci va alors se comporter comme un interrupteur ouvert entre R32 et la masse, les diodes ne pourront donc pas s’allumer . En saturant un transistor pour les unités et bloquant celui des dizaines, un afficheur sur les deux fonctionnera (celui des unités), ensuite on inversera les commandes et on allumera ainsi l’afficheur des dizaines. Illustration 12: Photo des transistors de multiplexage (à gauche) 12 Partie 6 : L’affichage des secondes Illustration 13: Schéma de câblage des diodes de seconde L’affichage des secondes est plus simple que la réalisation des afficheurs.
On a disposé seulement une diode en série avec une résistance, si on met un potentiel de +5V sur la diode, celle-ci s’allumera, sinon, elle restera éteinte. Le potentiel que l’on applique sur la diode est contrôlé par le CP D. 2. 2. Etude de la partie informatique Afin de réaliser le programme à insérer dans le CPLD, nous nous sommes servis du logiciel QUARTUS Il qui permet de tester le programme sans forcément l’insérer dans le CPLD.
La partie programmation du CPLD a été faite de manière modulaire, ce choix est justifié par plusieurs avanta es : Le rogramme est plus clair, on peux raiouter/supprimer référer a l’annexe 1 contenant le programme. Dans ce module, on trouve aussi la partie réglage, une partie qui a posé problème ? cause de la vitesse de l’horloge qui détectait plusieurs fois le bouton en un seul appui, on a donc eu besoin d’avoir recours à des variables internes pour ne détecter uniquement que le front montant ( actifR et actifl ).
L’autre difficulté de ce module fut de compter les heures, les minutes et les secondes ur 8 bits chacun ( 4 pour les unités et 4 pour les dizaines Pour cela on a dû avoir recours ? l’astuce suivante car avec 4 bits, on compte jusqu’à 15 et non jusqu’à g : begin s=S+6; end Grâce à cette astuce, quand nos unités arrivent à 9, on incrémente les dizaines et l’on remet les unités à O Ce fut la principale difficulté de ce module, le reste étant une simple succession de compteurs.
Partie 2 : Les modules d’affichage des heures et des minutes Ces modules sont ceux qui nous permettent l’affichage de l’heure sur les diodes, pour expliquer son fonctionnement nous allons commenter une ersion abrégée du module on active le multiplexage pour qu’il affiche les dizaines par la suite, on refait les même tests pour l’afficheur des dizaines, puis on remet la variable MultiplexH à O pour réafficher les unités.
Partie 3: Affichage des secondes Ensuite vient le module d’affichage des secondes, c’est le plus simple de tous, son fonctionnement est le sulvant : always@(posedge Sec) //A chaque front montant de Sec // On regarde si S est inférieur où égale a 30 Seconde=Seconde<<1; // Si oui on fait un décalage a gauche en rentrant un 1 else // Sinon on fait un décalage a droite en rentrant un O