¿Es posible transmitir una mayor velocidad de datos con un reloj de 9600 bdrate en ISO7816?

1

Estoy tratando de transmitir información entre un procesador integrado y un dispositivo de tarjeta inteligente.

La transición predeterminada se realiza en: 9600 baudrate Pulso de reloj de 3.58MHz Fi = 372 Di = 1

Después del comando inicial entre la tarjeta inteligente y el procesador, necesito aumentar la velocidad en baudios (por ejemplo, 115200). Debo aumentar mi frecuencia de reloj a 42.96MHZ para transmitir en 115200 bps, pero desafortunadamente mi procesador no puede generar esta frecuencia. Entonces, ¿puedo cambiar el parámetro Fi o Di a cualquier otro valor superior para aumentar la velocidad de transmisión?

    

1 respuesta

2

No es necesario que la velocidad del reloj cambie tan alto (y la tarjeta no lo admitirá). Simplemente necesitas ajustar Fi y Di, por cierto.

Aquí hay un extracto de la especificación ISO7816-3:

Para alcanzar ~ 115200 baudios, normalmente, elegirás Fi = 512 (F = 9) y Di = 32 (D = 5). Esto, con el mismo reloj de 3.58MHz, dará 111875 baudios. Para exactamente 115200 baudios, debe ajustar el reloj a 3.6864MHz, pero ciertamente no necesita ser tan preciso. Tenga en cuenta que la velocidad de reloj máxima que puede soportar la tarjeta depende de F y también se indica en la tabla (5 MHz para F = 9).

Ahora, para ajustar Fi y Di, debe enviar una solicitud de PPS (Selección de parámetros de protocolo) a la tarjeta (consulte el capítulo 9 de la especificación). Por ejemplo, simplemente envía FF10957A para negociar T = 0, F = 9, D = 5. Aquí está el significado de cada byte:

  • FF (PPSS) identifica una solicitud de PPS
  • 10 (PPS0) indica que PPS1 está presente y solicita T = 0
  • 95 (PPS1) solicita F = 9 y D = 5
  • 7A es la suma de comprobación XOR

Si la tarjeta acepta la solicitud, la reconocerá al reenviar exactamente los mismos bytes y luego cambiará su velocidad en baudios.

Tenga en cuenta que los valores máximos F y D que la tarjeta puede admitir se indican en el ATR, (en el byte TA1) para que sepa qué puede negociar.

    
respondido por el dim

Lea otras preguntas en las etiquetas