Реклама:

Автоматическая расшифровка полезной информации из ATR может быть выполнена с помошью второй программы - DECART. BAS, использующей данные, которые сохранены в файле ATR. CAR, сгенерированном первой программой (текст ASCII, соответствующий ATR

Таблица 6.3. Расшифровка ответов на сброс

Расшифровка ответа на сброс

Пример 2: банковская карта

Расшифровка ответа на сброс

Стартовый символ - определяет формат в двоичной форме). Значение TBI определяет величину внешнего напряжения Vpp, которое должно быть подано на карту для осуществления операции записи в память, а также задает тип протокола (Т), который следует использовать для продолжения диалога.

10 НЕЙ - OECATR.BAS -20 KEY OFF :CLS

30 PRIHT"Расшифровка ответа на сброс (ATR.CAR)""

40 ОРЕМ "ATfl.CAfl"" FOR INPUT AS "1

50 DIM B(L0F(1)/2)

60 F=1"PRINT :PRINT

70 WHILE MDT E0F(1)

80 INPUTJ1.N "B(F)=M

90 F=FH

100 WEND

110 V=0

120 FDR F=1 ТО 8

130 IF B(F)=1 THEN V=V*2"(8-F)

110 NEXT F

150 IF V="H3F THEN PRINT 'Карта с обратным форматом связи (3FI))" .GOTO 180 160 IF V=JH3B THEN PRINT'KapTa с прямым форматом связи (ЭВМ" :G0TO 180 170 PRINT-Файл не соответствует IS07816" :ВЕЕР :PRINT :PRIMT END 180 PRINT :K=0 190 FOR F=0 TO 3

200 IF B(13+F)=1 THEN K=K+2"(3-F) 210 HEXT F 220 Z=17

230 IF B(T2)=1 THEN GOSUB 290

240 IF B(11)=1 THEN GOSDB 350

250 IF B(10)=1 THEN GOSUB 520

260 IF B(9)=1 THEN GOSUB 580 ELSE GOSUB 680

270 PRINT :PRINT"B ATR исторических символов ';K

280 PRINT :PRINT :PBINT :END

290 REM - TA1 -

300 PRINT'TAI =-;

310 FOR F=Z TO Z+7

320 PRINT B(F); rNEXT F

330 PRINT" (Возможные пределы: тактовая частота, скорость связи)'

340 Z=Z+8:RETURM

350 REM - Т81 -

360 PfilMT'TBl =";

370 FOR F=Z TO Z+7

380 PRINT B(F); '.NEXT F

390 PP=0

400 FOR F=Z+3 TO Z+7

410 IF B(F)=1 THEN PP=PP+2"(Z+7-F)

420 HEXT F

430 PRINT" (Vpp ";

440 IF PP=0 THEN РВШ"внутренний)" '.GOTO 510

450 PRINT'=";PP;"вольт";

460 I=B(Z+2)+a-B(Z+1)

470 IF 1=0 THEN PRINT" 25 MA)'

4B0 IF 1=1 THEN PRINT" 50 иА)"

490 IF 1=2 THEN PRINT" 100 MA)~

500 IF 1=3 THEN PRINT" 200 мА)"

510 Z=Z+8:RETURM

520 REN - TC1 -

530 PRINT"TC1 =":

540 FOR F=Z TO Z+7

550 PRINT B(F);:NEXT F

560 PBINT'(Защитная временная задержка)'

570 Z=Z+8: RETURN

580 REM - T01 -590 PMNT-TD1 = . 600 FOR F=Z TO 2+7 610 PRINT B(F)::NEXT F 620 T=0

630 FOB F=Z+4 TO Z+7

640 IF B(F)=1 THEN T=T"2"(Z+7-F)

650 NEXT F

660 PRINT"(Ochobhoü протокол : T =";T; ')"

670 Z=Z+8:RETURM

680 PR1MT :PRINT" Протокол T=0"

890 RETURN

700 REM (c)T99( Patrick GUEULLE

Наиболее распространенный случай - Т = О, что вполне естественно, так как это первый полудуплексный протокол, полностью определенный стандартом ISO 7816-3 (условие 8). Т = О принято применять по умолчанию (то есть тогда, когда не указывается другой тип протокола), и поэтому он поддерживается описываемыми программами. Его особенность - осуществление передачи байт за байтом.

В последних разработках предпринимаются попытки использования протокола Т = 1, основанного на передаче информации блоками, а стало быть, потенциально более быстродействующего. Т = 4

Расшифровка ответа на сброс

Рис. 6.6. Пример протокола Т= 14

зарезервирован под улучшенный полудуплексный протокол, а Т = 2 и Т = 3 соответствуют дуплексным протоколам, которые пока лишь разрабатываются. Т = 14 объединяет все остальные протоколы, не стандартизованные ISO. На рис. 6.6 представлен один из немногих известных протоколов такого типа.

Присутствие символа TAI может свидетельствовать о том, что карта работает с нестандартной тактовой частотой и/или на скорости обмена, отличной от 9600 бит/с. В подобных случаях следует обратиться к стандарту ISO 7816, чтобы определить, совместим ли этот протокол с используемым устройством чтения-записи. При помощи символа ТС1 можно добавить защитную задержку, то есть определять промежуток времени, который следует выдерживать между передачей двух поел довательных байтов.

Чтение ответа на сброс || Оглавление || Диалог с картами