21 | 11 | 2018
Главное меню
Смотри
Статистика
Пользователи : 1
Статьи : 3770
Просмотры материалов : 9042188

Коллеги
Посетители
Рейтинг@Mail.ru
Советую
Online
  • [Bot]
  • [Yandex]
Сейчас на сайте:
  • 20 гостей
  • 2 роботов
Новые пользователи:
  • Administrator
Всего пользователей: 1
RSS
Подписка на новости
Магнитные карты и ПК PDF Печать E-mail
Автор: Administrator   
03.01.2017 07:40

Магнітні картки і ПК



Гелль Патрік
(Інженер EFREI)

«Магнітні карти і ПК»
Пристрої зчитування, декодування, записи.
Програми контролю, порівняння, перетворення

Передмова

Незважаючи на успіх карт, що містять мікросхеми, так званих чіп-карт, в повсякденному житті продовжують застосовуватися і класичні карти з магнітними доріжками. Нові технології, що розширюють можливості електронної апаратури і підвищують її надійність, знову привернули увагу до магнітними картками. Їх перевага - в малій собівартості. Поряд з традиційними пластиковими магнітними картками існують і карти на паперовій основі, забезпечені магнітної Смугою: квитки для проїзду в громадському транспорті, ощадні книжки та інші подібні документи.

При найближчому розгляді процеси зчитування, запису та стирання інформації магнітних карт, виявляються простіше, ніж це може представитися на перший погляд. Справді, досить всього декількох простих мікросхем і нескладних програм, щоб перетворити ваш персональний комп'ютер в сучасну лабораторію «магнітного запису».

У цій книзі зібрана вся необхідна теоретична і практична інформація, яка дозволить досить швидко досягти бажаних результатів в роботі з магнітними картками. Ви зможете скласти свою власну думку про ефективність систем запису, читання і обробки інформації магнітних карт, механізмів забезпечення надійності роботи найважливіших елементів. Можливо, не завжди щось буде виходити з першого разу, але завзятість допоможе вам у всьому розібратися.

1. Магнітні носії інформації

Існує велика кількість різних видів магнітних носіїв: відео- та аудіокасети, дискети, проїзні квитки на метро, ​​талони на парковку, морські, авіаційні та залізничні квитки і інші магнітні картки. Навіть самий звичайний чек має в нижній частині поля ряд завданих магнітними чорнилом цифр, що дозволяє виробляти їх машинне зчитування.

Деякі документи (паспорти, ощадні книжки) також забезпечені магнітною стрічкою, розташованої на їх обкладинці. Відрізняючись один від одного зовні, все магнітні носії інформації працюють за одним і тим же принципом, розробленим ще в 20-х роках XX століття.


ОСНОВИ магнітної ЗАПИСИ

Саме між 1920 і 1940 роками переважно в Німеччині були проведені фундаментальні дослідження, що заклали основу для створення різних пристроїв магнітного запису. Навіть найсучасніші професійні цифрові системи магнітного запису формату DAT - це нащадки перших магнітофонів, сконструйованих ще до 1930 року і записували звук на сталевий дріт. В антикварних магазинах ще можна знайти старі журнали, що містять публікації на цю тему. Тепер вона цікавить тільки колекціонерів.

В якості основи для роботи всіх магнітозапісивающіх апаратів виступає елементарне фізичне явище - залишковий магнетизм, яке полягає в здатності того чи іншого матеріалу купувати значну намагніченість при зіткненні з постійним магнітом або електромагнітом. Саме цей факт дозволяв багатьом поколінням школярів майструвати компаси, для чого потрібно було всього-на-всього ретельно, потерти швейну голку про постійний магніт. Остаточний магнетизм сильно виражений у ряду магнітних матеріалів, які важко отримувати і особливо зберігати.

Принцип магнітного запису інформації на постійний носій полягає в створенні на магнітній дроті або стрічці ділянок з різним ступенем намагніченості. Для цього ділянку стрічки, на який ми хочемо здійснити запис, простягається з певною швидкістю перед записуючої магнітної голівкою.

Магнітна головка по конструкції нагадує спеціальний електромагніт, з яким контактує рухомий магнітний носій (рис. 1.1).



Мал. 1.1. Конструкція і принцип дії магнітної головки


Сердечник магнітної головки зазвичай виконується з набірного листового заліза або фериту. На відміну від сердечника трансформатора він розімкнути, тобто має повітряний зазор. Для підвищення міцності сердечника і запобігання його можливого механічного пошкодження в зазор поміщають вставку з немагнітного матеріалу (бакеліта, латуні і т. П.).

Оскільки величина магнітної проникності зазору набагато нижче, ніж сердечника, магнітний потік, створюваний обмоткою збудження, зустрічає в зазорі сильне магнітне опір. З цієї причини замикання потоку відбувається через магнітний шар носія даних як середовища з великою магнітною проникністю.

Якщо носій виконаний з пластика, паперу або картону, то магнітний шар наноситься у вигляді спеціального лаку, який містить найдрібніші частинки феромагнетика. Ці частинки подібні пігментів, використовуваних для виготовлення фарб. Досить часто зверху додатково наноситься міцний захисний шар, що перешкоджає швидкому стиранню магнітного шару (рис. 1.2).



Мал. 1.2. Структура магнітного шару носія даних


Найбільш широко в якості магнітного матеріалу використовується оксид заліза Fe 2 O 3, що має гамма-кристалічну структуру і складається з мікроскопічних часток. Кожна частинка приблизно в 500 разів тонше волосся і має довжину близько одного мікрона, що робить її ледь помітною навіть при спостереженні в найпотужніші оптичні мікроскопи.

Якщо при виготовленні аудіо- і відеокасет як магнітного матеріалу зазвичай використовується оксид хрому, то при випуску магнітних карт і квитків перевага віддається фериту барію. Цей оксид має вигляд невеликих кристалів з гексагональної структурою. Залізо в чистому вигляді, що застосовується при записі на дріт в спеціальних випадках, а також іноді для якісного запису звукової інформації, за нашими відомостями, при виготовленні карт не використовується.

У момент проходження магнітного носія перед записуючої головкою частки феромагнетика, що знаходяться перед зазором, потрапляють в магнітне поле. Його напруженість пропорційна силі струму, що проходить по обмотці збудження. Тут необхідно згадати про те, що кожен кристал магнітного матеріалу складається з одного або декількох доменів, що представляють собою елементарні постійні магніти.

Задати певну просторову орієнтацію кристалів можна тільки в процесі нанесення магнітного шару і до затвердіння сполучного речовини. Попереднє орієнтування на цьому етапі покращує магнітні властивості доріжки. Однак всередині кожного кристала орієнтація доменів, яка відбувається на молекулярному рівні, може бути змінена. Це робиться шляхом додатка до кристалу зовнішнього магнітного поля.

На рис. 1.3 показано, як вектора магнітних моментів доменів поступово повертаються до збігу їх напряму з напрямком прикладеної зовнішньої магнітного поля. Причому процес орієнтації прискорюється при збільшенні напруженості зовнішнього поля Н.

Процес орієнтації відбувається тим швидше, чим вище магнітна проникність матеріалу. Факт збіги напрями векторів магнітних моментів доменів з напрямком зовнішнього поля виражається появою магнітної індукції в самому матеріалі.

Петлею гистерезиса називається крива значень індукції В як функції напруженості магнітного поля Н. Форма цієї кривої відображає той факт, що наростання індукції В відбувається з запізненням по відношенню до збільшення напруженості Н. Причина такого відставання - в наявності енергетичних бар'єрів, які необхідно долати в процесі намагнічування або розмагнічування матеріалу.



Мал. 1.3. Орієнтування доменів у напрямку магнітного поля


Крива, позначена на рис. 1.4 пунктиром, називається кривою початкового намагнічування. Вона відповідає процесу намагнічування з початковими умовами В = 0, Н = 0. При таких початкових умовах магнітні моменти доменів орієнтовані випадковим чином, врівноважуючи один одного, і повний магнітний момент феромагнетика дорівнює нулю.



Мал. 1.4. Приклад типової петлі гистерезиса


При проведенні магнітного запису особливо важливо те, що індукція В не зменшується до нуля при зниженні величини напруженості зовнішнього поля Н. В даному випадку величина Н зменшується при видаленні магнітного носія від зазору головки. Отримана намагніченість, або залишковий магнетизм, виражаються величиною B R, званої залишкової індукцією. Наявність залишкової індукції свідчить про перетворення ділянки магнітного шару на подобу постійного магніту.

При зчитуванні записаної таким чином інформації носій, переміщаючись близько магнітної головки, створить в її осерді магнітний потік. Цей потік викличе появу на висновках обмотки магнітної головки напруги, пропорційного інтенсивності потоку.

З вищевикладеного принципу магнітного запису слід два важливих висновки. По-перше, амплітуда виникає на клемах обмотки напруги (мілівольт) зростає разом зі збільшенням швидкості проходження носієм головки. По-друге, напруга на клемах з'являється тільки в разі зміни наводимого в осерді магнітного потоку. Якщо носій намагнічений сильно, але рівномірно по всій довжині, то при його русі з постійною швидкістю напруги на клемах не буде.

Виняток з цього правила становить група спеціальних зчитувальних головок, званих магніторезистивну. Вони не використовуються для запису. Сердечники таких головок виготовляються з матеріалу, що змінює своє магнітне опір в залежності від інтенсивності перетинає їх магнітного потоку. Незважаючи на свої переваги, цей матеріал не отримав широкого розповсюдження.


ОБРОБКА ЦИФРОВИХ СИГНАЛІВ

Описаний вище принцип магнітного запису застосовується також і для запису безперервно змінюються в часі сигналів (аналогових), наприклад звукових.

Безперервна зміна струму, що проходить по обмотці збудження магнітної головки, призводить до зміни виходить із зазору магнітного потоку. Пульсація магнітного потоку відбивається, в свою чергу, на орієнтації доменів, які прямують разом з носієм перед зазором головки.

При зчитуванні магнітний потік в сердечнику буде змінюватися в залежності від орієнтації доменів, безперервно проходять перед головкою. Виникає при цьому слабкого змінного напруги цілком достатньо, щоб відновити записаний раніше сигнал. Для цього сигнал, одержуваний з обмотки голівки, що зчитує, необхідно посилити і підкоригувати з урахуванням швидкості переміщення носія.

При роботі ж з цифровими сигналами мають місце певні складності.

Так, якщо запис цифрових даних (послідовностей нулів і одиниць) не створює ніяких проблем, то їх зчитування викликає деякі труднощі. Як розрізнити кілька послідовних нулів або одиниць, якщо перехід між двома аналогічними станами намагніченості викликає лише коротку зміну амплітуди напруги на висновках обмотки голівки, що зчитує?

Це приклад класичної завдання на використання цифрових даних в засобах зв'язку або пристроїв для запису дисків.

Для вирішення цієї проблеми використовується частотна модуляція. Вона реалізується при передачі інформації за допомогою модемів, MFM-кодування застосовується для запису на дискети і т. Д.


ЗАПИС двійкових даних

Найпростіший спосіб записати інформацію за принципом «є чи ні» на магнітний носій полягає в підведенні до записуючої голівки змінного струму певної величини. Тоді кожна зміна напрямку струму призводить до зміни напрямку магнітного потоку в зазорі.

Таким чином, вектори магнітних моментів доменів сусідніх ділянок розгортаються в діаметрально протилежних напрямках. Забезпечує такий розворот струм намагнічування відповідної величини.

Якщо кристали намагнічувалося матеріалу вже були орієнтовані в зазначених напрямках при нанесенні покриття на носій, то процес намагнічування спрощується. В цьому випадку кристалів необхідно лише надати сильну поздовжню намагніченість з різним напрямком поля, як це показано на рис. 1.5.



Мал. 1.5. Запис зі зміною напрямку магнітного потоку


При зчитуванні сигнал, що знімається з висновків обмотки, змінюється. Така зміна відбувається з прямокутним електричним сигналом, що пройшли через диференціюються схему (рис. 1.6).



Мал. 1.6. Зчитування і відновлення записаного сигналу


На щастя, прості електронні схеми дозволяють за формою цих імпульсів відновити форму сигналу. Але для точного визначення кількості записаних нулів і одиниць необхідний синхронизирующий, або тактовий, сигнал.

При відсутності такого сигналу неможливо точно з'ясувати, якій кількості одиниць відповідає тривалість імпульсу напруги. Ситуація ще більш ускладнюється при використанні ручного пристрою, що зчитує. У цьому випадку швидкість зчитування можна визначити заздалегідь. Якщо ж поміняти місцями висновки головки або використовувати при зчитуванні інвертується підсилювач, то все нулі перетворяться в одиниці, і навпаки.

Чи не вирішить проблему і використання при записі старт-біта і стопбітів, як це робиться при асинхронному методі передачі даних.

У даній ситуації може допомогти метод кодування F / 2F, заснований на подвоєнні частоти сигналу.


Частотний КОДИРОВАНИЕ ДАНИХ

Основа даного типу виключно надійного кодування полягає в ідентичності тривалості (іншими словами, в однаковій довжині, займаної на доріжці) всіх бітів незалежно від їх стану: 1 або 0. Однак корисна інформація міститься над власне полярності намагнічування, а тільки в частоті змін напрямку магнітного потоку або переходів. На рис. 1.7 показано, що кожен записаний біт незалежно від попереднього і наступного за ним бітів завжди знаходиться в «оточенні» двох змін напрямку магнітного потоку, що дозволяє декодера впевнено виділити його.



Мал. 1.7. Кодування за принципом подвоєння частоти


У тому випадку, якщо кожен запис починається, по крайней мере, з десятка послідовних 0 (або, за домовленістю, 1), то відповідному декодера вдається без праці синхронізувати свій внутрішній тактовий генератор з тактовою послідовністю надходять бітів. Потім він може підтримувати таку синхронізацію біт за бітом, навіть якщо швидкість проходження магнітного носія перед записуючої головкою сильно змінюється. У цьому полягає одна з головних переваг даного типу кодування, особливо зручного в разі прокручування вручну.


ВИСОКА І НИЗЬКА коерцитивності

Важлива характеристика будь-якого магнітного матеріалу - його коерцитивної сила Н с, яку також іноді називають напруженістю розмагнічування. Мова тут просто йде про його опорі до розмагнічування, або, іншими словами, про величину магнітного поля Н, необхідного для того, щоб після повного намагнічування, звести індукцію В до нуля. Графічно коерцитивної сила Н з відповідає перетину петлі гистерезиса з віссю абсцис. Таким чином, відповідно до рис. 1.8, можна виділити два значення згаданого коерцитивності поля, рівних за абсолютним значенням, але мають різні знаки.



Мал. 1.8. Визначення коерцитивної сили магнітного матеріалу


В окремому випадку магнітних карт або квитків величина напруженості Н с, відповідна використовуваному в них матеріалу, безпосередньо обумовлює їх стійкість до випадкового стирання, яке можуть викликати предмети, намагнічені в тій чи іншій мірі. Таке стирання, за деякими джерелами інформації, зафіксовано в багатьох випадках заміни несправних банківських карт! Проте існує і негативна сторона - мається на увазі складність виготовлення таких плівок з високою коерцитивної силою і записи на них інформації. У той же час зчитування інформації з них практично не викликає ніяких проблем. Хоча одиницею СІ магнітного поля є ампер на метр (А / м), але напруженість магнітного поля матеріалу практично завжди виражається в ерстедах (Е). Цією старої одиниці, офіційно не використовується, віддають перевагу багато фізиків, які знаходять, що нею простіше маніпулювати. Співвідношення між двома системами:

1 Е = 79,618 А / м або 1 А / м = 0,01256 Е.

З огляду на все вищесказане, наведемо кілька прикладів, що ілюструють величину коерцитивної сили різних матеріалів. У найбільш поширених магнітних покриттів на базі оксидів заліза ця величина складає близько 300 Е. Що стосується магнитомягких матеріалів (LoCo), зокрема, феритів, з яких виготовляють сердечники записуючих головок, то у них величина Н з коливається в діапазоні між 0004 і 12 Е . Вони легко розмагнічуються, причому найчастіше мимовільно від простого контакту із записаною доріжкою. Магнітотверді матеріали (HiCo), що застосовуються особливо для виготовлення постійних магнітів, можуть мати напруженість Н з в межах від 125 до 40000 Е.

Проте в домашніх умовах рідко зустрічаються магніти, напруженість яких перевищує 2500 Е. При цьому максимальне теоретичне значення напруженості магнітного поля магнітів, виготовлених з фериту барію, високоякісного і тим не менш широко вживаного матеріалу, так само 4650 Е.

Величина Н з у магнітних покриттів типу HiCo, що випускаються деякими виробниками, може становити 4000 Е, проте найбільш широко прийняте значення становить 2,750 Е.

На підставі вище викладеного приходимо до наступних висновків:

• навіть Широко застосовується матеріали магнітних доріжок відносяться до категорії магнітотвердих матеріалів (HiCo), тобто до категорії постійних магнітів;

• доріжку з невисокою напруженістю Н з (з магнітомягкого матеріалу LoCo) легко стерти за допомогою простого контакту з будь-яким намагніченим предметом, наприклад з намагніченої кнопкою або меблевим магнітом і навіть із записаною доріжкою HiCo;

• доріжка HiCo не боїться близько розташованих до неї слабких звичайних магнітів, однак, може бути стерта сильними магнітами, які можна зустріти, скажімо, в деяких електричних двигунах або в гучномовцях.

Емпірично доріжку HiCo не важко розпізнати по її насиченому темному кольору, тоді як доріжки з магнітомягкого матеріалу (LoCo) мають легкий відтінок іржі, що цілком природно для оксидів заліза.

Слід звернути увагу, що зустрічаються плівки з покриттям з окислів хрому дуже темного кольору, але і аудіо- та відеокасети, що використовують цей матеріал, не належать до типу HiCo. Що стосується доріжок, забарвлених за допомогою пігментів або покритих декоративним шаром, то оцінити їх тип (коерцитивної силу Н с) можна тільки за допомогою стирання або записи. Як правило, всі маніпуляції, описані в даній книзі, простіше виконувати з картами типу LoCo, хоча розроблені нами схеми цілком в змозі працювати з доріжками, коерцитивної сила яких досягає 2750 Е.


ГОЛОВКИ ЗЧИТУВАННЯ І ЗАПИСИ

Двома надзвичайно важливими характеристиками будь-магнітної головки вважаються ширина і висота повітряного зазору. При цьому ширина фіксує довжину доріжки, яка може бути намагнічена за даний період часу, а отже, при певній швидкості проходження вона визначає можливу щільність запису.

Добре відомо з техніки аудіозаписи, наскільки вузький повинен бути повітряний зазор головки (рис. 1.9), щоб забезпечити необхідну для нормальної якості відтворення ширину смуги пропускання, і наскільки низькою повинна бути швидкість руху стрічки для забезпечення стандартної тривалості запису.



Рис 1.9. Вид повітряного зазору магнітної головки через мікроскоп (збільшено в 50 разів)


У табл. 1.1 наведені характеристики повітряного зазору, прийняті для найбільш широко поширених додатків.


Таблиця 1.1. Характеристики ширини повітряного зазору головок для різних додатків



Однак наведені вище цифри не повинні розглядатися як обов'язкові величини. Так, для схем, описаних в цій книзі, нам вдалося отримати хороші результати записи за допомогою магнітних головок, повітряний зазор яких досягав 120 мкм (тобто 0,12 мм), а для зчитування використовувалися звичайні головки від касетного магнітофона. Що стосується висоти повітряного зазору, то вона знаходиться в прямій залежності від ширини записується або зчитується доріжки.

Незважаючи на те що логічно ставити висоту воздушною зазору записуючої (або універсальної записуючої / зчитує) головки практично дорівнює ширині доріжці, зазвичай використовують зчитувальні головки з зазором істотно меншої висоти і вирівняним приблизно по центру доріжки. І хоча в такому випадку має місце деяке зменшення амплітуди відновлюваного сигналу, зате значно розширюється допуск на позиціонування та практично зникає ризик, пов'язаний з перескакиванием на сусідні доріжки. Не кажучи вже про стандарти, можемо констатувати, що ширина більшості доріжок магнітних квитків і карток близька до 2,8 мм, хоча можна часто зустріти і більш широкі доріжки (наприклад, у квитків в метро).

Рекомендована висота повітряного зазору для зчитує головки складає 1-2 мм, що можна порівняти з величиною в 1,4 мм монофонических головок касетних магнітофонів (використовують смугу шириною 3,8 мм). Тому їх можна чудово використовувати, для створення експериментальних зчитувальних пристроїв магнітних карт, природно, за умови, що з них знято направляючий обмежувач. Що стосується монофонических головок трековий котушкові магнітофонів (стрічка 6,3 мм), то у них повітряний зазор становить 2,3 мм, що трохи перевищує ширину доріжки поширених магнітних карт. Якщо виробляти попереднє стирання карт за допомогою постійного магніту, то такі головки можна цілком використовувати для запису. Слід утримуватися від застосування стереофонических головок, розташування і висота двох повітряних зазорів яких сильно відрізняються від аналогічних параметрів головок трековий зчитувальних пристроїв для карт.

Стираючі головки також придатні, але тільки для стирання інформації карт, оскільки їх повітряний зазор значно ширше необхідного, іноді навіть удвічі.

Активний опір головок залежить від числа витків обмотки, яке повинно бути достатнім, щоб забезпечити якісне перетворення електричних сигналів в магнітний потік і навпаки. Прийнятною може вважатися величина від 200 до 500 Ом, хоча нам вдалося отримати також непогані результати за допомогою дещо незвичній головки з опором 2700 Ом.

З точки зору намагничивания найбільш вимогливими необхідно бути до голівок, призначеним для запису. Для якісної двійковій запису, що ведеться до насичення, потрібно, щоб в голівці циркулювали струми, що значно перевершують струми, які використовуються в аудіозапису.

У разі запису HiCo нерідко доводиться перевищувати значення струму в 50 мА (в разі LoCo зазвичай досить 1-2 мА), в той час як струм запису, який використовується в аудиомагнитофонами, часто складає порядку декількох десятків мкА. Природно, необхідно, щоб головка була в змозі витримувати таке перевантаження без входження її сердечника в стан насичення.

Поняття насичення ілюструється на рис. 1.10. Індукція насичення B s досягається, коли поле в матеріалі більше не в змозі збільшуватися, навіть якщо значення напруженості поля Н продовжує зростати. Оскільки Н пропорційна струму, що протікає в обмотці збудження, а також числу її витоків (закон «амперів-витків»), стає ясно, що будь-який насичення буде придушувати ефект збільшення струму.



Мал. 1.10. Визначення насичення магнітного матеріалу


Зазвичай головки, мають шарувату структуру (виконувані з пластин), насичуються не надто різко, проте відзначено значні розбіжності від одного сплаву до іншого. Особистий досвід авторів підказує, що часто найбільш стійкими до насичення виявляються найстаріші головки. Головки з феритовими сердечниками насичуються досить швидко, внаслідок цього вони не можуть вести запис на доріжках HiCo. Проте такі головки можуть дати досить непогані результати в запису, а також в зчитуванні доріжок LoCo. Хоча ці головки сильно зношують магнітні носії, але володіють великою механічною твердістю і тому мають виключно великий термін служби.


Повинні застосовуватися МАГНІТНІ НОСІЇ

Поряд зі стандартними магнітними картками, до розряду яких належать практично всі карти для ведення оплати або кредитні карти, існує велика кількість «інформаційних носіїв», в тій чи іншій мірі виходять за традиційні норми, але також широко поширених. Найбільш відомим прикладом цього може послужити квиток на паризьке метро і його більш складні похідні, як, наприклад, carte orange (проїзний на місяць).

Магнітна доріжка шириною 5 мм досить грубо наноситься безпосередньо на папір. Це виключно економний, але в той же час ефективний спосіб, з огляду на дуже низькі вимоги до щільності запису. Зустрічаються також і інші варіанти карт різних розмірів, наприклад пропуску для паркування або різноманітні квитки на відвідування атракціонів.

У більшості випадків доріжка розташована по поздовжній осі квитка, що дозволяє зчитувати його в обох напрямках без великого збільшення числа необхідних головок. Коли мова заходить про більш серйозних додатках, то в таких випадках доцільно застосування карт з магнітними доріжками, нанесеними на пластикову або картонну основу. При цьому виходить більш якісна поверхня доріжки, що дозволяє збільшити щільність запису і надійність. Часто зустрічаються карти з магнітними зонами, ширина яких відповідає стандартному розміру відеоплівок, починаючи з 12,7 мм, а також плівок інших стандартних інформаційних носіїв. Зазначена ширина магнітної смужки може вмістити три доріжки даних з достатніми захисними проміжками між ними.

Щоб розмістити чотири доріжки, що проходять через всю довжину (20,3 см) квитків на поїзд, літак або парою, потрібно вже ширина смужки кілька більш 15 мм. Інформаційний обсяг при цьому досягає більше 500 знаків (майже третина звичайної друкованої сторінки).

Також цікаві результати можна отримати, якщо покрити магнітним матеріалом всю поверхню носія з тонкого пластику (0,2 мм) розміром з Телекарт (карти FULL фірми Pyral). Такий тип продукту, що займає проміжне положення між традиційною магнітною карткою з пам'яттю і простим квитком, недорогий і на сьогоднішній день ще недостатньо широко поширений, хоча, можливо, у нього велике майбутнє.

Нарешті, магнітні технології дозволяють виготовити носії з доріжками, розташованими досить незвичайним чином, що дозволяє боротися з деякими типами підробок, які використовують стандартні пристрої зчитування / декодування.

Розташування доріжок, показане на рис. 1.11, є поширеним прикладом телефонних мапі попередньою оплатою, що випускаються деякими фірмами, які і на сьогоднішній день, за часів чіпкарту, віддають перевагу системам на базі магнітних принципів.



Мал. 1.11. Приклад нестандартної магнітної карти


Незважаючи на те що схеми і програми, які будуть представлені в наступних розділах, можуть бути без праці адаптовані до будь-якого варіанту розташування доріжок і до будь-якого кодування, наші читачі отримають можливість їх випробувати на картах, які відповідають стандартам ISO 7810-7813.

2. Стандартизація магнітних карт

Як відомо, формат так званих кредитних карток відповідає суворої стандартизації. Крім них, даним стандартом відповідають і багато інших карти, завдяки чому вони можуть уміщатися в найрізноманітніших портмоне і обкладинках.


повинні застосовуватися СТАНДАРТИ

Найбільш широко поширені картки розміром приблизно 54x85 мм в дійсності відповідають формату ID-1 стандарту ISO 7810 (1985 рік), який також передбачає два додаткових формату ID-2 і ID-3. Саме формат ID-1 був узятий за основу при розробці стандарту ISO 7816-1, в якому мова йде про чіп-картах. До стандарту ISO 7811, опублікований також в 1985 році, містить п'ять частин, в яких наводяться основні характеристики «карток ідентифікації» в широкому сенсі цього слова.

Стандарт ISO 7811-1 фіксує специфікації (і зокрема, форми), яким повинні відповідати групи рельєфно заформованими (також кажуть, видавлених, витиснених) знаків на картці, призначених для того, щоб її можна було ідентифікувати візуально або за допомогою пристрою оптичного зчитування.

Стандарт ISO 7811-2 визначає: характеристики, яким повинна відповідати магнітна смуга з низькою коерцитивної силою (LoCo), розташована на задній стороні картки; вимоги до застосовуваної техніці запису, а також способам кодування інформації.

Стандарт ISO 7811-3 визначає розташування зон тиснення, в яких може розташовуватися інформація відповідно до стандарту ISO 7811-1. Слід підкреслити, що інформація двох зон, визначених стандартом (номер картки та ідентифікація її власника), розміщується у внутрішньому кристалі картки. Це вивільняє досить місця у верхній частині для магнітних доріжок і в середній частині, в разі необхідності, для кристала, розташованого в відповідності зі стандартом ISO 7816.

Стандарт ISO 78.11-4 визначає фізичне розташування так званих доріжок ISO 1 і ISO 2 магнітної смуги, на якій вони розміщені, а також початок і кінець зони кодування. Слід зазначити, що магнітні доріжки позначаються терміном «тільки для зчитування». Це означає, що протягом терміну служби картки призначені лише для зчитування і що після цього їх можна стерти і перезаписати для нового використання.

У стандарті ISO 7811-5 визначаються ті ж самі характеристики, що й в ISO 7811-4, але тільки для доріжки ISO 3, на якій можна і писати, і зчитувати, наприклад, щоб зафіксувати слід останньої виконаної транзакції. Нещодавно була додана шоста частина (ISO 7811-6), де уточнюються характеристики, яким повинні відповідати магнітні доріжки HiCo.

Стандарт ISO 7812 (1987 рік) фіксує правила, відповідно до яких складаються номери карток, а також спосіб обчислення їх керуючого ключа.

І нарешті, стандарт ISO 7813 (1987 рік) багато в чому спирається на стандарти, перераховані вище, і визначає специфікації, призначені виключно картками для ведення фінансових транзакцій.

Наведена інформація підтверджує, що стандарти ISO 7810-7812 стосуються «карток ідентифікації» в широкому сенсі, і нагадує, що картки, використовувані в абсолютно різних областях (фінансових та інших), мають багато спільних характеристик.

Ця тенденція до «тотальної» стандартизації, однак, не виключає можливості існування карток стандартних розмірів, де навмисне використовуються доріжки, розташування і кодування яких не відповідають стандартам, або карток, у яких ведеться запис на доріжках, призначених тільки для зчитування. Нарешті, стандарти ISO за своєю природою - документи, з вмістом яких можна ознайомитися абсолютно вільно, і інформація, мова про яку піде нижче, не містить нічого конфіденційного.


ТРИ стандартизованих ДОРОЖКИ

На рис. 2.1 представлено все необхідне, що потрібно знати про основні характеристики доріжок ISO 1, ISO 2 і ISO 3.



Мал. 2.1. Три стандартизовані доріжки ISO


Доріжка ISO 1 часто називається IATA, від імені міжнародної асоціації повітряних перевізників, оскільки вона бере участь в деяких процесах резервування квитків на літак. Доріжка ISO 2 відома під ім'ям АВА, за назвою американської банківської асоціації. Ця доріжка - найпростіша для зчитування і навіть кодування за допомогою застарілого і економічного обладнання.

Доріжка ISO 3 часто вважається «вільної», але її також називають THRIFT або MUNTS, на ім'я деяких американських фірм, дають поради її використовувати. Вона пропонує досить широкі можливості застосування, але поступається пальму першості чіп-карті, яка займає все більші позиції в банківській сфері.


Розташування

Магнітна смуга наноситься в нижній частині зони, розташованої приблизно на відстані 15,8 мм від верхнього ^ кромки карти на її зворотному боці. Найбільш частий формат ширини магнітної смуги - половина дюйма (12,7 мм). Однак обидва ці розміру лише приблизні, оскільки роль відіграють розташування і ширина самих доріжок, а не їх носіїв.

Кожна доріжка має ширину в 0,11 дюйма (2,79 мм) і відділена від сусідньої захисним проміжком, що допомагає уникнути випадкового заходження однієї доріжки на іншу, а також забезпечує допуск на розташування головок.

Розташування кожної доріжки визначено по відношенню до верхньої кромки карти і становить 0,223 дюйма - для ISO 1; 0,353 - для ISO 2; 0,493 - для ISO 3. Саме на ці величини і слід спирається для оптимального розташування головок при побудові зчитувальних пристроїв.


щільність запису

Обсяг інформації, який може бути вміщено магнітної доріжкою, зазвичай виражається в бітах на дюйм, або bpi (bits per inch). Доріжки стандартизованих карт мають щільність запису 75 bpi (ISO 2) і 210 bpi (ISO 1 і ISO 3) - значення, які, звичайно, можна зустріти і на нестандартних носіях.

Довжина доріжки 3,375 дюйма (довжина карти) відповідає теоретичного максимуму в 253 і 708 біт. Ці цифри можна порівняти, наприклад, з обсягом пам'яті чіп-карти, який не перевищує 256 біт при набагато більш високу вартість, але, необхідно це підкреслити, що забезпечує безпеку, не йде ні в яке порівняння з магнітними картками.

Довжина, яку займає бітом на доріжці, становить 034 мм при 75 bpi і 0,12 мм при 210 bpi. Знаючи, що під час запису логічна 1 кодується подвоєною частотою, неважко уявити, якою має бути ширина повітряного зазору магнітної головки. І нарешті, можна оцінити швидкість зчитування даних при відповідній швидкості проходження карти, що становить від 100 до 1500 мм / с.

Розкид цифр досить типовий в практиці: приблизно 300-4500 біт / с (bps - bits per second або бод) при 75 bpi, 800-12500 bps при 210 bpi.

З огляду на, що логічна 1 кодується подвоєною частотою, демодулятор повинен працювати в діапазоні частот від 300 Гц до 25 кГц, що не завжди просто здійснити.

Залежно від доріжки дані зазвичай кодуються у вигляді символів, що містять 5 або 7 біт. На доріжках ISO 2 і ISO 3 розміщуються виключно цифрові символи (цифри), в той час як доріжка ISO 1 може вміщати і алфавітно-цифрові дані (цифри і букви). За допомогою 4 біт вдається уявити 16 різних символів, що досить для кодування чисел від 0 до 9 і декількох спеціальних символів. П'ятий біт - для контролю по парності, і застосування його буде розглянуто нижче. Шість біт дозволяють закодувати 64 різних символу - всі букви алфавіту (без поділу на великі та малі), 10 цифр і деяке число спеціальних символів. Разом з бітом контролю парності виходить, таким чином, семіразрядний кодування.


Пятіразрядний ЦИФРОВИЙ КОД

Нижче представлена ​​повна таблиця істинності з шістнадцятковим еквівалентом кожного символу пятібітного коду ANSI, використання якого рекомендовано стандартами ISO.

Пятіразрядний ANSI-код (цифровий):



Слід зазначити, що у даного коду молодші значущі розряди стоять на початку, що відповідає порядку проходження бітів на магнітній доріжці, коли карта проходить в нормальному напрямку зчитування (зліва направо особою до голівки).

На передньому плані представляють три особливих символу: прапорець початку (start), прапорець кінця (end) і роздільник поля даних (sep). Корисний вміст доріжки (закодовані на ній дані) завжди укладено між start і end, роздільник sep може неодноразово використовуватися всередині блоку даних з тим, щоб розмежувати зони, які важливо відрізняти один від одного.

Символ start грає найважливішу роль, оскільки розпізнавання саме цього символу дозволяє декодера дізнатися, що він отримує потік даних, закодованих на п'яти бітах, і точно визначити його початок.

Ми знаємо, що для синхронізації демодулятора запис завжди повинна починатися, по крайней мере, з десяти нулів, які, природно, потрібно видалити при декодуванні.

Блок «корисних» даних може починатися з одного або декількох бітів в стані 0, але при цьому прапорець start дозволяє уникнути будь-якого різночитання. В кінці доріжки блок даних завершується прапорцем end, за ним відразу слід символ визначення помилки, так званий LRC, мова про який піде нижче.

Початок і кінець доріжки заповнюються нулями, що пояснює явна невідповідність між оголошеними обсягами: так, наприклад, 40 символів На доріжці ISO 2 відповідає 200 біт, в той час як доріжка може вмістити їх до 253. Аналогічний розрахунок можливий і для доріжки ISO 3, яка в змозі вмістити 708 біт, а обмежена 107 символами, що представляють лише 535 біт, так само, як і доріжка ISO 1, що містить 79 корисних символів по 7 біт (тобто 553 біта).

Практичний досвід підказує, що при кодуванні слід приблизно порівну розподілити зайві нульові біти, між початком і кінцем доріжки. Тоді корисні дані виявляться розміщеними в зоні, найбільш сприятливою для зчитування, а саме посередині доріжки.


АЛФАВІТНО-ЦИФРОВИЙ КОД

Нижче представлена ​​таблиця істинності семібітного коду ANSI в тій же формі, що і попередня.

Семіразрядний ANSI-код (алфавітно-цифровий):




Крім значно більшого числа спеціальних символів, що рідко використовуються на практиці, знову можна відзначити наявність прапорців start, end і роздільник полів sep . Роль, виконувана цими трьома прапорцями, ідентична тій, що вони грають в пятібітном цифровому коді. Однак звернемо увагу, що кодування було вибрано так, щоб напевно не сплутати обидва стартові символу (11010 і 1010001).

Правильно розроблений декодер буде повністю в змозі розпізнати «на льоту» прапорець start і зрозуміти з цього, що дані закодовані сім'ю битами.


Контроль парності

При зчитуванні магнітних носіїв, таких як карти і квитки, помилок буває достатньо. Доріжка може бути забруднена, подряпана або частково розмагнічена; крім того, сам процес вставки карт в зчитувальний пристрій може бути не зовсім вдалим, в той час як якість голівки, що зчитує також не завжди буває бездоганним.

Щоб уникнути того, щоб помилка в одному єдиному бите кредитної картки не могла привести до віднімання суми однієї з ваших покупок з банківського рахунку будь-якої знаменитості, абсолютно необхідно впровадити цілий комплекс заходів щодо визначення помилок.

Найбільш простий метод полягає в додаванні біта парності до кожної групи бітів, призначених для кодування символу.

Прийнято вибирати значення біта парності таким чином, щоб загальна кількість одиничних бітів в загальному коді символу завжди залишалося непарних (контроль на непарність).

Наприклад, в пятібітном коді цифра 6, що записується як 0110 в двійковій системі і містить парне число бітів в стані 1, буде тоді закодована у вигляді 01101 шляхом додавання в якості біта парності 1, що в сумі призведе до 3 - непарної цифрі.

У семібітном коді буква Т, що визначається бітами 001011, навпаки, буде закодована як 0010110 шляхом додавання в якості біта парності 0, що призведе загальне число бітів в стані 1 до 3 - також непарній цифрі.

Якщо під час зчитування виявляється, що один або кілька символів містять парне число бітів, пристрій робить висновок, що зчитування було проведено з помилкою, і, отже, необхідно ще раз вставити карту в пристрій, що зчитує. В такому випадку зазвичай вдаються до способу, що складається в протиранні карти про рукав одягу, що дійсно може допомогти очистити забруднився доріжку, але не є гарантованим засобом вирішення будь-якої проблеми.

Важливо мати на увазі, що деякі помилки можуть спотворити два біта одного символу, і дана схема контролю парності в цьому випадку не визначить помилку. Тому для кращого захисту слід передбачити, принаймні, додатковий рівень безпеки, а ще краще - два.


КОНТРОЛЬ ЗА ДОПОМОГОЮ LRC

LRC ( Longitudinal Redundancy Check ) - поздовжній резервний контроль - найбільш просте з усіх засобів контролю за цілісністю блоку даних за допомогою одного єдиного додаткового символу. Але при використанні тільки одного його не забезпечується рівень безпеки більший, ніж при контролі по парності, і неодноразові помилки можуть спотворити контрольний символ, порушити роботу схеми контролю.

Захист за допомогою LRC, що застосовується до слів з будь-якого числа бітів, полягає в послідовному застосуванні операції виключає АБО (XOR) до всіх слів, а потім в приєднанні до них результату такого обчислення у вигляді одного єдиного слова.

Наприклад, розглянемо наступний блок даних (без біта парності, молодший біт стоїть на початку):



Визначення LRC відбувається за такими етапами:



Захищений блок даних буде тоді записаний в наступному вигляді:



або, додаючи біт парності до кожного зі складових його слову:



Припустимо, що перше слово схильне подвійній помилці. Це дозволяє подолати контроль парності:



Обчислимо LRC цього блоку помилкових даних (без урахування вхідних в нього бітів парності і LRC):



Обчислений код LRC блоку з помилками (5) відрізняється від LRC, переданого в складі блоку без помилок (0), що відображає наявність помилки, не дозволяючи, проте, визначити її місце розташування: LRC - механізм не виправлення помилок, а тільки їх виявлення.

У подібному випадку слід повторно проводити зчитування доти, поки контроль парності і по LRC пройде успішно.

В окремому випадку стандартизованих магнітних карт (а також великої кількості нестандартних магнітних носіїв) зазвичай вдаються до захисту за допомогою LRC всіх символів, починаючи з прапорця start і закінчуючи прапорцем end включно. Таким чином, LRC займає місце відразу після прапорця end, тобто безпосередньо перед нулями заповнення.

Імовірність того, що одна або кілька помилок зможуть вислизнути від такого подвійного контролю, вкрай мала. Незважаючи на це, як правило, використовується додатковий третій рівень захисту.


КОНТРОЛЬ ЗА ДОПОМОГОЮ LUHN CHECK

Вже згадана чисто арифметична обробка, застосовна тільки до цифрових даних, існує в двох варіантах залежно від парного чи непарного числа цифр контрольованого числа.

Якщо число включає парна кількість цифр, необхідно, перш за все, помножити на два кожну цифру з непарного ряду і відняти від отриманого результату 9, якщо він перевищує або дорівнює 10. Всі цифри, оброблені таким чином, потім складаються, і до них додаються всі цифри парного ряду.

Контрольоване число вважається вірним тоді і тільки тоді, коли остаточний результат кратний 10. У разі карт з непарною кількістю цифр надходять навпаки: подвоюються цифри парного ряду.

На практиці задовольняються додаванням однієї цифри або «ключа контролю» до цифр, правильність яких повинна бути гарантована, - і це незалежно від кількості містяться в числі цифр.

Природно, ця цифра вибирається таким чином, щоб перевірялися всі перераховані вище правила. Можна довести, що це завжди можливо і що розглянута цифра єдина.

Наприклад, захищені таким каскадним способом потрійного контролю цифри кредитної картки, зчитувальні на доріжці ISO 2, цілком можуть вважатися захищеними від будь-якого випадкового збою. Тим часом, вони не носять ніякого конфіденційного характеру, оскільки повністю відображаються касовим апаратом на будь-якому чеку і зберігаються продавцем в якості доказу.

Тільки перевірка підпису або, ще краще, чотиризначного конфіденційного коду може вважатися достатнім доказом автентичності виробленої транзакції, хоча банки все частіше намагаються на договірній основі перекладати цю відповідальність на плечі своїх клієнтів.


Приклади кодуватиінформацію

Незважаючи на те, що стандарти, які фіксують вміст різних доріжок (і особливо ISO 2), стосуються, в основному, карт з фінансової спрямованістю, однаковість яких має забезпечуватися на міжнародному рівні, вони, врешті-решт, застосовуються і переважною більшістю виробників найрізноманітніших карт.

Для виробників це свого роду спрощення та запорука надійності, а для нас - удача в тому сенсі, що нам простіше буде розкривати маленькі секрети карт, зчитуванням яких ми зараз і займемося.


Банківські карти

Перш за все, звернемося до вивчення банківських карток, які випускаються в суворій відповідності зі стандартами, і доріжки ISO 2, оскільки вона використовується частіше інших.

Зразкове вміст банківської картки



Приклад, наведений вище, природно, не взято з персональної банківської картки учасника, а складений на базі відмінного номера, широко використовуваного на табличках, які вказують на те, що в даному місці приймаються банківські картки: 4970 1012 3456 7890. І хоча цей номер недійсний ( ключ контролю навмисно невірний), його перші цифри абсолютно правдиві. Вони ідентифікують виробника картки, а наступні належать її власнику. Таким чином, номери MASTERCARD і EUROCARD починаються з 5, a VISA - з 4.

Наприклад, цифри 4970 зустрічаються на початку номерів карт VISA, випущених La Poste, а номери карт, випущених, скажімо, Societe Generale, починаються з 4973. За кордоном зустрічаються інші номери, наприклад 4567.

Перше поле даних (між прапорцем і роздільником) містить тільки номер карти в тому вигляді, в якому він видавлений. Друге поле починається відразу після роздільник з чотирьох цифр, що вказують термін дії даної карти відповідно до формату ААММ (рік, рік, місяць, місяць). Ми вибрали 9912 (грудень 1999) абсолютно довільно.

Група з трьох цифр (101), яка випливає потім, зустрічається, схоже, на всіх банківських картках. Йдеться про «службовому коді» цього додатка. Ті, хто стоїть далі нулі замінюють більш конфіденційні дані, які ніколи не друкують ні на чеках продавців, ні на квитках. Тут міститься в зашифрованому вигляді копія чотиризначного конфіденційного коду власника карти. Аналогічний код використовується і в банківських чіп-картах.

Створюється враження, що ці так звані дискретизованої дані просто-напросто ігноруються в деяких додатках, які, обробляючи транзакції (пересилання), що проводяться тільки з невеликими сумами, не контролюють конфіденційний код (наприклад, автомати плати за проїзд по швидкісній дорозі, автомати в телефонних кабінках і т.д.). Природно, це значно спрощує операції, але може викликати серйозні проблеми в разі притягнення до відповідальності або опротестування.

На рис. 2.2 представлено вміст доріжки ISO 2, що підтверджує те, про що ми так легко здогадалися самі, і вносить деякі корисні уточнення.



Мал. 2.2. Стандартизоване вміст доріжки ISO 2


Наприклад, з нього ми дізнаємося, що «чисті» дані доріжки ISO 2 складають 37 цифрових символів (по 5 біт). З огляду на біти start, end і LRC, отримуємо максимум 40 символів, мова про які йшла при розгляді рис. 2.1.

Цікаво також відзначити, що номер картки (PAN - Primary Account Number, первинний банківський рахунок) може містити до 19 цифр, хоча ми більше звикли до номерів з 16 цифр (а колись існували номера тільки з 13 цифр).

На рис. 2.3 показано вміст доріжки ISO 1. Воно здається більш складним, оскільки є алфавітно-цифровим.

Крім даних, на доріжці ISO 2 розташовано тільки ім'я власника картки, виражене 26 символами (коротші імена доповнюються пробілами, а надто довгі ризикують бути урізаними).



Рис 2.3. Стандартизоване вміст доріжки ISO 1


Перед номером карти коштує символ формату (FORMAT), який, як нам здається, для банківських карток завжди позначається буквою В.

На доріжці ISO 1 може розташовуватися до 76 символів даних, що в сумі з трьома так званими символами оточення дає 79. Стандартизованого вміст цифрової доріжки ISO 3 представлено виключно для інформації на рис. 2.4, так як ця доріжка, будучи чисто цифровий, практично ніколи не використовується. Два символи формату (в даному випадку мова йде про двох додаткових цифрах) стоять на початку номера картки, в той час як поле, розраховане мінімум на 49 цифр, зарезервовано для даних, що носять назву робітників і даних безпеки. Передбачуване використання цієї зони могло б поставити під чималий безпеку магнітних карт, але, можливо, це варто було б дорожче, ніж вирішення проблем, пов'язаних з підробками.



Мал. 2.4. Стандартизоване вміст доріжки ISO 3


Карти для оплати проїзду по швидкісних дорогах

Крім французьких кредитних карток і карток інших країн, які приймаються практично у всіх касах для оплати за користування дорогами, існують і інші типи так званих «спеціальних» карток. Як правило, вони належать до розряду карток з попередньою оплатою (а значить, одноразових); такі проїзні документи дійсні для певного числа поїздок і можуть мати термін використання.

Приклад вмісту карти для оплати проїзду



Вище наведено вміст доріжки ISO 2 реальної картки для оплати за проїзд по швидкісній дорозі, що має номер 0000203158, видавлений на зворотному боці в зоні тиснення. За нею було здійснено тільки три поїздки з двадцяти, запрограмованих при покупці. Можна відзначити, що термін її дії не обмежений.

Насправді не складає ніяких труднощів впізнати ці дані при розгляді карти, оскільки вони надруковані на ній чітко і ясно! Точна копія цих даних з аналогічною вагою 75 bpi записана на доріжці ISO 3, щільність запису якої, як правило, становить 210 bpi. Це - хороший приклад нестандартної карти (крім того, що використовується для зчитування і запису), а також приклад програми, що використовує надмірність для усунення будь-якої можливості втрати частини грошей через збій в роботі автомата оплати за проїзд або найменшого ушкодження самої картки.

Цікаво відзначити, що перша група цифр (номер картки) успішно проходить контроль Luhn Check, незважаючи на те що мова зовсім не йде про банківську картку. Дані другої групи переписуються під час кожного витрати одиниць (при кожній поїздці), що механічно веде за собою зміну символу LRC.


Картки постійного клієнта

Неважко уявити собі принципи класифікації постійних клієнтів, реалізовані в магнітних або чіп-картах:

• карти ідентифікації, роль яких зводиться до опознаванию клієнта, при цьому підрахунок набраних очок на отримання подарунка проводиться на рівні центрального комп'ютера (система TOTAL Le Club);

• карти-«збирачки», на яких безпосередньо реєструються окуляри (система MOBIL Plus), що не забороняє організатору залишати в своїх руках відомості про нарахування і витраті очок по кожній картці.


Приклад вмісту картки постійного клієнта


Вище наведено вміст доріжки ISO 2 картки постійного клієнта системи MOBIL Plus, виданої на станції 18 листопада 1996 року і містить два очки постійного клієнта. Після проведення перевірки від одного використання до іншого змінюється тільки число очок, в той час як на доріжці ISO 3 відбуваються набагато складніші для аналізу речі.

Даний приклад показує, що вміст абсолютно довільно обраних карток в дуже великій мірі схоже на вміст банківських карток і навіть здатне успішно проходити контроль Luhn Check. І нарешті, з цього прикладу видно, що символ LRC може вживати всіх можливих значення використовуваного коду - в даному випадку він має вигляд другого прапорця end.


ЗАБЕЗПЕЧЕННЯ БЕЗПЕКИ

Якщо абстрагуватися від нових технологій «фізичного» забезпечення безпеки магнітних доріжок, які починають розроблятися зараз, абсолютно ясно, що магнітна карта повинна розглядатися в якості носія даних з вільним зчитуванням і записом. Той факт, що не так просто знайти пристрої для запису і особливо для кодування (ця книга допоможе вирішити і цю проблему!), Не повинен вважатися достатнім захистом від існуючого реального ризику підробок, які становлять загрозу для всіх важливих додатків на основі магнітних карт.

Природно, чіп-карта надійніша в тому сенсі, що деякі зони її пам'яті можуть бути захищені від несанкціонованих операцій записи і навіть зчитування. Однак зазначимо, що майже аналогічні можливості розкриваються перед додатками на магнітних картках. Існування трьох доріжок, які ніхто не забороняє «синхронізувати» між собою (більшого ми не скажемо), могло б значною мірою ускладнити спроби фальсифікації.

Спеціальне кодування записаної інформації, зі свого боку, могло б зробити доступ до карти таким же проблематичним, як і доступ до інформації, що міститься в пам'яті карти на процесорі.

Крім того, багато систем на магнітних картах працюють в режимі online (тобто в постійному зв'язку з центральним комп'ютером), тому абсолютно нескладно спостерігати за використанням кожної картки в режимі реального часу і своєчасно вжити необхідних заходів у разі виявлення анормальной ситуації.

На щастя, велика кількість додатків на магнітних картах має високий рівень безпеки, в той же час абсолютно непробачно, що деякі з них (і не найпримітивніші) має досить слабких місць.

Використання тільки однієї доріжки з трьох, незадействованіе передбачених механізмів забезпечення безпеки, застосування ключів кодування, конфіденційність яких не забезпечується на належному рівні, - що це, як і грубі помилки?

У деяких випадках до найбільшого ризику піддається не виробник, а власник картки в зв'язку з існуючими на сьогоднішній день положеннями, при ознайомленні з якими охоплює тремтіння.

Ми сподіваємося, що за допомогою інформації, отриманої з книги, читачі складуть своє власне уявлення про реальне забезпечення безпеки деяких карток, за які, можливо, сплачені чималі гроші, а також зможуть адекватно відреагувати, коли в цьому виникне необхідність.

3. Зчитування і перевірка

Для читання інформації, записаної на найрізноманітніших магнітних носіях, існує безліч способів. Найбільш досконалий підхід полягає, природно, в використанні IBM PC-сумісного комп'ютера, до якого підключається спеціальний зчитувальний пристрій. Нижче буде показано, що цей пристрій цілком реально створити власними силами. Інші, радикально відрізняються, способи також представляють безперечний інтерес і не повинні ігноруватися.


МАГНІТНІ викривач

Не так давно на ринку електронних розваг продавалася продукція, відома під назвою «магнітний викривач».

Як правило, це був флакон спрею, який тримав в дуже летучому розчиннику нікель в стані суспензії. Після інтенсивного струшування флакона слід просто розпорошити вміст на магнітну доріжку, і на ній через кілька секунд проступала запис. Випущений на ринок, наприклад, «викривач» під маркою Transcode (JELT-CM) стало абсолютно неможливо знайти в роздрібній торгівлі, хоча люди, які використовують його професійно, очевидно, продовжують купувати його оптом без проблем.

Таке незадовільний стан справ змусило нас відразу ж взятися за лабораторні дослідження, спрямовані на розробку альтернативного рішення. В результаті з'явився засіб оригінальне, досить ефективне і, крім того, більш економічне і не завдає шкоди навколишньому середовищу, оскільки тут не застосовується «летючий» розчинник. У даній книзі ми розповімо про нього вперше, настійно рекомендуючи читачам використовувати його тільки в особистих, персональних цілях.

Відповідно до положень про інтелектуальну власність будь-яке використання цієї технології в промисловості або комерції вимагає повної згоди з боку автора.


ВДАЛЕ РІШЕННЯ

Наш метод заснований на використанні тонера, який застосовують для невеликих фотокопіювальних та лазерних принтерів. Суть в тому, що оскільки для їх рівномірного нанесення використовується намагнічений ролик, значить, вони намагнічені. Дійсно, ці матеріали, ретельно технічно опрацьовані, складаються з дуже дрібних частинок, за складом представляють комбінації фериту (для ефекту намагнічування), вуглецю (для отримання чорного кольору), а також такого пластикового матеріалу, як поліпропілен (для забезпечення фіксації на папері за допомогою « пріплавленія »).

Будь використаний картридж типу Canon містить ще достатню кількість такого порошку. Тому необхідною сировиною ми забезпечені в достатній кількості.

Склад, який ми пропонуємо використовувати, - це суміш з приблизно однієї частини тонера і 3-5 частин крохмалю, використовуваного для господарських цілей. Кінцевий продукт повинен мати темно-сірий відтінок.

Феномен (без сумніву, електростатичного природи, який ми не станемо тут розглядати) полягає в тому, що частинки тонера притягуються зернами крохмалю. За умови, що останні в кілька десятків разів більше, їм вдається «захопити» практично всі частинки тонера. З цієї причини важливо взяти крохмаль, зерна якого мають розмір солі дрібного помелу (наприклад, рисовий, використовуваний при пранні білизни). Картопляний крохмаль занадто крейда, а той - зовсім непридатний, тому що він не крупніше самого тонера.

Якщо закодовану магнітну доріжку присипати нашим складом, відбудеться наступне. Деяка кількість часток тонера буде притягнуто областями зміни напрямку магнітного потоку на доріжці, а основну частину тонера (надлишок) зерна крохмалю міцно утримають, і небезпека забруднити повністю доріжку, як це відбувається у випадку з чистим тонером, не виникне.

В результаті отримуємо досить чітку візуалізацію кодування, слабке забруднення носія і можливість повторного використання суміші практично необмежену кількість разів (рис. 3.1).



Мал. 3.1. Частинки тонера на магнітній доріжці


Порошок поміщають в невелику коробку, потім досить опустити в нього магнітну карту (попередньо знежирену за допомогою спирту, щоб на доріжках не були видні сліди від пальців), потім її вийняти, і акуратно струсити або здути надлишок порошку.

Записана інформація проявляється у вигляді рядів невеликих чорних смуг, розташованих більш-менш стисло (рекомендується використовувати лупу і яскраве світло).

Після вивчення порошок просто стирають з допомогою сухий і м'якої тканини, не завдаючи при цьому ніякої шкоди записи. Крім цього, його можна «зафіксувати» на прозорій клейкої стрічки, зокрема, з метою створення архіву. Ретельне вивчення зображення розкриває масу цікавих речей, в тому числі і розташування всіх доріжок, і точну природу ушкоджень, які можуть вплинути на запис.

Отримане зображення навіть дозволяє (принаймні, при щільності запису 75 bpi) неозброєним оком розглянути логічні одиниці і нулі.

На рис. 3.2 показаний типовий приклад «магнітного зображення» карт, використовуваних нами щодня.



Мал. 3.2. Результати, отримані на доріжці з щільністю запису 75 bpi


У більшості випадків таке дослідження дозволяє визначити, чи можна приписати дефект неякісної записи на карти внутрішньому пошкодження останньої або проблемам, пов'язаним з пристроєм зчитування (рис. 3.3).



Мал. 3.3. Кілька класичних дефектів (з документації фірми Thomson LCC)


Цей метод практично незамінний для настройки і налагодження будь-якого декодера, створеного «в домашніх умовах» (див. Розділ 4).


ПРОМИСЛОВІ ПРИСТРОЇ

Зчитувальні пристрої вважаються «вразливою» технікою, і їх більше не зустрінеш ні на вітринах, ні в каталогах постачальників, до яких традиційно звертаються любителі, незважаючи на те, що нові магнітні зчитувальні пристрої не заборонені, наскільки нам відомо, до продажу та не підлягають вилученню , як деякі типи декодерів для оплати за користування телевізором, які вільно продаються тільки споживачам-професіоналам, здатним довести свою «благонадійність».

Проте існує кілька винятків з цього правила, і не варто ніколи нехтувати таким ексклюзивним місцем покупок, як магазини, де продається неліквідна продукція або уцінені електронні товари. Оскільки в обігу знаходяться величезні кількості магнітних зчитувальних пристроїв, а термін їх використання обмежений, то десятки тисяч з них з простроченим терміном придатності, але знаходяться в робочому стані, регулярно розпродаються серед іншого аналогічного обладнання.

Перш ніж приступити до їх використання, необхідно провести роботу по ідентифікації, оскільки існує безліч різних категорій подібних пристроїв, і ні висновки їх роз'ємів, ні кольору сполучних проводів не стандартизовані (рис. 3.4).



Мал. 3.4. Пристрій, що зчитує фірми Sonkyo


Зчитувальні пристрої з використанням інтерфейсу RS232

Пристрій, що зчитує з інтерфейсом RS232 дуже простий у використанні, але найбільш дороге. Йдеться про «інтелектуальному» зчитувальному пристрої. Крім звичайних вузлів зчитування, воно містить мікроконтролер, що дозволяє йому передавати зчитує дані безпосередньо у вигляді ASCII символів.



Мал. 3.5. Пристрій, що зчитує з інтерфейсом RS232 (містить мікроконтролер)


Схема підключення пристрою, що зчитує до соm-порту представлена ​​на рис. 3.6. Пристрій працює має здійснюватися від зовнішнього джерела, наприклад від розетки джойстика ПК, з якої можна зняти напругу +5 В. З цілком зрозумілих міркувань, провід живлення зазвичай червоний, а «землі» - чорний. Для більшої впевненості в правильності підключення рекомендуємо вивчити схему пристрою, що зчитує.



Мал. 3.6. Підключення пристрою, що зчитує пристрій до інтерфейсу RS232


Для повноцінного підключення типових зчитувальних пристроїв необхідно виконати ще два з'єднання, призначених для управління індикаторами. У перший час можна без цього обійтися.

Деякі зчитувальні пристрої здатні зчитувати одночасно дві або три доріжки, і було б шкода не скористатися цим. Правда, вони мають більш складну схему підключення.

10 REM - CARMAG.BAS -

20 KEY OFF: CLS

30 OPEN "COM1: 2400, n, 8,1" AS # 1

40 IF LOC (1) = 0 THEN GOSUB 60

50 GOTO 40

60 FOR T = 1 TO 5000: NEXT T

70 IF LOC (1) = 0 THEN RETURN

80 C $ = INPUT $ (LOC (1), # 1)

90 PRINT C $: PRINT

100 RETURN

110 REM (c) 1 994 Patrick GUEULLE


Для відображення даних, переданих зчитувальних пристроїв, можна використовувати наведену вище програму CARMAG.BAS. Її правильна робота гарантується при «умови, що пристрій підключено до послідовного порту СОМ1, якому поставлене таке режим функціонування: швидкість передачі - 2400 бод, розрядність даних - 8 біт, контроль парності відсутній, в кінці посилки передається stop-біт. Для зміни режиму відповідно до вимог використовуваного пристрою, що зчитує слід змінити рядок 30 програми. Коли програма адаптована, досить запустити її (RUN) і вставити карту в пристрій, що зчитує, при цьому в залежності від зчитується доріжки на екрані повинна з'явитися рядок цифрових або букв і цифр.

Передаються тільки значущі символи, все службові символи фільтруються програмою вбудованого мікроконтролера. Роздільник полів проте часто відображається як пробіл, а спеціальні символи з'являються в формі символів ASCII, наведених вище у відповідних кодіровочних таблицях. Контрольний код LRC не відображається, але перевіряється. Якщо він неправильний або виявлена ​​помилка в парності, то не відображається нічого, але протягом декількох секунд залишається активним вихід, відповідний індикатору ERROR (помилка).

Зчитування подібним зчитувальних пристроїв карти оплати за проїзд по швидкісній дорозі, зміст якої було представлено вище, дасть, наприклад, наступний результат:



Аналогічний результат ми могли б отримати без ПК і без програми на спеціальному терміналі, в клавіатуру якого вбудовано пристрій, що зчитує.

Правда, всі ці досить досконалі термінали мало підходять для наших дослідницьких цілей, оскільки в своїх маніпуляціях з картами ми хочемо мати доступ до кожного біту кожної з доріжок будь-якої карти.


Зчитувальні пристрої з використанням спеціального інтерфейсу

Зчитувальні пристрої зі спеціальним інтерфейсом, обмін за яким здійснюється сигналами з рівнями TTL, більш поширені, ніж зчитувальні пристрої з інтерфейсом RS232. У всякому разі, вони значно дешевше. Такі зчитувальні пристрої не містять мікроконтролера і виконані на ІС середнього ступеня інтеграції або спеціальних ІС. Їх електронні вузли можна розділити на дві частини:

• аналогову частину, що включає попередній підсилювач (часто з автоматичним регулюванням коефіцієнта посилення), за яким слід схема, відновлює модульований сигнал F / 2F;

• цифрову частину, перетворюючу інформацію частотно модульованого сигналу (F / 2F) в послідовність логічних одиниць і нулів.

У сучасних зчитувальних пристроях для обробки інформації всіх доріжок застосовують спеціальні інтегральні схеми, в яких на одному кристалі поєднуються і аналогові, і цифрові вузли (mixed-signal).

Найперші зчитувальні пристрої використовували традиційні інтегральні схеми середнього ступеня інтеграції і деяке число дискретних компонентів.

Як в першому, так і в другому випадку взаємодія з пристроєм зчитування здійснюється за спеціальним інтерфейсу, який використовує для передачі сигналів рівні TTL. Інтерфейс утворюють три лінії, що передають такі сигнали:

• сигнал наявності картки ( ): Активний рівень низький, який підтримується на протязі часу проходження закодованої доріжки перед зчитує головкою;

• сигнали лічених даних ( ): Послідовність 1 і 0, передає прочитані біти в інверсному поданні. Швидкість передачі бітів безпосередньо залежить від швидкості проходження карти;

• тактовий сигнал або стрибає-імпульс ( ), Низький рівень якого відповідає моменту, коли дані достовірні.

Основні відмінності між різними типами пристроїв, що зчитують даного класу найбільшою мірою стосуються тривалості тактовихімпульсів. Вона може бути фіксованою і рівнятися, наприклад, 20 мкс або складати частину від тривалості кожного біта (наприклад, чверть). Крім цього, треба згадати про рідкісних зчитувальних пристроях, які видають неінвертірованние дані (DATA).

Як і зчитувальні пристрої з інтерфейсом RS232, зчитувальні пристрої зі спеціальним інтерфейсом TTL вимагають напруги живлення +5 В, яке зручно знімати з роз'єму джойстика, тим більше, що цей роз'єм може одночасно служити портом для введення даних.


РОЗРОБКА ВЛАСНИХ зчитувальні пристрої

З огляду на труднощі, з якими доведеться зустрітися деяким з наших читачів у придбанні нового або вживаного пристрою, що зчитує, ми вирішили розробити власну версію його електронної та механічної частини. Все було продумано так, щоб кожен радіоаматор міг виконати Це пристрій. Причому вибиралися тільки широко поширені матеріали і компоненти.

Побудоване в суворій відповідності з нашими рекомендаціями, що зчитує володіє характеристиками, порівнянними з характеристиками промислових моделей, і в той же час добре підходить для трансформації в кодер (що і передбачалося з самого початку вивчення).


КОНСТРУКЦІЯ УТРИМУВАЧА ГОЛОВКИ

У порівнянні з головкою магнітофона до голівки, що зчитує, особливо з ручним маніпулюванням, пред'являються зовсім інші механічні вимоги. Як в тому, так і в іншому випадку необхідно забезпечити надійний контакт між головкою і доріжкою, уникаючи, проте, зайвого тиску, яке спричинить передчасний знос обох. Також слід дотримуватися суворої перпендикулярність головки по відношенню до доріжці.

Магнітні картки можуть бути деформовані, мати різну товщину і бути розрахованими на різні кінематичні схеми проходження через зчитувальні пристрої. При розробці свого пристрою ми враховували всі ці моменти.

Уважне вивчення ручних зчитувальних пристроїв промислового виготовлення виявило практично ідентичний принцип їх роботи. Він полягає в наступному: карта вставляється в направляючий жолобок, по ширині трохи більший товщини карти, в той час як головка закріплюється на досить пружному тримачі, що гарантує певну сталість тиску і розташування.

Вищесказане стосується повною мірою і пристрою, що зчитує фірми American Magnetics , вид якого представлений на рис. 3.7 і 3.8.



Мал. 3.7. Пристрій, що зчитує фірми American Magnetics (вид збоку)



Мал. 3.8. Пристрій, що зчитує фірми American Magnetics (загальний вигляд)


Ми також вирішили скористатися цим принципом, адаптуючи його, проте, до можливостей механічної обробки, якими володіє середній радіоаматор, а також до характеристик головок касетних магнітофонів, які легко придбати. Для їх застосування потрібно видалити напрямну смужку, яка або припаяна, або вмонтована в одну зі сторін головки. Оригінальність конструкції утримувача магнітної головки нашого пристрою полягає в матеріалі, використаному для його виготовлення, - друкованій платі з склотекстоліти товщиною 0,8 мм, який зазвичай використовується для виробництва фальшивих чіп-карт.

Упевнений, що найбільш практичні з наших читачів уже мають все необхідне для виготовлення плати, представленої на рис. 3.9.



Мал. 3.9. Топологія друкованої плати держателя магнітної головки (склотекстоліт 0,8 мм}


Відстань між контактами різних широко поширених моделей головок майже завжди складає 5,08 мм. Для їх міцного прикріплення до плати досить двох великих крапель припою. При виготовленні плати, крім свердління контактних отворів, потрібно випиляти по обвідної (з трьох сторін) зону монтажу головки. Це можна здійснити за допомогою мініатюрної дискової фрези.

Отриманий таким чином язичок, відокремлений з трьох сторін від іншої частини плати, володіє достатньою пружністю, близькою до пружності сталевий пружною пластинки, яка використовується виробниками власників головок для промислових магнітних зчитувальних пристроїв.

Рамка, що оточує цей язичок, забезпечує установку плати держателя на каркасі пристрої, зовнішній вигляд якого представлений на рис. 3.10 і 3.11.



Мал. 3.10 . Зовнішній вигляд саморобного пристрою, що зчитує (вид ззаду)



Мал. 3.11. Зовнішній вигляд саморобного пристрою, що зчитує (вид спереду)


Сам каркас (рис. 3.12) виготовляється з оргскла (плексигласу) товщиною 4 мм. Цей матеріал легко дістати, він досить міцний і дуже добре обробляється.



Мал. 3.12. Креслення елементів каркасу


В крайньому випадку його можна замінити іншими матеріалами, наприклад склотекстоліти товщиною 1,6 мм (нефольгірованние), склеєних вдвічі або втричі.

Для виготовлення каркаса необхідно вирізати з оргскла два прямокутника розміром 100x40 мм, а також прямокутник з склотекстоліти товщиною 1,6 мм розміром 14x100 мм. Одна зі сторін цього прямокутника повинна бути ідеально прямий, для чого її потрібно ретельно відполірувати наждачним папером.

Відзначимо, що немає суттєвих заперечень проти збільшення довжини всіх деталей понад 10 см, прийнятої в більшості промислових зчитувальних пристроїв.

Якщо передбачається подальша трансформація пристрою, що зчитує в кодер, то це буде навіть «плюсом», оскільки велика довжина шляху карти допомагає стабілізувати швидкість останньої практично ще до контакту з головкою.

На рис. 3.12 вказані місце і діаметри всіх кріпильних отворів, які потрібно просвердлити. Припустимо замість отворів діаметром 2 мм робити отвори діаметром до 2,5 мм або більше, якщо простіше знайти гвинти (з потайною головкою) під такий розмір. Абсолютно необхідно, щоб ці чотири отвори точно збігалися з відповідними отворами друкованої плати і щоб її край був ідеально точно вирівняний з краями пластин з оргскла.

Найпростіше це зробити, якщо свердлити обидві деталі з одного заходу, щільно затиснувши їх у лещатах з гладкими губками. Що стосується прямокутного отвору, то його слід виконати традиційним радіолюбительським способом: висвердлюванням по периметру, наприклад трьохміліметрового свердлом з наступним доведенням квадратним напилком. Не страшно, якщо його розміри будуть дещо перевищувати зазначені на схемі, проте, не до такої міри, щоб серйозно зменшити міцність деталі.

На рис. 3.13 показаний складальний креслення пристрою, що зчитує.



Мал. 3.13. Складальне креслення саморобного пристрою, що зчитує


Збірку слід починати з з'єднання між собою друкованої плати і плексигласу пластини з квадратним отвором. Це необхідно зробити за допомогою гвинтів з потайними головками, які будуть втоплені в плексиглас (зенківка свердлом 6 мм). Природно, головка повинна «дивитися» в квадратний отвір.

Висота кріпильних втулок повністю залежить від висоти обраної головки, яких існує величезна безліч. Верхня частина кожної втулки повинна мати злегка скошений край, оскільки для якісної регулювання передбачається, що друкована плата (D) нічого очікувати паралельна пластині (А).

При з'єднанні другий пластини з оргскла (В) і проміжної стеклотекстолитовую пластини (С) слід провести необхідну підгонку. Магнітна карта вставляється в отриманий жолобок, при цьому треба стежити, щоб головка впиралася в карту і була перпендикулярна останньої. З іншого боку, абсолютно нормально, якщо з витягнутою мапі головка стосується протилежної пластини (В) під кутом, помітно відрізняється від 90 °.

Остаточна збірка проводиться за допомогою двох 3-міліметрових болтів BTR (під ключ Allen), але можна задовольнятися і звичайними гвинтами, що, однак, менш практично. У будь-якому випадку рекомендується підкласти шайби під обидві головки і гайки.

Великий діаметр (6 мм) отворів, виконаних у стеклотекстолитовую пластині (С), яка грає роль спрямовуючої для карти, дозволяє підігнати її вертикальне розташування таким чином, щоб головка точно поєднувалася з доріжкою, з якої вона повинна зчитувати. Природно, якщо пластина (В) вирізана з прозорого плексигласу, це полегшить підгонку.

Для того щоб зчитувати різні доріжки, потрібно відповідним чином вибирати розміри пластини з склотекстоліту (С). Розміри, зазначені на рис. 3.12, відповідають доріжці ISO 2.

Якщо всі етапи збірки були виконані належним чином, то механічна частина пристрою, що зчитує повинна працювати відмінно. При просуванні карти має відчуватися легке опір.

Можна нанести трохи воску або рослинного масла на направляючу пластину (С), якщо опір буде істотним. Якщо тиск головки на карту буде занадто великим, необхідно збільшити висоту втулок.

Загальний вигляд механічної частини пристрою наведено на рис. 3.14.




Мал. 3.14. Загальний вигляд механічної частини пристрою, що зчитує з магнітною карткою


УСИЛИТЕЛЬ ЗЧИТУВАННЯ

Перш ніж взятися за побудову F / 2F декодерів, необхідно згадати про звичайному підсилювачі, що дозволяє відновити TTL-сигнали, які були використані для запису.

Для проведення досліджень буде потрібно осцилограф з пам'яттю. Робота з ним буде особливо цікава тим читачам, які хотіли б побудувати декодер на мікроконтролері (ми намагалися зробити це на базі PIС-контролерів фірми Microchip).

Пряме декодування можна здійснити за допомогою процесора досить швидкодіючого IBM PC-сумісного комп'ютера при програмуванні його на асемблері. Але на практиці це все здійснити не так просто, як може здатися.

Схема, представлена ​​на рис. 3.15, включає два каскади посилення і виконана на ІС здвоєного операційного підсилювача типу LM358. Перший каскад забезпечує посилення трохи більше, ніж в 50 разів, при смузі пропускання в 20 кГц, що досить для типової швидкості проходження карти. Другий працює в режимі насичення майже як компаратор і видає прямокутні сигнали, відповідні рівням TTL, для чого харчування схеми здійснюється від джерела напруги +5 В.



Мал. 3.15. Підсилювач зчитування


Дозволяється збільшити напругу до 12 В, якщо виникне необхідність в більш високих рівнях на виході.

У комерційних зчитувальних пристроях для карт досить часто застосовуються більш складні схеми, що використовують одну або декілька схем автоматичного регулювання посилення (АРУ).

У схемі, представленої на рис. 3.16, поєднуються два способи зміни посилення. Перший полягає у включенні нелінійного елемента в ланцюг негативного зворотного зв'язку підсилювача. В даному випадку нелінійний елемент утворений двома (можливо навіть чотирма) діодами, з'єднаними послідовно з резистором. Це дозволяє операційного підсилювача працювати практично без зворотного зв'язку, а значить, з максимальним посиленням, поки його вихідна напруга не досягне значення, достатнього для відкривання одного або іншого діода. Потім посилення буде визначатися резистором.



Мал. 3.16. Приклад підсилювального каскаду з АРУ


Другий спосіб полягає в реалізації керованої мостової схеми негативного зворотного зв'язку. Її параметри міняються за допомогою транзистора, сполученого з логічними схемами декодування (вхід CDE).


В принципі АРУ значно покращує характеристики пристрою, що зчитує. Однак осциллограмма, наведена на рис. 3.17, показує, що результати, досягнуті за допомогою нашої спрощеної схеми, вже цілком задовільні.



Мал. 3.17. Результат зчитування початкової частини цифрової доріжки з щільністю 75 bpi


Отримана на ПК за допомогою восьмирозрядного «віртуального осцилографа» (типу ADC10 виробництва Pico Technology), цей запис відноситься до початку цифрової доріжки щільністю 75 bpi, ліченої на середній швидкості проходження. Добре помітні початкові 0, потім прапорець start (11010), за яким слідує початок блоку даних.

Переклад віртуального приладу з режиму «осцилограф» в режим «графічний пристрій записи» дозволив би отримати не 20 біт, а весь вміст доріжки, що дало б можливість проведення ретельного аналізу.

Друкована плата підсилювача представлена ​​на рис. 3.18. Її розміри були підібрані так, щоб закінчений блок міг бути розміщений в безпосередній близькості від головки, що зчитує, оскільки важливо, щоб з'єднувальні дроти від головки до підсилювача були якомога коротше (максимум 10 см), навіть якщо вони екрановані.



Мал. 3.18. Друкована плата підсилювача зчитування


Розміщення елементів проводиться відповідно до схеми, представленої на рис. 3.19.



Мал. 3.19. Схема розміщення елементів підсилювача зчитування


Якщо перші спроби зчитування закінчилися успішно, можна змінити деякі величини компонентів, щоб вивчити їх вплив на кінцеві результати. Наприклад, було б цікаво вивчити вплив приєднання нелінійної ланцюга з двох діодів, включених «валетом», і послідовного резистора номіналом 82 кОм, за аналогією зі схемою, зображеної на рис. 3.16.

Зовнішній вигляд плати підсилювача представлений на рис. 3.20, перелік його елементів - в табл. 3.1.


Таблиця 3.1. Перелік елементів підсилювача зчитування




Мал. 3.20. Зовнішній вигляд підсилювача зчитування


ДВА ЧАСТОТНИХ декодер F / 2F

декодування сигналів

F / 2F можна довірити швидкодіючому PIC-микроконтроллеру, але таке рішення явно буде дорожчим і менш ефективним, ніж використання компонентів, розроблених конкретно для цього випадку.

Практично всі виробники магнітних зчитувальних пристроїв продають спеціальні декодуючі інтегральні схеми, які дуже зручні для проектування спеціальних зчитувальних пристроїв для нестандартних карт або квитків.

Такі компоненти, які б поєднували аналогові і цифрові вузли, зазвичай виготовляються відомими виробниками для ексклюзивного використання фірмою-розробником зчитувальних пристроїв, яка вирішує, перепродувати їх третій особі чи ні. Встановивши різні контакти і, природно, провівши ряд випробувань, які можна вважати задовільними, ми вибрали двох постачальників, чия продукція має порівнянні характеристики.

Так, німецька компанія Hopt + Schuler пропонує ІС U4085B, виготовлену фірмою Telefunken, а американська компанія American Magnetics - свою ІС - 508734-002, виготовлену фірмою Motorola.

Ці марки цілком доступні у Франції, тому придбання як однієї, так і іншої з названих ІС не повинно викликати особливих проблем. Якщо мова йде про приватних осіб, треба звернутися до офіційних дилерів.

Як би там не було, на цих ІС ми розробили дві власні схеми декодерів, між якими читачі можуть вибирати в залежності від можливостей придбання тієї чи іншої інтегральної схеми.


Німецька версія

Схема на рис. 3.21 крім ІС U4085B використовує дуже невелика кількість зовнішніх елементів. Більшість з них, до речі, забезпечують функціонування інтегральної схеми в умовах, кілька відмінних від тих, для яких вона була спочатку розроблена.



Рис 3.21. Схема декодера на інтегральній схемі U4085B


Призначена і для автоматичного, і ручного пристрою, що зчитує ІС U4085B, як правило, повинна активізуватися за допомогою оптичного датчика в той момент, коли той визначає початок доріжки, призначеної для зчитування.

В окремому випадку, що зчитує з ручною подачею набагато практичніше управляти виведенням 15 ІС за допомогою транзистора, що відкривається, як тільки передпідсилювач починає реагувати на початкові нульові біти, записані на карті.

Зверніть увагу, що для даної схеми потрібно транзистор з дуже великим коефіцієнтом посилення - це складовою транзистор ВС517. На власному досвіді ми переконалися, що звичайний транзистор n-р-n типу тут абсолютно непридатний.

Слід утриматися від зміни типів і номіналів інших елементів без повної впевненості в тому, що робиш.

Необхідно пам'ятати, що вказані значення були підібрані для зчитування магнітних карт, записаних з щільністю 75 bpi, і що значення, зазначені в дужках, рекомендуються для доріжок, записаних з щільністю 210 bpi.

На практиці розкид швидкостей проходження карт, допустимий для даного пристрою, настільки широкий, що можна без проблем зчитувати доріжки з щільністю 210 bpi з номіналами елементів схеми, призначеними для щільності 75 bpi, за умови, що карту просувають не надто швидко. Таким чином, допустимо використовувати їх для побудови універсального модуля. Але, звичайно, краще слідувати вказівкам виробника в разі зчитувальних пристроїв, які розроблені виключно для зчитування носіях, записаних з щільністю 210 bpi.

Креслення друкованої плати декодера представлений на рис. 3.22, розміри її також були обрані з урахуванням можливості розміщення в безпосередній близькості від головкодержателя зчитувального пристрою. Рекомендується не перевищувати довжину сполучних проводів в 10 см (НЕ екранованих, а просто скручених).



Мал. 3.22. Друкована плата декодера на ІС U4085B


Схема розміщення елементів, наведена на рис. 3.23, показує, що інтегральна схема, яка поставляється виключно в корпусі для поверхневого монтажу (SMD), повинна припаюватися з боку друку.



Рис 3.23. Схема розміщення елементів декодера на ІС U4085B


Для виконання цієї операції потрібно паяльник з дуже тонким жалом. Розпаювання ІС рекомендується починати з двох діагонально розташованих висновків, що полегшить вирівнювання контактів ІС і ламелей плати. Перелік елементів декодера наведено в табл. 3.2.


Таблиця 3.2. Перелік елементів декодера



Нижче ми пояснимо, як з'єднати цю схему з IBM РС-сумісних ПК, який буде виконувати програми зчитування та декодування. Тепер же проведемо перше дослідження схеми. Воно буде виникла проблема з підключенням харчування +5 В і вивченні за допомогою осцилографа сигналів при проходженні карти, закодованої належним чином (це може бути, наприклад, прострочена банківська карта).

Відзначимо, що на тимчасовій діаграмі сигналів, показаної на рис. 3.24, частота сигналу CLOCK пропорційна швидкості проходження карти.



Рис 3.24. Тимчасові діаграми сигналів, отриманих за допомогою декодера


Якщо не користуватися осцилографом з пам'яттю або графічним записуючим пристроєм, інтерпретувати біти лінії даних DATA неможливо.

Можна відзначити, що тактові імпульси - Дуже чисті завдяки своїй великої тривалості. Деякі промислові зчитувальні пристрої формують імпульси з активним низьким рівнем, тривалістю лише трохи більше 1 мкс.

Велика тривалість в значній мірі полегшує роботу програм на не надто швидкодіючому або з уповільненим виконанням інших завдань процесорі.

Загальний вигляд декодера наведено на рис. 3.25 і 3.26.



Мал. 3.25. Загальний вигляд декодера з боку розміщення елементів



Мал. 3.26. Загальний вигляд декодера з боку друку


американська версія

Схема, представлена ​​на рис. 3.27, значно відрізняючись від розглянутої вище, призводить до дуже близьких результатів.



Мал. 3.27. Схема декодера на інтегральній схемі фірми American Magnetics


Основні функціональні відмінності полягають в наступному:

• значно більш висока чутливість, яка припускає використання менш якісної або не дуже добре налаштованої головки;

• дещо менший допуск до дуже низьким швидкостям проходження;

• імпульс має фіксовану тривалість (приблизно 23 мкс), тобто більш коротку, ніж в попередньому випадку при нормальних умовах роботи;

• ідентичні величини зовнішніх компонентів для доріжок для щільності запису як 75, так і 210 bpi;

• дані видаються без інверсії.

Остання особливість призводить до необхідності ставити інвертується каскад для лінії з метою забезпечення сумісності з попередньою схемою і більшістю промислових зчитувальних пристроїв.

Оскільки каскад виконаний на звичайному n-р-n транзисторі, йому дня нормальної роботи потрібно форсує RC-ланцюжок в ланцюзі бази. Відсутність такого конденсатора може призвести до межсимвольной інтерференції, тобто накладення поточних бітів на наступні.

Слід зазначити, що кількість діодів в ланцюзі негативного зворотного зв'язку при необхідності і в експериментальних цілях може варіюватися.

Звернемо увагу і на те, що номінали всіх елементів були оптимізовані відповідно до вказівок виробника інтегральної схеми; в принципі рекомендується їх дотримуватися. Друкована плата декодера, зображена на рис. 3.28, також має невеликі розміри і допускає установку в безпосередній близькості від головкодержателя.



Мал. 3.28. Друкована плата декодера на ІС фірми American Magnetics


Нагадаємо, що довжина проводів, що приєднуються головку до декодера, не повинна перевищувати 10 см, причому неважливо, чи буде це кручена пара або окремі екрановані дроти (оскільки вхід підсилювача симетричний, жоден з двох проводів головки не з'єднує з «землею»).

Розміщення елементів на платі декодера представлено на рис. 3.29. Тут ми також частково звертаємося до технології поверхневого монтажу (SMD).



Мал. 3.29. Розміщення елементів на платі декодера, що використовує ІС фірми American Magnetics


Інтегральна схема припаивается з боку друку так само, як і форсують конденсатор 47 нФ, включений паралельно з резистором 18 кОм. Як даного конденсатора доцільно використовувати конденсатор в скляному корпусі, схожий на діод. Це гарантує мінімальну довжину з'єднань і економить місце з боку компонентів.

Зовнішній вигляд декодера наведено на рис. 3.30 і 3.31, а перелік елементів - в табл. 3.3.



Мал. 3.30. Вид декодера з боку розміщення елементів



Мал. 3.31. Вид декодера з боку друку


Таблиця 3.3. Перелік елементів декодера



ПРОГРАМИ ДЛЯ зчитувальні пристрої

Незважаючи на те що промислові зчитувальні пристрої для магнітних карт або зчитувальні пристрої, побудовані за нашими рекомендаціями, можуть бути використані практично з будь-яким процесором, ми розробили програми, що дозволяють виконувати всі вищеназвані дослідження як зазвичай, на IBM РС-сумісний комп'ютер.

Підключення надзвичайно просто, не торкається існуючої конфігурації і використовує порт для ігрових приставок або джойстика.

Цей роз'єм типу DB15, яким, як правило, нехтують серйозні користувачі, надає чотири логічних входу для імпульсних сигналів і вельми зручне напруга живлення + 5 В.

Цього більш ніж достатньо для підключення пристрою, що зчитує магнітних карт. Схема підключення приведена на рис. 3.32.



Мал. 3.32. Підключення пристрою, що зчитує до гнізда джойстика ПК


Довжина сполучних проводів (неекранованих) не принципова і може досягати 1 м, по крайней мере в разі декодерів, які будуються у відповідності з нашими схемами.


Зчитування доріжки ISO 2

Логічно спочатку зацікавитися саме цієї доріжкою, розташованої посередині, оскільки вона одночасно і найбільш використовувана, і найлегша в інтерпретації. Навіть при щільності 75 bpi сигнали, що надходять від декодера, можуть бути досить високої частоти.

Не доходячи до програмування на асемблері, нам довелося використовувати мову, відомий своїм швидкодією, - Turbo Pascal. Навіть в цих умовах не варто сподіватися обійтися комп'ютером з продуктивністю нижче, ніж у 386SX25, чиїх можливостей ледь вистачає.



На сайті видавництва www.dmk.ru містяться вихідний текст програми LECT75.PAS, наведений вище, і відповідний виконуваний файл LECT75.EXE. Ця програма створює файл CARTE.CAR, що містить дані, лічені з доріжки, - 240 біт.

Це 48 раз по 5 біт, тобто 40 корисних знаків, які максимально може містити доріжка ISO 2, і 40 біт нулів заповнення, надлишок яких не важливий.

Формат цього файлу (.CAR) ми визначили вже кілька років тому для зчитування чіп-карт; текст в коді ASCII, що складається виключно з 1 і 0, розділених пробілами. З урахуванням лінійної структури магнітних доріжок ніякого розбиття ні на групи бітів, ні на рядки фіксованої довжини передбачено не було. Перетворення двійкових даних в цифрові символи, а також інші цікаві аналізи будуть довірені іншим програмам, написаним на GWBASIC. Програма передбачає, що адреса порту ігрової приставки - 513 (в десятковій системі); це має місце для всіх дійсно IBM PC-сумісних ПК.

Після запуску програма очікує моменту, коли карта буде вставлена в пристрій, що зчитує. Потім починається процес зчитування інформації, і після зчитування 240 біт лунає звуковий сигнал. Відсутність звукового сигналу свідчить, що було отримано менше 240 біт: це означає неякісне зчитування або те, що картка не повністю запрограмована.

У подібному випадку необхідно вставити карту вдруге. Якщо блокування триває, скористайтеся іншою картою, яка вже зчитувалася з першого разу. Щоб безпосередньо отримати відображення вмісту доріжки в бітовому вигляді, в оболонці з основної програми LECTISO2.BAS допомогою рядка 30 викликається зовнішня програма LECT75.EXE. При цьому, звичайно, необхідно, щоб програма COMMAND.СОМ була доступна через шлях пошуку PATH, в якому повинен бути відповідний запис, або просто скопійована в поточну директорію.

Зверніть увагу, що всі ці програми були написані спеціально для роботи в DOS. Рекомендується утриматися від їх запуску через Windows (у вікні DOS), оскільки це може уповільнити їх виконання.

У деяких випадках переважно дезактивувати деякі резидентні програми, наприклад ЕММ 386. Користувачі PC, які звикли працювати в Windows (версія не має значення), повинні закрити цю операційну систему, перш ніж приступити до виконання програм.

10 REM - LECTISO2.BAS -

20 KEY OFF: CLS: PRINT: PRINT: PRINT: PRINT

30 SHELL "LECT75.EXE"

40 OPEN "carte.car" FOR INPUT AS # 1

50 DIM T (240)

60 FOR F = 1 TO 240

70 INPUT # 1, T (F)

80 NEXT F

90 J = 1

100 IF T (J) <> 1 THEN 160

110 IF T (J + 1) <> 1 THEN 160

120 IF T (J + 2) <> 0 THEN 160

130 IF T (J + 3) <> 1 THEN 160

140 IF T {J + 4) <> 0 THEN 160

150 K = J: GOTO 200

160 J = J + 1: GOTO 100

200 C $ = ""

210 FOR F = 0 TO 4

220 IF T (K + F) = 0 THEN C $ = C $ + "0"

230 IF T (K + F) = 1 THEN C $ = C $ + "1"

240 NEXT F

250 GOSUB 2000

260 K = K + 5: IF K> 235 THEN END

270 GOTO 200

2000 IF C $ = "11010 * THEN PRINT" {start} "

2010 IF C $ = "10110" THEN PRINT "{sep}"

2020 IF CS = "11111" THEN PRINT "{end}"

2030 IP C $ = "01011" THEN PRINT "{10}";

2040 IF C $ = "00111" THEN PRINT "{12}";

2050 IF C $ = "01110" THEN PRINT "{14)";

2060 IF C $ = "00001" THEN PRINT "0";

2070 IF C $ = "10000" THEN PRINT "1";

2080 IF C $ = "01000" THEN PRINT "2";

2090 IF C $ = "11001" THEN PRINT "3";

2100 IF C $ = "00100" THEN PRINT "4";

2110 IF C $ = "10101" THEN PRINT "5";

2120 IF C $ = "01101" THEN PRINT "6";

2130 IF C $ = "11100" THEN PRINT "7";

2140 IF C $ = "00010" THEN PRINT "8";

2150 IF C $ = "10011" THEN PRINT "9";

2170 RETURN

3000 REM (c) 1996 Patrick GUEULLE


Програма LECTISО2.BAS - основна програма, яку ви будете використовувати для зчитування доріжки ISO 2 стандартних магнітних карт. Якщо LECT75.EXE присутній в поточній директорії (поряд з COMMAND.COM), то будь-який проходження читається карти (в правильному напрямку) має привести до відображення 240 лічених біт і відповідних цифрових даних.

Нижче показано, що це дає в конкретному випадку з файлом TEST5.CAR, представленим на сайті www.dmk.ru . Так, файл TEST5.CAR, перекодованим за допомогою програми LECTISО2.BAS, матиме такий вигляд:



Одночасно створюється файл CARTE.CAR, який неважко перейменувати в DOS (командою REN), якщо є бажання його зберегти. Жоден з тестів (на парність або LRC) не проводиться.

Такі перевірки можна здійснити за запитом при необхідності (далі будуть представлені відповідні програми). Однак при цьому існує ризик збою в зчитуванні деяких нестандартних карт.

При відображенні даних, записаних на доріжці, використовуються не стандартні «кабалістичні * знаки, представлені вище у вигляді п'яти-і семібітного коду ANSI, а знаки в більш наочній формі:

• прапорець початку: {start};

• роздільник полів: {sep};

• прапорець кінця: {end};

• спеціальні знаки: {10}, {12} і {14}.

Увага: не плутайте ці фігурні дужки з простими!


Зчитування доріжки ISO 1

Працювати з доріжкою ISO 1 дещо складніше, оскільки зазвичай вона записана з щільністю 210 bpi і містить семіразрядний коди алфавітно-цифрових символів.

Здійснити зчитування дозволяє програма LECT210.PAS, яка працює аналогічно LECT75.PAS. Її виконується версія (LECT210.EXE) може використовуватися або самостійно для створення файлу CARTE.CAR на 630 біт, або викликатися з іншої програми в оболонці Basic.





Відзначимо, що 630 біт - це 90 раз по 7 біт, тобто вони відповідають 79 знаків, які максимально може містити доріжка ISO 1, плюс 77 нулів заповнення.

10 REM - LECTISO1.BAS -

20 KEY OFF: CLS: PRINT: PRINT: PRINT: PRINT: PRINT: PRINT: PRINT: PRINT: PRINT

30 SHELL "LECT210.EXE"

40 OPEN "carte.car" FOR INPUT AS # 1

50 DIM T (630)

60 FOR F = 1 TO 630

70 INPUT # 1, T (F)

80 NEXT F

90 J = 1

100 IF T (J) <> 1 THEN 160

110 IF T (J + 1) <> 0 THEN 160

120 IF T (J + 2) <> 1 THEN 160

130 IF T (J * 3) <> 0 THEN 160

140 IF T (J + 4) <> 0 THEN 160

141 IF T (J + 5) <> 0 THEN 160

142 IF T (J + 6) <> 1 THEN 160

150 K = J: GOTO 200

160 J = J + 1: GOTO 100

200 C $ = ""

210 FOR F = 0 TO 6

220 IF T (K + F) = 0 THEN C $ = C $ + "0"

230 IF T (K + F) = 1 THEN C $ »C $ +" 1 "

240 NEXT F

250 GOSUB 2000

260 K = K + 7: IF K> 623 THEN END

270 GOTO 200

2000 IF C $ = "1010001" THEN PRINT "{start}"

2010 IF C $ = "0111110" THEN PRINT "{sep}"

2020 IF C $ = "1111100" THEN PRINT "{end}"

2030 IF C $ = "0000001" THEN PRINT "";

2031 IF C $ = "1000000" THEN PRINT "{1H}";

2032 IF C $ = "0100000" THEN PRINT "{2H}";

2033 IF C $ = "1100001" THEN PRINT "{3H}";

2034 IF C $ = "0010000" THEN PRINT "{4H}";

2036 IF C $ = "0110001" THEN PRINT "{6H}";

2037 IF C $ = "1110000" THEN PRINT "{7H}";

2038 IF C $ = "0001000" THEN PRINT "{8H}";

2039 IF C $ = "1001001" THEN PRINT "{9H}";

2040 IF C $ = "0101001" THEN PRINT "{AH}";

2041 IF C $ = "1101000" THEN PRINT "{BH}";

2042 IF C $ = "0011001- THEN PRINT" {CH} ";

2043 IF C $ = "1011000- THEN PRINT" {DH} ";

2044 IF C $ = "0111000" THEN PRINT "{EH}";

2045 IF C $ = "1111001" THEN PRINT "{FH}";

2060 IF C $ = "0000100" THEN PRINT "0";

2070 IF C $ = "1000101" THEN PRINT "1";

2080 IF C $ = "0100101" THEN PRINT "2";

2090 IF C $ = "1100100" THEN PRINT "3";

2100 IF C $ = "0010101" THEN PRINT "4"

2110 IF C $ = "1010100" THEN PRINT "5"

2120 IF C $ = "0110100" THEN PRINT "6";

2130 IF C $ = "1110101" THEN PRINT "7"

2140 IF C $ = "0001101" THEN PRINT "8";

2150 IF C $ = "1001100" THEN PRINT "9";

2151 IF C $ = "0101100" THEN PRINT "{1AH}";

2152 IF C $ * "1101101" THEN PRINT "{1BH}";

2153 IF C $ = "0011100" THEN PRINT "{1CH}";

2154 IF C $ = "1011101" THEN PRINT "{1DH}";

2155 IF C $ = "0111101" THEN PRINT "{1EH}";

2160 IF C $ = "1000011" THEN PRINT "A";

2161 IF C $ = "0100011" THEN PRINT "В";

2162 IF C $ = "1100010" THEN PRINT "C";

2163 IF C $ = "0010011" THEN PRINT "D";

2164 IF C $ = "1010010" THEN PRINT "E";

2165 IF C $ = "0110010" THEN PRINT "F";

2166 IF C $ = "1110011" THEN PRINT "G";

2167 IF C $ = "0001011" THEN PRINT "H";

2168 IF C $ = "1001010" THEN PRINT "I";

2169 IF C $ = "0101010" THEN PRINT "J";

2170 IF C $ = "1101011" THEN PRINT "K";

2171 IF C $ = "0011010" THEN PRINT "L";

2172 IF C $ = "1011011" THEN PRINT "M";

2173 IF З $ = "0111011" THEN PRINT "N";

2174 IF C $ = "1111010 'THEN PRINT" O ";

2175 IF C $ = "0000111" THEN PRINT "P";

2176 IF C $ = "1000110" THEN PRINT "Q";

2177 IF C $ = "0100110" THEN PRINT "R";

2178 IF C $ = "1100111" THEN PRINT "S";

2179 IF C $ = "0010110" THEN PRINT "T";

2180 IF C $ = "1010111" THEN PRINT "U";

2181 IF C $ = "0110111" THEN PRINT "V";

2182 IF C $ = "1110110" THEN PRINT "W;

2183 IF C $ = "0001110" THEN PRINT "X";

2184 IF C $ = "1001111" THEN PRINT "Y";

2185 IF C $ = "0101111" THEN PRINT "Z";

2190 IF C $ = "1101110" THEN PRINT "{3BH);

2191 IF C $ = "0011111" THEN PRINT "{3DH);

2192 IF C $ = "1011110" THEN PRINT "{3EH);

2193 IF C $ = "1111111" THEN PRINT "{40H};

2999 RETURN

3000 REM (c) 1996 Patrick GUEULLE


LECTISO1.BAS - основна програма, яка за допомогою виклику

LECT210.EXE виконує наступні операції:

• зчитує 630 біт з доріжки ISO 1 і створює файл CARTE.CAR;


• відображає лічені 630 біт;

• відображає відповідні буквено-цифрові символи.

Нижче представлений результат роботи програми для окремого випадку файлу TEST7.CAR, що міститься на сайті www.dmk.ru (ми навмисно прибрали кілька нулів заповнення).



Зчитування доріжки ISO 3

Як і ISO 1, доріжка ISO 3 має щільність запису 210 bpi, але вона містить цифрові дані, які закодовані пятіразрядний кодом.

Зчитування виробляється за допомогою програми LECT210.EXE, але лічені 630 біт на цей раз відповідають 126 групам по 5 біт. Насправді в запису може міститися 107 цифр плюс 95 нулів заповнення.

Для запуску зчитує програми і декодування потрібно основна програма, яка за аналогією з LECTISO1 і LECTISO2 отримала назву LECTISO3.BAS.

10 REM - LECTIS03. BAS -

20 KEY OFF: CLS: PRINT: PRINT: PRINT: PRINT: PRINT: PRINT: PRINT: PRINT: PRINT

30 SHELL "LECT210.EXE"

40 OPEN "carte.car" FOR INPUT AS #I

50 DIM T (630)

60 FOR F = 1 TO 630

70 INPUT # 1, T (F)

80 NEXT F

90 J = 1

100 IF T (J) <> 1 THEN 160

110 IF T (J + 1) <> 1 THEN 160

120 IF T (J + 2) <> 0 THEN 160

130 IF T (J + 3) <> 1 THEN 160

140 IF T (J + 4) <> 0 THEN 160

150 K = J: GOTO 200

160 J = J + 1: GOTO 100

200 C $ = ""

210 FOR F = 0 TO 4

220 IF T (K + F) = 0 THEN C $ = C $ + "0"

230 IF T (K + F) = 1 THEN C $ = C $ + "1"

240 NEXT F

250 GOSUB 2000

260 K = K + 5: IF K> 623 THEN END

270 GOTO 200

2000 IF C $ = "11010" THEN PRINT "{start}"

2010 IF C $ = "10110" THEN PRINT "{sep}"

2020 IF C $ = "11111" THEN PRINT "{end}"

2030 IF C $ = "01011" THEN PRINT "{10}";

2040 IF C $ = "00111" THEN PRINT "{12}";

2050 IF C $ = "01110" THEN PRINT "{14}";

2060 IF C $ = "00001" THEN PRINT "0";

2070 IF C $ = "10000" THEN PRINT "1";

2080 IF C $ = "01000" THEN PRINT "2";

2090 IF C $ = "11001" THEN PRINT "3";

2100 IF C $ = "00100" THEN PRINT "4";

2110 IF C $ = "10101" THEN PRINT "5";

2120 IF C $ = "01101" THEN PRINT "6";

2130 IF C $ = "11100" THEN PRINT "7";

2140 IF C $ = "00010" THEN PRINT "8";

2150 IF C $ = "10011" THEN PRINT "9";

2999 RETURN

3000 REM (c) 1996 Patrick GUEULLE


Ця програма абсолютно ідентична LECTISO2, але вона дає трохи більш громіздкі результати.


ПРОГРАМИ ПЕРЕТВОРЕННЯ

Файли з розширенням .CAR, отримані за допомогою LECT75 і LECT210, природно, не викликають ніяких проблем сумісності з програмами даної книги. Однак це не завжди виходить при їх використанні в іншому контексті, що, звичайно, має право зробити будь-який з наших читачів.

Нижче наводяться кілька вельми корисних службових програм для вирішення невеликих проблем, які рано чи пізно можуть з'явитися.


програма вирівнювання

Як вже показувалося, наші програми зчитування магнітних доріжок створюють лінійні - однорядкові, тобто без спеціальних символів переходу на новий рядок, - файли з розширенням .CAR. Це аніскільки не заважає їх відображення, наприклад за допомогою команди ТУРІ операційної системи DOS, але може виникнути бажання їх роздрукувати або зберегти в більш зручному форматі.

Для цього замість програми текстового редактора практичніше, на нашу думку, використовувати невелику програму JUSTCAR.ВAS, що трансформує будь-який файл .CAR в строго упорядкований блок з 32 колонок.

10 REM - JUSTCAR. BAS -

20 KEY OFF: CLS

30 PRINT "ім'я файлу?";

40 INPUT N $: IF N $ = "" THEN END

50 FOR F = 1 TO LEN (N $)

60 IF MID $ (N $, F, 1) = "." THEN 90

70 NEXT F

80 N $ = N $ + ". CAR"

90 OPEN NS: FOR INPUT AS # 1

100 OPEN "carte.bak" FOR OUTPUT AS # 2

110 DIM M (LOF (1)): CLS

120 L = 0: WHILE NOT EOF (1)

130 INPUT # 1, M (L)

140 PRINT # 2, M (L) ;: L = L + 1

150 WEND

160 CLOSE # 1

170 OPEN NS FOR OUTPUT AS # 1

180 G = 0: FOR F = 0 TO L-1

190 PRINT M (F);

200 IF M (F) = 1 THEN PRINT # 1, "1";

210 IF M (F) = 0 THEN PRINT # 1, "0";

220 G = G + 1: IF G = 32 THEN PRINT # 1, G = 0

230 NEXT F: PRINT

240 END

250 REM COPYRIGHT (c) тисяча дев'ятсот дев'яносто шість Patrick GUEULLE


Відзначимо, що аварійний файл CARTE.ВАК був створений насамперед для збереження даних у разі збою, що стався під час обробки (розрив мережі і т. Д.).

Крім того, якщо ім'я вихідного файлу містить розширення .CAR, у нас не буде необхідності його набирати, оскільки воно додасться автоматично.

В результаті роботи програми перетворені дані замінюють вміст вихідного файлу, при цьому новий файл, хоча вже і вирівняний, залишається сумісним з програмами даної книги.

Нижче показано, що виходить при обробці файлу TEST5.CAR за допомогою програми JUSTCAR.



програма инвертирования

Більшість зчитувальних пристроїв, починаючи з описаних в цьому розділі, очікують проходу карти в строго визначеному напрямку - як правило, це зліва направо перед головкою. Іноді доводиться проводити карту в зворотному напрямку (справа наліво) або працювати з нестандартними картами, записаними навпаки.

Програма INVERT.BAS здатна «перевернути» будь-який файл .CAR незалежно від його довжини.

10 REM - INVERT.BAS -

20 KEY OFF: CLS

30 PRINT "ім'я файлу, який слід перевернути?"

40 INPUT N $: IF N $ = "" THEN END

50 FOR F = 1 TO LEN (NS)

60 IF MID $ (N $, F, 1) = "." THEN 90

70 NEXT F

80 N $ = N $ + ". CAR"

90 OPEN N $ FOR INPUT AS # 1

100 OPEN "carte.bak" FOR OUTPUT AS # 2

110 DIM M (LOF (1)): CLS

120 L = 0: WHILE NOT EOF (1)

130 INPUT # 1, M (L)

140 PRINT # 2, M (L) ;: L = L + 1

150 WEND

160 CLOSE # 1

170 OPEN N $ FOR OUTPUT AS # 1

180 FOR F = L-1 TO 0 STEP -1

190 PRINT M (F);

200 IF M (F) = 1 THEN PRINT # 1, "1";

210 IF M (F) = 0 THEN PRINT # 1, "0";

220 NEXT F: PRINT

230 END

240 REM COPYRIGHT (c) 1997 Patrick GUEULLE


Нижче представлений результат, отриманий за допомогою файлу-зразка TEST5.CAR.



Програма перетворення в формат .CRD

Автор цієї книги, природно, не єдиний в світі любитель магнітних карт, тим більше що цей «вид спорту» особливо популярний в США. За океаном перевагу віддають файлів формату .CRD, який відрізняється від .CAR відсутністю прогалин.

Оскільки в Internet можна зустріти цікаві програми, які використовують формат .CRD, нам здалося корисним забезпечити читачів службової програмою, здатної зробити файли .CAR сумісними з ними. Йдеться про програму CARTOCRD.BAS.

У тому вигляді, в якому вона написана, ця невелика програма може перетворити файл CARTE.CAR, який був тільки що лічений, в файл CARTE. CRD.

10 REM - CARTOCRD.BAS -

20 CLS: KEY OFF

30 PRINT "Перетворення файлу CARTE.CAR в CARTE.CRD"

40 OPEN "carte.car" FOR INPUT AS # 1

50 OPEN "carte.crd" FOR OUTPUT AS # 2

60 IF EOF (1) THEN 110

70 INPUT # 1, A

80 IF A = ​​1 THEN PRINT # 2, "1";

90 IF A = ​​0 THEN PRINT # 2, "0";

100 GOTO 60

110 PRINT "Виконано": BEEP

120 END

130 REM (c) 1996 Patrick GUEULLE


Нижче показано, у що перетворюється файл TEST5.CAR, оброблений програмою CARTOCRD.BAS (спочатку його треба скопіювати під ім'ям CARTE .CAR).



Програма імпорту файлів

Службова програма CRDTOCAR.BAS здійснює зворотну операцію по відношенню до попередньої. Інакше кажучи, виконує перетворення файлу CARTE.CRD в CARTE.CAR, сумісний з усіма нашими іншими програмами.

10 REM - CRDTOCAR.BAS -

20 CLS: KEY OFF

30 PRINT "Перетворення файлу CARTE.CRD в CARTE.CAR"

40 OPEN "carte.crd" FOR INPUT AS # 1

50 OPEN "carte.car" FOR OUTPUT AS # 2

60 IF EOF (1) THEN 110

70 A $ = INPUT $ (1, # 1)

80 IF A $ = "1" THEN PRINT # 2, "1" ;: GOT0 60

90 IF A $ = "0" THEN PRINT # 2, "0" ;: GOTO 60

10 ° CLS: BEEP: PRINT "CARTE.CRD не відповідає формату CRD": END

110 PRINT "Виконано": BEEP

120 END

130 REM (c) 1997 Patrick GUEULLE


Цим можна скористатися, щоб отримати користь з файлів. CRD, отриманих від користувачів, що працюють, наприклад, з програмою CARDOMAT, дуже високо цінується в США, яка, треба зізнатися, кілька підстьобнула уяву автора ...

Рекомендується спочатку скопіювати початковий файл під ім'ям CARTE.CRD, в той час як результат перетворення буде носити ім'я CARTE.CAR.


ДЕКОДУВАННЯ ПЯТІБІТНИХ СИМВОЛІВ

Іноді необхідно декодувати вміст файлу .CAR, коли немає карти, з якою він був лічений. Це може бути файл, вже прочитаний за допомогою LECT75 або LECT210, або файл, переписаний на дискету або отриманий по електронній пошті іншим любителем зчитування з магнітних карт. Це може бути навіть файл, попередньо «перевернутий» програмою INVERT, якщо є підозра, що він був лічений в зворотному напрямку.

Наші програми LECTISO не підходять для вирішення такого завдання з двох основних причин. По-перше, вони створені спеціально для управління операцією зчитування в оболонці, а не для роботи в автономному режимі. По-друге, кожна з них розроблена для строго певної доріжки ISO, а значить, розрахована на певну кількість бітів.

Програма DEC5.BAS, зі свого боку, може взаємодіяти з будь-яким файлом .CAR з пятіразрядний кодуванням (а значить, цифровим) незалежно від його довжини і доріжки, з якої узятий він був.

Познайомитися з роботою DECS.BAS можна, запропонувавши їй декодувати файл TEST5 .CAR, який є на сайті www.dmk.ru .

10 REM - DEC5.BAS -

20 KEY OFF: CLS

30 PRINT "Ім'я декодіруемой файлу?";

40 INPUT N $: IF N $ = "" THEN END

50 FOR F = 1 TO LEN (N $)

60 IF MID $ (N $, F, 1) = "." THEN 90

70 NEXT F

80 N $ = N $ + ". CAR"

90 OPEN N $ FOR INPUT AS # 1

100 L = INT (LOF (1) / 2) -1

110 DIM T (LOF (1))

120 F = 1: WHILE NOT EOF (1)

130 INPUT # 1, T (F): F = F + 1

140 WEND

150 J = 1

160 IF T (J) <> 1 THEN 220

170 IF T (J + 1) <> 1 THEN 220

180 IF T (J + 2) <> 0 THEN 220

190 IF T (J + 3) <> 1 THEN 220

200 IF T (J + 4) <> 0 THEN 220

210 K = J: GOTO 230

220 J = J + 1: GOTO 160

230 C $ = ""

240 FOR F = 0 TO 4

2S0 IF T (K + F) = 0 THEN C $ = C $ + "0"

260 IF T (K + F) = 1 THEN C $ = C $ + "1"

270 NEXT F

280 GOSUB 310

290 K = K + 5: IF K> L-1 THEN END

300 GOTO 230

310 IF C $ = "11010" THEN PRINT "{Start}"

320 IF C $ = "10110" THEN PRINT "{sep}"

330 IF C $ = "11111" THEN PRINT "{end}"

340 IF C $ = "01011" THEN PRINT "{10}";

350 IF C $ = "00111" THEN PRINT "{12}";

360 IF C $ = "01110" THEN PRINT "{14}";

370 IF C $ = "00001" THEN PRINT "0";

380 IF C $ = "10000" THEN PRINT "1";

390 IF З $ = "01000" THEN PRINT "2";

400 IF C $ = "11001" THEN PRINT "3";

410 IF C $ = "00100" THEN PRINT "4";

420 IF C $ = "10101" THEN PRINT "5";

430 IF C $ = "01101" THEN PRINT "6";

440 IF C $ = "11100" THEN PRINT -7 ";

450 IF C $ = "00010" THEN PRINT "8";

460 IF C $ = "10011" THEN PRINT "9";

470 RETURN

480 REM (с) 1996 Patrick GUEULLE


ДЕКОДУВАННЯ СЕМІБІТНИХ СИМВОЛІВ

Програма DEC7.BAS виконує функцію, аналогічну виконуваної програмою DEC5, але з алфавітно-цифровими файлами, символи яких закодовані сім'ю битами.

10 REM - DEC7.BAS -

20 KEY OFF: CLS

30 PRINT "Ім'я декодіруемой файлу?";

40 INPUT N $: IF N $ = "" THEN END

50 FOR F = 1 TO LEN (N $)

60 IF MID $ (N $, F, 1) = "." THEN 90

70 NEXT F

80 N $ = N $ + ". CAR"

90 OPEN N $ FOR INPUT AS # 1

100 L = INT (LOF (1) / 2) -1

110 DIM T (LOF (1))

120 F = 1: WHILE NOT EOF (1)

130 INPUT # 1, T (F): F = F + 1

140 WEND

150 J = 1

160 IF T (J) <> 1 THEN 240

170 IF T (J + 1) <> 0 THEN 240

180 IF T (J + 2) <> 1 THEN 240

190 IF T (J + 3) <> 0 THEN 240

200 IF T (J + 4) <> 0 THEN 240

210 IF T (J + 5) <> 0 THEN 240

220 IF T (J + 6) <> 1 THEN 240

230 K = J: GOTO 250

240 J = J + 1: GOTO 160

250 C $ = ""

260 FOR F = 0 TO 6

270 IF T (K + F) = 0 THEN C $ = C $ + "0"

280 IF T (K + F) = 1 THEN C $ = C $ + "1"

290 NEXT F

300 GOSUB 330

310 K = K + 7: IF K> L-1 THEN END

320 GOTO 250

330 IF C $ = "1010001" THEN PRINT "{start}"

340 IF C $ = "0111110" THEN PRINT "{sep}"

350 IF C $ = "1111100" THEN PRINT "{end}"

360 IF C $ = "0000001" THEN PRINT "";

370 IF C $ = "1000000" THEN PRINT "{1H}";

380 IF C $ = "0100000" THEN PRINT "{2H}";

390 IF C $ = "1100001" THEN PRINT "{3H}";

400 IF C $ = "0010000" THEN PRINT "{4H}";

410 IF C $ = "0110001" THEN PRINT "{6H}";

420 IF C $ = "1110000" THEN PRINT "{7H}";

430 IF C $ = "0001000" THEN PRINT "{8H}";

440 IF C $ = "1001001" THEN PRINT "{9H}";

450 IF C $ = "0101001" THEN PRINT "{AH}";

460 IF C $ = "1101000" THEN PRINT "{BH}";

470 IF C $ = "0011001" THEN PRINT "{CH}";

480 IF C $ = "1011000" THEN PRINT "{DH}";

490 IF C $ = "0111000" THEN PRINT "{EH}";

500 IF C $ = "1111001" THEN PRINT "{FH}";

510 IF C $ = "0000100" THEN PRINT "0";

520 IF C $ = "1000101" THEN PRINT "1";

530 IF C $ = "0100101" THEN PRINT "2";

540 IF C $ = "1100100" THEN PRINT "3";

550 IF C $ = "0010101" THEN PRINT "4";

560 IF C $ = "1010100" THEN PRINT "5";

570 IF C $ = "0110100" THEN PRINT "6";

580 IF C $ = "1110101" THEN PRINT "7";

590 IF C $ = "0001101" THEN PRINT "8";

600 IF C $ = "1001100" THEN PRINT "9";

610 IF C $ = "0101100" THEN PRINT "{1AH}";

620 IF C $ = "1101101" THEN PRINT "{1BH}";

630 IF C $ = "0011100" THEN PRINT "{1CH}";

640 IF C $ = "1011101" THEN PRINT "{1DH}";

650 IF C $ = "0111101" THEN PRINT "{1EH}";

660 IF З $ = "1000011" THEN PRINT "A";

670 IF C $ = "0100011" THEN PRINT "В";

680 IF C $ = "1100010" THEN PRINT "C";

690 IF C $ = "0010011" THEN PRINT "D";

700 IF З $ = "1010010 " THEN PRINT "E";

710 IF C $ = "0110010" THEN PRINT "F";

720 IF C $ = "1110011" THEN PRINT "G";

730 IF C $ = "0001011" THEN PRINT "H";

740 IF C $ = "1001010" THEN PRINT "I";

750 IF C $ = "0101010" THEN PRINT "J";

760 IF C $ = "1101011" THEN PRINT "K";

770 IF C $ = "0011010" THEN PRINT "L";

780 IF C $ = "1011011" THEN PRINT "M";

790 IF C $ = "0111011" THEN PRINT "N";

800 IF C $ = "1111010" THEN PRINT "O";

810 IF C $ = "0000111" THEN PRINT "P";

820 IF C $ = "1000110" THEN PRINT "Q";

830 IF C $ = "0100110" THEN PRINT "R";

840 IF C $ = "1100111" THEN PRINT "S";

850 IF C $ = "0010110" THEN PRINT "T";

860 IF C $ = "1010111" THEN PRINT "U";

870 IF C $ = "0110111" THEN PRINT "V";

880 IF C $ = "1110110" THEN PRINT "W";

890 IF C $ = "0001110 'THEN PRINT" X ";

900 IF C $ = "1001111" THEN PRINT "Y";

910 IF C $ = "0101111" THEN PRINT "Z";

920 IF C $ = "1101110 '' THEN PRINT" {3BH} ";

930 IF C $ = "0011111" THEN PRINT "{3DH}";

940 IF C $ = "1011110" THEN PRINT "{3EH}"

950 IF C $ = "1111111" THEN PRINT "{40H}";

960 RETURN

970 REM (c) 1996 Patrick GUEULLE


Контроль парності

Час від часу доводиться стикатися з файлом .CAR, який після зчитування карти не міг бути береться стверджувати належним чином за допомогою програм LECTISO.

Перш ніж приступити до вивчення карти з використанням «магнітного викривача», бажано провести простий аналіз за допомогою спеціальної програми.

10 REM - PARITY.BAS-

20 KEY OFF: CLS

30 PRINT "ім'я файлу, що підлягає перевірці";

40 INPUT N $: IF N $ = "" THEN END

50 FOR F = 1 TO LEN (N $)

60 IF MID $ (N $, F, 1) = "." THEN 90

70 NEXT F

80 N $ = N $ + ". CAR"

90 OPEN N $ FOR INPUT AS # 1

100 CLS: PRINT "йде контроль парності ...": PRINT

110 DIM A (LOF (1))

120 M = 0: WHILE NOT EOF (1)

130 INPUT # 1, A (M): M = M + 1: WEND

140 PRINT "0 ... 0";

150 X = 0

160 IF A (X) = 1 THEN 180

170 X = X + 1: GOTO 160

180 N = 0: FOR F = X TO X + 4

190 IF A (F) = 1 THEN N = N + 1: PRINT "1"; ELSE PRINT "0";

200 NEXT F: PRINT "";

210 IF (N / 2) -INT (N / 2) = 0 THEN 230

220 IF X> = M THEN 310 ELSE X = X + 5: GOTO 180

230 IF N> 0 THEN 290

240 FOR G = X TO M

250 IF A (G)> 0 THEN 290

260 NEXT G

270 PRINT "0 ... 0"

280 GOTO 310

290 PRINT: PRINT: PRINT: PRINT "парність 5-розрядного коду неправильна"

300 ВЕЕР: PRINT: PRINT: PRINT: GOTO 330

310 PRINT: PRINT: PRINT: PRINT "парність 5-розрядного коду правильна"

320 PRINT: PRINT: PRINT

330 PRINT "0 ... ..0";

340 X = 0

350 IF A (X) = 1 THEN 370

360 X = X + 1: GOTO 350

370 N = 0: FOR F = X TO X + 6

380 IF A (F) = 1 THEN N = N + 1: PRINT "!"; ELSE PRINT "0";

390 NEXT F: PRINT "";

400 IF (N / 2) -INT (N / 2) = 0 THEN 420

410 IF X> = M THEN 500 ELSE X = X + 7: GOTO 370

420 IF N> 0 THEN 480

430 FOR G = X TO M

440 IF A (G)> 0 THEN 480


Починаючи з першого біта в 1, програма PARITY.BAS застосовує певні правила для перевірки парності блоків даних по п'ять біт, потім по сім біт. При відсутності помилки це дозволяє їй чітко відрізняти файли, закодовані пятіразрядний кодом ANSI, від закодованих семіразрядний кодом ANSI. Поки помилку не виявлено, програма видає групи, які успішно пройшли перевірку, і зупиняється на першому символі з помилкою, інакше кажучи, на першій групі по п'ять або сім біт, що містить парне число одиниць.

Звичайно, якщо перевірки по п'ять біт і по сім біт закінчилися невдачею ще до кінця файлу, можна відразу зробити висновок. Необхідний більш ретельний аналіз. Почати, якщо це можливо, слід з нового зчитування карти.

Загалом, ця програма дозволить переконатися у відсутності помилки парності в будь-якому файлі .CAR.

Нижче представлений результат перевірки файлу TEST5.CAR (його можна знайти на сайті www.dmk.ru ) закодованого пятіразрядний кодом і не має ніяких помилок парності. Слід звернути увагу, що нулі запуску і заповнення представлені у скороченій формі.



Тепер покажемо результат тієї ж самої перевірки, на цей раз проведеної з файлом TEST7.CAR, закодованим семіразрядний кодом і також не мають ніяких помилок.



Ми не написали програму, призначену для перевірки на цій стадії зчитування символів LRC, які зазвичай закінчують кожну доріжку. Наша мета на даний момент полягає в виявленні найгрубіших помилок, які могли б порушити процес зчитування.

При виникненні нагальної необхідності в перевірці LRC можна звернутися до програми LRCMAG.BAS з голови 4. Ця програма призначена для використання в ході операцій кодування, але цілком годиться і після зчитування, за яким слід декодування.


ПЕРЕВІРКА КОНТРОЛЬНОГО КЛЮЧА

Ось ще одна перевірка, яку зручно проводити з файлом .CAR, але тільки після його декодування. Мова йде не про серію бітів, а про число, що складається з певної кількості цифр крім бітів заповнення.

Наприклад, в разі файлу VISA.CAR необхідно провести перевірку лише однієї частини інформації, декодування якої представлено в розділі 2, де мова йде про вміст доріжки ISO 2 банківської картки. В даному випадку це 16-значний номер картки: 4970101234567890.

Програма LUHNCHK.BAS працює з числами, що складаються з будь-якої кількості цифр, як парного, так і непарного.

10 REM - LUHNCHK.BAS -

20 KEY OFF: CLS

30 CLEAR: PRINT: PRINT "введіть номер карти": INPUT N $

40 L = LEN (N $): DIM N (L)

50 FOR F = 1 TO L

60 C $ = MID $ (N $, F, 1): C = VAL (C $): N (F) = C

70 NEXT F

80 IF (L / 2) - INT (L / 2) = 0 THEN 170

90 T = 0: FOR F = 2 TO L - 1 STEP 2

100 C = 2 * N (F): IF C> = 10 THEN C = C-9

110 T = T + C: NEXT F

120 FOR F = 1 TO L STEP 2

130 T = T + N (F): NEXT F

140 IF T> = 10 THEN T = T-10: GOTO 140

150 IF T = 0 THEN PRINT "номер дійсний": GOTO 30

160 PRINT "номер не дійсний": GOTO 30

170 T = Q: FOR F = 1 TO L-1 STEP 2

180 C = 2 * N (F): IF C> = 10 THEN C = C-9

190 T = T + C: NEXT F

200 FOR F = 2 TO L STEP 2

210 T = T + N (F): NEXT F

220 GOTO 140

230 REM (c) 1996 Patrick GUEULLE


В даному випадку відповідь буде номер не дійсний, тому що ми, природно, використовували номер неіснуючої кредитної картки. З іншого боку, ніщо не заважає провести таку перевірку з вашої банківською карткою, номер якої повинен бути дійсним.


ПОРІВНЯННЯ КАРТ

Оскільки магнітна технологія допускає практично необмежені можливості стирання інформації (штатного або позаштатного), а також багаторазову запис, то важливо мати можливість перевіряти, чи не змінилося вміст тієї чи іншої доріжки.

Це дуже просто зробити шляхом архівування файлу .CAR - того, який послужив для кодування карти (ми ще до цього повернемося), або того, який був створений при «реперному» зчитуванні.

Програма VERMAG.BAS дозволяє порівняти не дві карти, а два файли .CAR - старий і новий. Кожен ідентичний біт позначається тире, а кожен відрізняється - зірочкою, що відразу дає уявлення про масштаб можливої ​​невідповідності. Нулі запуску і заповнення, як відомо, представляються в скороченому вигляді, оскільки вони виключені з процесу перевірки. Їх число може дещо змінюватися від одного до іншого зчитування тієї ж самої карти.

10 REM - VERMAG.BAS -

20 KEY OFF: CLS

30 PRINT "ім'я файлу, що підлягає перевірці";

40 INPUT N $: IF N $ = "" THEN END

50 FOR F = 1 TO LEN (N $)

60 IF MID $ (N $, F, 1) = "." THEN 90

70 NEXT F

80 N $ = N $ + ". CAR"

90 OPEN N $ FOR INPUT AS # 1

100 PRINT: PRINT "ім'я еталонного файлу";

110 INPUT N $: IF N $ = "" THEN END

120 FOR F = 1 TO LEN (N $)

130 IF MID $ (N $, F, 1) = "." THEN 160

140 NEXT F

150 N $ = N $ + ". CAR"

160 OPEN N $ FOR INPUT AS # 2

170 CLS: PRINT "йде перевірка ..."

180 DIM A (LOF (1)): DIM B (LOF <2))

190 F = 0: WHILE NOT EOF (1)

200 INPUT # 1, A (F); F = F + 1: WEND

210 M = F

220 F = 0: WHILE NOT EOF (2)

230 INPUT # 2, B (F): F = F + 1: WEND

240 N = F

250 X = 0

260 IF A (X) = 1 THEN 280

270 X = X + 1: GOTO 260

280 Y = 0

290 IF В (Y) = 1 THEN 310

300 Y = Y + 1: GOTO 290

310 CLS: PRINT "0 ...... .0" ;: E = 0

320 IF A (X) = B (Y) THEN PRINT "-"; ELSE PRINT "*" ;: E = 1

330 IF X = M THEN 360 ELSE X = X + 1

340 IF Y = N THEN 360 ELSE Y = Y + 1

350 GOTO 320

360 PRINT "0 0": PRINT: PRINT: PRINT "Файл"

370 IF E = 0 THEN PRINT "відповідає!": PRINT: PRINT: END

380 PRINT "не відповідає!": PRINT: PRINT: BEEP: END

390 REM COPYRIGHT (c) тисяча дев'ятсот дев'яносто шість Patrick GUEULLE


Нижче представлений результат, отриманий при порівнянні явно різних файлів TEST5.CAR І TEST7.CAR.



Тепер покажемо результат, отриманий при порівнянні двох ідентичних файлів. В обох випадках звіт обов'язково з'являється після закінчення виконання програми.



4. Копіювання, кодування, стирання

У цьому розділі ми торкнемося теми, яку деякі вважають забороненою. Загальновідомо, що магнітні карти за своєю природою - носії інформації з абсолютно вільним доступом для зчитування і запису. Передбачається, що пристрої кодування не повинні опинитися в руках будь-кого, але, незважаючи на це, ми збираємося розповісти, як побудувати їх найпростіших способом.

Природно, ми дозволили собі зайнятися цією темою лише після того, як переконалися, що подібна дія не зажадає доступу до конфіденційної інформації або використання компонентів, заборонених до продажу або зберігання.

Зрештою, ми вже робили так кілька років тому, коли взялися навчити наших читачів зчитувати і записувати інформацію на чіп-карти.

З іншого боку, ми рішуче не можемо погодитися, що так звані програми, які використовуються настільки уразливі, що будь-який дилетант здатний зламати їх за допомогою простої магнітофонного головки, підключеної до ПК. Якби це було так, всі секрети вже давно стали б загальним надбанням.


ЧИ кодерах БУТИ ОБОВ'ЯЗКОВО автоматизованих?

Хоча ця думка широко поширене (і не без підстав), відповідь на нього негативний. Справді, на ринку зустрічаються зчитувальні та записуючі пристрої (кодери), що працюють при проведенні карти вручну. При цьому в них використовуються деякі технічні хитрощі, якими не заборонено скористатися і нам.

Автоматизована версія, безперечно, має ту перевагу, що забезпечує постійну і точну швидкість проходження карти перед записуючої головкою. Однак можна отримати який можна порівняти результат і за допомогою простого датчика, здатного постійно вловлювати точне положення карти.

Якщо тільки в кодують схемах буде використаний весь цей досвід, то запис, здійснений вручну, виявиться так само стабільна, як і в автоматизованому варіанті. Ризикуючи викликати гнів фахівців, ми все-таки задамося питанням: «А чи так уже необхідно стабільне кодування?»

І знову відповіддю буде категоричне «ні» - по крайней мере, для найбільш поширеного випадку, коли карта призначена для зчитування в ручному зчитувальному пристрої.

Ручні зчитувальні пристрої, починаючи з описаних в розділі 3, настільки «терпимі» до швидкості проходження карт і її змін, що без проблем сприймають карти, стабільність параметрів кодування яких катастрофічна.

Як не дивно, це поширюється і на значне число автоматизованих зчитувальних пристроїв просто тому, що вони часто побудовані на тих же самих схемах декодування, що і ручні! Як то кажуть, хто може більше, той може і менше; до речі, такий метод роботи підвищує надійність і економить кошти. Так навіщо від нього відмовлятися?

Єдине даний незручність такого підходу полягає в неможливості автоматичного відсіювання підозрілих карт або, навпаки, з'являється можливість відсіювання і деякого числа цілком нормальних карт з усім що випливають звідси невдоволенням користувачів.

Як резюме можна сказати, що застосування для кодування тієї ж самої найпростішої механіки, що і для зчитування, допустимо тільки в теорії, але ніяк не на практиці.


ТРАНСФОРМАЦІЯ зчитувальні пристрої У кодерах

Незважаючи на все вищесказане, не варто і мріяти безпосередньо використовувати для кодування пристрій, який вже послужило нам для зчитування.

Цього не слід робити з тієї простої причини, що для зчитування ми застосовували головку від касетного магнітофона, повітряний зазор якої ледь покриває половину ширини доріжки.

Без сумніву, зручно мати одночасно головки для зчитування і для запису. Тому краще зупинитися на вирішенні, що складається в додаванні записуючої головки до вже існуючого, що зчитує.

З огляду на обмеження, що накладаються шириною доріжки, мова може йти практично тільки про голівці запису-зчитування від котушкового монофонічного трековий магнітофона.

Ми проводили дуже успішні експерименти з допомогою допустимо зношеної головки, знятої зі старого магнітофона Sony (опір приблизно 400 Ом), а також іншої настільки старої головки, що нам не вдалося з'ясувати її походження (опір 2700 Ом).

Адаптація до існуючого зчитувального пристрою полягає в тому, щоб встановити записує головку точно навпроти зчитує.

Якщо вам пощастило і у вас є промислове зчитує з двома головками, що зчитує карти незалежно від напрямку їх вставляння, то для установки записуючої головки замість однієї з зчитувальних досить виготовити нескладну адаптується підставку.

Якщо ви віддали перевагу побудувати саморобний пристрій, що зчитує по кресленнях, наведеними в цій книзі (рис. 3.13), то для його доопрацювання досить вирізати віконце в пластині, протилежної зчитує голівці (деталь В) і зафіксувати на ній записує головку за допомогою маленьких алюмінієвих куточків.

Як це виконати, показано на рис. 4.1-4.3.



Мал. 4.1. Варіант установки записуючої головки на промисловому зчитувальному пристрої



Мал. 4.2. Установка записуючої головки на саморобному зчитувальному пристрої



Мал. 4.3. Саморобний пристрій запису-зчитування (вид зверху)


Відзначимо, що для обох випадків не потрібно пружний головкодержатель, оскільки карта може притискатися до записуючої голівки за рахунок головки зчитування. Необхідно тільки, щоб записує головка трохи (приблизно на 2 мм) виступала в віконце за внутрішню поверхню кріпильної пластини.

Звичайно, необхідно передбачити кошти регулювання як для центрування головки навпаки доріжки, так і для забезпечення надійного контакту з картою.

Як правило, для цього достатньо, щоб діаметри отворів з запасом перевищували діаметри кріпильних гвинтів; можна також використовувати кілька шайбочек.


УНІВЕРСАЛЬНИЙ УСИЛИТЕЛЬ ЗАПИСИ

Запис інформації на карту зі зміною напрямку магнітного потоку передбачає, що струм повинен протікати через обмотку головки в двох напрямках. Запис повинен здійснюватися до насичення, величина струму буде значно більше, ніж при аудіозаписи.

При необхідності закодувати карти з високоенергетичними магнітними смужками, тобто з високою коерцитивності ( HiCo ~ = 2750 Е), буде потрібно ще більший струм - до декількох десятків міліампер.

Все це, звичайно, можна здійснити за умови, що магнітний сердечник головки в стані витримати таке порушення, не входячи в режим насичення. При відсутності докладних характеристик кожної використовуваної головки єдиний спосіб переконатися в вищесказаному - проведення реальних експериментів.

З іншого боку, абсолютно марно намагатися закодувати карти HiCo з коерцитивної силою 4000 Е за допомогою простих магнітофонних головок, саме цим і забезпечується безпека таких карт.

З урахуванням вищесказаного ми і досліджували схему, представлену на рис. 4.4, в якій зроблено безліч пересторог, що враховують всі можливі ситуації.



Мал. 4.4. Схема підсилювача запису


У ній ми використовуємо дуже поширену і недорогу інтегральну схему. TDА2030, зазвичай призначену для створення аудіо підсилювача з вихідною потужністю до 14 Вт і струмом до 3,5 А.

За допомогою цієї ІС можна проводити експерименти і з досить специфічними головками, що мають дуже малий опір.

Для роботи ІС потрібно двухполярной напруга живлення ± 12 В, а іноді - при необхідності - і ± 18 В. В окремих випадках досить мати дві батарейки по 9 В.

Оскільки ІС TDA2030 володіє великим коефіцієнтом посилення, то з розімкненим контуром негативного зворотного зв'язку вона може працювати в якості компаратора. Поріг перемикання схеми фіксується за допомогою простого діода і становить приблизно 0,7 В, що більш ніж удвічі менше нижнього рівня вихідної напруги логічної 1 паралельного порту ПК. Нижче ми розглянемо ситуацію подачі на цей підсилювач сигналу з лінії інтерфейсу Centronics комп'ютера. Поки ж підсилювач може управлятися за допомогою імпульсів самого різного походження.

У всякому разі, слід запам'ятати, що граничним вхідним TTL-рівнями (0 і +5 В) на виході будуть відповідати рівні, складові приблизно +9 і -18 В. Незважаючи на те що до виходу ІС можна безпосередньо підключати головку опором 250-500 Ом, слід обмежити струм за допомогою резистора, сполученого з нею послідовно. Наші дослідження показали, що якщо обмежитися кодуванням карт з низькоенергетичними магнітними смужками ( LoCo ), то величина опору повинна бути не менше 18 кОм. На практиці ми рекомендуємо величину, близьку до 2 кОм, хоча, повторюю, цілком допустимо і пряме підключення головки до підсилювача, а для кодування карт HiCo воно навіть необхідно.

Креслення друкованої плати підсилювача запису представлений на рис. 4.5. Розміри плати, що вже стало звичним, повинні дозволяти розмістити її в безпосередній близькості від записуючої головки.



Мал. 4.5. Топологія плати підсилювача запису


Варто відзначити, що досить великі величини струмів при крутих фронтах сигналів в разі занадто довгих сполучних проводів головки можуть викликати випромінювання, здатні негативно впливати на сусідні схеми зчитування.

Розміщення елементів на платі виконується відповідно до схеми, представленої на рис. 4.6. Розміщення не викличе жодних проблем, оскільки ІС TDA2030 не потрібно радіатор.



Мал. 4.6. Розміщення елементів підсилювача запису


ІС TDA2030 працює в режимі перемикання в діапазоні, далекому від граничних величин, і, крім того, містить внутрішню захист, вельми корисну при виникненні випадкових коротких замикань.

Для зручності можна використовувати клемні з'єднувачі, які полегшують підключення до модуля. На рис. 4.7 дано загальний вигляд підсилювача запису, а перелік його елементів наведено в табл. 4.1.



Мал. 4.7. Загальний вигляд підсилювача запису


Таблиця 4.1. Перелік елементів підсилювача запису



ПРИСТРІЙ ДЛЯ КОПІЮВАННЯ КАРТ

Хоча просте копіювання одного магнітного носія на інший без внесення будь-яких змін в закодовані дані не представляє великого практичного інтересу, часто саме таким чином можна навчитися працювати з магнітними картами або квитками.

Майже чверть століття ходять чутки, що зовсім неважко дублювати квитки на метро за допомогою звичайного праски, і, правда, ця ідея не настільки екстравагантна.

Дійсно, відомо, що нагрівання сприяє переносу намагніченості, і це теоретично дозволяє скопіювати закодовану доріжку на порожню, накладаючи їх одну на іншу і нагріваючи праскою. Бажано, щоб при такій операції не пошкоджено оригінал (переважно HiCo ).

У поєднанні з підсилювачем зчитування, представленому на рис. 3.15, наш підсилювач дозволяє застосувати більш надійний спосіб.

Гідність методу копіювання полягає в тому, що для нього не потрібно мікрокомп'ютер, однак необхідно чітко усвідомити, що незрівнянно краще така послідовність, коли відбувається зчитування в файл, а подальша запис здійснюється з файлу на нову карту.

Якщо задовольнятися представленим варіантом (рис. 4.8), що передбачає підключення виходу підсилювача зчитування безпосередньо до входу підсилювача запису (в цьому випадку ланцюга «землі» обох модулів об'єднуються), то будь-яка зміна напрямку магнітного потоку, захоплене зчитує головкою, буде точно відтворено записуючої головкою.



Мал. 4.8. Простий метод копіювання магнітних карт


Причому щоб скопіювати одну доріжку на іншу, досить синхронно провести обидві карти: одну карту перед зчитує головкою, а іншу - перед записуючої.

Це можна зробити, якщо вирівняти відповідно до схеми, наведеної на рис. 4.8, що зчитує і кодер на плоскій та твердій підставі і з'єднати обидві карти за допомогою, наприклад, простої лінійки з клейкою стрічкою.


Кодери ДЛЯ ПК

Оскільки не можна порівнювати експериментальні пристрої, до яких відноситься і наше, з промисловими кодують пристроями для магнітних карт, ми навмисно віддали перевагу простоту досконалості.

З власного досвіду знаю, що неважко швидко придбати навик, що дозволяє переміщати карту з практично постійною швидкістю. Це дозволяє стверджувати, що для досліджень і найпростіших застосувань цілком достатньо простого кодера з ручним переміщенням карти.

Дійсно, за кілька секунд можна перечитати карту, яку тільки що закодували, при необхідності вивчити її за допомогою «магнітного викривача», а потім перекодувати, якщо щось не так.

Наше новий пристрій здатний за допомогою комп'ютера проводити запис магнітних карт зі швидкістю 500 біт / с. При цьому ми припускаємо, що карта проходить перед записуючої головкою зі швидкістю 17 см / с, а щільність кодування становить 75 bpi (доріжка ISO 2).

Навчитися переміщати карти із зазначеною швидкістю навіть при мінімальній тренуванні нескладно. Тонкий момент полягає в необхідності дуже точно синхронізувати початок запису з початком доріжки. Нам вдалося вирішити цю проблему, використовуючи що зчитує головку, розташовану навпроти записуючої.

Принцип синхронізації полягає в тому, що через пристрій переміщається не одна карта, а дві, складені «сорочка до сорочці». Одну з них назвемо кодируемой, а другу, більш тонку, - картою синхронізації.

Закодована будь-якими даними на всю довжину доріжки, карта синхронізації після першого ж контакту з головкою змусить прочитує схему видати тактовий імпульс. Для того щоб ПК міг почати запис, більшого і не потрібно.


СТВОРЕННЯ КАРТИ СИНХРОНІЗАЦІЇ

Найпростіший спосіб отримати необхідну карту синхронізації полягає в тому, щоб ножицями вирізати карту стандартної форми з квитка на поїзд далекого прямування французьких залізниць.



Мал. 4.9. Отримання корти синхронізації за допомогою залізничного квитка


Одна з чотирьох закодованих доріжок з щільністю запису 210 bpi точно співпаде зі зчитує головкою. Вона і забезпечить синхронізацію, якщо половинки нашого «сендвіча» будуть правильно складені і проведені через пристрій в потрібному напрямку.

Інший спосіб полягає в кодуванні тонкої карти або використаного проїзного квитка. Для цього можна використовувати і саморобну карту, отриману з візитної картки, приклеївши її до зворотної сторони магнітної стрічки.

При виготовленні карти синхронізації управляти кодером можна за допомогою програми MAKESYNC.PAS, при створенні якої для отримання необхідної швидкості управління записуючої головкою був використаний Turbo Pascal .

Якщо виникли непереборні труднощі з виготовленням карти синхронізації, процес запису запускається за допомогою простого генератора імпульсів, що видає сигнал TTL-рівнів з частотою 500-1000 Гц.

program makesync;

uses crt;

var a: integer;

begin

clrscr;

writeln ( "Вставити карту в пристрій, що зчитує");

writeln ( "і переміщати до появи звукового сигналу");

for а: = 0 to 10000 do

begin,

port [634]: = 255;

delay (1);

port (634): = 0;

delay (1);

end;

sound (880); delay (500); nosound;

end.

(* COPYRIGHT 1996 Patrick GUEULLE *)


Початкового тексту MAKESYNC.PAS відповідає виконуваний файл MAKESYNC.EXE, який можна запускати з командного рядка DOS.

Припустимо розширити склад портів введення-виведення комп'ютера за рахунок установки додаткової Мультикарти у вільний слот.Таким чином можна додати паралельний порт LPT2 до існуючого LPT1, традиційно зарезервували для принтера, або забезпечити комп'ютер роз'ємом для підключення джойстика. Щоб уникнути конфлікту адрес і переривань з уже наявними портами, слід настроїти перемикачі карти за допомогою доданого опису. Якщо конфлікти все ж виникають, для їх усунення буде потрібно використання діагностичної утиліти MSD, яка дозволить точно визначити причину конфліктної ситуації і вкаже, як виправити становище.

Можливо, деякі читачі захочуть піти далі по запропонованому шляху, наприклад забезпечити кодер оптичним датчиком або скористатися підсилювачем зчитування, наведеними на рис. 3.15, в якості детектора присутності карти. Дехто спробує при наявності досить швидкодіючого ПК побудувати трековий зчитує або кодер, який працює з щільністю 210 bpi. У будь-якому випадку необхідно добре знання технічних і програмних характеристик використовуваних портів введення-виведення.

В даному додатку ми зібрали воєдино інформацію, що стосується портів, яка часто «розкидана» по документації і, отже, важкодоступна. Така інформація допоможе тим з наших читачів, хто захоче повністю розібратися у вихідних текстах представлених програм.

Насправді нам нема чого приховувати, хоча треба нагадати, що програми і схеми, якими читачі управляють, повинні застосовуватися виключно в особистих або експериментальних цілях. Будь-яке використання програм в комерційних цілях відповідно до закону вимагає згоди з боку автора.

Кілька замаскованих «реперних точок» завжди дозволять виявити можливі копії наших програм.


порт джойстика

Даний роз'єм, призначений для ігрової приставки, представлений на рис. 5.1. Він має 15 контактів, серед яких чотири входи логічних сигналів (для підключення кнопок), чотири аналогових входи (для потенціометрів) і чотири лінії живлення +5 В.



Мал. 5.1. Призначення контактів роз'єму джойстика


Опитування цих восьми входів проводиться простим зчитуванням порту 201h (або 513 в десятковій системі), призначення його восьми розрядів представлено на рис. 5.2.



Мал. 5.2. Призначення розрядів порту 513


Аналогові входи, взаємодія з якими здійснюється відповідно до досить складною процедурою, нам не знадобляться, тому клітини, відповідні розрядам Ь 0 - Ь 3 , закреслені.

Розряди Ь 4 - Ь 7 , навпаки, безпосередньо повідомляють про поточний стан кожного з чотирьох цифрових входів. Для виділення значення кожного розряду досить виконати логічне множення (функцію І , тобто AND ) ліченого байта на відповідну маску, тобто на байт, значення якого дорівнює вазі даного розряду. Дана операція існує в будь-якій мові програмування.


паралельні порти

Хоча порт джойстика також можна назвати паралельним (бо дані надходять в паралельному коді), цей термін традиційно закріплений за портами принтера, що носять загальну назву Centronics . Його часто називають також інтерфейс Centronics .

На рис.5.3 показано призначення висновків розеток типу DB25, використовуваних для даного інтерфейсу. Не слід плутати їх з виделками DB25 послідовних портів RS232, які ще зустрічаються поряд з роз'ємами типу DB9 (СОМ1 - COM4).



Мал. 5.3 . Висновки роз'єму інтерфейсу Centronics


Всі ПК мають первинний паралельний порт, названий LPT1, нерідко можна зустріти комп'ютери, які мають і другий порт - LPT2.

Цілком природно підключати принтер до LPT1, а для інших, менш часто використовуваних аксесуарів, скористатися LPT2. Інформаційний доступ процесора до кожного паралельного порту здійснюється через програмно-доступні регістри, які розташовуються в адресному просторі введення-виведення. Кожному порту відповідають 4 послідовних логічних адреси: BASE, BASE + 1, BASE + 2, BASE + 3. У табл. 5.1 представлені можливі значення адрес.


Таблиця 5.1. Адреси доступу до паралельних портів



Регістри з адресами BASE + 3 використовуються для управління режимами роботи відповідного порту. Їх вміст визначає конфігурацію і режими роботи порту, ними не можна маніпулювати без доброго знання принципів функціонування паралельного інтерфейсу.

Для передачі даних використовуються регістри даних, яким відповідають базові адреси (BASE). Відповідність розрядів регістрів даних і розрядів даних показано на рис. 5.4. Зазвичай регістри даних застосовуються для виведення інформації з порту, тобто процесор може тільки записувати в них інформацію.



Мал. 5.4. Призначення розрядів регістрів даних


Регістр з адресою BASE + 1, навпаки, доступний процесору тільки для читання. Лічені байт несе так звану інформацію стану порту (status). Призначення розрядів байта стану представлено на рис. 5.5.Відзначимо, що три молодших розряду ( Ь 0 - Ь 2 ) не використовуються.



Мал. 5.5. Байт стану паралельного порту


Регістри з адресами BASE + 2, звані регістрами управління, використовуються для управління вихідними функціональними лініями інтерфейсу, включаючи лінію , яка застосовується нашим кодером. На рис.5.6 показано відповідність чотирьох молодших розрядів регістра керуючим лініях паралельного порту. Чотири старших розряду ( Ь 4 - Ь 7 ) не використовуються.



Рис 5.6. Призначення розрядів регістра управління


Зазвичай на IBM PC РС-совмсстімих комп'ютерах значення десяткового базового адреси порту LPT1 - 888 (тобто 378h в шістнадцятковій системі). Для LPT2 він становить 632 (або 278h в шістнадцятковій системі). Можна зустріти комп'ютери, в яких LPT1 відповідає адреса 956 (3BCh).

При установці Мультикарти доцільно настроїти її на «справжній» LPT2, тобто з базовою адресою рівним 632.

Так, в табл. 5.2 наведені тільки найбільш часто зустрічаються адреси (BASE - BASE + 3) портів LPT 1 і LPT2, ті самі, до яких ми зверталися при розробці програм.


Таблиця 5.2. Адреси портів LРТ1 і LPT2



ФАЙЛИ, ЩО МІСТЯТЬСЯ НА САЙТІ

Крім трьох файлів з розширенням .CAR, наведених в якості зразків і дозволяють почати роботу, ще не виготовивши жодної друкованої плати, на сайті www.dmk.ru є наступним програмним забезпеченням, яке може знадобитися при читанні книги:

CARMAG.BAS

CARTOCRD.BAS

CRDTOCAR.BAS

CREMAG.BAS

DEC5.BAS

DEC7.BAS

INVERT.BAS

JUSTCAR.BAS

LECTISO1.BAS

LECTISO2.BAS

LECTISO3.BAS

LRCMAG.BAS

LUHN.BAS

LUHNCHK.BAS

PARITY.BAS

VERMAG.BAS

TEST5.CAR

TEST7.CAR

VISA.CAR

CARMAG.EXE

CARTOCRD.EXE

CRDTOCAR.EXE

CREMAG.EXE

DEC5.EXE

DEC7.EXE

INVERT.EXE

JUSTCAR.EXE

LECT210.EXE

LECT75.EXE

LECTISOl.EXE

LECTISO2.EXE

LECTISO3.EXE

LRCMAG.EXE

LUHN.EXE

LUHNCHK.EXE

MAGLPT1.EXE

MAGWRITE.EXE

MAKELPT1.EXE

MAKESYNC.EXE

PARUTY.EXE

VERMAG.EXE

LECT210.PAS

LECT75.PAS

MAGLPT1.PAS

MAGWRITE.PAS

MAKELPT1.PAS

MAKESYNC.PAS

Всі вихідні тексти дані як на GWBASIC (файли з розширенням. BAS), так і на Turbo Pascal (файли з розширенням .PAS), що дозволить читачам виробляти будь-які трансформації при наявності необхідного інструментарію програмування для цих двох мов (інтерпретатор GWBASIC , компілятор Turbo Pascal і компілятор Turbo Basic ).

Кожна програма також предсгавлена ​​в формі виконуваного файлу (файли. EXE), які можна запустити безпосередньо з командного рядка DOS. При виникненні проблем будь-якого роду, пов'язаних з програмами на BASIC, слід повернутися до вихідної версії (.BAS), щоб належним чином проаналізувати ситуацію.


АНАЛОГИ ЗАКОРДОННИХ ЕЛЕКТРОННИХ КОМПОНЕНТІВ

Таблиця 5.3. Аналоги зарубіжних електронних компонентів


* * *




Зміст

  • Передмова
  • 1. Магнітні носії інформації
  • 2. Стандартизація магнітних карт
  • 3. Зчитування і перевірка
  • 4. Копіювання, кодування, стирання
  • 5. Додатки
  • Мировая и отечественная история любительской радиосвязи

    Радиоцензура

    Антенны

    Шпионские штучки

    Металлоискатели

    Как освоить радиоэлектронику с нуля

    Самоучитель по радиоэлектронике

    Ваш радиоприемник

    Усилители и радиоузлы

    Телеграф и телефон

    А. С. Попов и советская радиотехника

    Радиоэлектроника в нашей жизни

    Магнитные карты и ПК

    Цветное телевидение?.. Это почти просто!

    Видеокамеры и видеорегистраторы для дома и автомобиля

  • Обновлено 03.01.2017 07:56
     
    Для тебя
    Читай
    Товарищи
    Друзья