notice technique reveil
Transcription
notice technique reveil
Notice Technique de l’Horloge/ Réveil par Smart Clock NOTICE TECHNIQUE REVEIL Par Smart Clock I. Introduction Notre projet a consisté en la conception d’une Horloge/Réveil en utilisant un applet Java, appelé DigSim (Digital Simulator). Cet applet Java dispose d’un grand nombre de composants logiques que nous avons utilisé avec soin (portes logiques, mémoire programmable de type ROM : PROM, compteurs 4 bits synchrones et asynchrones, horloge, fils etc.). Cette notice technique est destinée à toute personne qui s’intéresse de manière plus poussée à notre produit réalisé par la compagnie Smart Clock composée de 8 élèves Ingénieurs en 2ème année Electronique, option Microélectronique à l’ENSICAEN. Pour bien commencer notre projet, nous avons dû établir une stratégie de travail. La version finale proposée en ligne a été conçue avec une horloge et un réveil synchrones. De manière générale, on parle de synchrone quand il n'y a qu'une seule horloge pour un ensemble de circuit, c'est-à-dire qu'on ne prend en compte que les valeurs des signaux d'entrée au moment d'un front montant d'horloge. Chaque fois qu'un signal d'entrée change, on parle d'asynchrone. Cette logique est dangereuse car les états des composants sont aléatoires et cela provoquait des aléas au fil de l’utilisation. Pour plus de clarté, cette notice technique est divisée en trois grandes parties : • • • La première partie présente le principe de fonctionnement de l’horloge et précise la méthode de réglage correspondante. La deuxième partie est consacrée au réveil avec un descriptif de son fonctionnement intrinsèque du réveil ainsi que de son réglage. Enfin, la dernière partie est focalisée sur la partie comparaison de l’heure courante avec l’heure du Réveil. Lorsque ces deux heures sont identiques, c’est le moment de se lever !! Le buzzer est actif. NB : Pour toute question relative au fonctionnement ou aux explications de la notice, veuillez contacter le coordinateur de la compagnie Smart Clock Julia Pettine Bonne lecture. Notice Technique de l’Horloge/ Réveil par Smart Clock II. Conception de l'horloge a) Principe de fonctionnement de l’horloge L’horloge que nous avons conçue est affichée par l’intermédiaire de 6 afficheurs 7 segments. Ces afficheurs sont à cathode commune et fonctionnent selon sept entrées. Chaque entrée de a à g, lorsqu’elles sont toutes au niveau 1 ,permet d’afficher le chiffre 8. Elles sont configurables séparément pour pouvoir afficher tous les chiffres de 0 à 9 avec une possibilité de chiffres en hexadécimal (non utilisé dans le cadre du projet). ______ / a / f/ /b /_____/ / g / e/ /c /_____/ d Figure 1 : afficheur 7 segments Une horloge se compose de deux parties : une partie d’initialisation réalisée par une cellule RC et une partie de comptage et d’incrémentation de l’horloge à chaque seconde. Présentation de l’initialisation − Cellule RC : Une cellule RC avec bouton poussoir de Reset (Remise à zéro) fournit un niveau logique 0 pendant quelques instants après la mise sous tension du montage, le temps que la tension aux bornes du condensateur atteigne et dépasse Vcc/2 (Vcc = 5V). Pour cela, elle doit être impérativement connectée à la source d'alimentation Vcc. C'est une fonction indispensable pour initialiser tout montage de type séquentiel. Grâce à cette cellule on initialise tous les composants utilisés pour la création de l'horloge. Présentation de l’horloge - Compteur DCB-4 bits programmable avec une RAZ synchrone : Pour concevoir notre horloge nous avons eu recours à 6 compteurs Décimaux Codés Binaire 4bits programmable avec une remise à zéro (raz) synchrone. Ce compteur dispose de deux entrées de validation ENP et ENT. Ces entrées donnent la possibilité de mettre en cascade les compteurs synchrones afin d’obtenir une horloge HH : MM : SS. Il faut noter que l’état initial de ce compteur est aléatoire, ainsi on comprend mieux l’intérêt de la cellule RC connectée à l’entrée reset qui va forcer à zéro tous les compteurs au lancement de la simulation. Une table de vérité est un tableau qui présente les différentes états des entrées /sorties et elle donne le mode d’utilisation du composant en fonction de ces états. Notice Technique de l’Horloge/ Réveil par Smart Clock Ici on dispose de la table de vérité du Compteur DCB 4 bits.Le mode comptage modulo 10 a été choisi pour pouvoir incrémenter le compteur sur chaque front montant de l’horloge. /r 0 1 1 1 1 /L 0 1 1 1 CLK ! ! ! - ENP 1 0 ENT 1 0 - Q+ 0000 DCBA Q+1 Q Q Mode Mise à 0 synchrone Chargement synchrone Comptage modulo 10 Maintien Maintien Figure 2 : Table de vérités du Compteur DCB 4 bits De plus nous avons relié les entrées A B C D des compteurs à la masse pour que l'on soit sûr de commencer à « 0 ». Ces entrées sont indépendantes de l'horloge mais vont nous permettre de régler l'horloge (cf. partie réglage) Chaque compteur est relié à l'horloge ayant une période d'une seconde, chaque front montant de celle-ci permet d'incrémenter le compteur. Dans le premier compteur (celui des unités de seconde) nous avons relié les entrées /L /R ENP ENT à "1" car avec la table de vérité du compteur on sait alors que l'on a un comptage modulo 10: c'est à dire que le compteur comptera de 0 à 9. Une fois que le compteur arrive à 9 on utilise la sortie T9, qui est une retenue, que nous avons reliée à l'entrée ENT du compteur des dizaines de secondes. La sortie T9 passe à "1" lorsque le premier compteur est à 9 donc on retrouve notre comptage modulo 10 dans le deuxième compteur. Pour que les secondes s'arrêtent à 59 nous avons eu recours à des portes logiques. On a pris les sorties Qa et Qd (qui font 9) du premier compteur et les sorties Qa et Qc (qui font 5) et nous les avons reliées au reset du compteur. Une fois le nombre 59 détecté, nos compteurs se remettent à 0 automatiquement. Pour pouvoir mettre en cascade le compteur des dizaines de secondes et des unités de minutes nous avons utilisé le changement d'état du reset. En effet, on relie le reset à l'ENT du 3ème compteur (nous avons pris soin de complémenter l'entrée ENT) et dès que le reset passe a "0" nous retrouvons notre comptage modulo 10. Nous retrouvons exactement la même structure pour les minutes que pour les secondes. En utilisant le même procédé vu précédemment on effectue encore le même montage pour les heures. La seule chose qui change c'est que la remise à zéro des heures doit décoder 23 et non 59. Pour pouvoir lire l'heure nous avons utilisé des décodeurs latch 7segments qui seront directement reliés aux afficheurs. Ce composant est utilisé pour commander l'allumage des segments de l'afficheur à 7 segments. Il permet un affichage en hexadécimal. On est en mode transparent c'est à dire quand l'entrée LE =0, l'état des sorties a, b, c, d, e, f, g est déterminé par celui des entrées D, C, B, A. Ces entrées sont directement reliées aux sorties d'un compteur respectivement Qd, Qc, Qb, Qa. Les sorties a, b, c, d, e, f, g sont directement relié à un afficheur et transcrivent l'état actuel du compteur. Ils représentent les segments de l'afficheur. Maintenant que le fonctionnement de l’horloge a été défini, nous allons vous présenter le principe du réglage de cette même horloge. Notice Technique de l’Horloge/ Réveil par Smart Clock b) Principe du réglage de l'horloge L'enjeu du réglage de l'horloge est de permettre à l'utilisateur de régler l'heure (minutes et heures seulement) au lancement de la simulation de notre produit. Pour cela, nous avons utilisé un ensemble de composants qui vont faire l'interface entre le mode « normal » de l'horloge et le mode « réglage ». NB: Au lancement de la simulation, tous les afficheurs sont initialisés à zéro. Le réglage en quelques mots : L'utilisateur dispose de trois boutons poussoirs (BP): − Un BP « Mode réglage » est accessible, près de l'horloge centrale du montage, pour choisir l'un des deux modes. Le mode par défaut est le mode « normal » c'est-à-dire que l'horloge est en cours de fonctionnement. Quand l'utilisateur actionne ce BP, c'est-à-dire que l'état du BP est au niveau bas (connecté à la masse), le mode choisi est le mode « réglage ». − Un BP « minutes » est accessible à gauche du montage et concerne le réglage des minutes. Lorsqu'on actionne ce BP, les minutes s'incrémentent. − Un BP « heures » est accessible à proximité de celui des minutes et permet d'incrémenter à volonté les heures pour régler l'horloge. Comme nous l'avons défini dans la présentation de l'horloge, notre simulation utilise des compteurs DCB 4 bits programmables avec une remise à zéro synchrone. La clé du réglage consiste à gérer chaque entrée du compteur avec prise en compte des deux modes proposés. La présentation du réglage est divisée en quatre parties : la gestion de l'entrée CLK, la gestion des entrées du compteur, la gestion des entrées de validations ENP et ENT. 1. La gestion de l'entrée CLK du compteur Chaque compteur dispose d'une entrée CLK qui définit son horloge interne. Ce signal d'horloge va cadencer le traitement du compteur. Dans le mode « normal », c'est l'horloge centrale du montage qui est connectée directement à l'entrée CLK du compteur. Dans le mode « réglage », ce sont les changements d'état des BP de réglage (heures et minutes) qui vont définir l'entrée CLK du compteur. En effet, l'horloge centrale bat la seconde et permet d'incrémenter le compteur des secondes. Dans le cas du réglage, l'utilisateur définit seulement les minutes et les heures donc l'incrémentation des compteurs est définie par l'action des BP par l'utilisateur. Pour réaliser l'interface entre les deux modes, nous avons utilisé les composants suivants : − Une porte ET à deux entrées (AND2 dans DigSim) : une entrée est reliée au BP « minutes » et une autre entrée complémentée (on réalise l'inversion de l'état de l'entrée) est connectée au BP « Réglage du mode ». En clair, cette porte permet de distinguer les deux modes. En mode réglage, la sortie de cette porte est à 1, en mode normal cette sortie est à 0. Notice Technique de l’Horloge/ Réveil par Smart Clock − Une porte OU à deux entrées (OR2 dans DigSim) : une entrée est reliée à la sortie de la porte ET précédemment définie et son autre entrée est connectée à l'horloge centrale du montage. La sortie de cette porte est connectée à l'entrée CLK du compteur utilisé. Exemple : En mode réglage La sortie de la porte ET est à 1 La sortie de la porte OU est à 1 à chaque appui sur le BP « minutes » ou « heures ». On a réalisé ainsi une nouvelle horloge manuelle. 2. La gestion des entrées du compteur Le but du réglage est de permettre à l'utilisateur de visualiser sur les afficheurs l'heure qu'il est en train de régler. Plusieurs composants ont été employés pour optimiser le réglage de l'horloge. - Un Compteur-Décompteur Binaire 4 bits avec une remise à zéro s'incrémente à chaque front montant du BP actionné par l'utilisateur pour mettre à jour les entrées du compteur DCB 4 bits synchrone. Le mode comptage est activé quand l'entrée U/D est au niveau haut à 1. L'entrée de reset /r effectue la remise à 0 asynchrone du compteur si U/D=1. /r 0 1 1 1 U/D 1 1 Clk 1 0 ! DCBA (n+1) 0000 DCBA (n) DCBA (n) DCBA (n) +1 Mode Chargement à 0 Maintien Maintien Incrémentation sur front montant Figure 3 : Table de vérité du compteur Binaire 4 bits avec remise à zéro Comme l'état initial de ce compteur est aléatoire, l'entrée reset est connectée au circuit RC d'initialisation qui force tous les compteurs à zéro au lancement de la simulation. - Les sorties du Compteur Binaire 4 bits sont reliées à un boîtier « 4 Multiplexeurs 2 vers 1 ». Si le composant est validé (/G=0), quand le mode réglage est choisi, les 4 sorties Y de ce composant - sont égales aux 4 entrées d'adresse "0" si a = 0 - sont égales aux 4 entrées d'adresse "1" si a = 1 Dans notre cas, les sorties du Compteur Binaire 4 bits sont reliées aux entrées d'adresse « 1 », les autres d'adresse « 0 » étant à la masse. Le but du multiplexeur est de mettre à jour les entrées du compteur DCB seulement en mode réglage et de les désactiver en mode normal pour que le compteur s'incrémente à chaque coup de l'horloge centrale. Notice Technique de l’Horloge/ Réveil par Smart Clock 3. La gestion des entrées ENP ET ENT Les entrées de validation ENP et ENT sont disponibles pour permettre une mise en cascade synchrone du compteur DCB 4 bits. - Les entrées ENP des 6 compteurs sont interconnectées et reliées à l'entrée L. Cette entrée permet de charger les entrées du compteur est de les recopier en sortie. - Les entrées ENT activent le comptage. Pour gérer l'interface entre les deux modes disponibles, il existe une porte OU à deux entrées inversées : une entrée est connectée au BP « choix du mode », l'autre est reliée à l'entrée de reset des secondes. En effet, les minutes doivent être incrémentées lorsque les secondes sont à 59 ce qui active l'entrée /r de remise à zéro. Principe de la remise à zéro en « mode réglage » En « mode réglage », pour simplifier la tâche de l'utilisateur, la remise à zéro sera effectuée à 23h 59min sans prise en compte des secondes. L'explication détaillée de cette partie va s'opérer en lisant le schéma de droite à gauche, en partant du compteur unité des minutes et en allant progressivement jusqu'au dernier compteur de gauche des dizaines d'heures. « Partie incrémentation des minutes classique de l'horloge » − une porte ET à deux entrées : une entrée est issue de la sortie 4 du compteur et l'autre de la sortie 5.La sortie de cette porte ET est à 1 quand les minutes atteingnent 50. − une porte ET à deux entrées : une entrée provient de la sortie 1 et l'autre de la sortie 8 du compteur. La sortie est à 1 lorsque les unités des minutes sont à 9. − une porte ET inversée à deux entrées : la première entrée correspond à la sortie de la porte ET de detection de 9 pour les minutes , la deuxième entrée qui est inversée est reliée au signal de reset du compteur des secondes. « Partie incrémentation des minutes en mode Réglage » − une porte ET inversée à deux entrées : la première entrée, complémentée, est reliée à la sortie du bouton poussoir « Réglage Horloge » et valide l'action de cette porte uniquement dans ce mode précis.La deuxième entrée est reliée à la sortie de la porte ET indiquant le passage des minutes à 9. − une porte ET à deux entrées : reçoit la sortie de la porte ET inversée à deux entrées qui valide l'incrémentation des dizaines de minutes en mode réglage et la deuxième entrée correspond à la sortie de la porte ET inversée qui valide l'incrémentation des minutes en mode classique d'horloge. − Une porte ET à deux entrées fait le lien entre les deux modes.Cette porte reçoit la sortie de Notice Technique de l’Horloge/ Réveil par Smart Clock la porte précédemment définie ainsi que le signal d'initialisation du montage (cf Cellule RC). La sortie de cette porte est directement reliée à l'entrée reset du compteur de dizaines de minutes et permet ainsi de remettre à zéro les dizaines de minutes lorsqu'on arrive à 59 minutes.Le reset s'effectue lors d'un passage d'un état haut à un état bas en sortie de la porte ET. En ce qui concerne les heures, le réglage est complètement analogue puisqu'il reprend le principe de la remise à zéro des dizaines de minutes.On prend en compte désormais le chiffre '2' des dizaines d'heures, le chiffre '4' des unités des heures, l'état du bouton poussoir de réglage.La remise à zéro tient compte des deux modes possibles : en mode horloge, c'est à 23h59min59s que la synchronisation de remise à zéro s'effectue contrairement au mode réglage où seules les heures sont prises en compte. Enfin, vous savez désormais comment l’horloge désignée par Smart Clock fonctionne et notamment comment on a procédé pour concevoir le réglage de l’horloge. Maintenant, nous allons continuer en présentant notre solution pour le réveil, optimisé en place, et très simple d’utilisation. III. Conception du réveil a) Principe du réveil La deuxième partie de ce projet réside donc dans l’élaboration du réveil, fonctionnalité non pas des moindres. En effet l’achat du produit par l’utilisateur est en partie conditionné par la fonction réveil. Il convient donc de réaliser un réveil aussi pratique que fonctionnel toujours dans un souci d’optimisation spatial. Pour ce réveil, nous nous sommes orienté donc dans l’élaboration d’une structure qui permettrait d’avoir à disposition et surtout en permanence l’heure de réveil choisi par l’utilisateur. Ce choix de structure est en fait en partie justifié par le montage de comparaison situé en aval (voir IV).Le réglage du réveil (décrit dans le prochain paragraphe) a finalement orienté notre choix vers une structure basée sur des composants assez simples d’utilisation à savoir des compteurs-décompteurs dcb 4 bits avec remise à zéro. b) Réglage du réveil Rappelons le principe du réveil : l’utilisateur en agissant sur une commande doit pouvoir choisir l’heure de son réveil. L’élément le plus logique qui vient à l’esprit et dont nous disposons est sans doute un simple bouton poussoir. Ainsi sur chaque appui du bouton poussoir, équivalent d’un point de vue logique à un front montant, l’utilisateur verrait s’incrémenter les minutes où les heures. Comme nous l’avons énoncé précédemment le compteur-décompteurs dcb 4 bits avec remise à zéro s’avère être un parfait allié du bouton poussoir. En effet ce compteur câblé dans son mode « comptage » s’incrémente à chaque front montant de son entrée ‘horloge’ et revient à zéro en fonction de l’état de son entrée r/ (active à zero) .On récupère bien évidemment le chiffre compté en binaire sur les bits A B C D Notice Technique de l’Horloge/ Réveil par Smart Clock Examinons d’abord le cas des minutes. Il parait normal d’avoir recours à 2 compteurs avec 2 modes de remise à zéro différents : 1 compteur--- dizaine minuteremise à zéro à 6=>=>choix de compteur 4bits chargement asynchrone 0 -9 1compteur--- unité minuteremise à zéro à 9=>choix de compteur 4bits chargement asynchrone 0 -9 On pourra donc afficher au maximum 5 9 ce qui est voulu. On pourrait alors se dire 2 compteurs => 2 boutons poussoir. Et bien non! Dans un souci d’optimisation nous maintenons une structure à l’aide d’un bouton poussoir. La mise en cascade des 2 comparateurs s’est donc avérée obligatoire : la fin d’un cycle de comptage, de 0 à 9 enclenche un front montant sur le deuxième compteur qui peut à son tour s’incrémenter. On a donc bien un fonctionnement incrémentation unité puis incrémentation dizaine avec une seule commande. Attention cependant à la mise en cascade : pour permettre au compteur dizaine de voir la fin du cycle de comptage unité comme un front montant il est nécessaire de complémenter le bit 4 du compteur unité. En effet le bit 4 du compteur unité reste à 0 jusqu’à 8 puis passe à 1 pour 8 et 9 puis retour à 0 etc. en le complémentant on a donc bien une incrémentation dizaine lors du retour à zéro. Et voilà on obtient donc notre réveil réglé du point de vue des minutes. Résumons donc le câblage : Compteur unité minutes : entrée clk - bouton poussoir ( compte sur front montant) entrée U/D +5V(mode comptage) entrée R/ cellule RC ( OV puis 5V)( pas de remise à zéro spécifique)* sortie A B C multiplexeur d’affichage puis décodeur 7 segments sortie D complémentée puis vers entrée clk du compteur n°2 dizaine minute( incrémentation des dizaines chaque fin de cycle du compteur unité) Compteur dizaine minutes : entrée clk - sortie D compteur unité minute (mise en cascade) entrée U/D +5V(mode comptage) entrée R/ remise à zéro spécifique quand dizaine minute =6 ( pas de remise à zéro spécifique)=> cellue RC ET ( C non ET A)** sortie A B C D multiplexeur d’affichage puis décodeur 7 segments sortie complémentée puis vers entrée clk du compteur n°2 dizaine minute( incrémentation des dizaines chaque fin de cycle du compteur unité). * Pour éviter les problèmes liés à l’initialisation aléatoire on utilise la cellule RC pour l’initialisation. Elle nous fournit durant un court instant un état 0 puis reste à 1 tout le reste du temps. On peut donc la relier à l’entrée R/ du compteur en étant sûr que le compteur sera à zéro au lancement. ** la condition C ET /A nous donne un 0 lorsque le compteur dizaine est à 6 en la couplant à la cellule RC par une porte ET on obtient donc une initialisation sûre à zéro et une remise à zéro à 6. Notice Technique de l’Horloge/ Réveil par Smart Clock Le réglage de « l’heure » réveil est basé exactement sur la même structure et le même fonctionnement .La seule différence vient bien évidemment de la réinitialisation du compteur dizaine heure et unité : on ne peut afficher au maximum 23. D’où une réinitialisation du compteur unité heure à partir de 9 (réinitialisation intrinsèque) et à partir de 3 selon les cas et aussi une réinitialisation du compteur dizaine heures à partir de 2. Pour le compteur dizaine heures : La réinitialisation est effectuée dès qu’on est à 2 sur la dizaine et 4 sur l’unité . Pour le compteur unité heures : La réinitialisation est effectuée dès qu’on est à 2 et 4 sur l’unité. On voit alors immédiatement un problème de « délais ».En effet la condition est la même pour les 2 compteurs et seul l’un des deux compteurs sera réinitialisé: le premier qui réussira à « voir » 2 et 4 en quelque sorte. Il faut donc essayer de « retarder » la transmission de l’information du 2 ou du 4. C’est le rôle que joue le monostable. Il faut voir ici une égalité monostable=retard. On arrive donc maintenant à réinitialiser les 2 compteurs convenablement en reprenant l’association avec la cellule RC décrite précédemment. Le réveil peut maintenant être réglé par ses 2 boutons poussoirs. Il ne reste plus qu’à détecter que l’heure courante est bien égale à votre heure de réveil. Ce que nous verrons dans la partie suivante. IV. Liaison finale réveil-horloge : comparaison heure/réveil horloge Le réveil étant prêt à l’emploi et l’horloge fonctionnant il ne reste plus qu’à vous réveillez ,c’est à dire détecter lorsque HEURE COURANTE( heure affichée ) « = »HEURE DE REVEIL . La première idée qui nous vient à l’esprit est donc de trouver un composant qui pourrait par sa fonctionnalité réaliser ce « = ».Quoi de plus simple qu’un comparateur ??? Nous avons donc opté pour 2 comparateurs: un comparateur pour les heures et un autre pour les minutes. La sortie /= de ce comparateur passe à 0 si celui-ci est validé (/E=0) et que les entrées A07 et B0-7 sont identiques. Il suffit donc maintenant de bien choisir les entrées de ce comparateur. Nous avons donc connecté sur A0-7 les 4bits du compteur réveil « Unité » minutes et les 4bits du compteur réveil « Dizaine» minutes .De la même façon sur les entrées B0-7, sont connectées les 4bits du compteur horloge « Unité » minutes dcb 4bits programmable et les 4bits du compteur horloge « Dizaine » minutes dcb 4bits programmable .Ainsi lorsque les dizaines et unités d'heures sont égales aux dizaines et unités de minutes, le comparateur a sa sortie l’état 0. Le deuxième comparateur est câblé à l’identique mais en considérant cette fois-ci les compteurs heures : réveil et horloge. Il ne reste plus qu’à réaliser un « ET » logique entre les sorties des 2 comparateurs complémentés (ce qui est équivalent à un « NON OU ») et à envoyer donc le résultat sur une émetteur sonore, en l’occurrence ici un haut parleur et vous voila réveillé !!! Notice Technique de l’Horloge/ Réveil par Smart Clock V. CONCLUSION Le mystère de notre produit Smart Clock a été ainsi révélé. Vous savez désormais tout sur le fonctionnement de l’horloge, du réveil et de la comparaison. Nous espérons avoir répondu à vos attentes et avoir conçu un produit simple d’utilisation et performant. Ce Réveil/Horloge est le fruit d’un travail à 8 pendant trois mois. Nous vous souhaitons une agréable utilisation de notre produit et un bon Réveil en toute tranquillité ! Merci d’avoir choisi notre produit Smart Clock. L’équipe Smart Clock