|
|
Lecteurs Phoenix ou Smart
Mouse
Comme je vous l'ai indiqué en
page d'accueil de cette rubrique consacrée aux lecteurs de cartes,
si vous voulez utiliser les nombreux logiciels de manipulation de
cartes à puce parfois un peu "spéciaux" que l’on trouve sur
Internet, vous vous apercevrez vite que ceux-ci utilisent presque
tous un lecteur de cartes baptisé Phoenix ou Smart Mouse selon le
cas. Je vous propose donc de réaliser un tel lecteur et, pour
qu’il soit vraiment polyvalent, je l'ai rendu compatible Phoenix et
Smart Mouse.
 |
| Le lecteur Phoenix
que vous allez réaliser ici |
Ce lecteur a une deuxième
fonction, propre aux cartes Gold,
Silver qui est de permettre la
programmation des mémoires EEPROM contenues sur ces cartes avec
beaucoup de facilité grâce à un petit logiciel ou "loader" que vous
trouverez à la rubrique Logiciels de ce site.
Le schéma
L’horloge utilisée par la
carte est générée par un oscillateur à quartz réalisé autour de IC1a
pour fonctionner à 3,579 MHz, ou de IC1b pour fonctionner à 6 MHz.
Les straps S4 et S5 permettent de bloquer l’oscillateur non utilisé,
l’autre se trouvant alors automatiquement relié à l’entrée horloge
de la carte via IC1c. La commande de reset de la carte utilise la
ligne de contrôle CTS du port série, disponible en 7 de J1. Elle est
convertie de RS 232 en TTL par l’intermédiaire de IC2 qui n’est
autre qu’un classique MAX 232. On est assuré ainsi de bénéficier de
vrais niveaux RS 232 compatibles de tous les micro-ordinateurs.
Selon que le lecteur doit être compatible Phœnix ou Smart Mouse,
cette commande de reset peut être directe ou inversée. Un choix est
donc possible au moyen des straps S1 et S2 qui permettent
d’appliquer le signal issu de la patte 7 de J1 à la carte, via S2,
ou de lui faire subir une inversion par IC1d avant d’arriver à la
carte via S1. Dans tous les cas, la LED1 permet de visualiser l’état
de la ligne reset de la carte ce qui s’avère bien utile en présence
d’un logiciel en cours de développement ou d’une carte
récalcitrante.
 |
|
Schéma de la partie horloge |
 |
|
Schéma de la partie interface
proprement dite |
Côté entrée/sortie de la
carte, c’est un tout petit peu plus compliqué du fait du caractère
bidirectionnel de la seule ligne disponible sur cette dernière. Les
signaux qui sortent de la carte sont appliqués directement à une des
entrées de IC2 qui se charge de les convertir de TTL en RS 232 pour
les délivrer sur la patte 2 de J1. Les signaux provenant de
l’interface série du micro-ordinateur quant à eux sont disponibles
sur la patte 3 de J1. Leur niveau est converti de RS 232 en TTL par
IC2 et ils sont ensuite appliqués à la patte d’entrée/sortie de la
carte mais, pour ne pas court-circuiter les signaux sortants en cas
d’erreur de protocole et de tentative d’écriture dans la carte alors
que celle-ci fournit des données en sortie, la diode D2 a été
prévue. Ici aussi, une LED permet d’indiquer l’application de
signaux logiques à la carte et donc de vérifier, même si c’est assez
sommaire, qu’un dialogue a bien lieu.
L’alimentation du montage est
confiée à un bloc secteur externe style "prise de courant"
connecté au jack J2. La diode D1 protège le montage de toute
inversion de polarité éventuelle tandis que l’alimentation est
régulée à 5 volts par IC3. En toute logique, et pour être
parfaitement compatible Phoenix, notre montage devrait aussi fournir
une information "présence carte" via les bornes 1 et 6 de J1.
Cette information est en général obtenue à partir de l’interrupteur
présent à cet effet dans tous les connecteurs de cartes ;
interrupteur qui se ferme lorsque la carte est engagée à fond dans
son logement. Pour ma part, je préfère générer cette information de
présence de la carte en permanence en mettant à la masse la patte 11
de IC2, ce qui permet à tous les logiciels compatibles Phoenix de
fonctionner, quitte à ce qu’ils tentent de dialoguer avec une carte
absente si vous avez oublié d’insérer cette dernière.
Par contre, j'utilise
l’interrupteur de détection de carte pour commuter l’alimentation 5
volts du montage, tant sur la carte que sur les différents
composants actifs de ce lecteur. En procédant de la sorte, on est
ainsi plus conforme à la norme qui veut que la carte ne soit
alimentée et ne reçoive des signaux qu’une fois qu’elle est insérée
à fond dans son lecteur. Remarquez cependant que j'ai prévu, au
moyen du strap S3, de pouvoir court-circuiter cet interrupteur pour
le cas où vous souhaiteriez alimenter en permanence le connecteur de
carte afin de réaliser divers essais de résistance des cartes qui y
sont insérées.
|