Шрифт:
Рис. 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. Перечень элементов декодера
< image l:href="#"/>Несмотря на то что промышленные считывающие устройства для магнитных карт или считывающие устройства, построенные по нашим рекомендациям, могут быть использованы практически с любым процессором, мы разработали программы, позволяющие выполнять все вышеназванные исследования как обычно, на 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, в котором должна быть соответствующая запись, либо просто скопирована в текущую директорию.