Projet baccalauréat 2007 Station de lavage pour Automobile FP1 : Durée : 18H00 ETUDE DE LA COMMUNICATION AVEC LA CARTE A PUCE Objectif spécifique : l'élève devra être capable de . . . Décrire le principe de fonctionnement de la carte à puce. Afficher plusieurs trames après avoir modifié une partie du programme. Effectuer des mesures et juger de la validité des résultats obtenus et des méthodes employées. Compétences évaluées : C : D’analyser le processus de fonctionnement du système et/ou de l’objet technique. F : Rechercher l’adéquation entre les solutions technologiques structurelles et les segments de programme associés. H : Produire un dispositif de mesurage et/ou de test. Pré-requis : Dossier : Présentation et analyse fonctionnelle. Electronique : Savoir utiliser l’outil de développement 68HC11 Connaissance du langage assembleur Utilisation de l’oscilloscope à mémoire Propositions d'activités : Activité A : Analyse du fonctionnement de la carte à puce. Durée de cette activité : 6h00 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. A l’aide de la documentation technique, identifier les différentes mémoires présentes sur la carte à puce. Pour chaque mémoire, indiquer son type, sa capacité (et/ou son organisation), son rôle. Sur le plan mémoire partiel, 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 ». Document Professeur page 1/5 Projet baccalauréat 2007 Station de lavage pour Automobile 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. Identifier sur le plan mémoire partiel le contenu de la mémoire de sécurité 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, quel est la gamme de fréquence autorisée pour l’horloge ? On va vérifier que le programme assembleur respecte cette contrainte. Voici la partie du programme qui permet de créer l’horloge : bset jsr bclr jsr portc,y clk temp portc,y clk temp Sous-Programme « temp » : temp tp ldx #8 dex bne tp rts 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) Activité B : Lecture du mode de lavage programmé sur une carte jeton. Durée de cette activité : 6h00 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. 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. (programmer plusieurs cartes jetons avec un nombre d’unités différents correspondant à des programmes de lavage spécifiques). Compléter le programme "Lecture_eleve.s" pour que soit demandée une lecture des unités présentes sur la carte. Document Professeur page 2/5 Projet baccalauréat 2007 Station de lavage pour Automobile ******************************************************** * Operation - Lecture nombre d'unites sur la carte * * * * Entree: sortie: modif: ******************************************************** prog_unites jsr startifd ldab jsr ldab jsr ldab jsr jsr ..... IFD ..... IFD ..... IFD stopifd * ; 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. 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). 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. 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. Activité C : Modification du nombre d’unités d’une carte crédit après un lavage. Durée de cette activité : 6h00 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. Quelle opération préalable est il nécessaire d’effectuer sur la carte afin de modifier les données sur celle-ci ? 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. Document Professeur page 3/5 Projet baccalauréat 2007 Station de lavage pour Automobile 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 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 celle-ci. Exemple de situation (à modifier pour chaque poste élève) : Le client dispose avant lavage de 54 unités. 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 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). 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). 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 : 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. Document Professeur page 4/5 Projet baccalauréat 2007 Station de lavage pour Automobile Moyens mis en œuvre : Dossier ressource élève Documentation de la carte à puce Carte interface, carte afficheur - clavier, kit 68HC11 Appareillage : alimentation +5V, +24V, oscilloscope à mémoire. Programmes assembleurs : " Lecture_eleve.s " et "Ecriture_eleve.s" à compléter Eléments attendus dans le dossier de l'élève : Activité A : Présentation du principe et du fonctionnement de la carte à puce. Schéma fonctionnel de la carte à puce Plan mémoire partiel complété Calculs de la fréquence d’horloge Activité B : Programme " Lecture_eleve.s " complété. Relevés des signaux I/O et CLK commentés et justifiés. Activité C : Algorigramme 1 et 2 de la procédure d’initialisation de la carte à puce autorisant l‘accès à l’écriture Programme "Ecriture_eleve.s" complété. Relevés des signaux I/O et CLK commentés et justifiés. Document Professeur page 5/5