Lector-Grabador Tarjetas Smartcard síncronas por AngelTR

Esta vez, AngelTR nos ha propuesto un diseño para publicar. El circuito es un lector-grabador de tarjetas Smartcard ( chip ) de tipo síncronas.



Lo interesante del circuito es:
- Es USB y no necesita alimentación externa.
- Usa un PIC18F2550,con lo que es de fácil construcción y los componentes son habituales.
- Usándolo con el Software WinExplorer, podemos personalizar nuestras comunicaciones con las tarjetas, usando Scripts de Vb.
- Está diseñado para poder usarse con tarjetas asíncronas pero aún no lo ha implementado en el firmware.

Para poder escribir esto, he decidido construirme el Prometeo v1.0 ( que así se llama el dispositivo ) y jugar con él para ver su correcto funcionamiento.

Lo primero, he rescatado algunas tarjetas tipo smartcard SLE4404 de un viejo control de accesos en kit .
He realizado la versión 1.0 en formato DIL y al terminar me he encontrado con que la placa no era reconocida por el USB. Buscando el fallo, he visto que en la tienda de electrónica me han dado un condensador (C1) de 220pF en lugar de 220nF, y el caso es que a altas horas de la madrugada no tenía otro condensador así que le he puesto 2 de 100nF en paralelo que se aproxima bastante al valor. Este condensador es un poco crítico en cuanto a su valor por culpa de la dichosa tension del USB.
Aqui veis el apaño:



Tambien podeis ver marcado el interruptor detector de tarjeta del zócalo smartcard. Es necesario que se de tipo NA (normalmente abierto) ya que la tarjeta se alimenta cuando los contactos están cerrados. El mío era de tipo NC y lo he modificado doblando un poco las patillas.

Bueno, como el circuito seguía sin funcionar y leyendo un poco por ahí, le soldé un condensador de 100nF entre VDD y VSS por la parte de las pistas de la PCB:



Y ya por fin el PC me lo detectaba. Instalé los drivers y parecía que todo iba correcto.
Instalo WinExplorer 5.0 y no lee nada de las tarjetas. Compruebo pistas y soldaduras en placa, y todo parece correcto, así que recuerdo haber leído algo de un condensador de 10uF y le sueldo uno a la placa otra vez entre VDD y VSS ( maldita alimentación del USB!! )
En la imagen podéis ver el condensador de 10uF añadido a la placa:



Y las soldaduras por debajo:



Ahora ya por fin funcionó sin problemas:



Lo siguiente que hice fue contruirme una tarjeta con un chip 16F88 y le cargué un software que emula el funcionamiento en lectura de 32 bytes de una tarjeta tipo AT88SC1003 :



Podeis ver que la tarjeta se me tostó un poco en el horno al soldarla, ya que no le quité la capa fotosensible en las zonas de no contacto y no soldadura para que sirvieran de protección a los cortocircuitos, y la película se chamuscó un poco por culpa del espesor de la placa ( 0,5 mm )
Ahora bien, la soldadura del PIC16F88SOIC quedó impecable (gracias DeSiG por las clases de soldadura al horno acompañadas de barritas energéticas ;) ):



Y finalmente me he tenido que construir ( de forma rápida ) un adaptador SMARTCARD-DIL18 para poder programar el 16F88 con un TE20 ( por ejemplo ):



El resultado final ha sido muy interesante y pienso hacer muchas más pruebas y sniffar todas las tarjetas chip que pasen por mis manos.
Si queréis más información sobre el Prometeo, podéis pasaros por el hilo que su creador tiene en endorasoft.

DESCARGAS
- Esquema y PCB Prometeo 1.0 para EaGLE
- Fichero HEX para grabar en PIC18F2550
- Drivers Prometeo para WinXP
- Configuración del puerto virtual de comunicación
- WinExplorer 5.0

 
RaDiKalDeSIG | Designed by Techtrends | © 2007-2008 All rights reserved