You are on page 1of 11

CARTES

Un monnayeur lectr lectronique onique car carte te puce


Dans cet article, nous vous proposons un systme de contrle lectronique pour la gestion dunits de temps, adapt aux distributeurs automatiques de services payants. Linsertion, dans un lecteur, dune carte puce dment charge en units, actionne un relais qui reste activ tant que la carte dispose dunits consommer ou tant quelle nest pas extraite du lecteur. Les applications sont tellement nombreuses que nous laissons libre cours votre imagination !

oici un appareil trs utile pour tous ceux qui ont la charge de la gestion de distributeurs automatiques de ser vices dont le fonctionnement doit tre limit dans le temps. Cela peut tre des appareils bronzer, des tlphones, des ordinateurs, des jeux vido, des aspirateurs pour stations services, etc.

Le systme est destin lautomatisation dappareils destins au public et il est trs pratique car il vite davoir recours aux pices de monnaie ou aux traditionnels jetons. Cela permet aux clients daccder aux diffrents services un cer tain nombre de fois, ou pour un temps donn, simplement en acqurant des crdits (units de temps). Lorsque le crdit est puis, il suffit de faire recharger la carte. Prcisons que, par rapport dautres monnayeurs analogues o les units sont dcomptes, les cartes puce utilises dans ce monnayeur sont, en plus, galement rechargeable dun certain nombre dunits (0 255). La diffrence est dans le fait que, dans cette application, une unit de temps nest pas dbite simplement lintroduction et lextraction de la carte dans le lecteur, mais aprs lintroduction dans le lecteur, le microcontrleur procde au comptage du temps pass, dbitant une unit chaque intervalle de temps programm pour cela. En pratique, si le dispositif est prpar (nous verrons comment par la suite) pour disposer dunits dune dure de 5 secondes, si la carte reste introduite une minute, celle-ci perd 12 units (60 : 5 = 12), pour 2 minutes cela fait 24 units, etc.

Comment a marche ?
Il sagit dun systme de contrle pour de petites machines automatiques, bas sur des cartes puce rechargeables. Le relais de sortie nest pas activ durant une priode dtermine, comme dans certains systmes, mais lintroduction dune carte dans lappareil. Il reste ensuite dans cet tat, tant que la carte nest pas extraite ou, du moins, jusqu lpuisement du crdit dunits disponibles. En effet, le crdit est automatiquement dbit dune unit de temps (dtermine en phase de programmation entre 5 et 255 secondes).

ELECTRONIQUE

14

magazine - n 6

CARTES
est dbit chaque unit de temps utilise jusqu lextraction de la carte du lecteur. Lorsque le crdit est puis, le circuit signale lutilisateur quil faut procder une recharge, ce qui revient devoir acqurir de nouvelles units. Code (code programmable de scurit). Mais pas seulement, car aprs ce formatage, il est prvu une autre opration de chargement des units de crdit. Il faut noter que linitialisation est effectue une seule fois ; par contre la recharge est ef fectue chaque fois que cela est ncessaire (chaque fois que la totalit du crdit est puise). Avant la prparation des futures cartes, il faut introduire dans le lecteur puis extraire une troisime carte dinitialisation, la Master Temps (les deux premires sont la Master PSC et la Master Crdit), qui communique au microcontrleur la dure attribuer pour chaque unit de crdit, autrement dit, la dure pour laquelle une unit doit tre dbite. Il faut se rappeler que, pour le systme, toutes les car tes ne sont pas identiques et quil faut obligatoirement utiliser celles de 2 kbit bases sur le SLE4442 de Siemens. Ces cartes doivent tre prconfigures pour la procdure dinitialisation caractrise par un PSC (code programmable de

Prparation de la carte
Ce que vous venez de lire est la synthse du fonctionnement du systme dcrit dans ces pages. Nous avons dit que le systme fonctionne en lecteur de cartes et procde galement lcriture des donnes dutilisation lorsque les units sont dbites. Il faut prciser que, pour tre utilise, une carte doit tre initialise. En dautres termes, afin dobtenir une car te compatible avec notre systme de prpaiement lectronique, il faut que cette carte soit configure avec les informations appropries. La premire de toutes ces informations, est le Programmable Security

En rsum, chaque introduction de la car te dans le lecteur, le systme dbite une unit et active le relais pour la dure de lunit de temps impose. Pass ce dlai, le systme peut dsactiver le relais si la car te a t extraite ou si le nombre dunits disponibles est arriv zro. Le systme peut galement laisser le relais actif (pour lunit de temps impose) et dbiter dune unit le crdit de la carte. En pratique, le crdit de la carte

Figure 1 : Schma lectrique du circuit principal du monnayeur.

ELECTRONIQUE

15

magazine - n 6

CARTES
scurit) gal FF FF FF en hexadcimal. Ne tentez pas dutiliser dautres car tes compatibles mais compor tant un PSC diffrent, car le programme que nous avons mis au point excute lopration dinitialisation en supposant que le PSC est FF FF FF. Lutilisation dautres car tes aurait pour rsultat, si les deux codes sont diffrents, la troisime tentative de comparaison, de les rendre inutilisables.

La carte puce de 2 kbit Siemens


Il sagit dune carte puce ISO7816 base sur le composant SLE4442 de Siemens, une mmoire intelligente de 2 048 bit (2 kbit) accessible par lintroduction et la comparaison dun code de scurit. Son schma synoptique est donn en figure 8. La mmoire est une EEPROM mme si une partie de celle-ci fonctionne la manire dune PROM permettant denregistrer des donnes, lesquelles, aprs avoir brl un fusible de protection, ne pourront plus tre modifies. cs rel dcompos et exprim, comme dhabitude, en groupe de chiffres hexadcimaux du type AA AA AA ou FF FF FF. La squence daccs lcriture et leffacement de lEEPROM consiste introduire le PSC et effectuer la comparaison avec celui rsident dans la carte puce. Si la comparaison est positive, les oprations de lecture/criture peuvent tre ef fectues. Dans le cas contraire, laccs est refus et le compteur derreur dcrment de 1. Aprs trois checs de comparaison du code de scurit, le compteur derreur est gal zro et il nest plus possible de changer ltat de lEEPROM qui ne peut plus tre que lue. Pour cette raison, chaque opration qui requiert la comparaison du PSC, il convient de remettre zro le compteur derreur, donc remettre au 1 logique, par lintermdiaire dune commande approprie, les trois bits qui le reprsentent.

Notez que pour toutes les sections de la puce, effacer un bit signifie le Elle dispose dun espace mmoire mettre au 1 logique, linverse, gal 256 kbit sur lesquels une crire un bit revient le mettre grande par tie est disponible pour zro. Il faut obser ver que, dans le mmoriser des informations utilicas du compteur derreur, ser. Dans notre cas, pour le les trois bits qui le comnombre dunits, il y a ga40 hex 0 255 Nombre d'units disponibles posent ne permettent pas lement de petits espaces 50 hex 0A Reconnaissance cartes Master 8 possibilits (2 la dermmoire rservs la pro51 hex 0A Master PSC nire) mais seulement tection (voir le tableau 1). 52 hex 0A Reconnaissance carte Master Crdit trois, tant donn que cha53 hex 3 255 Nombre dunits de crdit Master C. cun deux est positionn La premire partie de lEE54 hex 0A Reconnaissance carte Master Temps au niveau bas chaque PROM, de loctet dadresse 55 hex 5 255 Dure units de crdit (sec) Master T. comparaison du PSC. 0 31, constitue la mmoire Lopration de passage de permanente, laquelle, aprs Tableau 1 : Affectation des zones mmoire. 0 1 dun bit est appele avoir configur le bit de proremise zro (erase). tection appropri peut tre pin symbole fonction pin symbole fonction VCC C1 C5 GND destine uniquement la C1 VCC alimentation C5 GND masse RST C2 C6 N.C. En ce qui concerne la lecture. Les donnes crites C2 RST reset C6 N.C. non connect CLK I/O C3 C7 mthode utilise pour lacdans cette zone pourront C3 CLK entre horloge C7 I/O ligne donnes N.C. C4 C4 N.C. non connect C8 N.C. non connect C8 N.C. cs la mmoire, elle utitres uniquement lues, mais lise seulement deux fils ni modifies, ni ef faces Tableau 2 : Brochage des 8 entres/sorties de la puce plus un pour lhorloge (fonction PROM). La zone SLE4442 de Siemens. (input, C3). Le premier mmoire initiale (octet 0) est constitue la ligne des donuniquement rserve lcrines (I/O, contact C7) biditure du code fabricant. rectionnel utilise pour recevoir et envoyer les A par tir de la zone 32, la informations sous forme mmoire est utilisable sans srie avec un niveau comaucun problme, ni limitapatible TTL. Lenvoi des tion. Par contre, pour poucommandes et des donvoir crire, il convient dinnes dentre/sortie (I/O) troduire et de comparer le inter vient toujours durant code programmable de scule front descendant du rit (PSC) contenu dans une signal dhorloge. Il existe zone supplmentaire de la galement un canal de mmoire EEPROM appele remise zro (input C2) qui mmoire de scurit. Cette est gr par le dispositif de dernire est compose de communication externe quatre zones qui contiennent avec lequel est interface ltat du compteur derreur Figure 8 : Schma synoptique de la puce SLE4442. la puce (voir le tableau 2). (bit 0 2) et le code dac-

ELECTRONIQUE

16

magazine - n 6

CARTES
Les relations entre le microcontrleur et les cartes
Le cur du systme est videmment le microcontrleur PIC16F84 ou PIC16C84 qui soccupe de la gestion du dialogue avec les car tes ISO7816 introduites dans le lecteur, en lecture et en criture. Le logiciel permet, en outre, 4 modes opratoires qui sont valids suivant le type de carte introduite dans le lecteur et qui sont : 1 - Utilisation normale 2 - Initialisation 3 - Chargement des units 4 - Paramtrage de la dure dune unit troduction dune car te apparemment identique, prvue pour tre utilise par un systme analogue mais ayant un PSC diffrent. Elle contiendrait donc des donnes de crdit dans sa mmoire. Pour liminer ce risque, en crivant en premier lieu la dduction dune unit, nous sommes certains de lencaissement et, surtout, que la carte est effectivement adapte notre systme. Si nous nutilisions pas cette chronologie, la comparaison du code de scurit programmable de la mauvaise carte donnerait une issue ngative et, aprs les trois tentatives fatidiques, elle deviendrait inutilisable. En somme, avant utilisation, il faut que la car te ait t adapte notre systme, donc formate. Il faut introduire le crdit disponible pour le service associ au prpaiement. Le formatage (initialisation) permet de mettre zro les donnes de la carte en substituant le PSC original avec celui prlev directement dans la mmoire de programme du microcontrleur. En plus du microcontrleur PIC16F84 programm, il faut galement se procurer le lot de car tes ncessaires toutes les procdures : la Master PSC pour linitialisation, la Master Crdit pour le rechargement des units et la Master Temps qui, la diffrence des deux premires, charge dans lEEPROM du microcontrleur la dure des units.

Le mode utilisation normale Le mode utilisation normale est celui o le circuit fonctionne comme un prpaiement lectronique units de temps : lintroduction de la carte, pralablement initialise et charge, active le relais de sortie, qui reste activ tant que la carte reste dans le lecteur ou jusqu ce quelle soit compltement dcharge. Dans ce dernier cas, le buzzer met deux bips conscutifs.
Pour garantir la scurit du systme, le PIC16F84 rduit dune unit le crdit disponible et seulement aprs que le crdit ait t diminu (signifiant que lopration dcriture dans la carte sest correctement effectue) le relais est activ. Ce contrle a t prvu car, de par sa nature, la carte de 2 kbit peut toujours tre lue, mais pour lcrire, il faut comparer le PSC. Vous serez tonns du sens de ce propos, nous allons donc lexpliquer. Si nous ne procdions pas lcriture en mmoire de la diminution du crdit, le systme pourrait tre activ par lin-

la carte lue est bien celle de lutilisateur (initialise ou non). Le microcontrleur dmarre alors la procdure normale de lecture des units restantes, fait la comparaison du PSC et commence dcrmenter lesdites units. Par ailleurs, une note acoustique est gnre par le buzzer et le relais est activ.

Vue sur le microcontrleur et sur le relais du circuit principal du monnayeur.

Le mode initialisation Voyons prsent la phase qui concerne la prparation de la carte puce lutilisation avec le systme. Etant donn que le PSC est adapt celui du microcontrleur elle est immdiatement reconnue chaque application suivante. Sachez que la carte reste vide, tout au moins pour le moment. Notez que le fonctionnement normal est obtenu en alimentant simplement le circuit sans rien faire dautre. Le mode initialisation est activ en introduisant dans le lecteur une carte appele Master PSC, qui est caractrise par la prsence de la donne 0A (hexadcimal) aux adresses mmoire 50 et 51 (hexadcimal). Pour claircir les choses, sachez que chaque fois que le PIC16F84 dtecte lintroduction dune carte dans le lecteur (il utilise pour cela la ligne RB1, relative au contact 2), il va chercher les donnes dans les zones situes aux adresses 50, 51, 52 et 54 hexadcimal et essaie les quatre modes possibles de fonctionnement en fonction de celui quil trouve : si dans la zone 50 hexadcimal il ne trouve pas 0A, il ignore la lecture des autres zones 51, 52 et 54 car

La carte Master PSC Si, par contre, la lecture de la zone 50 donne 0A (valeur des cartes Master), le microcontrleur procde la lecture et teste ladresse 51 hexadcimal, sil trouve galement 0A, la carte prsente dans le lecteur est la Master PSC. Le microcontrleur commence alors la partie du programme qui procde linitialisation, ce qui peut tre rsum par ceci : la LED rouge LD1 est allume, une impulsion sort de la broche 11 et polarise le transistor T1 activant le buzzer qui met une brve note. Ds prsent, et tant que la carte Master PSC nest pas extraite et rintroduite, toutes les cartes introduites dans le lecteur seront soumises linitialisation.
A chaque nouvelle insertion, le microcontrleur procde la comparaison du code de scurit programmable (PSC) avec celui install par dfaut sur la carte. Rappelez-vous quil attend FF FF FF et que, si la carte na pas cette valeur de PSC, aprs trois tentatives, elle est rendue inutilisable. Ensuite, le microcontrleur crit le nouveau PSC dans la mmoire EEPROM de la carte. Cette opration est confirme par un son mis par le buzzer. Il faut se rappeler que chaque PIC16F84 a un code personnalis, diffrent des autres.

ELECTRONIQUE

17

magazine - n 6

CARTES
Lorganigramme du programme
La gestion du monnayeur, utilise un microcontrleur PIC16F84 dans lequel est charg un programme principal en mesure de commander trois sous-programmes. Le but est de permettre le droulement des procdures dinitialisation et de charge ou de recharge en units de temps des cartes utilisateur, lintroduction de la valeur de ces units de temps dans la mmoire du microcontrleur ainsi que lutilisation normale du systme. Trois cartes spciales sont indispensables ces oprations : la Master PSC, la Master Crdit et la Master Temps. Voyons comment fonctionne le microcontrleur.
Le programme principal assure la gestion de lensemble du systme. Il commande les sous-programmes ncessaires linitialisation et la charge ou la recharge des cartes utilisateur, la lecture et lenregistrement de la valeur des units de temps, la lecture des cartes utilisateur valides, laffichage des donnes de programmation ou des units de temps encore disponibles sur les cartes utilisateur, la LED de signalisation, le buzzer et le relais de sortie.
Master PSC ? NON Master Crdit ? NON OUI Appel CREDIT OUI Appel PSC

Aprs la mise en service et linitialisation des entres/sorties (I/O) le programme teste la prsence dune carte puce, grce au contact de dtection du lecteur, qui porte, au niveau logique 0, la broche 7 (RB1) ds que linsertion dune carte est confirme. A ce moment, une lecture de la zone 50 hexadcimal de la puce de la carte est effectue afin de voir si la valeur 0A, qui identifie une carte Master, est prsente. Si cette valeur est absente, le programme comprend quil est en prsence dune car te utilisateur ou autre et la premire chose quil effectue est la comparaison de son PSC (code programmable de scurit) avec celui prsent dans le microcontrleur. Si les deux PSC correspondent, la lecture des units disponibles est ralise. A ce moment, si au moins une unit est disponible, la valeur dune unit est retranche, sinon, le programme retourne au dbut, la recherche de la prsence dune carte. Si des units sont disponibles, il y a deux situations possibles :

Initialisation des E/S Clignotement LED rouge

NON

Carte insre ? OUI Carte Master NON Compare PSC OUI

Lecture crdits

Appel TEMPS

Crdit = 0 ? NON Dcrmente crdits Ecrit nombre de crdits

Ecriture correcte ?

NON

Allume LED rouge Emission bip long Visualise PSC Emission 1 bip Carte insre ? OUI

Affiche crdits

OUI

Carte insre ?

NON NON NON Carte insre ? OUI Carte Master PSC ? OUI

Crdit = 0 ? NON Emission 1 bip

OUI

Emission 2 bips

NON Compare PSC avec "FFFFFF" Ecrit nouveau PSC

Active relais pour une dure dtermine Eteint LED rouge Emission bip long Eteint visualisation

Carte insre ? NON OUI

Carte insre ? NON Dsactive relais

Les routines dinitialisation et de recharge sont actives par lintermdiaire de deux cartes puce spciales que nous avons appeles Master PSC et Master Crdit. Le temps associer aux units est communiqu au microcontrleur par lintermdiaire dune carte spciale que nous avons appele Master Temps.

OUI

Carte insre ? NON Retour

ELECTRONIQUE

18

magazine - n 6

CARTES
- Sil ny a quune seule unit disponible sur la carte utilisateur, la soustraction de lunit de dpar t de cette dernire ramne la valeur zro, le buzzer met trois bips conscutifs en cadence rapide. - Si, aprs soustraction dune unit, il reste encore des units disponibles, le buzzer met un seul bip. Dans chaque cas, lors du passage dans le lecteur et de la soustraction dunits disponibles en mmoire, sil se passe quelque chose danormal la vrification, le buzzer met un bip cycliquement, jusqu ce que la car te, considre comme invalide, soit extraite du lecteur. Si, par contre, tout se passe bien, le relais est activ jusqu lpuisement de la totalit des units ou lextraction de la carte. Tout ce que nous venons dvoquer concerne le mode de fonctionnement normal, mais voyons ce qui se passe en mode programmation. Ce dernier mode est subdivis en trois routines : une pour linitialisation, lautre pour la recharge des cartes utilisateur et la dernire pour la configuration de la dure de chaque unit de crdit. Linitialisation commence si, aprs linsertion de la carte dans le lecteur, le systme trouve la valeur 0A dans la zone mmoire situe en 50 hexadcimal et qui correspond la question Carte Master ?. Si la rponse est oui la zone 51 hexadcimal est son tour teste. Si la mme valeur 0A est trouve, cela signifie que nous avons faire une carte Master PSC. Dans ce cas, la procdure dinitialisation est active. Lorsque lon rentre dans cette procdure, la LED rouge de programmation est allume et le buzzer met un bip long, puis attend lextraction de la carte et lintroduction dune nouvelle carte avec un PSC gal FF FF FF. Si la carte Master PSC est nouveau introduite dans le lecteur, lopration est prmaturment termine. La LED rouge steint et le buzzer met encore une note acoustique longue. Le sous-programme renvoie au programme principal pour la lecture de la prsence dune nouvelle carte. Si au lieu de cela, une carte vierge tait introduite dans le lecteur, le microcontrleur procde la comparaison du code de scurit avec celui enregistr par dfaut sur cette dernire (FF FF FF). Ensuite, le microcontrleur crit dans lEEPROM de la carte puce le code de scurit quil dtient en mmoire, de manire linitialiser. Ceci fait, il attend lextraction et linsertion dune nouvelle carte initialiser. Comme nous lavons dj dit, la procdure se termine ds que la car te Master PSC est nouveau introduite dans le lecteur. Voyons enfin la phase de charge ou de recharge en units de temps dune ou plusieurs cartes puce laide de la carte Master Crdit. Partant du programme principal, une fois la prsence dune carte dtecte, ladresse 50 hexadcimal et teste par le microcontrleur pour chercher la valeur 0A. Si cette valeur est trouve, le programme comprend quil sagit dune carte Master. Ensuite, il teste ladresse 51 hexadcimal. Il ne doit rien y trouver. Par contre, ladresse 52 hexadcimal, sil trouve encore 0A, cela lui indique que cest une carte Master Crdit qui est introduite dans le lecteur. La procdure de recharge dmarre alors par lillumination de la LED rouge de programmation et lmission dun long bip par le buzzer. Dans la mmoire de la carte puce (adresse 53 hexadcimal), le programme lit le nombre dunits recharger. Cette valeur est place en RAM dans le microcontrleur, puis le programme attend lextraction de la carte Master Crdit et lintroduction dune carte utilisateur dj initialise pour la charger ou la recharger. La comparaison du PSC est effectue pour pouvoir ensuite crire sur la carte utilisateur si le rsultat est positif (PSC de la carte = PSC du microcontrleur). Le rsultat est positif et le circuit transfre dans la zone 40 hexadcimal les donnes relatives au nombre dunits, en effectuant la recharge. A ce moment, lopration est termine, le systme attend lextraction de la carte et lintroduction dune nouvelle carte. Ds la rintroduction de la carte Master Crdit, le microcontrleur sort de la phase de recharge, fait mettre un bip long au buzzer, teint la LED rouge et retourne au programme principal. A lintroduction de la car te Master Temps (0A ladresse 54 hexadcimal) dans le lecteur, le microcontrleur effectue un appel de la routine grant le temps. En premier, la LED rouge sallume, puis le buzzer met un bip long, le microcontrleur lit la dure de lunit de temps introduite en fabrication dans la puce de la carte Master Temps, laf fiche en format dcimal sur lafficheur (5 255) et la sauvegarde dans sa propre mmoire EEPROM. Le microcontrleur teste nouveau la prsence de la carte et, ds que celle-ci est extraite, il teint la LED rouge, fait mettre un nouveau signal acoustique au buzzer, efface lafficheur et retourne au programme principal.

Allume LED rouge Emission bip long Visualise crdits

OUI

Carte insre ? NON

NON

Carte insre ? OUI Carte Master Crdit ? NON Compare PSC Ecrit crdits OUI Allume LED rouge Emission bip long Lecture du temps Visualise temps Ecrit temps en EEPROM

Eteint LED rouge Emission bip long Eteint visualisation

OUI

Carte insre ? NON Eteint LED rouge Emission bip long Eteint visualisation

OUI

Carte insre ? NON Retour

Retour

ELECTRONIQUE

19

magazine - n 6

CARTES
Si nous extrayons la car te et si nous en introduisons une nouvelle, le systme reprend le processus dinitialisation et ce, tant que la carte Master PSC nest pas rintroduite dans le lecteur pour lui indiquer quil doit terminer la procdure. Si cest le cas, la broche 6 passe au niveau haut, la LED rouge steint et, simultanment, le buzzer met une note pour confirmer labandon de la procdure dinitialisation.

Liste des composants de lunit de base


R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 C1 C2 C3 C4 C5 C6 C7 D1 D2 LD1 LD2 U1 U2 T1 T2 T3 Q1 RL1 DS1 BZ : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4,7 k 10 k 2,2 k 1 k 10 k 10 k 10 k 10 k 1 k 10 k 1 k 1 k 1 k 10 k 10 k 220 F 25 V chimique 470 F 16 V chimique 220 F 16 V chimique 100 nF multicouche 22 pF cramique 22 pF cramique 100 nF multicouche Diode 1N4007 Diode 1N4007 LED rouge 5 mm LED verte 5 mm Rgulateur 7805 PIC16F84-04 (MF288) Transistor NPN BC547B Transistor NPN BC547B Transistor mosfet BS250 Quartz 4 MHz Relais 12 V 1 RT Dip switch 2 circuits Buzzer 12 V avec oscillateur

Le mode chargement des units La carte Master Crdit La phase dinitialisation termine, le microcontrleur retourne au programme principal et attend lintroduction dune car te. Logiquement, aprs le formatage (prparation) des cartes, il convient de procder au chargement des units, procdure qui seffectue en introduisant dabord dans le lecteur la carte Master Crdit. Cette dernire est reconnue car, en plus davoir la valeur 0A dans la zone mmoire 50 hexadcimal (symbole de llment Master), elle a aussi cette mme valeur ladresse 52 hexadcimal.
Le PIC16F84, reconnaissant la Master Crdit, active la partie du programme relative lallumage de la LED rouge LD1 et active le buzzer. Puis, il lit ltat de la zone mmoire situe ladresse 53 hexadcimal, car cest dans cette zone que se trouve le nombre dunits qui doivent tre charges.
Figure 2 : Schma dimplantation des composants du circuit principal du monnayeur.

Note : Le nombre dunits est fixe pour chaque carte Master Crdit. Ce nombre dunits sera enregistr par votre fournisseur au moment de la prparation de votre commande. Vous devez donc spcifier le nombre dunits que vous dsirez voir charger sur chaque carte, en choisissant entre 3 et 255.
Aprs extraction de la car te Master Crdit, il est possible dinsrer les cartes prcdemment formates (PSC = PSC du microcontrleur) pour effectuer leur chargement (ou rechargement) en units de crdit. Les donnes concernant les units de crdit, prleves de la zone 53 hexadcimal de la Master Crdit, sont gardes en RAM du PIC16F84 et sont crites dans lEEPROM de la carte mais ladresse 40 hexadcimal. Si lopration se passe bien, le circuit confirme en mettant une note acoustique par lintermdiaire du buzzer (1 carte = 1 bip). Il faut alors extraire la car te et en insrer une autre. Pour terminer la procdure, il faut nouveau insrer la car te Master
Figure 3 : Circuit imprim du circuit principal du monnayeur, ct pistes, lchelle 1.

Divers : - Bornier 2 emplacements (x 2) - Connecteur 10 broches - Support ci 18 broches - Circuit imprim rf. S288 Sauf indication contraire, toutes les rsistances sont des 1/4 W 5 %)

ELECTRONIQUE

20

magazine - n 6

CARTES
Temps. Cette valeur sera enregistre par votre fournisseur au moment de la prparation de votre commande. Vous devez donc spcifier la valeur que vous dsirez voir charger sur chaque carte, en choisissant entre 5 et 255.
quil nest pas en prsence dune carte Master. Il lit donc ladresse 40 hexadcimal, vrifie la prsence des units, il en soustrait une en comparant le PSC et active le relais RL1.

Petit rcapitulatif
On peut rsumer brivement, pour ceux que les descriptions techniques rebutent, en disant que, pour faire fonctionner le monnayeur, il est ncessaire de disposer, outre un nombre quelconque de car tes utilisateur, de 3 cartes prprogrammes destines aux oprations de formatage desdites cartes utilisateur et leur chargement ou rechargement : - la car te Master PSC, destine enclencher le processus de programmation des cartes utilisateur, - la carte Master Crdit, destine fixer le nombre dunits de crdit qui sera inscrit sur les cartes utilisateur, - la car te Master Temps, destine donner une valeur de dure chaque unit de crdit inscrite sur les cartes utilisateur. Cette valeur sera crite dans la mmoire du microcontrleur. Ces 3 car tes pourront tre prprogrammes par votre fournisseur votre demande et selon vos critres. Bien entendu, vous pouvez commander autant de Master Crdit et de Master Temps que vous dsirez avec toutes les valeurs qui vous conviennent, pourvu quelles soient comprises entre 3 et 255 pour la Master Crdit et entre 5 et 255 pour la Master Temps.

Allons-y pour le dtail Avec quelques prcisions vous comprendrez mieux ce qui se passe exactement dans le systme.
Le relais reste activ, non pas durant deux, trois secondes ou plus, mais jusqu ce que la carte utilisateur soit retire du lecteur, ou jusqu puisement des units disponibles. Ce qui correspond, en temps, la dure dune unit multipli par le nombre dunits introduites dans la puce de la carte utilisateur lors de la procdure de formatage. Par exemple, une carte neuve de 200 units de 10 secondes sera puise en 2 000 secondes (23 minutes et 20 secondes). Au moment de linser tion de la car te utilisateur, une routine force lallumage de la LED rouge, commande lmission dun bip et commande au circuit daffichage dafficher le crdit disponible (nombre dunits). Ensuite, cette routine compte les secondes de la premire unit et, la fin de chaque unit, rpte les mmes oprations (LED + bip + af fichage) et ainsi de suite chaque fois que passe une unit. Si la carte puce utilisateur est charge avec des units de 5 secondes, cela se reproduit toutes les 5 secondes ; de 10, toutes les 10 secondes, etc. Les contacts du relais peuvent tre utiliss pour commander un systme lectrique ou un moteur, mais pas une serrure lectrique, tant donn que le relais peut rester activ durant un temps qui peut tre assez long. Utilisez la sortie utilisation comme un banal interrupteur, en veillant toutefois ne pas dpasser 10 ampres sous 250 volts avec le modle de relais utilis sur la platine. Bien entendu, le relais de la carte peut commander un relais de puissance.

Crdit. Cest cette action qui dtermine la sor tie de la sous-routine de recharge et le retour au programme principal. Le buzzer met un nouveau bip et la LED steint. Le chargement des units achev, le systme peut travailler avec les car tes ainsi prpares.

Le mode paramtrage de la dure dune unit La carte Master Temps Toutefois, il manque encore un paramtre : le temps allou chaque unit de crdit. Celui-ci se charge dans lEEPROM du microcontrleur par lintermdiaire dune procdure qui consiste insrer la troisime car te dans le lecteur, la Master Temps. Cette car te contient linformation ncessaire cette programmation. Aprs lavoir introduite dans le lecteur, le microcontrleur dtecte sa prsence et va chercher la donne 0A dans la zone mmoire 54 hexadcimal. Si cette valeur est trouve, il procde lacquisition du nombre correspondant la valeur en secondes de chaque unit de temps (5 255) et le transfre dans sa propre mmoire, puis attend que lutilisateur retire la car te pour terminer la procdure. Note : La valeur de lunit de temps est fixe pour chaque car te Master

Le fonctionnement du monnayeur
Voyons ce quil advient en mode de fonctionnement normal, cest--dire en situation relle, lorsque le systme doit grer lautomatisme concern.

Petite synthse du fonctionnement Lorsque lon introduit une carte utilisateur, le microcontrleur cherche mais ne trouve pas la donne 0A dans la zone 50 hexadcimal. Il dduit alors

Interface vers le lecteur et protocole de communication


Le protocole de communication utilise les lignes RB2, RB4 et RB6 (broches 8, 10 et 12 du microcontrleur). Ces lignes grent respectivement les

ELECTRONIQUE

21

magazine - n 6

CARTES

Figure 4 : Schma dimplantation de lunit daffichage.

Figure 5 : Circuit imprim de lunit daffichage, ct pistes, lchelle 1.

canaux I/O (entre/sor tie) des donnes, lhorloge et la remise zro (reset) et sont connectes (au travers

des rsistances R13, R12 et R9) directement la prise lecteur marque Memory Card sur le schma. Lhorloge prsente sur la broche 10 un signal gnr en interne par le PIC16F84 avec un temporisateur programmable utilis pour le dclenchement des oprations read/write (lecture/criture). La broche 12 est utilise comme sortie et gnre les impulsions de reset (remise zro) la demande du programme. La broche 8 est initialise comme entre/sor tie (I/O) collecteur ouver t et dispose dune rsistance pull-up (R10) pour fixer un niveau 1. Nous avons crit le programme de gestion de faon ce quil reconnaisse la condition logique du contact N/F (Normalement Ferm) de dtection de la prsence dune carte dans le lecteur. Au repos, les points 1 et 2 sont ferms et il y a pratiquement un court-circuit entre le +5 volts et la broche 7 (ligne RB1 du microcontrleur). La prsence dune car te ouvre le contact et la broche 7 passe au niveau bas, grce la rsistance R3, indiquant au microcontrleur quil doit dmarrer les oprations. Lorsque cela se produit, la ligne RB7 (broche 13) passe au niveau bas et le transistor de puissance T3 (IRF9520, IRF9530 ou similaire) devient conducteur et achemine le +5 volts sur le contact 1 du lecteur, reli au point dalimentation de la logique interne de la carte puce.

Le circuit daffichage
Dans ce projet nous utilisons le bus marqu OUT, compos des sorties A et B, qui utilisent les lignes RA0 et RA1 pour communiquer avec le systme daffichage destin indiquer le nombre dunits disponibles mis jour chaque instant. Le bus comporte en fait quatre lignes, deux lignes pour les donnes (A et B) et deux pour lalimentation 5 volts (+ et ) du circuit daffichage. Les lignes A et B ralisent une liaison srie synchrone pour laquelle une ligne est rserve la transmission des donnes du microcontrleur au circuit de dcodage (U1) de lafficheur trois digits, lautre sert pour la transmission du signal dhorloge qui cadence la communication avec le monnayeur.

Liste des composants du circuit daffichage


R1 R2 R3 C1 C2 U1 DIS1 DIS2 DIS3 : : : : : : : : : 47 k trimmer montage horizontal 4,7 k 4,7 k 100 nF cramique 100 nF cramique Circuit intgr MM5450 Afficheur 7 segments Afficheur 7 segments Afficheur 7 segments

Divers : - Support 40 broches - Cble plat 4 conducteurs - Circuit imprim rf. S275 Sauf indication contraire, toutes les rsistances sont des 1/4 W, 5 %

ELECTRONIQUE

22

magazine - n 6

CARTES

Figure 6 : Schma dimplantation des composants du lecteur de carte puce.

Figure 7 : Circuit imprim du lecteur de carte puce, ct pistes, lchelle 1.

Il ny a pas grand-chose dire de linterface daffichage, dans la mesure o elle est btie autour dun circuit intgr C-MOS de National Semiconductor, le MM5450N, spcialement conu pour le contrle dafficheurs LED anode commune. Les donnes qui dterminent ltat logique (0 = LED allume ; 1 = LED teinte) arrivent en srie sur la ligne A. Ensuite, elles sont traites par U1 et conserves jusqu la prochaine rception. Un petit potentiomtre ajustable sert rgler la luminosit de lafficheur. Cela dit, il est possible dexpliquer comment fonctionne lafficheur en fonction des diverses oprations ralises par le monnayeur et nous le faisons en disant avant tout quil ser t durant la recharge des units et, naturellement, chaque fois quun utilisateur introduit une carte dans le lecteur pour accder au service quil commande. Dans le premier cas, et aprs la mise en route du circuit de base (le monnayeur), les trois afficheurs sont teints car aucune donne narrive sur la ligne de donnes A. Tout demeure au repos durant lventuelle initialisation de la carte (avec la Master PSC) car un affichage nest daucune utilit. Durant la procdure de rechargement des units, par contre, il est ncessaire davoir certaines indications. Ds que la Master Crdit est introduite pour la premire fois, donc au dbut de la procdure, la LED rouge sallume et le buzzer met un bip, alors lafficheur indique le nombre dunits qui seront ensuite charges dans chaque carte dj formate et qui seront introduites dans le lecteur jusqu la fin des oprations.

La lecture correcte est obtenue en positionnant lafficheur de manire ce que le driver MM5450 soit situ en haut, tant donn que le digit de droite est le moins significatif. Le digit central indique les dizaines, et celui de gauche les centaines. Chaque fois quune carte charger est introduite dans le lecteur, le buzzer met deux bips de suite mais rien ne change dans laffichage des units. Laffichage reste verrouill sur le nombre dunits charger. Au terme des oprations de recharge, il faut rintroduire la carte Master Crdit et on termine ainsi la phase de recharge. Le buzzer retentit pour confirmer cette opration et lafficheur steint. Si lon insre la carte Master Temps dans le lecteur, lafficheur indique la dure (exprime en secondes) de chaque unit de temps. Cette dure est ensuite copie dans lEEPROM du microcontrleur du monnayeur. Lorsquon retire cette car te, laf ficheur steint et tout est prt pour lutilisation normale du systme. Quand un utilisateur introduit une carte dans le lecteur, lafficheur indique le nombre dunits restant disponible. Ainsi, si lutilisateur dispose dune carte de 10 units, lafficheur indique 009 ; si nous avons une carte de 100 units, il apparat 099 et ainsi de suite. A chaque introduction, le buzzer du monnayeur met un bip et lafficheur steint ds que la carte est extraite, car cela indique que lutilisateur sest dj loign du distributeur automatique et quil nest donc plus ncessaire de maintenir linformation. Il faut noter que si une carte ne contenant plus dunits est introduite dans le lecteur, il ne se passe rien de signi-

Liste des composants du lecteur


Lecteur/enregistreur AMPHENOL Connecteur 10 broches Cble plat 10 conducteurs Circuit imprim rf. S237

ficatif. Le buzzer reste muet, le relais reste au repos et lafficheur est videmment teint. Par contre, lorsquune car te dans laquelle il reste une seule unit disponible, est introduite dans le lecteur, laf ficheur indique 000 et le buzzer met deux bips pour indiquer quil faut procder une recharge. Aprs lintroduction dune car te, le comptage du temps dmarre et aprs la soustraction de la premire unit, au terme de chaque fraction de temps laf ficheur soustrait une unit, indiquant ainsi combien il reste dunits dpenser. Lorsque toutes les units de temps disponibles sont puises, laf ficheur passe zro, le relais revient au repos et le buzzer met deux bips conscutifs.

ELECTRONIQUE

23

magazine - n 6

CARTES
Lalimentation
Pour ce qui concerne lalimentation du monnayeur, elle est de 12 15 volts. La carte de base est protge contre les inversions de polarit par la diode D1. Le 12 volts est directement utilis pour alimenter le relais RL1. Tout le reste du montage est aliment en +5 volts, obtenus grce au rgulateur U1 (7805). La LED ver te indique que la carte est alimente.

Ralisation pratique
Pour construire ce monnayeur lectronique carte puce, il faut raliser les trois circuits imprims reprsents lchelle 1/1 dans les figures 3, 5 et 7. Les lecteurs qui sont quips pour la gravure des circuits imprims pourront les raliser eux-mmes. Pour cela, photocopiez les diffrents tracs sur du calque ou sur une feuille dactate translucide afin dobtenir les films (typons) ncessaires linsolation aux rayons ultra-violets. Durant lopration de photocopie, placez une feuille entirement noire au dos de la page photocopier. Ainsi, vous viterez lef fet de transparence. Gravez les circuits, aprs rvlation, avec du perchlorure de fer en utilisant un rcipient en matire plastique ou en verre. La gravure acheve, rincez soigneusement, schez et percez les dif frents circuits. Toutes ces oprations termines, vous disposez des circuits imprims prts tre quips de leurs composants. Pour ceux que la chimie rebute, un kit est disponible. Les circuits imprims du kit tant gravs et percs, ceux qui prfrent cette solution peuvent passer directement au montage des composants. Il faut commencer par placer les composants les plus bas, les rsistances et les diodes. Poursuivez par le montage des suppor ts de circuits intgrs, les condensateurs, en faisant attention aux modles polariss (lectrolytiques) dont la patte la plus longue indique le ct positif. Monter les deux transistors et le mosfet en les orientant comme cela est reprsent sur le plan dimplantation des composants (en particulier T3 qui doit avoir le ct mtallique de son botier tourn vers le dip-switch). Poursuivre le montage par le buzzer qui est un modle avec oscillateur interne.

Photo du monnayeur prt fonctionner. Le circuit principal est entour, droite, par le lecteur de carte puce et, gauche, par le circuit daffichage. Notre monnayeur dispose dun afficheur trois digits LED afin dafficher diverses informations chaque fois quun utilisateur introduit une carte puce dans le lecteur pour accder au service concern. En outre, en phase dinitialisation, lafficheur visualise le message PSC. Durant la recharge des cartes utilisateur, lafficheur permet de visualiser les units que la carte Master Crdit autorise transfrer dans chaque carte utilisateur introduite dans le lecteur. Enfin, lintroduction de la carte Master Temps fait apparatre le nombre indiquant la dure (exprime en secondes) de chaque unit de temps.

Le lecteur de car te est un modle Amphenol manuel avec un contact de dtection de prsence carte, de type N/F (normalement ferm) et qui souvre en prsence dune carte. Il est reli la carte principale par un cble plat 10 conducteurs muni dune prise chaque extrmit. Nous vous conseillons de vous reporter ELECTRONIQUE magazine numro 4, page 34 et suivantes pour avoir plus de dtails sur ce lecteur/enregistreur de carte puce. En ce qui concerne la car te daf fichage, repor tez-vous au plan dimplantation des composants. Les trois af ficheurs anode commune ont 2 fois 5 broches disposes en ligne. Ils peuvent galement tre monts sur des suppor ts. Vous pouvez utiliser, pour cela, deux morceaux de barrette tulipe scable au pas de 2,54 mm. Aprs avoir termin cette opration, insrer le circuit intgr MM5450 dans son suppor t en prenant garde son orientation, son repre dtrompeur est par faitement repr sur le plan dimplantation des composants. Il faut maintenant relier la platine principale celle de lafficheur par quatre fils (ne pas dpasser un mtre) et les souder aux points marqus +, , A et B de la platine af ficheurs avec les points marqus de faon identique sur la carte principale. Un morceau de fils en nappe est vivement recommand pour viter toute erreur.

Pour conclure
A prsent, le montage est prt. Noubliez pas les vrifications habituelles : ponts de soudure, soudure oublie, etc. Pour lutiliser, il suffit de lalimenter par une tension de 12 15 volts, pouvant fournir 250 milliampres. Aprs cette mise sous tension, la LED verte (LD2) doit sallumer et le buzzer doit mettre deux notes acoustiques en squence rapide. Rappelez-vous que, pour faire fonctionner le monnayeur, il faut, au pralable, disposer du jeu de 3 cartes de programmation : la Master PSC, la Master Crdit et la Master Temps et dun certain nombre de cartes vierges de 2 kbit dont le code de scurit programmable est gal FF FF FF. Avec tout cela nous vous souhaitons une bonne utilisation de votre systme.

O trouver les composants


Le dessin du circuit imprim ainsi que la liste des composants tant fournis, vous ne devriez pas avoir de difficult vous approvisionner auprs des annonceurs de la revue ou de votre fournisseur habituel. Le microcontrleur prprogramm, les circuits imprims srigraphis, les car tes utilisateur, les car tes de programmation ainsi quun kit complet sont galement disponibles. Voir publicits dans la revue. x C. V.

ELECTRONIQUE

24

magazine - n 6

You might also like