diseño de tarjeta inteligente 8051

1

Estoy tratando de diseñar una interfaz de tarjeta inteligente utilizando un 8051 UART y un circuito oscilador Pierce .

El proyecto parece estar funcionando, porque estoy recibiendo respuesta de la tarjeta inteligente. Sin embargo, estoy teniendo dificultades para controlar el reloj.

La secuencia después de la inserción de la tarjeta es:

  1. alimenta la tarjeta. Estoy usando p3.3 para esto;
  2. tomar el pin de reinicio alto. Estoy usando p3.6 ;
  3. inicia el reloj.

Estoy usando una puerta NO para alimentar el circuito del oscilador. El pin3.7 está conectado a la entrada de la puerta, y la salida está conectada a la VCC del Pierce oscillator (que también consta de una puerta NO que impulsa la salida alta).

También probé un ULN2003, con un pull-up en la salida.

Sin embargo, esta secuencia no parece funcionar bien.

Pero, si desconecto el VCC del oscilador mientras el código está esperando una respuesta y lo conecto nuevamente, obtengo una respuesta completa, que es consistente en muchos intentos y es válida de acuerdo con el protocolo 7816.

Eso me hizo creer que el circuito que enciende y apaga el reloj no funciona bien.

He adjuntado los dos circuitos que estoy usando, quiero saber si hay una mejor manera, o si tal vez, estoy haciendo algo mal

    
pregunta Paul A.

1 respuesta

5

Tu secuencia de inicio es incorrecta.

El procedimiento correcto es:

  1. Encienda la tarjeta Y aplique el reloj mientras el reinicio está bajo
  2. mantenga el reinicio bajo durante al menos 40000 ciclos de reloj
  3. establecer reinicio alto

Luego, la tarjeta debe comenzar a enviar la Respuesta a restablecimiento (ATR) dentro de un máx. 40000 ciclos de reloj.

Para más información, eche un vistazo a las especificaciones

Aquí puede encontrar información sobre lo que dice ISO / IEC 7816-3.

Aquí puede descargar los estándares ETSI de forma gratuita.
El único relevante para usted es
ETSI TS 102 221
"Tarjetas inteligentes; interfaz UICC-Terminal; características físicas y lógicas"

    
respondido por el Curd

Lea otras preguntas en las etiquetas