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

17 comentarios:

forsaken dijo...

un gran invento si señor, estoy desarrollandolo y tengo unos problemillas, en el foro que indicas no he encontrado gente (deben estar de vacaciones) podrias ayudarme??
gracias

Anónimo dijo...

Por qué unas veces la lectura/escritura de la tarjeta va lenta y otras, sin tocar nada, va muy rápida? Gracias por tu excelente trabajo.

droky dijo...

Lo de la velocidad de lectura, es un misterio al que la unica respuesta que le encuentro, es que el problema asté en el modo de implementación de la comunicación con el PIC y el USB, pero al desconocer el código fuente, no puedo decirte más, solo que no eres el único al que le pasa, es una característica generalizada de este montaje.
Salu2

Anónimo dijo...

Hola droky, no hay "misterios" sólo desconocimento o, mejor, no conocimientos suficientes, a nivel de hard o soft, y no...saber más, yo el primero :(, un saludo

Anónimo dijo...

Hola de nuevo droky, después de dar varias vueltas al tema creo que tienes toda la razón, parece ser algo de 'sincronismo' que a veces pilla el puerto USB y el PIC, no depende de hard es cuestion de soft, pero como tu muy bien dices...no hay codigo fuente y no se le puede 'meter mano'...

Unknown dijo...

Buenas, estoy provando de encontrar un aparatito como el que has construido, estarias interesado en venderlo o hacerme uno por encargo, pagaria bien. joselopezp1@gmail.com

citrus7909 dijo...

hola amigo me parece un buen invento, estoy empezando con la electronica y necesito que me colabores con la lista de componentes del circuito. gracias espero respuesta

droky dijo...

Hola citrus7909, en el fichero de descarga del esquema y la pcb para Eagle, todos los componentes tienen su valor correspondiente. Si tienes dudas con alguno en concreto, hazmelo saber.
Salu2

citrus7909 dijo...

hola de nuevo. tengo problemas pues no he podido encontrar una tarjetya smart card y la verdad en las tiendas de electronica que he preguntado no la conocen. Como la consigo..... y quisiera saber si coneste circuito puedo leer cualquier tarjeta de chip y extraer su clade o funcion y reescribirla en otra para que funcione como la original!!!!!!!!!!!gracias por contestar............

Lcerezo1 dijo...

Hola, dando unas vueltas por internet me he encontrado con esto y quería comentar que mi amigo Garciburbu descubrió que el tema de la velocidad del Prometeo está relacionado con Java, no hemos sido capaces de averiguar qué es lo que lo hace ir más de prisa, tampoco sé si alguien lo ha mirado mas afondo pero sí que os puedo decir que teniendo instalado y abierto el Opera cuando usas el Prometeo va casi siempre por no decir siempre bastante deprisa

Un saludo

droky dijo...

Pues será el java... a mi me vuela con el Firefox en marcha ;)
Salu2

Anónimo dijo...

Cierto droky, y vuela tanto que se ralla el script y se queda pillado

a8 dijo...

jejeje...lo del adaptador T20 a SMARTCARD ya lo comenté para hacerlo en el foro de todopic...

Anónimo dijo...

Hola amigos, no se si el post seguira activo, pero tengo una pregunta, ¿donde se pueden conseguir placas de espesor 0,5mm para hacer esta tarjeta?

Saludos

Anónimo dijo...

Quien me puede ayudar con la programacion, no se como hacerla... Gracias

Cristian dijo...

Todo lo relacionado con la tecnología me interesa mucho y por eso disfruto de obtener diversos dispositivos y poder desarmarlos y luego tratar de armarlos. En mi rato libre, también decido usar los juegos ps2

Anónimo dijo...

Todos los links están muertos, alguien los podría resubir?. Gracias.

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