Vous êtes sur la page 1sur 8

Catatan

Menerapkan AN10E40
Aplikasi 006
Penguat Kepala Pembaca Garis Magnetik
Perkenalan
Sesekali muncul teknologi yang mudah digunakan, tangguh, dan beradaptasi dengan banyak aplikasi. Garis data
magnetik adalah salah satu teknologi tersebut. Contoh nyata adalah kartu kredit. Tetapi ada banyak contoh lain
termasuk: tiket pesawat kertas, kartu klub belanja, kartu ID toko persewaan video, SIM, kartu debit mesin penjual
otomatis, dan masih banyak lagi.

Catatan aplikasi ini menjelaskan secara singkat bagaimana Anadigm Field Programmable Analog Array (FPAA) dapat
digunakan untuk membuat amplifier/dekoder baca strip magnetik lengkap dan bagaimana ini dapat dengan mudah
dihubungkan ke prosesor host. Catatan itu juga menjelaskan manfaat dari fungsi tetap ayat analog yang dapat
diprogram dalam aplikasi semacam itu.

Kartu Standar
"Hal yang indah tentang standar adalah ada begitu banyak pilihan." Benar sekali. Ada banyak standar untuk dipilih
ketika membahas teknologi strip magnetik, dan saya tidak akan berusaha menyebutkan semuanya di sini. Cukup
dikatakan bahwa spesifikasi yang paling sering dirujuk adalah ISO/IEC-7811. Saya hanya akan menangkap sorotan di
sini dengan pemahaman bahwa kami menggunakan kepala baca dan wadah yang ditujukan untuk aplikasi baca strip
magnetik kartu plastik. Ada banyak pemasok berkualitas seperti itu, dalam hal ini produk Magtek digunakan.

Untuk pembahasan ini, gambar di sebelah kiri mewakili bagian


belakang kartu kredit plastik biasa. Dengan strip magnetik di atas
seperti yang ditunjukkan, trek pertama (atas) dikodekan dalam
format yang ditetapkan oleh Asosiasi Transportasi Udara
Internasional, trek ini biasanya memiliki kode nama Anda di
atasnya.

Lagu kedua (dan ini adalah pekerja keras yang sebenarnya) dalam
format yang ditentukan oleh American Bankers Association. Ini
berisi nomor kartu kredit Anda. Format trek ketiga disebut THRIFT,
dan awalnya dimaksudkan untuk digunakan dengan Anjungan
Tunai Mandiri (ATM). Berbeda dengan track read-only 1 dan 2,
track THRIFT ditujukan untuk aplikasi baca dan tulis. Ini tidak pernah benar-benar tertangkap dan trek tidak sering
digunakan, kecuali dalam aplikasi tersebut di mana persyaratan untuk menulis kembali data merupakan bagian dari
desain. Contoh umum termasuk mesin fotokopi dan kartu debit mesin penjual otomatis.

Melihat kartu seperti yang ditunjukkan di atas, data dikodekan dari kanan ke kiri. Pengkodean selalu dimulai dengan bit
yang paling tidak signifikan. (Bit paling kanan adalah LSB dari karakter pertama untuk garis tersebut.) Definisi untuk
setiap trek berbeda dan dirangkum dalam tabel di bawah ini.

Alfa - 6 Data + 1 Paritas (ganjil) 210


BCD - 4 Data + 1 Paritas (ganjil) 75
BCD - 4 Data + 1 Paritas (ganjil) 210
Bit per Karakter Bit Per Inci
Lagu 1 - IATA
Lagu 2 - ABA
Lagu 3 -
Hemat
Dari Mag Stripe ke Tipe ASCII…
Ada sejumlah langkah yang diperlukan untuk mendapatkan dari sinyal head baca magnetik ke data ASCII yang dapat
dicerna oleh sebagian besar prosesor. Diagram berikut menunjukkan langkah-langkah penerjemahan ini saat kita
berpindah dari atas ke bawah.
Baca kepala melewati garis ke arah ini.

Garis Magnetik

] SN 21 NS 2 SN 2 NS 2 SN ] NS ] SN ] NS ] SN 2 NS ] SN ] NS 3 Garis Magnetik

Baca Sinyal
Kepala

Konversi ke F2F

4 Clocking Bits (Nol di depan) Mulai Sentinal


";"
Memahami proses konversi dimulai dengan mengetahui bagaimana data disimpan di kartu. Bayangkan rantai panjang
magnet batang, ada yang panjangnya satu satuan (dan selalu ditemukan berpasangan) sisanya panjangnya dua
satuan. Selanjutnya, masing-masing magnet batang ini diatur berlawanan dengan keadaan yang mereka inginkan,
sehingga Utara selalu menyentuh Utara, dan Selatan selalu menyentuh Selatan. Di daerah-daerah di mana kutub-
kutub serupa berbatasan, ada konsentrasi besar garis fluks magnet.

Sinyal Kepala Baca


Strip magnetik digesek melewati kepala baca. Arus akan diinduksi saat masing-masing daerah dengan konsentrasi
fluks tinggi ini lewat. NN akan menginduksi arus dalam satu arah, dan SS akan menginduksi arus dalam arah yang
berlawanan. Ternyata, polaritas sinyal kepala baca tidak menjadi masalah. Hanya jarak waktu transisi yang relevan
untuk mengubah ke bentuk gelombang F2F.

F2F atau Aiken Biphase


Untuk saat ini, kami akan menunda diskusi tentang cara membuat bentuk gelombang F2F dari sinyal kepala baca dan
hanya berfokus pada pengkodean F2F. Juga dikenal sebagai Aiken Biphase, pengkodean F2F menggunakan ruang
antara transisi fluks untuk mengkodekan sedikit. Magnet batang dua unit mewakili Nol, dan sepasang batang satu unit
mewakili Satu.

Dengan kata lain, setiap bit menempati panjang fisik yang sama pada strip. Bit dengan transisi fluks 'ekstra' di tengah
panjangnya disebut Satu. Sekali lagi, polaritas transisi ini berubah-ubah, ruang relatif antara transisilah yang
menandakan Satu atau Nol.

Konversi dari Data Kartu ke ASCII


Setiap lagu dimulai dan diakhiri dengan "clocking bits". Bit jam tidak lebih dari serangkaian Nol. Ternyata, gesekan
kartu manual adalah peristiwa kecepatan yang cukup konstan. Jadi, periode bit dari awal gesekan sangat dekat
dengan periode bit di akhir gesekan. "Bit clocking" diperiksa untuk panjang (periode bit) dan mengatur kecepatan
gesekan tertentu. Nol dikenali jika waktu berlalu antara transisi fluks mendekati periode bit. A Satu dikenali jika waktu
berlalu antara transisi fluks mendekati periode setengah bit.

Untuk prosesor yang dilengkapi dengan periferal pengatur waktu, dimungkinkan untuk menyambungkan keluaran
FPAA (yang akan beralih antara 0 dan 5 V selama gesekan kartu) ke pin masukan port pengatur waktu. Interupsi akan
dihasilkan dengan setiap transisi dan menyimpan nilai pengatur waktu ke dalam array adalah semua yang diperlukan
dari rutinitas layanan interupsi. Sedikit pemrosesan pasca pada susunan nilai dengan mudah menguraikan Satu dan
Nol.

Untuk prosesor berbiaya lebih rendah, Anda harus menghubungkan output FPAA ke pin input tujuan umum pada
prosesor. Setelah transisi pertama terdeteksi (biasanya sebagai interupsi), prosesor kemudian harus mengabdikan
dirinya sepenuhnya untuk melacak waktu, mengumpulkan pin input secara berkala, dan merekam saat transisi terjadi.
Di sini sekali lagi, pasca pemrosesan rangkaian stempel waktu akan menguraikan Satu dan Nol.
Ingatlah bahwa kartu mungkin telah digesek ke belakang. Membalik data dengan mudah ditangani dalam perangkat
lunak.

Sekarang setelah Anda memiliki serangkaian Satu dan Nol, Anda perlu mengenali dari mana data dimulai, dan
bagaimana menafsirkannya. Untuk pengantar bagian proses ini, silakan lihat Adendum catatan ini.

Menerapkan AN10E40 sebagai Magnetic Read Head Amplifier dan Generator F2F
Hanya tahap penguatan G01 dan pembanding C02 yang diperlukan. Rangkaian yang diperlihatkan di sini adalah
semacam "flip-flop SR analog". Pembanding dan jalur umpan baliknya membentuk sirkuit bi-stabil. Sirkuit akan stabil
hanya dalam dua keadaan.
+2,5 V Logika
[-100] [-100] Tinggi
0V Sel IO -25 mV
Sel IO > 0 V Logika Rendah
+2,5 V
1 Sel IO > —Sel IO >
+1,25 V

IO CellK 0 V Sel IO
Membaca saya
(VMR) -1,25 V
Kepala
-2,5 V

[-10] [-10] [-10] [-10]

Melihat diagram sirkuit di sebelah kiri. Tegangan ditampilkan tebal, dan penguatan amplifier ditampilkan dalam tanda
kurung siku. Amplifier ditampilkan dengan gelembung pada keluarannya hanya untuk berfungsi sebagai pengingat
visual bahwa ini semua adalah penguat pembalik. Asumsikan tidak ada kartu dan semua tegangan node seperti yang
ditunjukkan. (Pengingat: Semua pemrosesan sinyal analog dalam FPAA dilakukan sehubungan dengan Voltage Mid-
Rail (VMR), dan dengan konvensi ini diberi label sebagai 0 V. VMR sebenarnya 2,5 V di atas ground chip… jadi untuk
diagram kiri atas , prosesor akan melihat keluaran +2,5 V sebagai +5 volt (logika tinggi) dan keluaran -2,5 V sebagai 0
volt (logika rendah).)

Periksa tegangan node sejenak dan Anda akan melihat bahwa sirkuit dalam keadaan stabil. Outputnya adalah logika
tinggi.

Sekarang pertimbangkan apa yang terjadi ketika kartu digesek melewati kepala baca. Untuk contoh yang ditunjukkan di
atas kanan, medan fluks SS melewati celah di kepala baca. Hal ini menyebabkan lonjakan negatif sinyal kecil. Tahap
input gain tinggi mengubah lonjakan kecil ini menjadi sinyal rel penuh. (Setiap sinyal input dengan amplitudo lebih
besar dari 25 mV hanya akan menghasilkan sinyal terpotong seperti yang ditunjukkan.) Pulsa positif ini disajikan ke
terminal negatif pembanding atas akan menyebabkannya berubah keadaan seperti yang ditunjukkan oleh bentuk
gelombang output yang jatuh. Justru sebaliknya yang terjadi pada pembanding yang lebih rendah karena seluruh
rangkaian bertransisi ke keadaan stabil lainnya. Outputnya sekarang berlogika rendah.

Gambar di atas adalah bidikan lingkup rangkaian yang sedang beraksi. Dalam kasus khusus ini, kepala baca
dihubungkan langsung ke AN10E40. Jejak teratas menunjukkan input kepala baca mentah… kebisingan dan
semuanya. Jejak bawah menunjukkan sinyal keluaran rangkaian (bentuk gelombang logika F2F 0 - 5V). Tidak ada
komponen lain yang digunakan. Tidak ada apa-apa untuk itu; semudah itu dengan analog yang dapat diprogram.
Sirkuit seperti yang ditunjukkan di atas hanya menggunakan 9 dari 20 CAB yang tersedia dalam AN10E40. Faktanya,
dua amplifier seri di kaki bawah rangkaian sebenarnya tidak diperlukan, asalkan terminal negatif komparator bawah
malah terhubung ke VMR, dan ini mengurangi konsumsi CAB menjadi dua. Ada banyak ruang di AN10E40 untuk
saluran baca kedua dengan ruang kosong.

Manfaat Menggunakan Programmable Analog


Rangkaian yang dijelaskan cukup sederhana dan tentu saja dapat dibangun dengan menggunakan dua puluh atau
lebih komponen standar. Jadi mengapa analog yang dapat diprogram?

Jawaban yang jelas adalah jumlah komponen. Tidak ada komponen tambahan apa pun yang digunakan dalam aplikasi
ini. Kepala baca dihubungkan langsung ke FPAA. Namun, keuntungan sebenarnya tidak menjadi jelas sampai Anda
mengeluarkan sirkuit dari lab dan masuk ke dunia nyata yang keras.

Di dunia nyata, pembaca kartu kredit dibuat tanpa analog yang dapat diprogram tidak seperti seharusnya. Anda telah
melihat bukti ini berkali-kali sehingga Anda mungkin mati rasa karenanya. Luangkan waktu sejenak dan ingat semua
teknik "swipe" kasir yang telah Anda saksikan. Sapuan "lambat dan disengaja". "gesekan cepat". Sapuan "jalankan ke
belakang". Teknik "jalankan bolak-balik dan bolak-balik" (salah satu favorit pribadi saya). "Bersihkan kartu dan coba
lagi menggesek". The "bungkus kartu dalam kantong plastik dan coba lagi menggesek". Teknik "coba pembaca kartu
lain". Dan tentu saja itu adalah rencana darurat terakhir di mana kasir memegang kartu dengan tepat sehingga nomor
yang sudah usang dapat dikenali dan diketik dengan tangan (biasanya sambil berbagi pandangan jijik dengan Anda).

Kotoran, keausan, suhu, dan paparan medan magnet yang tidak disengaja, semuanya berkonspirasi untuk membuat
kartu strip magnetik sulit dibaca. Demikian pula, kotoran, keausan, dan korosi membuat kepala baca menjadi semakin
tidak efisien. Jadi bagaimana analog yang dapat diprogram dapat memperbaiki situasi? Prosesor host dapat
mengunduh konfigurasi sirkuit baru yang lengkap ke AN10E40 dalam waktu kurang dari 125 mikrodetik. Jadi, saat
gesekan gagal, Anda dapat menyesuaikan penguatan amplifier input hanya dalam sepersekian detik. Nyatanya, dalam
sistem yang dirancang dengan hati-hati, Anda dapat menyesuaikan amplifier baca selama bit clocking terkemuka!
Gesek kedua tidak diperlukan.

Sirkuit juga dapat disesuaikan untuk membaca kartu dengan koersivitas strip magnetik yang berbeda. Meskipun
biasanya tidak penting untuk head baca, menyesuaikan sinyal drive head tulis sangat penting untuk mengakomodasi
perbedaan koersivitas tersebut.

Ini adalah beberapa keuntungan menerapkan analog yang dapat diprogram hanya dalam aplikasi kartu standar. Dalam
aplikasi khusus, ada lebih banyak keuntungan menggunakan analog yang dapat diprogram. Untuk aplikasi keamanan
tinggi, FPAA dapat dikonfigurasi untuk menangani teknik pengkodean data yang berbeda termasuk pembentukan nada
dan penguraian kode. Baca dan tulis fungsi dan banyak lagi.
Tambahan - Pengkodean Track Kartu Kredit dan Standar Data
Ada banyak langkah yang terlibat dalam memulihkan data dari strip magnetik sederhana. Sejauh ini kita telah
membahas amplifikasi head baca, pembangkitan bentuk gelombang F2F dan interpretasinya menjadi rangkaian satu
dan nol. Langkah selanjutnya dalam proses pemulihan adalah mengubah data biner menjadi data karakter, biasanya
ASCII. Aturan untuk menginterpretasikan data berbeda-beda tergantung trek mana yang Anda baca.

Lacak Pengkodean Data dan Parameter

1 IATA 210 Alfanumerik 79 6 Bit + Paritas Ganjil Baca Saja


2 ABA 75 BCD 40 4 Bit + Paritas Ganjil Baca Saja
3 Penghe 210 BCD 107 4 Bit + Paritas Ganjil Baca & Tulis (penggunaan tidak
matan Jumlah Karakter Pengkodean umum)
Lacak Tipe BPI Standar Karakter Skema Komentar
Tata Letak Jalur Umum
Umum untuk setiap lagu adalah "clocking bit". Bit clocking ditemukan di kedua ujung setiap trek. Clocking bit adalah
string pendek dari angka nol yang dimaksudkan untuk memberikan kesempatan kepada pembaca kartu yang
melakukan clocking sendiri untuk mengatur kecepatan gesek dan mengatur durasi waktu sel bit. Dalam aplikasi kita,
mikroprosesor akan memeriksa periode bit clocking sebagai langkah pertama dalam mendekode data biner.

Juga umum untuk setiap trek adalah karakter Start Sentinel (SS), End Sentinel (ES) dan Logitudnal Redundancy Check
(LRC). Pada Track 1, karakter SS dan ES masing-masing adalah % dan ?. Pada Track 2 dan 3, karakter SS dan ES
adalah ; dan ?, masing-masing. Pemisah Bidang (FS) umum untuk Trek 1 dan 2.

Jika pada awalnya Anda tidak mengenali Start Sentinel, kemungkinan besar kartu tersebut digesek ke belakang. Anda
harus menyesuaikan algoritme decoding Anda sesuai dengan itu.

LRC adalah jumlah dari semua B n bit sebelumnya untuk semua karakter sebelumnya pada strip (overflow diabaikan).
Bit Paritas ganjil yang terkait dengan setiap karakter hanya akan menandai masalah dengan jumlah bit ganjil (seperti 1)
yang salah untuk karakter tersebut. Tidak mungkin ada kesalahan 2 bit dalam satu karakter, tetapi jika ada,
pemeriksaan paritas ganjil tidak akan mengenali kejadian tersebut. Tugas LRC selanjutnya adalah menambahkan satu
lapisan lagi pemeriksaan kesalahan untuk aliran data yang terkait dengan keseluruhan trek.

Lacak 1 Tata Letak Spesifik

nol | SS | FC | Akun Utama (maks 19 karakter) | Nama (maks 26 karakter) | FS | data lainnya | ES | LRC | nol

Lacak 2 Tata Letak Spesifik

nol | SS | Akun Utama (maks 19 karakter) | FS | data lainnya | ES | LRC | nol

Lagu 3
Ada terlalu banyak penggunaan Track 3 yang tidak standar untuk disebutkan di sini. Cukuplah untuk mengatakan, ini
sebagian besar merupakan jalur yang ditinggalkan dan akibatnya di sinilah sebagian besar sistem khusus atau khusus
akan menyandikan data. Tujuan awalnya adalah menggunakan jalur ini sebagai jalur Baca/Tulis dan benar-benar
membawa informasi terenkripsi tentang saldo rekening bank Anda di sini. Hal ini memungkinkan anjungan tunai mandiri
tanpa jaringan untuk mengeluarkan uang tanpa benar-benar mengetahui dengan pasti berapa saldo Anda yang
sebenarnya pada saat penarikan. Tidak butuh waktu lama bagi industri perbankan untuk menyadari bahwa jauh lebih
baik untuk membuat jaringan bersama ATM dan mengabaikan gagasan data dinamis pada kartu ATM Anda. Track 3
sekarang yatim piatu.
Lacak 1 Set Karakter - 6 Bit Alpha dengan Ganjil Paritas
Karakter P B6 B5 B 4 B 3 B 2 B 1 ASCII Karakter P B6 B5
B 4B 3B 2B 1 ASCII
Ruang 1 0 0 0 0 0 0 20 40
angkasa
(belum 21 A 1 1 0 0 0 0 1 41
diartikan)
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 SAYA 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 HAI 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 AS 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
?(ES) 0 0 1 1 1 1 1 3F 5F
Untuk mengonversi ke nilai ASCII, abaikan P (bit paritas) dan tambahkan nilai hex dari B[6:0] ke 20 hex.
Misalnya untuk karakter /, 0F + 20 = 2F

Trek 2 & 3 Set Karakter - BCD 4 Bit dengan Paritas Ganjil


Karakter P B 4 B 3 B 2 B 1 ASCII Karakter P B 4 B 3 B 2 B 1 ASCII
0 1 0 0 0 0 30 8 0 1 0 0 0 38
1 0 0 0 0 1 31 9 1 1 0 0 1 39
2 0 0 0 1 0 32 : 1 1 0 1 0 3A
3 1 0 0 1 1 33 (SEBAGAI
;(SS) 0 1 0 1 1 3B
4 0 0 1 0 0 34 < 1 1 1 0 0 3C
5 1 0 1 0 1 35 =(FS) 0 1 1 0 1 3D
6 1 0 1 1 0 36 > 0 1 1 1 0 3E
7 0 0 1 1 1 37 ?(ES) 1 1 1 1 1 3F
Untuk mengonversi ke nilai ASCII, abaikan P (bit paritas) dan tambahkan nilai hex dari B[4:0] ke 30 hex.
Misalnya untuk ; karakter, B + 30 = 3B

P = Parity Bit, biasanya FS = Pemisah Bidang


ganjil SS = Start Sentinel AS = Pemisah Akun (Hanya Track 3) OG = Grafik Opsi
ES = Penjaga Akhir
Kontak informasi 1.00

Anadigm dengan senang hati menawarkan


pelanggan kami akses langsung ke kantor
berikut:

WEB
http://www.anadigm.com/

Amerika Serikat
Anadigm Inc. Telp: +1 408 996 2091
21615 Stevens Creek Blvd Faks: +1 408 996 2093
Cupertino
CA 95014

Anadigm Inc. Telp: +1 480 545 6730


155 East Chilton Drive Faks: +1 480 545 2915
Suite 201
Pedagang lilin
AZ 85225-1115

Inggris
Anadigm Ltd. Telp: +44 (0) 1270 531990
Rumah Scott Faks: +44 (0) 1270 531999
Drive Westmere
Kru
CW1 6ZG

JERMAN
Anadigm Ltd.
Telp: +49 (0) 8142 4485830
Gottlieb-Daimler Str. 6
Faks: +49 (0) 8142 4485840
82140 Olching

Vous aimerez peut-être aussi