1 Analyse du fonctionnement de la carte à puce.

publicité
GE
Station de lavage
PROJET
Etude fonctionnelle de FP1
-Etude de la communication avec la carte à puce -
Rappel : Principe de fonctionnement
Lorsqu’une carte est présentée à l’entrée du lecteur le capteur optique 1 la détecte. Ceci entraîne le
démarrage du moteur en marche avant afin d’introduire la carte dans le lecteur. La mise sous
tension du moteur entraîne la rotation du premier galet entraîneur par l’intermédiaire du système
poulie courroie.
Le capteur 2, situé après le premier galet indique la position de la carte. Ceci va générer le
démarrage du cycle de positionnement automatique de la carte afin de placer celle ci sous le
connecteur. Cycle correspondant à une rotation alternative du moteur jusqu'à ce que le capteur 3
indique que la carte est bien positionnée.
Une fois positionnée, le moteur s’arrête et le connecteur vient se positionner sur la puce afin de
décoder et/ou d’encoder les informations contenues dans la puce.
Enfin, la carte va être éjectée en fonction de son type :
1
1.1
Analyse du fonctionnement de la carte à puce.
Rappeler le nom et le rôle de chaque contact de la carte à puce. Indiquer par quels bits sont
interfacés les contacts de la puce avec le kit de développement 68HC11
68HC11
PORT …
1.2
A l’aide de la documentation technique et du dossier technique, identifier les différentes
mémoires présentes sur la carte à puce.
1.3
Pour chaque mémoire, indiquer son type, sa capacité (et/ou son organisation), son rôle.
1.4
Sur le plan mémoire partiel (donné en annexe) repérer la zone ou est identifiée :
 Le type de carte (jeton ou crédit).
 Le nombre d’unités disponibles.
 L’identifiant de l’industriel réalisant le système « Station de lavage pour Automobile ».
1.5
On souhaite que l’identifiant de l’industriel ne puisse pas être modifié, quelle action faut-il
appliquer sur la mémoire ? Faire apparaître ce changement sur le plan mémoire partiel.
1.6
Identifier sur le plan mémoire partiel le contenu de la mémoire de sécurité.
1.7
La communication avec la carte à puce est cadencée par l’horloge issue du Kit 68HC11.
D’après la documentation technique de la carte à puce, quelle est la gamme de fréquence
autorisée pour l’horloge ?
PORTC
CLK
Vous allez vérifier que le programme assembleur respecte cette contrainte.
Voici la partie du programme qui permet de créer l’horloge :
bset
portc,y clk
jsr
temp
bclr
portc,y clk
jsr
temp
Sous-Programme « temp » :
temp
ldx #8
tp
dex
bne tp
rts
1.8
Tracez l’algorigramme du bout de programme et du sous programme.
1.9
Faites le commentaire de chaque ligne.
1.10
Calculer à l’aide des instructions du 68HC11 et de son temps de cycle, la durée d’une
période d’horloge et conclure sur le respect des contraintes de fréquence.
(On rappelle que la fréquence du quartz est de 7,3732 MHz)
2
Lecture du mode de lavage programmé sur une carte jeton
Pour cette activité il est nécessaire de comprendre comment se font les échanges avec la carte à
puce :
- Mode de transmission
- Protocole d’envoi des instructions
- Les différentes instructions existantes.
2.1
Lire le document intitulé « CARTE A PUCE – SLE 4432 » et complétez le document
intitulé « protocole carte SLE4432 »
La carte utilisée est une carte jeton. Le nombre d’unités présentes sur la carte permet
d’identifier le programme de lavage requis.
2.2
Compétez le sous programme suivant. Le SP IFD est le sous programme qui permet
d’envoyer en série à la carte, une commande, une adresse ou une donnée.
********************************************************
* Operation - Lecture nombre d'unites sur la carte
*
*
*
* Entree:
sortie:
modif:
*
prog_unites
jsr startifd
ldab ....
jsr
IFD
ldab ....
jsr
IFD
ldab ....
jsr
IFD
jsr
stopifd2
; instruction 1er octet
; instruction 2e octet
; instruction 3e octet
Attention : Il faut d’abord lancer le programme sur le Kit de Développement 68HC11 avant
d’alimenter le lecteur de carte.
2.3
Lancer le programme et relever les trames émises sur les signaux CLK (PC3) et I/O (PC4)
lors de la demande d’appui sur le bouton poussoir (Relever l’oscillogramme correspondant à
l’envoi de la commande et l’oscillogramme correspondant à la réponse de la carte).
Régler le déclenchement de l’oscilloscope sur le front montant du signal CLK (PC3).
2.4
Repérer et décrire sur le 1er oscillogramme les paramètres envoyées à la carte à puce
(Commande START, commande STOP, repérage et valeur des bits A0..A7, B0..B7,
D0..D7), et sur le 2e oscillogramme la réponse de celle-ci (repérage et valeur des bits
D0..D7).
Remarque : Lorsqu’on lit sur l’afficheur la demande « Appuyer sur le BP VALID » (pour
l’envoi de la trame), on dispose d’un délai maximum de 3 à 4 secondes pour appuyer sinon
une temporisation de protection provoquera la levée l’électroaimant ; I/O sera alors en état
Haute Impédance.
2.5
D’après le 2e oscillogramme (réponse de la carte), indiquer en vous aidant du dossier
technique le nombre d’unités écrites sur la carte jeton et par conséquent le programme de
lavage qui correspond à cette carte.
3
Modification du nombre d’unités d’une carte crédit après un lavage.
La carte utilisée est une carte crédit. Avant lavage, le client dispose sur sa carte d’un certain
nombre d’unités. Le choix d’un programme de lavage et l’application de celui-ci entraîne une
modification du nombre d’unités sur la carte après la prestation.
3.1
Quelle opération préalable est il nécessaire d’effectuer sur la carte afin de modifier les
données sur celle-ci ?
3.2
A partir des éléments contenus dans le dossier et dans la documentation constructeur de la
carte ; compléter l’algorigramme de cette procédure.
3.3
Le deuxième algorithme incomplet fait apparaître les codes de chaque commande.
Compléter le 2e algorigramme qui, cette fois, fait apparaître les codes de chaque commande.
3.4
On souhaite demander une modification du nombre de crédits présents sur la carte,
compléter alors le programme "Ecriture_eleve.s" pour modifier le nombre d’unités de celleci.
Exemple de situation : Le client dispose avant lavage de xx unités (voir prof). Il choisit de laver sa
voiture en utilisant le programme « TRIO ». Après lavage, on va créditer la carte du nombre
d’unités restantes.
********************************************************
* Operation - Modification credits sur la carte
*
*
*
* Entree: sortie: modif:
*
********************************************************
prog_credit
jsr
clr_aff
; effacement de l'afficheur
ldx
#txtInst0
; Pointage vers le texte appui BP1
jsr
aff_txt
; affichage du texte appui BP1
jsr
appui_bp2
envoi_trame
ldx
jsr
jsr
jsr
ldab
jsr
ldab
jsr
ldab
jsr
jsr
jsr
clr_aff
#txttrame
aff_txt
temp1s
startifd
.....
IFD
.....
IFD
.....
IFD
stopifd
; effacement de l'afficheur
; Pointage vers le texte Envoi trame
; affichage du texte Envoi trame
; instruction 1er octet
; instruction 2e octet
; instruction 3e octet
3.5
Lancer le programme et relever les trames émises sur les signaux CLK (PC3) et I/O (PC4)
lors de la demande d’appui sur le bouton poussoir.
Régler le déclenchement de l’oscilloscope sur le front montant du signal CLK (PC3
3.6
Repérer et décrire sur votre oscillogramme les paramètres envoyées à la carte à puce
(Commande START, commande STOP, repérage et valeur des bits A0..A7, B0..B7,
D0..D7).
3.7
On souhaite vérifier que la carte à puce est bien créditée. A l’aide du programme
‘Lecture_eleve.s’ modifié précédemment, relever :


3.8
L’oscillogramme des signaux CLK (PC3) et I/O ‘PC4) : ‘Envoi de la
commande pour vérification’.
L’oscillogramme CLK (PC3) et I/O (PC4) : ‘Réponse de la carte’.
Reporter sur les deux oscillogrammes les valeurs de commande, d’adresse, de donnée, ainsi
que la donnée restituée par la carte.
VERIFICATION DU PSC
Début
Fin
VERIFICATION DU PSC
Début
Fin
1er octet
2e octet
3e octet
….
….
….
1er octet
2e octet
3e octet
….
….
….
1er octet
2e octet
3e octet
….
….
….
1er octet
2e octet
3e octet
….
….
….
1er octet
2e octet
3e octet
….
….
….
1er octet
2e octet
3e octet
….
….
….
1er octet
2e octet
3e octet
….
….
….
Téléchargement