МИКРОКОНТРОЛЛЕРЫ
lim
НОЯБРЬ
использования диодов Ш оттки никаких проблем не
было. С другой стороны, цена диода Шоттки не так ве-
лика, каждый сам для себя может оценить этот риск.
При реализации этой схемы еще необходимо учесть
один момент. До тех пор, пока управляющий PC - это
персональный компьютер, напряжение питания портов
осуществляется от блока питания. При применении пор-
тативных компьютеров очень часто для питания портов
используют зарядное устройство. Зарядное устройство
имеет большое внутреннее сопротивление и является
источником тока. Если отключить зарядное устройство,
то напряжение питания портов упадет и, соответствен-
но, приведет к уменьшению амплитуды выходных сиг-
налов. Таким образом, питание электронного чипа кар-
ты может стать проблематичным. В этом случае увели-
чение питаю щ его напряж ения можно осущ ествить
уменьшением сопротивления ограничительного резис-
тора R2. Уменьшение сопротивления R2 должно произ-
водиться очень осторожно, так как выходной ток порта
выше 10 мА, особенно при отрицательном импульсе,
для некоторых схем драйверов уже может быть крити-
ческим. Замена драйвера RS-232C в портативном ком-
пьютере не может быть отнесена к дешевым работам.
Лучше, если все обойдется без этого. Емкость С1, в цепи
питания электронного чипа, служит для обеспечения
стабильного питающего напряжения.
Сигналы SDA и SCL служат для организации обме-
на данными по ЕС. Номиналы ограничительных резис-
торов R1, R3 в их цепях выбраны из условия ограниче-
ния выходного тока интерфейса меньше 2 мА и служат
для предотвращения опасности перегрузки драйвера.
В данном случае отсутствуют проблемы, связанные с
уровнями входных и выходных сигналов.
Для организации обмена данными по PC использу-
ются два вывода - SCL и SDA.
С вывода SCL осуществляется синхронизация пере-
даваемых данных. Сигнал на SCL заводится от вывода
DCD последовательного интерфейса RS-232C. Канал
SCL является однонаправленным.
Вывод SDA образовывает информационный канал,
для передачи данных по PC. В отличии SCL информа-
ционный канал является двунаправленным. На SDA за-
водятся два сигнальных вывода DTR и RTS, служащие
для передачи и приема данных соответственно. При
приеме данных на выводе RTS уровень логического нуля
в соответствии с паспортными данными для порта на-
ходится значительно ниже, однако, так как в большин-
стве случаев в схеме вход образован входным транзис-
тором, то он уже при уровне входного напряжения мень-
ше 0,7 В стабильно закрывается.
Схема считывающего устройства приведена на
рис. 1.
Программное обеспечение
По аналогии с простотой реализации аппаратной ча-
сти устройства, должно быть максимально просто реа-
лизовано и программное обеспечение. До сих пор од-
ним из наиболее распространенных языков программи-
рования является Turbo Pascal. Поэтому для написания
программного обеспечения считывающего устройства
был выбран именно этот язык.
Для организации задержки в Turbo Pascal использу-
ется процедура Delay. При использовании современных
компьютеров с высокой тактовой частотой процессора
процедура Delay не обеспечивает необходимую задер-
жку. Поэтому, если возникнут проблемы, необходимо
увеличить параметр задержки в процедуре Delay.
В первую очередь программное обеспечение долж-
но обеспечивать питание электронного чипа карточки.
Для этого на выводе TD последовательного интерфей-
са должен появиться высокий уровень. После его дей-
ствия (несколько миллисекунд) конденсатор С1 заря-
жен, и у порта есть рабочее напряжения для питания
электронного чипа карты. Для обеспечения более ста-
бильного питающего напряжения необходимо увеличи-
вать длительность положительного импульса. Длитель-
ностью этого импульса можно управлять с помощью
процедуры задержки Delay в основной программе.
Следующим этапом программное обеспечение дол-
жно обеспечить обмен данными по протоколу ЕС. Для
этого используются внутренние подпрограммы старта и
остановки, чтения и записи последовательных данных.
Это процедуры Start и Stop, Dump и Schreiben. Ввод и
чтение значений данных и соответственно адресов дол-
жен производиться в привычной для программирования
форме - шестнадцатеричной. Для этого внутренняя под-
программа Wand осуществляет перевод из десятичной
системы счисления в шестнадцатеричную.
Следующей функцией является инициализация PC
шины. Для ее инициализации используется процедура
12С_Init.
В меню программы предусмотрено одно из действий:
1. Чтение;
2. Запись;
3. Выход.
При выборе “Чтение” происходит чтение всего со-
держания электронного чипа карточки.
Для чтения байта данных карточки сразу необходи-
мо послать команду “Выбор ячейки для чтения". Для
этого посылается код этой команды OAOhex, затем ад-
рес выбранной ячейки. После этого происходит подго-
товка к чтению, заключающаяся в выполнении проце-
дур Stop и Start. После чего посылается код команды
O Alhex “Чтение ячейки” и функция Einlesen осуществ-
ляет прием байта значения данных с установленного
адреса. Адресное пространство карточки составляет
256 байт. Таким образом, изменяя значения адреса в
цикле и повторяя вышеизложенные операции, осуще-
ствляется чтение всех ячеек данных электронного чипа
карточки.
Процедура "Запись" позволяет обращаться к отдель-
ным ячейкам и производить их изменение. При вызове
данной процедуры производится запрос адреса ячей-
ки, куда будем писать, затем - какое значение. Даль-
нейшая работа данной процедуры осуществляется по
аналогии с процедурой "Чтение".
Эта программа демонстрирует простоту и функцио-
нальность и должна послужить для собственных экспе-
риментов, связанных с записью и чтением карточек с
электронным чипом по 1
2
С.
Описанная выше программа испытывалась на PC
PentiumMM X-233. При использовании более быстрых
компьютеров, возможно, придется изменить временные
задержки. Только это может повлиять на работу про-
граммы.
Текст программы на языке Turbo Pascal приведен
ниже.
Литература
1. Katalog 2001, s. 229. ELV Chipkartenleser 10-373-06,
Firmenschrift ELV.
2. Funkamater, 10/2001, s. 1100.
..1102.
11/2002
предыдущая страница 29 Радиолюбитель 2002-11 читать онлайн следующая страница 31 Радиолюбитель 2002-11 читать онлайн Домой Выключить/включить текст