FP1 : étude de la communication avec la carte a puce



Documents pareils
Etude de FP3 commande moteur et électroaimant. Déplacement carte et connexion

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

ANALYSE TRAMEs LIAISON SERIE

Lecteur de carte à puce LCPM1 SOMMAIRE

Transmissions série et parallèle

Manipulations du laboratoire

Guide Mémoire NETRAM

RÉALISATION ET MISE AU POINT D UN SYSTÈME DE TÉLÉSURVEILLANCE VIDÉO

IFT1215 Introduction aux systèmes informatiques

MICROCONTROLEURS PIC PROGRAMMATION EN C. V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44

Ordinateurs, Structure et Applications

SYSTEME DE PALPAGE A TRANSMISSION RADIO ETUDE DU RECEPTEUR (MI16) DOSSIER DE PRESENTATION. Contenu du dossier :

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

COMMUTEL PRO VM3 INTERFACE GSM VOIX POUR EMULATION DE LIGNE RTC ET TRANSMETTEUR DE SMS D ALERTES ET TECHNIQUES.

Modules d automatismes simples

ReadCard Guide Utilisateur

GPA770 Microélectronique appliquée Exercices série A

TD Architecture des ordinateurs. Jean-Luc Dekeyser

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3 & ' " ( ) '*+ ", ##) # " -. /0 " 1 2 " 3. SIMULATION 7 " - 4.

Architecture des ordinateurs

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

VIII- Circuits séquentiels. Mémoires

CONVERTISSEURS NA ET AN

Université de La Rochelle. Réseaux TD n 6

Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A) MODULE A5 Programmation de la CPU 314C-2DP

SYSTEME DE TELESURVEILLANCE VIDEO

Débuter avec PsoC ou PsoC niveau 0

Spécifications. Caractéristiques. Panneau de contrôle PC1550. Programmation par le clavier. Mémoire EEPROM

LOGICIEL SDS ver Manuel de l utilisateur SDS VER 1-28/05/03

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

1. PRESENTATION DU PROJET

Traitement de données

Carte Relais GSM (Manuel Utilisateur)

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Les réseaux cellulaires vers la 3G

2-2. Dimensions externes 113±0.2 P P R±??? 3. FONCTIONS ET TERMINOLOGIE. Sortie prédéfinie. Sortie arrêt du vérin. Type de sortie prédéfinie

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

DJ-446E. Mode d'emploi PRIVATE MOBILE RADIO

Chapitre 4 : Les mémoires

Samia Bouzefrane. Maître de Conférences CEDRIC CNAM.

Proteus Design Suite V7 Instruments virtuels

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/ bits, Windows 2008 R2 et Windows bits

CLIP. (Calling Line Identification Presentation) Appareil autonome affichant le numéro appelant

2013 Technique de libre-service Technique pour le libre-service

Manuel d aide à la pose

UFR de Mathématiques et Informatique Année 2009/2010. Réseaux Locaux TP 04 : ICMP, ARP, IP

PROMI 500 Badges - Codes

Notice d installation de la Centrale VIGIK DGM1

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

CONFIGURATION DE L AUTOMATE SIEMENS

SCL LOGICIEL DE CONTROL

Réalisation d un réseau de capteurs de température sans fil basé sur le protocole ZigBee

TP Modulation Démodulation BPSK

Foire aux questions (FAQ)

Samia Bouzefrane. Maître de Conférences CEDRIC CNAM.

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

La carte à puce. Jean-Philippe Babau

I. TRANSMISSION DE DONNEES

VOCALYS LITE.

La mémoire. Un ordinateur. L'octet. Le bit

Manuel de référence du langage Exemples Les aventures de Docteur R.

Jeu d instructions NIOS II

Ordinateurs, Structure et Applications

ELP 304 : Électronique Numérique. Cours 1 Introduction

Guide de maintenance de l'apr64

Structure d un programme

La programmation des PIC en C. Les fonctions, les interruptions.

ALERT NOTICE D UTILISATION DU DRIVER SIA

Informatique Industrielle Année Architecture des ordinateurs Note de cours T.Dumartin

212 Erreur accès anti- Echo. 214 Erreur démarrage vérif DSP. 215 Erreur accès trame IC. 216 Erreur DSP carte MSG. 217 Erreur données Carte MSG

COMMENT FAIRE? Comment bien se servir de WinHIIP? Expérimenter grâce aux guides imprimés!

TD 1 - Transmission en bande de passe

Pilotec confort 10/Pilotec confort 20 réf réf

Compilation (INF 564)

Régler les paramètres de mesure en choisissant un intervalle de mesure 10µs et 200 mesures.

PIC 16F84. Philippe Hoppenot

CARTES A PUCE. Pascal Urien - Cours cartes à puce /06/10 Page 1

SIN-FPGA DESCRIPTION PAR SCHEMA

PROJET ALGORITHMIQUE ET PROGRAMMATION II

UTILISATION DE LA BORNE PAR LE CLIENT

Kit pédagogique RFID-EDUC

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

La norme Midi et JavaSound

SD1+ SD1+ SD1+ ENT ESC

6.5.2 Reset_Scénario Démarrage_Zibase Mise sous alarme, surveillance Eclairage Allée Temp

Enregistreur sans papier. Interface LON. B Description des interfaces 10.99/

Utilisation des nombres pour résoudre des problèmes Aspect cardinal Maternelle MS-GS. Francette Martin

RAPPORT DE STAGE DE TROISIEME ANNEE EFFECTUE A

2 Raccordement d une imprimante, d un terminal ou d un ordinateur au DULCOMARIN

Décision d'approbation de modèle n du 1 er février 2000

PROJECTEUR DE DONNEES XJ-A135/XJ-A145/XJ-A155/ XJ-A245/XJ-A255

Internet et Multimédia Exercices: flux multimédia

KL5121. Pour activer des sorties en fonction de la position d'un codeur

Conception et réalisation d'une pédale MIDI

Adressage des données des contrôleurs du WAGO-I/O-SYSTEM 750. Note d application

Programmation d un contrôleur via une liaison téléphonique Note d application

SYSTEMES ELECTRONIQUES NUMERIQUES

Partie Agir : Défis du XXI ème siècle CHAP 20-ACT EXP Convertisseur Analogique Numérique (CAN)

LA SECURITE DES CARTES A BANDE MAGNETIQUE

Transcription:

FP1 : étude de la communication avec la carte a puce I/ Analyse du fonctionnement de la carte a puce I.1/ Cette fonction réalise : -La lecture des données stockées dans la carte à puce -L écriture de données sur la carte à puce -Elle commande les différentes interfaces en fonction de ces données I.2/ VCC & VSS sont les broche d alimentation de la carte a puce RAZ est la broche qui effectue un reset elle est reliée au µc par l intermédiaire de PC2 CLK est l horloge, qui est utilisé pour la transmission de donnée série elle est reliée au µc par l intermédiaire de PC3 E/S est la broche par laquelle les donnée sont transmit en série elle est reliée au µc par l intermédiaire de PC4 La mémoire principale est effacée et écrite octet par octet. Lors de l effacement, les 8 bits, constituant l octet, sont mis au niveau logique 1. Lors de l écriture, les changements se font bit par bit. Seuls ceux devant passés à zéros sont changés. Normalement un changement de données en mémoire consiste en une procédure d effacement puis d écriture. Cela dépend en fait du contenu de l octet en mémoire principale comparé à la nouvelle donnée à écrire. Si aucun des 8 bits ne requiert un passage de 0 à 1, la procédure d effacement est supprimée. Vice versa, l accès en écriture sera supprimé si aucun passage de 1 à 0 n est nécessaire. Les opérations d effacement et d écriture prennent au minimum 2.5 ms chacune. La transmission s effectue sur 2 fils (donnée et horloge), c est une transmission série et le lsb de chaque octet est envoyé en premier, la validation de chaque bit se fait sur front descendant de CLK La mémoire principale est une EEPROM de 256 octet, on y stocke les donnée utile au système (jeton, crédit, unité, ) La mémoire de protection est une mémoire de 32 bits (4 octet) c est une prom, elle permet de protéger les 32 premier octet de la mémoire principale. Pour protéger le n^emme octets de la mémoire principale il suffit d écrire (mettre a 0L) le n^emme bit de la mémoire de protection La mémoire de sécurité est de 4 octets, elle sert à protéger la carte contre une écriture illicite

On souhaite que l identifiant de l industriel ne puisse pas être modifié, quelle action faut-il appliquer sur la mémoire? L identifiant de l industriel se trouve à l adresse $11 sur la mémoire principale. Il faut donc écrire le bit $11 (soit 17 en décimal) de la mémoire de protection D après la documentation technique de la carte à puce, quel est la gamme de fréquence autorisée pour l horloge? La gamme de fréquence pour l horloge de la carte a puce est de 7KHz a 50KHz 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 port,y clk temp portc,y clk temp 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. Analyse : bset port,y clk 8Co Ton jsr temp 6Co bclr portc,y clk 8Co Toff jsr temp 6Co Temp dx #8 3Co Tp dex 3Co Bne tp 3Co Rts 5Co Donc le sous programme temp réalise une temporisation de Ton = 8+6+3+8*(3+3)+5 Co = 70Co Toff = 8+6+3+8*(3+3)+5 Co = 70Co 1Co = 4*1/7373200 = 542.5ns Une période de cette temporisation dure donc 140Co soit 75950ns f= 1/T = 1/75950*10^-9 = 13.17KHz Ce nombre ce situe entre 7Khz et 50Khz ce qui donc nous correspond Lecture du mode de lavage programmé sur une carte jeton Quelles sont les différences entre carte jeton et carte crédit? -la carte jeton est a usage unique or la carte crédit est restitué au client tant qu elle a du crédit -la carte jeton est programmé pour un type de lavage or la carte crédit permet l utilisation de Tous les types de lavages

PLAN MEMOIRE PARTIEL DE LA CARTE A PUCE Mémoire principale : Bits de poids faibles Bits de poids forts HEX. 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 ID 2 3 4 type unité 5 6 7 8 9 A B C D E F Mémoire de protection : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 0L Mémoire de sécurité : $0 $1 $2 $3 Octet de référence Octet de référence 1 2 Compteur d erreurs Octet de refermer 3

La procédure reset and ATR consiste en la lecture des 4 premières adresses de l EEPROM soit 32 bits. Elle s achève par une mise en haute impédance de la ligne I/O soit un niveau logique 1 par la résistance de rappel à Vcc. Après un ATR le composant attend une commande. Chaque commande commence avec des conditions de démarrage, incluant une commande de 3 octets cadencée par autant d impulsion d horloge que nécessaire et fini par des conditions d arrêt. Définition de démarrage et arrêt : Condition de démarrage : Un front descendant sur I/O avec l Horloge au niveau haut. Condition d arrêt : Un front montant sur I/O pendant l état haut de l horloge. Après la réception de la commande, 2 modes sont possibles : Outgoing Data pour des opérations de lecture. Processing mode pour l effacement et l écriture. Descriptif des différents modes : Mode Outgoing Data Ce mode est dédié aux données sortantes. Le premier bit est valide sur la broche I/O après le premier front d'horloge descendant. Après le dernier bit, un front supplémentaire est nécessaire pour basculer la broche en état haute impédance et la carte est prête pour l'envoi d'une nouvelle commande. Durant ce mode aucun démarrage ou stop n'est nécessaire. Mode Processing Dans ce mode, la carte fonctionne en autonomie. La carte a cependant besoin d'être alimentée continuellement en front d'horloge jusqu'à ce que la broche I/O qui est passée à l'état bas après le premier front, re-bascule en état haute impédance. Durant ce mode aucun démarrage ou stop n'est nécessaire. Note : La broche RST doit être maintenue à l'état bas durant ces modes. Si RST passe à l'état haut pendant un état bas de l'horloge, toutes les opérations sont annulées et la broche I/O passe en haute impédance. (Break). Les 3 octets à envoyer pour réaliser une lecture d une case mémoire de la mémoire principale sont les suivant : -mot de contrôle -adresse -donnée III modification du nombre d unité d une carte de crédit après lavage

L opération préalable qui est nécessaire d effectuer sur la carte afin de modifier les données est d effectuer une vérification du PSC (programmable security code) II.3/ MANIPULATION Programme lecture_eleve.s modifié ******************************************************** * Operation - Lecture nombre d'unites sur la carte * * * * Entree: sortie: modif: * ******************************************************** prog_unites jsr startifd ldab #%00110000 ; instruction 1er octet jsr IFD ldab #$41 ; instruction 2e octet jsr IFD ldab #$FF ; instruction 3e octet n est pas prit jsr IFD ; en compte jsr stopifd

Envoie de la commande de lecture de l adresse $41 Réponse de la carte :

VERIFICATION DU PSC Début Lecture de EC (compteur d erreur) Oui Ec bloqué? (ec=$00) Non Mise a jour de EC passage de 0 d un bits Comparer 1 er octet code Comparer 2me octet code Comparer 3me octet code maj de EC (ec = $7) = effacer ec Tentative Lecture de EC Oui Comp echec? (ec = $7) non Fin

VERIFICATION DU PSC Début $31 xxx xxx $39 $00 $05 Aussi $06 ou $03 au Premier passage $33 $01 Code1 $33 $02 Code2 $33 $03 Code3 $39 $00 $FF $31 xxx xxx Fin

****************************************************** * 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 jsr clr_aff ; effacement de l'afficheur ldx #txttrame ; Pointage vers le texte Envoi trame jsr aff_txt ; affichage du texte Envoi trame jsr temp1s jsr startifd ldab #$38 ; commande d'ecriture jsr IFD ldab #$41 ; adresse ou l'on va ecrire jsr IFD ldab #$44 ; donnée a ecrire jsr IFD jsr stopifd2 jsr temp1s ldaa #$0F staa ddrc saut1 bset portc,y clk jsr temp bclr portc,y clk jsr temp brclr portc,y inout saut1 ; test de fin de procedure jsr temp1s jsr temp1s rts

Vérification que $44 a bien été écrit à l adresse $41

$44 a donc bien été écrit à l adresse $41