Professional Documents
Culture Documents
Estándares de Tarjetas Magnéticas
Estándares de Tarjetas Magnéticas
Estándares de Tarjetas Magnéticas
Esta nota de aplicación describe brevemente cómo se puede utilizar una matriz analógica programable en campo
(FPAA) de Anadigm para construir un amplificador/decodificador de lectura de banda magnética completo y cómo se
puede interconectar fácilmente con un procesador host. La nota también describe las ventajas de la función analógica
programable frente a la fija en una aplicación de este tipo.
La tarjeta estándar
"Lo bonito de las normas es que hay muchas para elegir". Qué cierto. Hay montones de normas entre las que elegir a
la hora de hablar de tecnologías de banda magnética, y no me esforzaré en enumerarlas todas aquí. Baste decir que la
especificación a la que se hace referencia con más frecuencia es la ISO/IEC-7811. Me limitaré a resumir los aspectos
más destacados, teniendo en cuenta que estamos utilizando un cabezal de lectura y una carcasa diseñados para
aplicaciones de lectura de bandas magnéticas de tarjetas de plástico. Hay muchos proveedores de calidad de este
tipo, en este caso se utilizaron productos Magtek.
Viendo la tarjeta como se muestra arriba, los datos se codifican de derecha a izquierda. La codificación comienza
siempre por el bit menos significativo. (El bit más a la derecha es el LSB del primer carácter de la banda.) La definición
para cada pista es diferente y se resume en la tabla siguiente.
La banda magnética
Señal de cabeza
de lectura
Conversión a F2F
Dicho de otro modo, cada bit ocupa la misma longitud física en la banda. Un bit con una transición de flujo "extra" en
mitad de su longitud se denomina Uno. De nuevo, la polaridad de estas transiciones es arbitraria, es el espacio relativo
entre transiciones lo que significa un Uno o un Cero.
Para los procesadores equipados con un periférico de temporizador, es posible conectar la salida del FPAA (que
oscilará entre 0 y 5 V durante el paso de una tarjeta) al pin de entrada del puerto de temporizador. Las interrupciones
se generarán con cada transición y el almacenamiento de los valores del temporizador en una matriz es todo lo que se
requiere de la rutina de servicio de interrupción. Un rápido postprocesado de la matriz de valores permite descifrar
fácilmente los unos y los ceros.
Para procesadores de menor coste, tendrás que conectar la salida de la FPAA a un pin de entrada de propósito
general del procesador. Una vez detectada la primera transición (normalmente como una interrupción), el procesador
tiene que dedicarse por completo a controlar el tiempo, sondear el pin de entrada a intervalos regulares y registrar
cuándo se producen las transiciones. También en este caso, el postprocesado de la matriz de marcas de tiempo
descifrará los Unos y los Ceros.
Tenga en cuenta que la tarjeta puede haber sido pasada al revés. Los programas informáticos permiten dar la vuelta a
los datos fácilmente.
Ahora que tiene una cadena de Unos y Ceros, necesita reconocer dónde empezaron los datos y cómo interpretarlos.
Para una introducción a esta parte del proceso, consulte la Adenda de esta nota.
Aplicación del AN10E40 como amplificador de cabeza de lectura magnética y generador F2F
Sólo se necesitan las etapas de ganancia G01 y los comparadores C02. El circuito que se muestra aquí es una
especie de "flip-flop S-R analógico". Los comparadores y sus vías de realimentación forman un circuito biestable. El
circuito se estabilizará sólo en dos estados.
+2.5 V Lógico Alto
[-100] [-100]
0V Celda IO -25 mV
IO Celda>0 V Lógico bajo
+2.5 V
1 celda -I IO Cell>
IO>
+1.25 V
IO CellK 0 V Célula
Leer I (VMR) IO
Cabeza -1.25 V
-2.5 V
Mirando el diagrama del circuito de la izquierda. Las tensiones se muestran en negrita y las ganancias del amplificador
entre corchetes. Los amplificadores se muestran con una burbuja en sus salidas sólo para servir como recordatorio
visual de que todos ellos son amplificadores inversores. Supongamos que no hay ninguna tarjeta presente y que todas
las tensiones de los nodos son las indicadas. (Un recordatorio: Todo el procesamiento de señales analógicas dentro
de la FPAA se realiza con respecto al Voltage Mid-Rail (VMR), y por convención esto se etiqueta como 0 V. VMR es en
realidad 2,5 V por encima de la tierra del chip... por lo que para el diagrama de arriba a la izquierda, un procesador
vería la salida de +2,5 V como +5 voltios (lógica alta) y una salida de -2,5 V como 0 voltios (lógica baja)).
Examina por un momento las tensiones de los nodos y verás que el circuito se encuentra en un estado estable. La
salida es un alto lógico.
Consideremos ahora lo que ocurre cuando se pasa una tarjeta por el cabezal de lectura. En el ejemplo mostrado arriba
a la derecha, un campo de flujo S-S pasó por encima de un hueco en la cabeza lectora. Esto indujo un pequeño pico
de señal negativa. Las etapas de entrada de alta ganancia convierten este pequeño pico en una señal de carril
completa. (Cualquier señal de entrada con una amplitud superior a 25 mV simplemente resultará en una señal
recortada como se muestra). Este pulso positivo presentado al terminal negativo del comparador superior hará que
cambie de estado como muestra la forma de onda de salida descendente. En el comparador inferior ocurre justo lo
contrario, ya que todo el circuito pasa a su otro estado estable. La salida es ahora una lógica baja.
La figura anterior es una imagen del circuito en acción. En este caso concreto, se conectó una cabeza lectora
directamente a un AN10E40. El trazo superior muestra la entrada bruta del cabezal de lectura... con ruido y todo. La
traza inferior muestra la señal de salida del circuito (una forma de onda lógica F2F de 0 - 5V). No se utilizó ningún otro
componente. No hay nada que hacer; es así de fácil con el analógico programable.
El circuito mostrado arriba consume sólo 9 de los 20 CAB disponibles en un AN10E40. De hecho, los dos
amplificadores en serie de la pata inferior del circuito no son realmente necesarios, siempre que el terminal negativo
del comparador inferior se conecte en su lugar a VMR, lo que reduce el consumo de CAB en dos. En un AN10E40 hay
espacio de sobra para un segundo canal de lectura.
En el mundo real, los lectores de banda de tarjetas de crédito construidos sin analógico programable no son todo lo
que deberían ser. Ha visto pruebas de ello tantas veces que probablemente se haya insensibilizado. Tómese un
momento y recuerde todas las técnicas de "mangoneo" del cajero que ha presenciado. El golpe "lento y deliberado". El
"golpe rápido". El golpe de "correr hacia atrás". La técnica de "pasarlo de un lado a otro y de un lado a otro" (una de
mis favoritas). El "limpia la tarjeta e inténtalo de nuevo". El "envuelva la tarjeta en una bolsa de plástico e inténtelo de
nuevo". La técnica de "prueba con el otro lector de tarjetas". Y luego, por supuesto, está el plan de contingencia
definitivo, en el que el cajero sostiene la tarjeta al trasluz justo para que los maltrechos números en relieve puedan ser
reconocidos y tecleados a mano (normalmente mientras comparte una mirada de asco contigo).
La suciedad, el desgaste, la temperatura y la exposición a campos magnéticos involuntarios conspiran para dificultar la
lectura de las tarjetas de banda magnética. Asimismo, la suciedad, el desgaste y la corrosión hacen que las cabezas
lectoras sean cada vez menos eficaces. Entonces, ¿cómo puede arreglar la situación el analógico programable? El
procesador host puede descargar una nueva configuración de circuito completa a un AN10E40 en menos de 125
microsegundos. Así, cuando un golpe falla, puedes ajustar la ganancia de los amplificadores de entrada en sólo una
fracción de segundo. De hecho, en un sistema cuidadosamente diseñado, ¡se pueden ajustar los amplificadores de
lectura durante los bits principales de sincronización! No será necesaria una segunda pasada.
El circuito también puede ajustarse para leer tarjetas con distinta coercitividad de banda magnética. Aunque
normalmente no es importante para las cabezas de lectura, el ajuste de las señales de accionamiento de las cabezas
de escritura es esencial para acomodar estas diferencias de coercitividad.
Estas son algunas de las ventajas de aplicar analógicos programables sólo en aplicaciones de tarjetas estándar. En
aplicaciones personalizadas, el uso de analógicos programables ofrece aún más ventajas. Para aplicaciones de alta
seguridad, la FPAA puede configurarse para manejar diferentes técnicas de codificación de datos, incluida la
generación y descodificación de tonos. Funciones de lectura y escritura y mucho más.
Anexo - Codificación de la pista de la tarjeta de crédito y normas de datos
La recuperación de datos de una simple banda magnética requiere muchos pasos. Hasta ahora hemos cubierto la
amplificación de la cabeza lectora, la generación de una forma de onda F2F y su interpretación en una cadena de unos
y ceros. El siguiente paso en el proceso de recuperación es convertir los datos binarios en datos de caracteres,
normalmente ASCII. Las reglas de interpretación de los datos varían según la pista que se lea.
También son comunes a todas las pistas los caracteres Start Sentinel (SS), End Sentinel (ES) y Logitudnal Redundancy
Check (LRC). En la pista 1, los caracteres SS y ES son % y ?, respectivamente. En las pistas 2 y 3, los caracteres SS y
ES son ; y ?, respectivamente. Los separadores de campo (FS) son comunes a las pistas 1 y 2.
Si al principio no reconoce un Start Sentinel, lo más probable es que la tarjeta se haya pasado al revés. Tendrá que
ajustar su algoritmo de descodificación en consecuencia.
El LRC es la suma de todos losbits Bn anteriores de todos los caracteres anteriores de la banda (se ignora el
desbordamiento). El bit de paridad impar asociado a cada carácter sólo indicará un problema si hay un número impar
de bits (como 1) erróneos para ese carácter. Es poco probable que haya 2 errores de bit en un solo carácter, pero si los
hay, la comprobación de paridad impar no reconocerá el evento. La función del LRC es añadir una capa más de
comprobación de errores para el flujo de datos asociado a toda la pista.
ceros | SS | FC | Cuenta principal (19 caracteres máx.) | Nombre (26 caracteres máx.) | FS | otros datos | ES | LRC |
ceros
ceros | SS | Cuenta principal (19 caracteres máx.) | FS | otros datos | ES | LRC | ceros
Pista 3
Hay demasiados usos no estándar de la Pista 3 como para enumerarlos aquí. Baste decir que se trata en gran medida
de una vía abandonada y, en consecuencia, es donde la mayoría de los sistemas especializados o personalizados
codificarán los datos. La intención original era utilizar esta pista como una pista de Lectura/Escritura y realmente llevar
información encriptada sobre el saldo de tu cuenta bancaria aquí. Esto permitía a los cajeros automáticos no
conectados a la red dispensar dinero sin saber con certeza cuál era el saldo real en el momento de la retirada. El sector
bancario no tardó mucho en darse cuenta de que era mucho mejor conectar en red los cajeros automáticos y
abandonar la idea de datos dinámicos en la tarjeta. La pista 3 es ahora huérfana.
Pista 1 Juego de caracteres - Alfa de 6 bits con paridad impar
Carácter P B6 B5 B4 B3 B2 B1 ASCII Carácter P B6 B5 B4 B3 B2 B1 ASCII
Espaci 1 0 0 0 0 0 0 20 40
o
(sin 21 A 1 1 0 0 0 0 1 41
definir)
22 B 1 1 0 0 0 1 0 42
(OG) 1 0 0 0 0 1 1 23 C 0 1 0 0 0 1 1 43
$ 0 0 0 0 1 0 0 24 D 1 1 0 0 1 0 0 44
%(SS) 1 0 0 0 1 0 1 25 E 0 1 0 0 1 0 1 45
26 F 0 1 0 0 1 1 0 46
27 G 1 1 0 0 1 1 1 47
( 0 0 0 1 0 0 0 28 H 1 1 0 1 0 0 0 48
) 1 0 0 1 0 0 1 29 I 0 1 0 1 0 0 1 49
2A J 0 1 0 1 0 1 0 4A
2B K 1 1 0 1 0 1 1 4B
2C L 0 1 0 1 1 0 0 4C
- 0 0 0 1 1 0 1 2D M 1 1 0 1 1 0 1 4D
. 0 0 0 1 1 1 0 2E N 1 1 0 1 1 1 0 4E
/ 1 0 0 1 1 1 1 2F O 0 1 0 1 1 1 1 4F
0 0 0 1 0 0 0 0 30 P 1 1 1 0 0 0 0 50
1 1 0 1 0 0 0 1 31 Q 0 1 1 0 0 0 1 51
2 1 0 1 0 0 1 0 32 R 0 1 1 0 0 1 0 52
3 0 0 1 0 0 1 1 33 S 1 1 1 0 0 1 1 53
4 1 0 1 0 1 0 0 34 T 0 1 1 0 1 0 0 54
5 0 0 1 0 1 0 1 35 U 1 1 1 0 1 0 1 55
6 0 0 1 0 1 1 0 36 V 1 1 1 0 1 1 0 56
7 1 0 1 0 1 1 1 37 W 0 1 1 0 1 1 1 57
8 1 0 1 1 0 0 0 38 X 0 1 1 1 0 0 0 58
9 0 0 1 1 0 0 1 39 Y 1 1 1 1 0 0 1 59
3A Z 1 1 1 1 0 1 0 5A
3B 5B
3C 5C
= 1 0 1 1 1 0 1 3D 5D
3E ^(FS) 0 1 1 1 1 1 0 5E
? 0 0 1 1 1 1 1 3F 5F
Para convertir al valor ASCII, ignore la P (bit de paridad) y sume el valor hexadecimal de B[6:0] a 20 hex. Por
ejemplo, para el carácter /, 0F + 20 = 2F
WEB
http://www.anadigm.com/
EE.UU.
Anadigm Inc. Teléfono: +1 408 996
21615 Stevens Creek Blvd 2091
Cupertino Fax: +1 408 996 2093
CA 95014
REINO UNIDO
Anadigm Ltd. Tel: +44 (0) 1270 531990
Casa Scott Fax: +44 (0) 1270 531999
Westmere Drive
Crewe
CW1 6ZG
ALEMANIA
Anadigm Ltd.
Tel: +49 (0) 8142 4485830
Gottlieb-Daimler Str. 6
Fax: +49 (0) 8142 4485840
82140 Olching