Académique Documents
Professionnel Documents
Culture Documents
Diese Anwendungshinweis beschreibt kurz, wie ein Anadigm Field Programmable Analog Array (FPAA) verwendet
werden kann, um einen vollständigen Magnetstreifen-Leseverstärker/ Decoder zu konstruieren und wie er leicht an
einen Host-Prozessor angeschlossen werden kann. Der Hinweis beschreibt auch die Vorteile der festen Funktion
programmierbarer analoger Verse in einer solchen Anwendung.
Die Standardkarte
"Das Schöne an Standards ist, dass es so viele zur Auswahl gibt." Wie wahr. Es gibt viele Standards, aus denen man
wählen kann, wenn man Magnetstreifentechnologien diskutiert, und ich werde nicht versuchen, sie alle hier
aufzuzählen. Es genügt zu sagen, dass die am häufigsten referenzierte Spezifikation ISO/IEC-7811 ist. Ich werde hier
nur die Highlights festhalten, mit dem Verständnis, dass wir einen Lesekopf und ein Gehäuse verwenden, die für
Kunststoffkarten-Magnetstreifen-Leseanwendungen bestimmt sind. Es gibt viele Qualitätslieferanten, in diesem Fall
wurden Magtek-Produkte verwendet.
Für diese Diskussion stellt die Abbildung links die Rückseite einer
typischen Plastikkreditkarte dar. Mit dem Magnetstreifen oben, wie
gezeigt, ist die erste (obere) Spur in einem von der International Air
Transport Association festgelegten Format kodiert. Auf dieser Spur
ist normalerweise Ihr Name kodiert.
Der zweite Track (und dies ist das eigentliche Arbeitspferd der
Gruppe) befindet sich in einem von der American Bankers
Association definierten Format. Es enthält Ihre Kreditkartennummer.
Das dritte Spurformat heißt SPARSAMKEIT und war ursprünglich
für die Verwendung mit Geldautomaten (ATMs) vorgesehen. Im
Gegensatz zu den schreibgeschützten Spuren 1 und 2 war die
Sparsamkeitsspur für Lese- und Schreibanwendungen gedacht. Dies hat sich nie wirklich durchgesetzt und die Strecke
wird nicht oft verwendet, außer in den Anwendungen, in denen die Anforderung, Daten zurückzuschreiben, Teil des
Designs ist. Typische Beispiele sind Kopierautomaten und Automaten-Debitkarten.
Wenn Sie die Karte wie oben gezeigt betrachten, werden die Daten von rechts nach links kodiert. Die Codierung
beginnt immer mit dem niederwertigsten Bit. (Das rechte Bit ist das LSB des ersten Zeichens für den Streifen.) Die
Definition für jeden Track ist unterschiedlich und in der folgenden Tabelle zusammengefasst.
Der Magnetstreifen
Lesekopfsignal
Umstellung auf
F2F
Das Lesekopfsignal
Der Magnetstreifen wird am Lesekopf vorbeigewischt. Wenn jeder dieser Bereiche mit hoher Flusskonzentration
durchläuft, wird ein Strom induziert. N-N induziert einen Strom in eine Richtung und S-S induziert einen Strom in die
entgegengesetzte Richtung. Wie sich herausstellt, spielt die Polarität des Lesekopfsignals keine Rolle. Für die
Umwandlung in eine F2F-Wellenform ist nur der zeitliche Abstand der Übergänge relevant.
Um es anders auszudrücken, nimmt jedes Bit die gleiche physische Länge auf dem Streifen ein. Ein Bit mit einem
"zusätzlichen" Flussübergang in der Mitte seiner Länge wird als Eins bezeichnet. Auch hier ist die Polarität dieser
Übergänge willkürlich, es ist der relative Raum zwischen den Übergängen, der eine Eins oder eine Null bedeutet.
Für Prozessoren, die mit einer Timer-Peripherie ausgestattet sind, ist es möglich, den FPAA-Ausgang (der während
eines Kartenwischvorgangs zwischen 0 und 5 V umschaltet) mit dem Eingangspin des Timer-Ports zu verbinden. Bei
jedem Übergang werden Interrupts generiert, und das Speichern der Timerwerte in einem Array ist alles, was von der
Interrupt-Service-Routine erforderlich ist. Ein schnelles Nachbearbeiten des Wertefelds entschlüsselt leicht die Einsen
und Nullen.
Bei kostengünstigeren Prozessoren müssen Sie stattdessen den FPAA-Ausgang mit einem Universal-Eingangspin am
Prozessor verbinden. Sobald ein erster Übergang erkannt wird (in der Regel als Interrupt), muss sich der Prozessor
dann vollständig der Zeiterfassung widmen, den Eingangspin in regelmäßigen Abständen abfragen und aufzeichnen,
wann die Übergänge auftreten. Auch hier wird die Nachbearbeitung des Arrays von Zeitstempeln die Einsen und Nullen
entschlüsseln.
Denken Sie daran, dass die Karte möglicherweise nach hinten gezogen wurde. Das Umdrehen der Daten ist in der
Software einfach zu handhaben.
Jetzt, da Sie eine Reihe von Einern und Nullen haben, müssen Sie erkennen, wo die Daten begonnen haben und wie
sie zu interpretieren sind. Eine Einführung in diesen Teil des Prozesses finden Sie im Anhang dieses Hinweises.
IO CellK 0 V E/A-
Lesen I (VMR) Zelle
Kopf -1,25 V
-2,5 V
Blick auf den Schaltplan links. Die Spannungen sind fett und die Verstärkerverstärkungen in eckigen Klammern
dargestellt. Die Verstärker sind mit einer Blase an ihren Ausgängen dargestellt, um optisch daran zu erinnern, dass es
sich um invertierende Verstärker handelt. Angenommen, es ist keine Karte vorhanden und alle Knotenspannungen sind
wie abgebildet. (Zur Erinnerung: Die gesamte analoge Signalverarbeitung innerhalb der FPAA erfolgt in Bezug auf
Voltage Mid-Rail (VMR), und dies wird konventionell als 0 V bezeichnet. VMR liegt tatsächlich 2,5 V über der Masse
des Chips... also würde ein Prozessor für das obige linke Diagramm die Ausgabe von +2,5 V als +5 Volt (logisch hoch)
und eine Ausgabe von -2,5 V als 0 Volt (logisch niedrig) sehen.)
Untersuchen Sie die Knotenspannungen für einen Moment und Sie werden sehen, dass sich die Schaltung in einem
stabilen Zustand befindet. Der Ausgang ist ein Logik-High.
Überlegen Sie nun, was passiert, wenn eine Karte über den Lesekopf gezogen wird. Für das oben rechts gezeigte
Beispiel passierte ein S-S-Flussfeld die Lücke im Lesekopf. Dies induzierte einen kleinen negativen Signalanstieg. Die
Eingangsstufen mit hoher Verstärkung wandeln diese kleine Spitze in ein vollständiges Schienensignal um. (Jedes
Eingangssignal mit einer Amplitude von mehr als 25 mV führt einfach zu einem abgeschnittenen Signal, wie gezeigt.)
Dieser positive Impuls, der dem negativen Anschluss des oberen Komparators zugeführt wird, führt dazu, dass sich der
Zustand ändert, wie die abfallende Ausgangskurve zeigt. Genau das Gegenteil geschieht auf dem unteren Komparator,
wenn die gesamte Schaltung in ihren anderen stabilen Zustand übergeht. Der Ausgang ist jetzt ein Logik-Low.
Die obige Abbildung ist eine Scope-Aufnahme der Schaltung in Aktion. In diesem speziellen Fall wurde ein Lesekopf
direkt an einen AN10E40 angeschlossen. Die obere Kurve zeigt den Roh-Lesekopf-Eingang... Rauschen und alles. Die
untere Kurve zeigt das Ausgangssignal der Schaltung (eine logische Wellenform von 0 - 5 V F2F). Es wurden keine
weiteren Komponenten verwendet. Nichts dabei; es ist so einfach mit programmierbarem Analog.
Die Schaltung wie oben gezeigt verbrauchte nur 9 der 20 verfügbaren KABINEN in einem AN10E40. Tatsächlich sind
die beiden Serienverstärker im unteren Zweig der Schaltung wirklich nicht erforderlich, vorausgesetzt, dass der
Minuspol des unteren Komparators stattdessen mit VMR verbunden ist, und dies reduziert den KABINENVERBRAUCH
um zwei. In einem AN10E40 ist viel Platz für einen zweiten Lesekanal mit Platz zur freien Verfügung.
Die offensichtliche Antwort ist die Anzahl der Komponenten. Es wurden keine zusätzlichen Komponenten jeglicher Art
in dieser Anwendung verwendet. Der Lesekopf wurde direkt an die FPAA angeschlossen. Die wirklichen Vorteile
werden jedoch erst offensichtlich, wenn Sie die Schaltung aus dem Labor in das raue Licht der realen Welt bringen.
In der realen Welt sind Kreditkarten-Streifenleser, die ohne programmierbares Analog aufgebaut sind, nicht alles, was
sie sein sollten. Du hast Beweise dafür so oft gesehen, dass du wahrscheinlich taub dafür geworden bist. Nehmen Sie
sich einen Moment Zeit und erinnern Sie sich an all die Kassen- "Swipe" -Techniken, die Sie miterlebt haben. Der
„langsame und bewusste“ Wisch. Der „schnelle Wisch“. Der „Run it backwards“ Swipe. Die „run it back and forward and
back and forward“ -Technik (einer meiner persönlichen Favoriten). Wischen Sie auf "Karte reinigen und erneut
versuchen". Wickeln Sie die Karte in eine Plastiktüte und versuchen Sie es erneut. Die Technik "Probieren Sie den
anderen Kartenleser aus". Und dann gibt es natürlich den ultimativen Notfallplan, bei dem der Kassierer die Karte
genau richtig ans Licht hält, damit die stark abgenutzten erhöhten Zahlen von Hand erkannt und eingegeben werden
können (normalerweise, während er einen angewiderten Blick mit Ihnen teilt).
Schmutz, Verschleiß, Temperatur und die Exposition gegenüber unbeabsichtigten Magnetfeldern führen dazu, dass
Magnetstreifenkarten schwer lesbar sind. Ebenso Schmutz-, Verschleiß- und Korrosionsarbeiten, um die Leseköpfe
immer weniger effizient zu machen. Wie kann also programmierbares Analoges die Situation beheben? Der Host-
Prozessor kann eine komplette neue Schaltungskonfiguration in weniger als 125 Mikrosekunden auf einen AN10E40
herunterladen. Wenn also ein Wischen fehlschlägt, können Sie die Verstärkung der Eingangsverstärker in nur einem
Bruchteil einer Sekunde anpassen. Tatsächlich können Sie in einem sorgfältig entwickelten System die Leseverstärker
während der führenden Taktbits einstellen! Ein zweiter Wisch ist nicht erforderlich.
Die Schaltung kann auch für Lesekarten mit unterschiedlicher Magnetstreifenkoerzitivkraft eingestellt werden. Obwohl
dies für Leseköpfe normalerweise nicht wichtig ist, ist die Einstellung der Schreibkopfansteuersignale unerlässlich, um
solche Koerzitivitätsunterschiede auszugleichen.
Dies sind einige der Vorteile der Anwendung von programmierbarem Analog nur in Standardkartenanwendungen. In
kundenspezifischen Anwendungen bietet die Verwendung von programmierbarem Analog noch mehr Vorteile. Für
Hochsicherheitsanwendungen kann die FPAA dazu konfiguriert sein, verschiedene Datencodierungstechniken zu
handhaben, einschließlich Tonerzeugung und Decodierung. Lese- und Schreibfunktionen und mehr.
Nachtrag - Kreditkarten-Track-Kodierung und Datenstandards
Es gibt viele Schritte, um Daten von einem einfachen Magnetstreifen wiederherzustellen. Bisher haben wir die
Lesekopfverstärkung, die Erzeugung einer F2F-Wellenform und ihre Interpretation in eine Reihe von Einsen und Nullen
behandelt. Der nächste Schritt im Wiederherstellungsprozess besteht darin, die Binärdaten in Zeichendaten, in der
Regel ASCII, umzuwandeln. Die Regeln für die Interpretation der Daten variieren je nachdem, welchen Titel Sie lesen.
Ebenfalls jedem Track gemeinsam sind die Zeichen Start Sentinel (SS), End Sentinel (ES) und Logitudnal Redundancy
Check (LRC). Auf Spur 1 sind die SS- und ES-Zeichen % bzw.?. Auf den Spuren 2 und 3 sind die SS- und ES-Zeichen;
bzw.?. Feldtrennzeichen (FS) sind den Spuren 1 und 2 gemeinsam.
Wenn du einen Start-Sentinel zunächst nicht erkennst, besteht die Chance, dass die Karte nach hinten gezogen wurde.
Sie müssen Ihren Dekodierungsalgorithmus entsprechend anpassen.
Der LRC ist die Summe aller vorherigen B n -Bits für alle vorherigen Zeichen auf dem Streifen (Überlauf wird ignoriert).
Das ungerade Paritätsbit, das jedem Zeichen zugeordnet ist, kennzeichnet nur ein Problem, bei dem eine ungerade
Anzahl von Bits (wie 1) für dieses Zeichen fehlerhaft war. Es ist unwahrscheinlich, dass es 2-Bit-Fehler in einem
einzelnen Zeichen gibt, aber wenn dies der Fall ist, wird die ungerade Paritätsprüfung das Ereignis nicht erkennen. Die
Aufgabe des LRC besteht dann darin, eine weitere Ebene der Fehlerprüfung für den Datenstrom hinzuzufügen, der der
gesamten Spur zugeordnet ist.
nullen | SS | FC | Primäres Konto (max. 19 Zeichen) | Name (max. 26 Zeichen) | FS | andere Daten | ES | LRC | Nullen
Gleis 3
Es gibt zu viele nicht standardmäßige Verwendungen von Track 3, um sie hier aufzuzählen. Es genügt zu sagen, dass
es sich größtenteils um eine verlassene Spur handelt und folglich die meisten spezialisierten oder benutzerdefinierten
Systeme Daten kodieren. Die ursprüngliche Absicht war, diesen Track als Lese-/Schreib-Track zu verwenden und hier
tatsächlich verschlüsselte Informationen über Ihren Bankkontostand zu führen. Dies ermöglichte es nicht vernetzten
Geldautomaten, Geld auszugeben, ohne wirklich sicher zu sein, wie hoch Ihr tatsächlicher Kontostand zum Zeitpunkt
der Auszahlung war. Es dauerte nicht lange, bis die Bankenbranche erkannte, dass es viel besser ist, stattdessen
Geldautomaten miteinander zu vernetzen und die Idee dynamischer Daten auf Ihrer Geldautomatenkarte aufzugeben.
Track 3 ist jetzt ein Waisenkind.
Track 1 Zeichensatz - 6 Bit Alpha mit ungerader Parität
Charakter P B6 B5 B4 B3 B2 B1 ASCII Charakter P B6 B5 B4 B3 B2 B1 ASCII
Raum 1 0 0 0 0 0 0 20 40
(undefinier 21 A 1 1 0 0 0 0 1 41
t)
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 J 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
?(ES) 0 0 1 1 1 1 1 3F 5F
Um in den ASCII-Wert zu konvertieren, ignorieren Sie das P (Paritätsbit) und fügen Sie den Hex-Wert von
B[6:0] zu 20 Hex hinzu. Zum Beispiel für das Zeichen/, 0F + 20 = 2F
WEB
http://www.anadigm.com/
USA
Anadigm Inc. Tel.: +1 408 996 2091
21615 Stevens Creek Fax: +1 408 996 2093
Boulevard Cupertino
CA 95014
Vereinigtes Königreich
Anadigm Ltd. Tel: +44 (0) 1270 531990
Scott House Fax: +44 (0) 1270 531999
Westmere Drive
Crewe
CW1 6ZG
DEUTSCHLAND
Anadigm Ltd.
Tel: +49 (0) 8142 4485830
Gottlieb-Daimler Str. 6
Fax: +49 (0) 8142 4485840
82140 Olching