reloj de tarjeta inteligente usando NXP

1

En mi proyecto actual, estoy intentando implementar un lector de tarjetas inteligentes utilizando LPC1788 que tiene una interfaz de tarjeta inteligente integrada. Las tarjetas inteligentes utilizan el estándar ISO7816-3 para comunicarse con el mundo exterior. Las tarjetas inteligentes necesitan relojes que deben estar entre 1 MHz y 5 MHz. Este reloj se utilizará para generar una tasa de baudios con una fracción que se implementa en la tarjeta de forma predeterminada. ISO7816 indica que si conecto una señal de 3.58MHz a la tarjeta, la velocidad en baudios será de 9600.

Por otro lado, la hoja de datos de LPC1788 establece que:

  

Si la tarjeta inteligente con la que se va a comunicar requiere (o puede requerir) un reloj, programe un registro IOCON para la función UART SCLK. El UART lo usará como una salida.

Entonces dice:

  

Habilite el reloj UART y configure el reloj UART para una frecuencia UART inicial de 3.58 MHz.

Así que estoy confundido! Si configuro la velocidad en baudios en 9600 y programa UART SCLK, ¿obtendré 3.58 MHz?

¿Qué significa "configurar la sincronización de UART para una frecuencia UART inicial de 3.58 MHz"?

¿Cómo puedo hacer eso?

    
pregunta Alireza

1 respuesta

0

Tienes que aplicar un reloj a la tarjeta inteligente. La velocidad en baudios utilizada para la comunicación es la velocidad del reloj / 372. Por lo tanto, para un reloj de 3.58 MHz, obtendrá una velocidad de transmisión de 9632.6 que es lo suficientemente cerca como para que lo lea un UART normal.

Si configura el UART para IO de tarjeta inteligente, entonces tiene que programar el pin del reloj para la funcionalidad de UART. Si no lo haces, es simplemente un GPIO ordinario.

Una vez hecho esto, comenzará a emitir la señal de reloj como se define en los registros de velocidad en baudios. La comunicación real se ejecutará con la frecuencia más lenta (dividida por 372).

El capítulo es un poco engañoso porque en el manual usan velocidad de transmisión tanto para el reloj como para la velocidad de transmisión real.

    
respondido por el Nils Pipenbrinck

Lea otras preguntas en las etiquetas