ГОСТ Р ИСО/МЭК 7816-3-2013
Группа Э46
НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
Карты идентификационные
КАРТЫ НА ИНТЕГРАЛЬНЫХ СХЕМАХ
Часть 3
Карты с контактами. Электрический интерфейс и протоколы передачи
Identification cards. Integrated circuit cards. Part 3. Cards with contacts. Electrical interface and transmission protocols
ОКС 35.240.15
ОКП 40 8470
Дата введения 2015-01-01
Предисловие
1 ПОДГОТОВЛЕН Федеральным государственным унитарным предприятием "Всероссийский научно-исследовательский институт стандартизации и сертификации в машиностроении" (ВНИИНМАШ) и Техническим комитетом по стандартизации ТК 22 "Информационные технологии" на основе собственного аутентичного перевода на русский язык стандарта, указанного в пункте 4
2 ВНЕСЕН Техническим комитетом по стандартизации ТК 22 "Информационные технологии"
3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 22 ноября 2013 г. N 1629-ст
4 Настоящий стандарт идентичен международному стандарту ИСО/МЭК 7816-3:2006* "Карты идентификационные. Карты на интегральных схемах. Часть 3. Карты с контактами. Электрический интерфейс и протоколы передачи" (ISO/IEC 7816-3:2006 "Identification cards - Integrated circuit cards - Part 3: Cards with contacts - Electrical interface and transmission protocols").
________________
* Доступ к международным и зарубежным документам, упомянутым здесь и далее по тексту, можно получить, перейдя по ссылке на сайт . - .
При применении настоящего стандарта рекомендуется использовать вместо ссылочных международных стандартов соответствующие им национальные стандарты Российской Федерации, сведения о которых приведены в дополнительном приложении ДА
5 ВЗАМЕН ГОСТ Р ИСО/МЭК 7816-3-2006
6 Некоторые положения международного стандарта, указанного в пункте 4, могут являться объектами патентных прав. Международная организация по стандартизации (ИСО) и Международная электротехническая комиссия (МЭК) не несут ответственности за идентификацию подобных патентных прав
Правила применения настоящего стандарта установлены в ГОСТ Р 1.0-2012 (раздел 8). Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе "Национальные стандарты", а официальный текст изменений и поправок - в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (gost.ru)
Введение
Введение
Настоящий стандарт - один из серии стандартов, описывающих параметры карт на интегральных схемах с контактами и их применение для обмена информацией.
Идентификационные карты предназначены для обмена информацией между внешним источником и интегральной схемой карты. При этом карта предоставляет информацию (результаты вычислений, хранимые данные) и/или изменяет свое содержимое (память данных, память событий).
Пять стандартов из серии ИСО/МЭК 7816 относятся к картам с гальваническими контактами, а три из них определяют электрический интерфейс:
ИСО/МЭК 7816-1 - определяет физические характеристики карт с контактами;
ИСО/МЭК 7816-2 - определяет размеры и расположение контактов;
ИСО/МЭК 7816-3 - определяет электрический интерфейс и протоколы передачи для асинхронных карт;
Примечание - В первом и втором изданиях ИСО/МЭК 7816-3 определено использование контакта С6 для обеспечения карты возможностью программирования (записи или удаления внутренней энергонезависимой памяти). Поскольку все карты, произведенные с 1990 г. имеют возможность программирования, то третье издание исключает такое использование контакта С6 и связанных с ним сигналов в Ответе-на-Восстановление и проверок в протоколе передачи.
ИСО/МЭК 7816-10 - определяет электрический интерфейс и ответ на восстановление для синхронных карт;
ИСО/МЭК 7816-12 - определяет электрический интерфейс и рабочие процедуры для USB карт.
Все другие стандарты данной серии не зависят от технологии физического интерфейса. Они применяются к картам, доступ к которым осуществляется с помощью одного или нескольких методов: с помощью контактов, методом близкого действия и радиочастоты:
ИСО/МЭК 7816-4 - определяет организацию, защиту и команды для обмена информацией;
ИСО/МЭК 7816-5 - определяет регистрацию провайдеров прикладных программ;
ИСО/МЭК 7816-6 - определяет элементы данных для межотраслевого обмена;
ИСО/МЭК 7816-7 - определяет команды для языка структурированных запросов для карты;
ИСО/МЭК 7816-8 - определяет команды, обеспечивающие операции по защите информации;
ИСО/МЭК 7816-9 - определяет команды для управления картами;
ИСО/МЭК 7816-11 - определяет верификацию личности биометрическими методами;
ИСО/МЭК 7816-13 - определяет команды для управления приложением в мульти-прикладной среде.
ИСО/МЭК 7816-15 - определяет приложение с криптографической информацией.
ИСО/МЭК 10536 определяет доступ при помощи поверхностного действия. ИСО/МЭК 14443 и ИСО/МЭК 15693 определяют радиочастотный доступ. Такие карты известны так же как бесконтактные карты.
ИСО и МЭК обращают внимание на заявление о том, что соответствие настоящему стандарту может включать использование патентов.
ИСО и МЭК не занимают никакой позиции относительно наличия, действительности и области применения данных патентных прав.
Обладатели данных патентных прав заверили ИСО и МЭК, что они готовы вести переговоры с претендентами со всего мира о предоставлении лицензии на разумных и недискриминационных условиях, включая сроки. Это заявление обладателей данных патентных прав зарегистрировано в ИСО и МЭК. Информацию можно получить у следующей компании:
Владелец патента | Номер патента | Подробности | Иностранный эквивалент |
Toshiba Corporation Intellectual Property Division 1-1, Shibaura 1-Chome Minato-ku, Tokyo 105-8001, Japan | JPN 2537199 | Карты на интегральных схемах (дата приоритета: 1986-06-20; дата опубликования: 1996-07-08) | FRA 8708646, FRA 8717770 |
USA 5161231 | Система обработки данных, которая передает заранее заданный код ошибки на основании обнаружения некорректного кода передачи (дата приоритета: 1991-01-12; дата опубликования: 1992-11-03) | FRA 8713306, FRA 9209880 |
Следует обратить внимание на тот факт, что некоторые положения настоящего стандарта, помимо тех, что определены выше, могут быть также объектами патентных прав. ИСО и МЭК не несут ответственности за идентификацию всех или некоторых таких прав.
ИСО/МЭК 7816-3 подготовлен подкомитетом N 17 "Карты и идентификация личности" совместного технического комитета N 1 ИСО/МЭК "Информационные технологии" (ISO/IEC JTC 1/SC 17).
1 Область применения
Настоящий стандарт устанавливает требования к энергетическим и сигнальным структурам и обмену информацией между картой на интегральных схемах (далее - карта) и устройством сопряжения, например терминалом.
В настоящем стандарте определены скорости передачи сигналов, уровни напряжений, значения токов, условие четности, рабочая процедура, механизмы передачи и коммуникации с картой.
В настоящем стандарте не рассматриваются содержание команд и информация об идентификации эмитентов и пользователей, услугах и ограничениях, средствах защиты, протоколировании и описании команд.
2 Нормативные ссылки
В настоящем стандарте использованы ссылки на следующие стандарты* (для датированных ссылок следует использовать только указанное издание, для недатированных ссылок - последнее издание указанного документа, включая все поправки):
________________
* Таблицу соответствия национальных стандартов международным см. по ссылке. - .
ИСО/МЭК 7816-2 Карты идентификационные. Карты на интегральных схемах. Часть 2. Карты с контактами. Размеры и расположение контактов (ISO/IEC 7816-2, Identification cards - Integrated circuit cards - Part 2: Cards with contacts - Dimensions and location of the contacts)
ИСО/МЭК 7816-4 Карты идентификационные. Карты на интегральных схемах. Часть 4. Организация, защита и команды для обмена (ISO/IEC 7816-4, Identification cards - Integrated circuit cards - Part 4: Organization, security and commands for interchange).
3 Термины и определения
В настоящем стандарте применены следующие термины с соответствующими определениями:
3.1 блок (block): Строка байтов, включающая в себя два или три поля, определенных как поле пролога, информационное поле и поле эпилога.
3.2 класс рабочих условий (class of operation conditions): Совокупность значений напряжений и тока.
3.3 "холодное" восстановление (cold reset): Первое восстановление после активизации.
3.4 адрес узла назначения (destination node address): Часть байта с адресами узлов, определяющего санкционированного получателя блока.
3.5 элементарная единица времени (elementary time unit): Номинальная длительность момента в пределах асинхронного знака.
3.6 поле эпилога (epilogue field): Конечное поле в блоке, передающее код с обнаружением ошибки.
3.7 идентификационная карта (identification card): Карта, которая содержит данные о ее держателе и эмитенте и может содержать сведения, необходимые в качестве входных данных для применения карты в соответствии с ее назначением и выполнения транзакций.
[ИСО/МЭК 7810]
3.8 информационный блок (information block): Блок, основным назначением которого является передача информации прикладного уровня.
3.9 информационное поле (information field): Поле блока, передающее данные (в общем случае данные приложения).
3.10 устройство сопряжения (interface device): Терминал, устройство коммуникации или машина, с которыми карта образует электрическое соединение во время функционирования.
3.11 байт длины (length byte): Часть поля пролога, кодирующая число байтов в информационном поле блока.
3.12 байт с адресами узлов (node address byte): Часть поля пролога, указывающая адрес назначения и адрес источника блоков.
3.13 рабочая карта (operating card): Карта, которая может безошибочно выполнять все свои функции.
3.14 процедурный байт (procedure byte): Байт, отправленный картой для указания последовательности команд при Т=0 и контроля обменом байтами данных.
3.15 поле пролога (prologue field): Первое поле блока, состоящее из трех байтов, определенных как байт с адресами узлов, байт управления протоколом и байт длины.
3.16 байт управления протоколом (protocol control byte): Часть поля пролога, кодирующая информацию по управлению передачей.
3.17 блок готовности к приему (receive ready block): Блок, передающий номер ожидаемого l-блока, используемый в качестве положительного или отрицательного подтверждения приема.
3.18 избыточный код (redundancy code): Содержимое поля эпилога, вычисленное на основе всех байтов в поле пролога и информационного поля.
3.19 адрес исходного узла (source node address): Часть байта с адресами узлов, идентифицирующая отправителя блока.
3.20 контролирующий блок (supervisory block): Блок, передающий информацию, относящуюся к управлению передачей.
3.21 управление передачей (transmission control): Функция, используемая для управления передачей данных между устройством сопряжения и картой, включая блок передачи с управлением очередности, синхронизацией и устранением ошибок, возникающих при передаче.
3.22 "горячее" восстановление (warm reset): Любое восстановление, не являющееся "холодным".
4 Обозначения и сокращения
В настоящем стандарте применены следующие обозначения и сокращения:
А, В, С - классы рабочих условий;
APDU - application protocol data unit (блок данных прикладного протокола);
BGT - block guard time (разграничительный интервал блока);
BWI - block waiting time integer (время ожидания блока, целое число);
BWT - block waiting time (время ожидания блока);
CGT - character guard time (разграничительный интервал знака);
- input capacitance (входная емкость);
CLA - class byte (байт класса);
CLK - clock contact (сигнал синхронизации);
- output capacitance (выходная емкость);
CRC - cyclic redundancy code (циклический избыточный код);
CWI - character waiting time integer (время ожидания знака, целое число);
CWT - character waiting time (время ожидания знака);
(С(6) С(7)) - значение сцепления байтов С(6) и С(7) (первый байт является самым старшим);
D - регулировка скорости в бодах, целое число;
DAD - destination node address (адрес узла назначения);
Dd, Di, Dn - значения по умолчанию, указываемые значения и согласованные значения D;
etu - elementary time unit (элементарная единица времени);
F - изменение синхронизирующей частоты, целое число;
f - значение частоты синхронизирующего сигнала, подаваемого на карту с помощью устройства сопряжения;
Fd, Fi, Fn - значения по умолчанию, указываемые значения и согласованные значения F;
GND - ground contact (заземляющий контакт);
GT - guard time (разграничительный интервал);
- состояние с высоким уровнем напряжения;
l-block - information block (информационный блок);
- ток на VCC;
IFS - maximum information field size (максимальный размер информационного поля);
IFSC - IFS для карты;
IFSD - IFS для устройства сопряжения;
- входной ток высокого уровня;
- входной ток низкого уровня;
INF - information field (информационное поле);
INS - instruction byte (командный байт);
- выходной ток высокого уровня;
- выходной ток низкого уровня;
I/O - контакт ввода/вывода;
L - состояние с низким уровнем напряжения;
field - поле длины для кодирования числа ;
L field - поле длины для кодирования числа ;
LEN - length byte (байт длины);
LRC - longitudinal redundancy code (продольный избыточный кодом);
N - extra guard time integer (дополнительный разграничительный интервал, целое число);
NAD - node address byte (байт с адресами узлов);
- точное количество доступных байтов данных;
- число байтов в поле данных команды;
- максимальное число байтов, ожидаемых в поле данных ответа;
- число оставшихся байтов данных;
- число байтов в поле данных ответа;
- число дополнительных доступных байтов данных;
OSI - open systems interconnection (взаимодействие открытых систем);
РСВ - protocol control byte (байт управления протоколом);
PPS - protocol and parameters selection (выбор протокола и параметров);
Р1 Р2 - байты параметров;
R-block - receive ready block (блок готовности к приему);
RFU - зарезервировано для использования в будущем;
RST - reset contact (вход сигнала восстановления);
SAD - source node address (адрес исходного узла);
S-block - supervisory block (контролирующий блок);
SPU - standard or proprietary use contact (контакт стандартного или проприетарного назначения);
состояние Н - высокий логический уровень;
состояние L - низкий логический уровень;
SW1 SW2 - байты состояний;
Т - тип;
Т=0 - полудуплексная передача знаков;
Т=1 - полудуплексная передача блоков;
ТА, ТВ, ... - байты интерфейса;
ТСK - check character (контрольный знак);
- время спада амплитуды сигнала с 90% до 10%;
TPDU - transmission protocol data unit (блок данных протокола передачи);
- время нарастания амплитуды сигнала с 10% до 90%;
TS - initial character (начальный знак);
Т0 - байт формата;
, , ... - байты предыстории;
- напряжение на VCC;
- входное напряжение высокого уровня;
- входное напряжение низкого уровня;
- выходное напряжение высокого уровня;
- выходное напряжение низкого уровня;
Примечание - В соответствии с [1], символы , , , и заменяют прежние символы , , , и .
VCC - supply power contact (цепь подачи электропитания);
WI - waiting time integer (время ожидания, целое число);
WT - waiting time (время ожидания);
WTX - waiting time extension (продление времени ожидания);
X - индикатор остановки синхронизации;
Y - индикатор класса;
'XV' - шестнадцатеричная запись, использующая числа от '0' до '9' и от 'А' до 'F', XY - число по основанию 16.
5 Электрические характеристики
5.1 Общие положения
5.1.1 Назначение контактов
Размеры и расположения контактов должны быть по ИСО/МЭК 7816-2.
Настоящий стандарт поддерживает, как минимум, следующие контакты:
- С1: вход электропитания (VCC, см. 5.2.1);
- С2: вход сигнала восстановления (RST, см. 5.2.2);
- С3: вход сигнала синхронизации (CLK, см. 5.2.3);
- С5: заземление (GND, опорное напряжение);
- С6: стандартное или проприетарное назначение (SPU, см. 5.2.4);
- С7: ввод или вывод данных, передаваемых последовательно (I/O, см. 5.2.5).
Примечание - В настоящем стандарте использование контакта С6 для обеспечения карты возможностью программирования не рекомендовано, т.к. все карты, произведенные с 1990 г., имеют внутренние возможности программирования.
5.1.2 Условия измерений
По определению, когда карта и устройство сопряжения механически соединены, каждый контакт карты и соответствующий контакт устройства сопряжения соединены электрической цепью.
Все измерения в электрической цепи проводят относительно контакта GND при температуре окружающей среды от 0 °С до 50 °С. Любой ток, подающийся на карту, принимают за положительный. Все временные соотношения измеряют применительно к соответствующим пороговым уровням.
По определению электрическую цепь карты рассматривают как неактивную, если напряжение относительно контакта GND остается от 0 до 0,4 В для токов менее 1 мА, подаваемых на устройство сопряжения.
5.1.3 Классы рабочих условий
Настоящий стандарт устанавливает три класса рабочих условий, различаемые по номинальному напряжению питания, подаваемому на карту устройством сопряжения через контакт VCC:
- 5 В - класс А;
- 3 В - класс В;
- 1,8 В - класс С.
Карта должна поддерживать один или более классов. Если устройство сопряжения применяет класс, поддерживаемый картой, то карта должна функционировать в соответствии с назначением.
Если карта поддерживает более одного класса, то эти классы должны быть последовательными.
Если устройство сопряжения предлагает более одного класса, то используется порядок, в соответствии с которым эти классы будут применяться. Описание данного порядка в настоящем стандарте не рассматривается.
Карта не должна повреждаться, если устройство сопряжения предлагает класс, не поддерживаемый картой (по определению поврежденная карта больше не функционирует в соответствии с назначением или содержит искаженные данные).
5.2 Контакты
5.2.1 VCC (C1)
Контакт VCC используют для подачи в карту электропитания.
Таблица 1 - Электрические характеристики VCC при нормальных рабочих условиях
Обозначение | Условия | Минимальное значение | Максимальное значение | Единица измерения |
Класс А | 4,5 | 5,5 | В | |
Класс В | 2,7 | 3,3 | ||
Класс С | 1,62 | 1,98 | ||
Класс А при максимально допустимой частоте | - | 60 | мА | |
Класс В при максимально допустимой частоте | - | 50 | ||
Класс С при максимально допустимой частоте | - | 30 | ||
При остановленной синхронизации (см. 6.3.2) | - | 0,5 | ||
Примечание - Значение тока усреднено по 1 мс. |
Для карты определяют максимальное значение тока. Устройство сопряжения должно поддерживать это значение тока в указанном диапазоне для значения напряжения или оно может поддерживать большее значение. Источник электропитания должен поддерживать значение напряжения в указанном диапазоне, несмотря на наличие переходных процессов в соответствии с таблицей 2.
Таблица 2 - Выбросы
Класс | Максимальный заряд, нА·с | Максимальная длительность, нc | Максимальное отклонение ICC, мА |
А | 20 | 400 | 100 |
В | 10 | 400 | 50 |
С | 6 | 400 | 30 |
Максимальный заряд - половина произведения максимальной длительности на максимальное отклонение. |
5.2.2 RST (C2)
Контакт RST используют для подачи в карту сигнала восстановления (см. 6.2.2 ("холодное" восстановление) и 6.2.3 ("горячее" восстановление)).
Таблица 3 - Электрические характеристики RST при нормальных рабочих условиях
Обозначение | Условия | Минимальное значение | Максимальное значение | Единица измерения |
0,80 | В | |||
-20 | + 150 | мкА | ||
0 | 0,12 | В | ||
-200 | + 20 | мкА | ||
, | 30 пФ | - | 1 | мкс |
Примечание - Напряжение на RST должно оставаться от - 0,3 В до +0,3 В. |
5.2.3 CLK (C3)
Контакт CLK используют для подачи в карту сигнала синхронизации. Фактическое значение частоты сигнала синхронизации обозначается f. Минимальное значение должно быть 1 МГц. Во время активации (см. 6.2.1) и в режиме "холодного" восстановления (см. 6.2.2) максимальное значение должно составлять 5 МГц. Максимальные значения, которые поддерживает карта, приведены в таблице 7.
Если не определено иное, рабочий цикл сигнала синхронизации должен составлять от 40% до 60% его периода. При переключении частоты с одного значения на другое длительность импульса должна составлять не менее 40% самого короткого допускаемого картой периода (см. максимальное значение частоты в таблице 7). При переключении значения частоты не должен происходить обмен информацией. Рекомендуются два различных момента для переключения значения частоты:
- после завершения ответа на восстановление (см. 8.1), пока карта находится в ожидании знака, либо
- после успешного PPS-обмена (см. 9.3), пока карта находится в ожидании знака.
Таблица 4 - Электрические характеристики CLK при нормальных рабочих условиях
Обозначение | Условия | Минимальное значение | Максимальное значение | Единица измерения |
0,70 | В | |||
-20 | +100 | мкА | ||
Класс А и класс В | 0 | 0,5 | В | |
Класс С | 0 | 0,2 | В | |
-100 | +20 | мкА | ||
, | 30 пФ | - | 9% периода | - |
Примечание - Напряжение на CLK должно оставаться от - 0,3 В до +0,3 В. |
5.2.4 SPU (C6)
Контакт SPU можно использовать для стандартного и для проприетарного назначения, как вход и(или) выход.
В зависимости от того, использует ли карта SPU или нет, первый ТВ для Т=15 должен присутствовать или отсутствовать в Ответе-на-Восстановление: данный глобальный байт интерфейса (см. 8.3) указывает, является ли назначение стандартным или проприетарным. ИСО/МЭК СТК1/ПК 17 зарезервировал стандартное назначение для использования в будущем.
Если карта питается напряжением VCC и контакт С6 соединен с устройством сопряжения, то напряжение должно оставаться от - 0,3 В до +0,3 В.
Карта не должна быть повреждена устройством сопряжения, если контакт С6 соединен с VCC или GND. При этом устройство сопряжения должно соответствовать требованиям ИСО/МЭК 7816-3:1997.
5.2.5 I/O (C7)
Контакт I/O используют для ввода (режим приема) или вывода (режим передачи) данных. Обмен информацией через контакт I/O осуществляется при следующих двух состояниях электрической схемы:
- состояния Н, если карта и устройство сопряжения находятся в режиме приема или если это состояние задается передатчиком;
- состояния L, если оно задается передатчиком.
Если карта и устройство сопряжения находятся в режиме приема, то электрическая схема должна находиться в состоянии Н. Если карта и устройство сопряжения находятся в несогласованном режиме передачи, то состояние электрической схемы может быть неопределенным. Устройство сопряжения и карта во время работы не должны одновременно находиться в режиме передачи.
Устройство сопряжения должно быть способно поддерживать заданный диапазон значений входных токов, когда значение входного напряжения находится в допускаемом диапазоне. Импеданс устройства сопряжения не должен влиять на значение выходного напряжения на контакте I/O.
Таблица 5 - Электрические характеристики I/O при нормальных рабочих условиях
Обозначение | Условия | Минимальное значение | Максимальное значение | Единица измерения |
0,70 | В | |||
-300 | +20 | мкА | ||
0 | 0,15 | В | ||
-1000 | +20 | мкА | ||
Внешнее сопротивление: 20 кОм относительно | 0,70 | В | ||
и внешнее сопротивление: 20 кОм относительно | - | +20 | мкА | |
1 мА для класса А или В | 0 | 0,15 | В | |
, | 30 пФ; 30 пФ | - | 1 | мкс |
Примечание - Напряжение на I/O должно оставаться от - 0,3 В до +0,3 В. |
6 Рабочая процедура карты
6.1 Принципы
Электрические цепи не должны активизироваться до тех пор, пока контакты карты не соединятся механически с контактами устройства сопряжения. Взаимодействие между устройством сопряжения и картой должно включать в себя следующие последовательные операции, описанные в последующих подразделах:
- устройство сопряжения должно использовать класс рабочих условий для электрической цепи, а именно: активацию, "холодное" восстановление и, возможно, одно или более "горячих" восстановлений. Если карта поддерживает класс, то она должна ответить на восстановление в соответствии с разделом 8. Устройство сопряжения заканчивает действие завершенным и действительным Ответом-на-Восстановлением и классом рабочих условий. Устройство сопряжения должно быть в состоянии повторить всю операцию;
- для обмена информацией карта и устройство сопряжения должны быть согласованы по протоколу передачи и значениям параметров передачи. В разделе 10 определены Т=0, полудуплексная передача знака с устройством сопряжения в качестве управляющего устройства, в разделе 11 - Т=1, полудуплексная передача блоков, в разделе 12 - передача пары команда-ответ при Т=0 и Т=1. Когда от карты не ожидают передачи (например, после обработки пары команда-ответ или до инициализации следующей), устройство сопряжения может остановить сигнал синхронизации, если карта поддерживает останов синхронизации;
- устройство сопряжения должно выполнить деактивацию электрических цепей.
Деактивация электрических цепей в заданной последовательности должна завершиться прежде, чем произойдет механическое разъединение контактов карты и контактов устройства сопряжения.
6.2 Активация, восстановление и выбор класса
6.2.1 Активация
Для того чтобы инициировать взаимодействие с картой, с которой имеется механическое соединение, устройство сопряжения должно активизировать электрические цепи в соответствии с классом рабочих условий А, В или С (см. 5.1.3) в следующем порядке:
- RST приводится в состояние L (см. 5.2.2);
- на VCC подается электропитание (см. 5.2.1);
- I/O в устройстве сопряжения приводится в режим приема (см. 5.2.5). Устройство сопряжения должно игнорировать состояние на I/O во время активации;
- на CLK подается сигнал синхронизации (см. 5.2.3).
Примечание 1 - Задержка между подачей электропитания на VCC, установкой I/O в режиме приема и подачей сигнала синхронизации на CLK не определена.
Примечание 2 - Устройство сопряжения может выполнить деактивацию с учетом короткого замыкания.
На рисунке 1 показана активация (до времени ) и "холодное" восстановление (после времени ).
Рисунок 1 - Активация и "холодное" восстановление
Рисунок 1 - Активация и "холодное" восстановление
6.2.2 "Холодное" восстановление
В конце активации (RST в состоянии L, на VCC подано электропитание, I/O в режиме приема в устройстве сопряжения, на CLK подается подходящий и устойчивый сигнал синхронизации) карта готова для "холодного" восстановления. Внутреннее состояние карты, предшествующее "холодному" восстановлению, принимается за неопределенное.
В соответствии с рисунком 1 сигнал синхронизации подается на CLK в момент времени . Карта должна установить линию I/O в состояние Н в пределах 200 циклов синхронизации (задержка ) от начала подачи на CLK сигнала синхронизации (в течение времени ). "Холодное" восстановление возникает вследствие поддерживания RST в состоянии L в течение не менее 400 циклов синхронизации (задержка ) с момента подачи на CLK сигнала синхронизации (в течение времени ). Устройство сопряжения должно игнорировать состояние на I/O, пока RST находится в состоянии L.
В момент времени RST переводится в состояние Н. Реакция на I/O должна начинаться между 400 и 40000 циклами синхронизации (задержка ) после поступления нарастающего фронта сигнала на RST (в течение времени ). Если реакция на I/O не начинается в пределах 40000 циклов синхронизации при нахождении RST в состоянии Н, то устройство сопряжения должно выполнить деактивацию.
6.2.3 "Горячее" восстановление
Ответ на "горячее" восстановление может отличаться от ответа на предыдущее восстановление, поэтому устройство сопряжения может производить "горячее" восстановление в любое время, даже во время ответа на восстановления, но не раньше приема обязательных знаков TS и Т0 (см. 8.1). "Горячее" восстановление не должно инициироваться раньше чем 4464 (=12·372) цикла синхронизации после переднего фронта знака Т0.
Примечание - "Горячее" восстановление, инициированное во время ответа на восстановление, может повредить карту, соответствующую требованиям предыдущего издания (см. ИСО/МЭК 7816-3:1997).
В соответствии с рисунком 2 устройство сопряжения инициирует "горячее" восстановление (в течение времени ) приведением RST в состояние L на время, соответствующее не менее чем 400 циклам синхронизации (задержка ), пока VCC остается подключенным к электропитанию и на CLK подается подходящий и устойчивый сигнал синхронизации. Карта должна установить линию I/O в состояние Н в пределах 200 циклов синхронизации (задержка ) после установления RST в состояние L (в течение времени ). Устройство сопряжения должно игнорировать состояние на I/O, пока RST находится в состоянии L.
В момент времени RST переводится в состояние Н. Ответ на I/O должен начинаться между 400 и 40000 циклов синхронизации (задержка ) после поступления нарастающего фронта сигнала на RST (в течение времени ). Если Ответ на I/O не начинается в пределах 40000 циклов синхронизации при нахождении RST в состоянии Н, то устройство сопряжения должно выполнить деактивацию.
Рисунок 2 - "Горячее" восстановление
Рисунок 2 - "Горячее" восстановление
6.2.4 Выбор класса рабочих условий
На рисунке 3 показаны принципы выбора класса рабочих условий.
Если Ответ-на-Восстановление поддерживает индикатор класса, указывающий применяемый класс (первый ТА для Т=15, см. 8.2), то нормальная работа может быть продолжена. В ином случае устройство сопряжения может выполнить деактивацию и после задержки в течение не менее 10 мс применить другой класс, поддерживаемый картой.
Если Ответ-на-Восстановление не поддерживает индикатор класса, то устройство сопряжения должно поддерживать текущий класс. Если после выполнения Ответа-на-Восстановление карта не функционирует, то устройство сопряжения должно выполнить деактивацию и после задержки в течение не менее 10 мс может применить другой класс.
Если карта не отвечает на восстановление, то устройство сопряжения должно выполнить деактивацию и одно из следующих действий:
- либо после задержки в течение не менее 10 мс применить другой класс (при его наличии),
- либо прервать операцию выбора.
После прерывания операции выбора устройство сопряжения может инициировать другую операцию выбора.
Рисунок 3 - Выбор класса устройством сопряжения
Рисунок 3 - Выбор класса устройством сопряжения
Если класс уже один раз выбран, то он не изменяется во время нормальной работы. Для его смены устройство сопряжения должно выполнить деактивацию и после задержки в течение не менее 10 мс применить другой класс.
6.3 Обмен информацией
6.3.1 Выбор параметров передачи и протокола
После выполнения ответа на восстановление карта должна ожидать знаки от устройства сопряжения. Их передача регулируется передачей параметров (см. 7.1), а интерпретация - протоколом (см. разделы 9, 10 и 11). На рисунке 4 показаны принципы выбора параметров передачи и протоколов.
Если ТА (см. 8.3) присутствует в Ответе-на-Восстановление (карта в специфичном режиме), то устройство сопряжения должно запустить специфичный протокол передачи, используя специфичные значения параметров передачи.
В ином случае (карта в режиме согласования) для параметров передачи значения, используемые во время ответа на восстановление (т.е. значения по умолчанию для параметров передачи, см. 8.1), должны оставаться, как указано далее:
- если значение первого знака, полученного картой, 'FF', то устройство сопряжения должно начать PPS-обмен (см. раздел 9); значения по умолчанию параметров передачи должны оставаться в силе до тех пор, пока не произойдет успешное выполнение PPS-обмена, после чего устройство сопряжения должно начать согласованный протокол передачи, используя согласованные значения параметров передачи;
- в ином случае устройство сопряжения должно начать "первый предложенный протокол передачи" (TD, см. 8.2.3). Устройство сопряжения должно так действовать, если карта предлагает только один протокол передачи и только значения по умолчанию для параметров передачи. Такая карта не нуждается в поддержке PPS-обмена.
Рисунок 4 - Выбор параметров передачи и протокола
Рисунок 4 - Выбор параметров передачи и протокола
Примечание 1 - Значение PPSS ('FF', см. 9.2) является неверным для CLA (Т=0, см. 10.3.2) и для NAD (Т=1, см. 11.3.2.1).
Примечание 2 - В мультипротокольной карте, предлагающей Т=0 в согласованном режиме, только Т=0 может быть "неявно" выбран.
Примечание 3 - Устройство сопряжения, обращенное к карте в согласованном режиме и не поддерживающее ни PPS-обмен, ни "первый предложенный протокол передачи", может выполнить либо "горячее" восстановление, либо деактивацию.
Примечание 4 - Карта, передающая знак ТА устройству сопряжения, не знающему о существовании специфичного режима, не может руководствоваться тем, что "горячее" восстановление переключит режим.
Примечание 5 - Устройство сопряжения, обнаружив знак ТА, не должно инициировать "горячее" восстановление до того, как оно обнаружит либо неподдерживаемое значение в полученных знаках, либо избыток WT (см. 7.2).
6.3.2 Остановка синхронизации
Если карта поддерживает остановку синхронизации, то когда устройство сопряжения не ожидает передачи от карты и I/O остается в состоянии Н на протяжении не менее 1860 циклов синхронизации (задержка ), в соответствии с рисунком 5 устройство сопряжения может остановить подачу сигнала синхронизации на CLK (в момент времени ), пока VCC остается подключенным к электропитанию и RST находится в состоянии Н.
Рисунок 5 - Остановка синхронизации
Рисунок 5 - Остановка синхронизации
Пока синхронизация остановлена (с момента времени до момента времени ), CLK должна поддерживаться либо в состоянии Н, либо в состоянии L в соответствии с индикатором остановки синхронизации X, определяемым в 8.3.
В момент времени устройство сопряжения возобновляет синхронизацию, и обмен информацией на I/O может быть продолжен после совершения не менее 700 циклов синхронизации (в течение времени ).
6.4 Деактивация
Когда обмен информацией завершен или прерван (например, в случаях нереагирующей карты, обнаружения изъятия карты), устройство сопряжения должно деактивировать электрические цепи в следующем порядке (см. рисунок 6):
- RST приводится в состояние L;
- CLK приводится в состояние L (если синхронизация не остановлена ранее в состоянии L);
- I/O приводится в состояние А;
- VCC деактивируется.
Рисунок 6 - Деактивация
Рисунок 6 - Деактивация
7 Асинхронный знак
7.1 Элементарная единица времени
Номинальная длительность момента на электрической цепи I/O называется элементарной единицей времени и обозначается etu.
Etu должна быть равна F/D циклам синхронизации на электрической схеме CLK, где F и D - параметры передачи: F - коэффициент преобразования синхронизирующей частоты, a D - коэффициент регулирования скорости передачи в бодах.
.
Значения параметров передачи должны быть, как определено в 6.3.1.
7.2 Структура знака
В соответствии с рисунком 7 знак состоит из десяти последовательных моментов, пронумерованных от 1 до 10. Каждому из моментов соответствует либо состояние Н, либо состояние L:
- до момента 1 электрическая схема I/O должна быть в состоянии Н;
- момент 1 должен быть в состоянии L. Данный момент является стартовым;
- моменты с 2 по 9 передают байт в соответствии с порядком кодирования (TS, см. 8.1);
- момент 10 должен обеспечивать контроль знака по четности (TS, см. 8.1);
- после момента 10 и карта, и устройство сопряжения должны оставаться в режиме приема (в безошибочной работе) на определенное время "паузы", при этом электрическая схема I/O должна оставаться в состоянии Н.
Рисунок 7 - Структура знака
Рисунок 7 - Структура знака
На рисунке 8 показаны временные соотношения знака. Даже при максимальном сдвиге между началом отсчета времени приемника и началом отсчета времени передатчика стоб-импульсы приемника должны отличаться от стоб-импульсов передатчика.
Рисунок 8 - Временные соотношения знака
Рисунок 8 - Временные соотношения знака
В пределах каждого знака, если состояние изменяется в конце момента n (для любого n от 1 до 10), время задержки от переднего фронта знака до заднего фронта в момент n должно быть (n±0,2) etu.
При поиске знака приемник периодически определяет наличие электрического сигнала на I/O. При условии, что началом отсчета времени передатчика является передний фронт знака, а началом отсчета времени приемника является среднее между последним наблюдением состояния Н и первым наблюдением состояния L, сдвиг между началами отсчета составляет не более половины периода наблюдения. Период наблюдения должен быть меньше 0,2 etu.
Приемник должен выполнить момент старта до 0,7etu (во время приема). Приемник должен считать второй момент в течение (1,5±0,2) etu, третий момент - в течение (2,5±0,2) etu, девятый момент - в течение (8,5±0,2) etu и момент четности - в течение (9,5±0,2) etu. Четность знака проверяется автоматически.
Минимальное время задержки между передними фронтами двух последовательных знаков называется разграничительным интервалом и обозначается GT.
Максимальное время задержки между передним фронтом знака, переданного картой, и передним фронтом предыдущего знака (переданного картой или устройством сопряжения) называется временем ожидания и обозначается WТ. Оно позволяет обнаружить, например, невосприимчивую карту.
Примечание - Согласно настоящему стандарту, разграничительный интервал и время ожидания являются минимальным/максимальным временем задержки между передними фронтами последовательных знаков.
7.3 Сигнал ошибки и повторение знака
Использование сигнала ошибки и повторения знака зависит от протокола (см. 8.1, 9.1, 10.2 и 11.2).
Как показано на рисунке 9, при неправильной четности знака приемник должен передать сигнал ошибки на электрическую схему I/O. Затем приемник должен ожидать повторение знака.
Рисунок 9 - Сигнал ошибки и повторение знака
Рисунок 9 - Сигнал ошибки и повторение знака
На рисунке 10 показаны временные соотношения сигнала ошибки.
Рисунок 10 - Временные соотношения сигнала ошибки
Рисунок 10 - Временные соотношения сигнала ошибки
Чтобы передать сигнал об ошибке, приемник должен вывести I/O в состояние L в течение (10,5±0,2) etu во время приема минимум одной etu, максимум двух etu.
Для обнаружения сигнала ошибки передатчик должен считать I/O в течение (11,5±0,2) etu после переднего фронта знака:
- если состояние Н, то принимается, что прием безошибочный;
- если состояние L, то принимается, что прием с ошибкой. После задержки в течение как минимум двух etu с момента обнаружения сигнала ошибки передатчик должен повторно послать знак.
Если карта или устройство сопряжения не обеспечивают повторение знака, то это значит, что они игнорируют входящий сигнал ошибки и не должны получать повреждения от него.
8 Ответ на восстановление
8.1 Знаки и порядок кодирования
Etu, первоначально используемая картой, должна быть равна 372 циклам синхронизации (т.к. во время ответа на восстановление значениями параметров передачи являются значения по умолчанию Fd=372 и Dd=1) (см. TS для альтернативного измерения данной etu). Структура знака должна быть, как определено в 7.2 при GT=12 etu и WT=9600 etu. Сигнал ошибки и повторение знака в соответствии с 7.3 являются обязательными для карт с Т=0 и необязательными для устройства сопряжения и других карт.
На рисунке 11 показаны первый знак, который называется начальным знаком и обозначается TS, и начало второго знака, который называется знаком формата и обозначается Т0.
Рисунок 11 - Начальный знак ТS
Рисунок 11 - Начальный знак ТS
Начальный знак должен представлять собой:
- комбинацию моментов с 1 по 4 LHHL. Последовательность (Н) LHHL является комбинацией синхронизации. Взяв одну треть задержки между двумя задними фронтами в качестве альтернативного измерения etu, первоначально используемого картой, механизм передачи и приема в карте должен быть в соответствии с временными соотношениями, определенными в 7.2 и 7.3;
- комбинацию моментов с 5 по 7 LLL или ННН. Она показывает порядок кодирования или декодирования байта (т.е. восемь битов от самого старшего бита (msb) до самого младшего бита (Isb) со значениями 0 и 1) в каждом последующем знаке (т.е. десять последовательных моментов, пронумерованных от 1 до 10 в состояниях L и Н);
- комбинацию моментов с 8 по 10 LLH.
Начальный знак ТS может иметь две комбинации:
- (Н) LHHL LLL LLH устанавливает обратный порядок, по которому состояние L кодирует значение 1, а момент 2 передает самый старший бит (msb идет первым). При декодировании согласно обратному порядку передаваемый байт равен '3F';
- (Н) LHHL ННН LLH устанавливает прямой порядок, по которому состояние Н кодирует значение 1, а момент 2 передает самый младший бит (Isb идет первым). При декодировании согласно прямому порядку передаваемый байт равен '3В'.
Четность знака безошибочна, когда имеется четное число битов, установленных на 1 в девяти моментах с 2 по 9.
Карта может использовать оба порядка кодирования. Устройство сопряжения должно поддерживать оба порядка кодирования.
После начального знака TS следует последовательность из не более 32 знаков:
- Т0 - знак формата (обязательный);
- ТА, ТВ, ТС, TD - знаки интерфейса (необязательные). На наличие знаков интерфейса указывает способ битового отображения, инициируемый знаком формата Т0;
- T, T, ..., T - знаки предыстории (необязательные). Наличие знаков предыстории зависит от числа , закодированного в знаке формата Т0;
- ТСK - контрольный знак (условный). Наличие контрольного знака зависит от типов Т, закодированных в некотором знаке интерфейса TD.
По определению ответ на восстановление заканчивается 12 etu после переднего фронта последнего знака последовательности. По определению Ответ-на-Восстановление - это значение строки байтов (не более 32 байтов), кодированных в такой последовательности знаков.
8.2 Ответ-на-Восстановление
8.2.1 Общая конфигурация
На рисунке 12 показана структура байта, используемая далее в тексте. Байт состоит из восьми битов, обозначаемых с 8 по 1, со значениями 1 или 0, где бит 8 - самый старший бит (msb), а бит 1 - самый младший бит (Isb).
Рисунок 12 - Структура байта
Рисунок 12 - Структура байта
В таблице 6 показан Ответ-на-Восстановление (строка не более 32 байтов). Для упрощения обозначений далее в тексте Т0, ТА, ТВ, ТС, TD, ... T, T, ..., T и ТСK будут обозначать байты, которые передаются соответствующими знаками.
Таблица 6 - Ответ-на-Восстановление
8.2.2 Байт формата Т0
На рисунке 13 показан байт формата Т0:
- биты с 8 по 5 формируют индикатор Y;
- биты с 4 по 1 кодируют число K от 0 до 15.
Рисунок 13 - Кодирование байта формата Т0
Рисунок 13 - Кодирование байта формата Т0
8.2.3 Байты интерфейса ТА, ТВ, ТС, TD
На рисунке 14 показаны байты интерфейса TD. Каждый байт интерфейса TD является структурным:
- биты с 8 по 5 формируют индикатор Y;
- биты с 4 по 1 кодируют тип Т от 0 до 15.
Рисунок 14 - Кодирование байтов интерфейса TD(i)
Рисунок 14 - Кодирование байтов интерфейса TD
Следовательно, байт Т0 передает Y, байт TD передает Y, байт TD передает Y и т.д. В байте, передающем индикатор Y, биты с 8 по 5 устанавливают, присутствуют или отсутствуют (в зависимости от того, равен ли соответствующий бит единице или нулю) байты интерфейса ТА для бита 5, ТВ для бита 6, ТС для бита 7, TD для бита 8 в данном порядке после байта, передающего Y.
Если байт TD отсутствует, то и байты интерфейса ТА, ТВ, ТС и TD отсутствуют.
Тип Т обращается к протоколу передачи и/или определяет байты интерфейса:
- Т=0 обращается к полудуплексной передаче знаков, определенных в разделе 10;
- Т=1 обращается к полудуплексной передаче блоков, определенных в разделе 11;
- Т=2 и Т=3 зарезервированы для будущих полудуплексных операций;
- Т=4 зарезервирован для расширенной полудуплексной передачи знаков;
- с Т=5 по Т=15 зарезервированы для использования в будущем под руководством ИСО/МЭК СТК1/ПК 17;
- Т=14 обращается к протоколам передачи, не стандартизированным ИСО/МЭК СТК1/ПК 17;
- Т=15 не обращается к протоколу передачи, а только определяет глобальные байты интерфейса.
Примечание - В ТА (см. 8.2) и PPS0 (см. 9.2) биты с 4 по 1 кодируют тип Т.
Если TD, TD и т.д. присутствуют, то кодированные типы Т должны быть в возрастающем числовом порядке. Т=0 должен быть первым (если присутствует), Т=15 - последним. Т=15 является неверным в TD.
Первый предложенный протокол передачи определяется следующим образом:
- если TD присутствует, то он кодируется первым предложенным протоколом Т;
- если TD отсутствует, то первым и единственным предложением является Т=0.
Каждый байт интерфейса ТА, ТВ или ТС является или глобальным, или специфичным:
- глобальные байты интерфейса обращаются к параметрам интегральной схемы карты (см. 8.3);
- специфичные байты интерфейса обращаются к параметрам протокола передачи, предлагаемого картой.
Байты интерфейса ТА, ТВ, ТС, ТА, ТВ - глобальные. Байт интерфейса ТС - специфичный для протокола Т=0 (см. 10.2).
Интерпретация байтов интерфейса ТА, TB, ТС для 2 зависит от типа параметра Т, кодированного в байте TD следующим образом:
при Т от 0 до 14 байты интерфейса ТА, ТВ и ТС - специфичные, ориентированы на протокол Т;
при Т=15 байты интерфейса ТА ТВ и ТС - глобальные.
Если более чем три байта интерфейса ТА, ТВ, ТС, ТА, ТВ, TC... определены для одного и того же типа параметра Т, то каждый из них однозначно идентифицируется своим положением после первого, второго и т.д. случая употребления параметра Т в TD для 2.
Примечание - Сочетание типа Т со способом битового отображения позволяет посылать только полезные байты интерфейса и при необходимости использовать значения по умолчанию для параметров, соответствующих отсутствующим байтам интерфейса.
Например, в разделе 11.4 определены три байта интерфейса, специфичные для Т=0, а именно первый ТА, ТВ и ТС для Т=1. При необходимости такой байт может быть передан соответственно как ТА, ТВ и ТС при TD, показывающем Т=1. В зависимости от того, предлагает ли карта Т=0 или нет, TD будет показывать либо Т=0, либо Т=1.
8.2.4 Байты предыстории Т, Т, ...., Т
Байты предыстории описывают рабочие характеристики карт. Их структура и содержание должны быть, как определено в ИСО/МЭК 7816-4.
Если не нулевое, то Ответ-на-Восстановление продолжается на (не более 15) байтов предыстории Т, Т, ...,Т.
8.2.5 Контрольный байт ТСK
ТСК должен отсутствовать, если в Ответе-на-Восстановление указано только Т=0 (возможно, по умолчанию). ТСК должен присутствовать, если в Ответе-на-Восстановление присутствует как Т=0, так и Т=15, а также во всех прочих случаях. Если ТСК присутствует, то результат операции "исключающее ИЛИ" над всеми байтами от Т0 до ТСК включительно был нулевым. Все остальные значения являются ошибочными.
8.3 Глобальные байты интерфейса
Данный раздел устанавливает содержание глобальных байтов интерфейса ТА, ТВ, ТС, ТА, ТВ, первого ТА для Т=15 и первого ТВ для Т=15:
- в случае присутствия в Ответе-на-Восстановление такой байт должен быть интерпретирован для безошибочной обработки любого протокола передачи;
- в случае отсутствия в Ответе-на-Восстановление для соответствующих параметров при необходимости должны использоваться значения по умолчанию.
ИСО/МЭК СТК1/ПК 17 зарезервировал для будущего применения все глобальные байты интерфейса, не определенные в данном разделе, и все неиспользуемые значения глобальных байтов интерфейса, определенных в данном разделе.
ТА кодирует указанные значения коэффициента преобразования частоты синхронизирующих импульсов (Fi), указанные значения коэффициента регулирования скорости передачи в бодах (Di) и максимальное значение частоты, поддерживаемой картой (f(max)). Значениями по умолчанию являются: Fi=372, Di=1 и f(max)=5 МГц. Применение Fi и Di описано в 7.1, ТС и ТА - 9.2 и 10.2, а f(max) - 5.2.3.
В соответствии с таблицей 7 биты с 8 по 5 кодируют Fi и f(max).
Таблица 7 - Fi и f(max)
Биты с 8 по 5 | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 |
Fi | 372 | 372 | 558 | 744 | 1116 | 1488 | 1860 | RFU |
f(max), МГц | 4 | 5 | 6 | 8 | 12 | 16 | 20 | - |
Биты с 8 по 5 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
Fi | RFU | 512 | 768 | 1024 | 1536 | 2048 | RFU | RFU |
f(max), МГц | - | 5 | 7,5 | 10 | 15 | 20 | - | - |
В соответствии с таблицей 8 биты с 4 по 1 кодируют Di.
Таблица 8 - Di
Биты с 4 по 1 | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 |
Di | RFU | 1 | 2 | 4 | 8 | 16 | 32 | 64 |
Биты с 4 по 1 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
Di | 12 | 20 | RFU | RFU | RFU | RFU | RFU | RFU |
TB и ТВ не рекомендуются для использования. Карта не передает их, а устройство сопряжения игнорирует их.
Примечание - Первые два издания ИСО/МЭК 7816-3 определяли TB и ТВ для установления электрических параметров интегральной схемы для нерекомендуемого использования контакта С6 (см. 5.1.1).
ТС кодирует дополнительный разграничительный интервал от 0 до 255 через восемь битов. Значение по умолчанию N=0.
Если от 0 до 254, то карте, прежде чем она станет готовой к приему следующего знака, требуется следующее время задержки от переднего фронта предыдущего знака (переданного картой или устройством сопряжения):
;
- если Т=15 отсутствует в Ответе-на-Восстановление, то R=F/D, т.е. R принимает значения, используемые для вычисления etu;
- если Т=15 присутствует в Ответе-на-Восстановление, то R=F/D, т.е. R принимает значения, определенные выше по ТА.
Дополнительный разграничительный интервал не используется для передачи знака от карты: GT=12 etu.
Использование N=255 зависит от протокола: GT=12 etu в PPS (см. раздел 9) и Т=0 (см. раздел 10). Использование Т=1 при N=255 описано в 11.2.
ТА является байтом специфичного режима, как показано на рисунке 15. Использование ТА описано в 6.3.1 и 7.1.
Бит 8 указывает на возможность смены режимов (согласованный/специфический):
- восприимчив для смены, если бит 8 установлен на 0;
- непригоден для смены, если бит 8 установлен на 1.
Биты 7 и 6 зарезервированы для использования в будущем (установлены на 0, если не используются);
Бит 5 показывает определение параметров F и D:
- если бит 5 установлен на 0, то должны применяться коэффициенты F и D, определенные выше для ТА;
- если бит 5 установлен на 1, должны применяться неявные значения (не определенные устройством сопряжения).
Биты с 4 по 1 кодируют тип Т.
Рисунок 15 - Кодирование байта ТА(2)
Рисунок 15 - Кодирование байта ТА
Примечание - Устройство сопряжения, поддерживающее три значения F, D и Т, связанные с ТА, должно инициировать передачу протокола Т с F и D. Иначе оно должно выполнить или "горячее" восстановление (бит 8 установлен на 0), или деактивацию (бит 8 установлен на 1).
Первый байт ТА для Т=15 кодирует индикатор остановки синхронизации (X) и индикатор класса (Y). Значения по умолчанию: X = остановка синхронизации не поддерживается и Y = поддерживается только класс А. Описание использования остановки синхронизации приведено в 6.3.2, а применение классов рабочих условий - 6.2.1 и 6.2.4.
В соответствии с таблицей 9 биты 8 и 7 показывают, поддерживает ли карта остановку синхронизации (00) или нет (=00) и, если поддерживает, то какое состояние является предпочтительным на электрической схеме CLK, когда синхронизация остановлена.
Таблица 9 - Индикатор остановки синхронизации X
Биты 8 и 7 | 00 | 01 | 10 | 11 |
X | Остановка синхронизации не поддерживается | Состояние L | Состояние Н | Нет предпочтений |
В соответствии с таблицей 10 биты с 6 по 1 показывают классы рабочих условий, принятые картой. Каждый бит представляет класс: бит 1 - класс А, бит 2 - класс В, а бит 3 - класс С (см. 5.1.3).
Таблица 10 - Индикатор класса Y
Биты с 6 по 1 | 000001 | 000010 | 000100 | 000011 | 000110 | 000111 | Любое другое значение |
Y | Только А | Только В | Только С | А и В | В и С | А, В и С | RFU |
Первый байт ТВ для Т=15 показывает использование SPU картой (см. 5.2.4). Значения по умолчанию: SPU не используется.
Кодируется битами с 7 по 1; использование либо стандартное (бит 8 установлен на 0), либо проприетарное (бит 8 установлен на 1). Значение '00' показывает, что карта не использует SPU. ИСО/МЭК СТК1/ПК 17 зарезервировал для использования в будущем другие значения, в которых бит 8 установлен на 0.
9 Выбор протокола и параметров
9.1 PPS-обмен
PPS-обмен должен начаться в соответствии с 6.3.1. Структура знака должна быть в соответствии с 7.1 и 7.2 с использованием порядка кодирования, установленного начальным знаком TS, а также GT, как определено в 8.3, и WT=9600 etu. Сигнал ошибки и повторение знака в соответствии с 7.3 является обязательным для карт с Т=0 и необязательным - для устройства сопряжения и остальных карт.
Только устройствам сопряжения разрешено начинать PPS-обмен:
- устройство сопряжения должно послать карте PPS-запрос;
- если карта получит ошибочный PPS-запрос, то она не должна посылать никакого ответа;
- если карта получит безошибочный PPS-запрос, то, если он окажется выполнимым, карта должна послать PPS-ответ, либо будет превышено время ожидания WT;
- в следующих трех случаях: превышения WT, ошибочного PPS-запроса, безуспешного PPS-обмена - устройство сопряжения должно выполнить деактивацию.
9.2 PPS-запрос и PPS-ответ
PPS-запрос и PPS-ответ, каждый в отдельности, состоят из одного начального байта PPSS, за которым следуют: байт формата PPS0, три необязательных байта параметров PPS, PPS и PPS и контрольный байт РСК в качестве завершающего.
Байт PPSS идентифицирует PPS-запрос или PPS-ответ и равен 'FF'.
Байт PPS0 указывает через биты 5, 6 или 7, равные единице, на присутствие необязательных байтов PPS, PPS, PPS соответственно. Биты с 4 по 1 передают значение типа Т для предложения протокола передачи. Бит 8 зарезервирован для использования в будущем и должен быть установлен в состояние 0.
Через байт PPS устройство сопряжения может предлагать карте значения параметров F и D. Эти значения должны находиться от Fd до Fi и от Dd до Di соответственно и быть закодированы тем же способом, что и в байте ТА. Если устройство сопряжения не посылает байт PPS, значит, оно предлагает продолжить обмен при значениях Fd и Dd. Карта либо подтверждает оба значения путем эхоотражения байта PPS (тогда эти значения становятся значениями Fn и Dn), либо не посылает байт PPS, чтобы продолжать обмен при значениях Fd и Dd (тогда Fn = 372, a Dn = 1).
Через байт PPS устройство сопряжения может предлагать использовать SPU. PPS должен быть закодирован тем же способом, что и первый байт ТВ для Т=15. Если устройство сопряжения не посылает байт PPS или оно посылает PPS='00', значит, оно предлагает не использовать SPU.
Байт PPS зарезервирован для использования в будущем.
Результат выполнения операции "исключающее ИЛИ" над всеми байтами от PPSS до РСК включительно был нулевым. Любые другие значения считаются ошибочными.
Рисунок 16 - Структура PPS-запроса и PPS-ответа
Рисунок 16 - Структура PPS-запроса и PPS-ответа
По определению PPS-запрос или PPS-ответ оканчивается 12 etu после переднего фронта знака, передающего РСК.
9.3 Успешный PPS-обмен
PPS-обмен является успешным, если PPS-ответ удовлетворяет следующим условиям по отношению к PPS-запросу:
- биты с 1 по 4 PPS0_Response должны быть идентичны битам с 1 по 4 PPS0_Request;
- бит 5 PPS0_Response должен быть или идентичен биту 5 PPS0_Request, или установлен на 0:
- если бит 5 установлен на 1, то PPS_Response должен быть идентичен PPS_Request;
- если бит 5 установлен на 0, то PPS_Response должен отсутствовать, что означает, что должны быть использованы значения Fd и Dd;
- бит 6 PPS0_Response должен быть или идентичен биту 6 PPS0_Request, или установлен на 0:
- если бит 6 установлен на 1, то PPS_Response должен быть идентичен PPS_Request;
- если бит 6 установлен на 0, то PPS_Response должен отсутствовать, что означает, что карта не использует SPU;
- бит 7 PPS0_Response должен быть или идентичен биту 7 PPS0_Request, или установлен на 0:
- если бит 7 установлен на 1, то PPS_Response должен быть идентичен PPS_Request;
- если бит 7 установлен на 0, то PPS_Response должен отсутствовать (точное значение зарезервировано для использования в будущем).
В большинстве случаев PPS-ответ идентичен PPS-запросу.
10 Протокол Т=0, полудуплексная передача знаков
10.1 Область применения
Данный раздел настоящего стандарта определяет структуру и обработку команд при полудуплексной передаче знаков. Эти команды инициирует устройство сопряжения. Раздел дает необходимые сведения по управлению передачей.
10.2 Уровень знака
Протокол передачи должен начинаться в соответствии с 6.3.1. Структура знака должна быть в соответствии в 7.1 и 7.2, с использованием порядка кодирования, установленного начальным знаком TS, а также GT, как определено в 8.3. И карта, и устройство сопряжения должны использовать сигнал ошибки и повторение знака в соответствии с 7.3.
При использовании D=64 устройство сопряжения должно обеспечивать временную задержку в пределах не менее 12 etu между передним фронтом последнего полученного знака и передним фронтом знака, отправленного для инициализации команды.
Байт интерфейса ТС, если он присутствует в Ответе-на-Восстановление, кодирует через восемь битов значение целого времени ожидания WI, исключая значение '00', зарезервированное для использования в будущем. Если ТС отсутствует, то значением по умолчанию является WI=10.
Время ожидания (см. 7.2) должно быть: WI=WI·960·.
10.3 Структура команд и их обработка
10.3.1 Принципы
Устройство сопряжения инициирует каждую команду, посылая ее заголовок из пяти байтов, который сообщает карте, что нужно делать. Обработка команды продолжается передачей переменного числа байтов данных в одном направлении под управлением процедурных байтов, посылаемых картой.
Предполагается, что карте и устройству сопряжения известно априорное направление передачи для того, чтобы различать:
- команды для передачи входящих данных, когда байты данных вводятся в карту во время обработки, и
- команды для передачи исходящих данных, когда байты данных выводятся из карты во время обработки.
10.3.2 Заголовок команды
Заголовок состоит из пяти байтов, обозначенных как CLA, INS, Р1, Р2 и Р3. Значения CLA, INS, P1 и Р2 должны быть, как определено в ИСО/МЭК 7816-4:
- CLA обозначает класс команды. Значение 'FF' является ошибочным (зарезервировано для PPSS, см. 6.3.1 и 9.2).
Примечание - ИСО/МЭК 7816-4 применяет 'FF' как ошибочное значение для CLA;
- INS обозначает код команды. Значения '6Х' и '9Х' являются ошибочными для INS;
- Р1, Р2 обозначают параметры команды, например ссылку, завершающую код команды;
- Р3 кодирует число байтов данных, обозначенных от D до D, которые должны быть переданы во время обработки команды:
- в команде на передачу выходных данных байт Р3='00' вводит передачу данных от карты, состоящих из 256 байтов;
- в команде на передачу входных данных байт Р3='00' вводит отсутствие передачи данных.
10.3.3 Процедурные байты
После передачи заголовка как строки из пяти знаков устройство сопряжения должно ожидать знак, передающий процедурный байт. Существуют три типа процедурных байтов (см. таблицу 11):
- если значение равно '60', то это - байт NULL. Он не запрашивает никакого действия на передачу данных. Устройство сопряжения должно ожидать знак, передающий процедурный байт;
- если значение равно '6Х' или '9Х', исключая '60', то это - байт SW1. Он не запрашивает никакого действия на передачу данных. Устройство сопряжения должно ожидать знак, передающий байт SW2. На значение SW2 нет ограничений.
Примечание - ИСО/МЭК 7816-4 применяет '60' как ошибочное значение для SW1, так же как и любое значение, отличное от '9Х' и '6Х';
- если значением является значение INS, исключая '6Х' и '9Х', то это - байт АСK. Все оставшиеся байты данных, если какие-нибудь байты остаются, обозначаются от D до D и должны быть переданы последовательно. Далее устройство сопряжения должно ожидать знак, передающий процедурный байт;
- если значением является "исключающее ИЛИ" для 'FF' со значением INS, исключая значения '6Х' и '9Х', то это - АСK байт. Только следующий байт данных, если он существует, обозначается D и должен передаваться. Далее устройство сопряжения должно ожидать знак, передающий процедурный байт;
- любые другие значения являются ошибочными.
Таблица 11 - Процедурные байты
Байт | Значение | Действие на передачу данных | Следующий байт |
NULL | '60' | Отсутствие действия | Процедурный байт |
SW1 | '6Х' ('60'), '9Х' | Отсутствие действия | Байт SW2 |
АСK | INS | Все оставшиеся байты данных (если какие-нибудь байты остались) | Процедурный байт |
INS'FF' | Следующий байт данных (если он существует) | Процедурный байт | |
Примечание - Первые два издания ИСО/МЭК 7816-3 определяли использование двух значений АСК (а именно "исключающее ИЛИ" значения INS с '01' и 'FE') для того, чтобы контролировать нерекомендуемое использование контакта С6 (см. 5.1.1). Эти два значения являются нерекомендуемыми. |
При каждом процедурном байте карта может продолжить команду с помощью байтов NULL или АСК либо завершить ее с помощью байтов SW1, SW2, либо не реагировать на эту команду (WT будет превышено).
10.3.4 Байты состояния
Байты состояний SW1, SW2 показывают состояние карты в конце команды. Их значения должны быть, как определено в ИСО/МЭК 7816-4.
Примечание - ИСО/МЭК 7816-4 применяет шесть значений SW1, SW2, определенных для Т=0 в предыдущих изданиях (ИСО/МЭК 7816-3:1989 и ИСО/МЭК 7816-3:1997).
'9000' - команда выполнена нормально.
'6Е00' - CLA не поддерживается.
'6D00' - CLA поддерживается, но INS не программируется или ошибочный.
'6В00' - CLA, INS поддерживаются, но Р1, Р2 некорректны.
'6700' - CLA, INS, Р1, Р2 поддерживаются, но Р3 некорректен.
'6F00' - команда не поддерживается, и нет точного определения.
По определению команда заканчивается 12 etu после переднего фронта знака, передающего SW2.
11 Протокол Т=1, полудуплексная передача блоков
11.1 Область применения и принципы
Данный раздел настоящего стандарта определяет структуру и обработку команд при полудуплексной передаче блоков. Блок - это строка байтов, передаваемых в асинхронных знаках. Эти команды может инициировать и устройство сопряжения, и карта. Раздел дает необходимые сведения по управлению передачей данных, в том числе по управлению потоками данных, сцеплению блоков и исправлению ошибок.
Основные характеристики протокола передачи следующие:
- протокол передачи начинается с первого блока, переданного устройством сопряжения. Протокол передачи продолжается чередованием права на передачу блока;
- блок представляет собой наименьшую единицу данных, которой можно обмениваться. Блок допускается использовать для передачи:
- данных приложения, явных для протокола;
- данных управления передачей, включая обработку ошибок, возникающих при передаче;
- структура блока позволяет проверять полученный блок до обработки переданных данных.
Для протокола применен принцип эталонной модели OSI. Взаимодействия через границы уровней сведены к минимуму. Определены следующие три уровня:
- физический уровень обеспечивает передачу моментов, организованных в асинхронные знаки в соответствии с 11.2;
- уровень звена данных включает в себя знаковый и блоковый компоненты:
- знаковый компонент обеспечивает распознавание начала и конца блока в соответствии с 11.5;
- блоковый компонент обеспечивает обмен блоками в соответствии с 11.6;
- прикладной уровень обрабатывает команды, что предполагает обмен, по крайней мере, единичными блоками или цепочками блоков в каждом направлении.
11.2 Структура знака
Протокол передачи должен начинаться в соответствии с 6.3.1. Структура знака должна быть в соответствии с 7.1 и 7.2, с использованием порядка кодирования, установленного начальным знаком TS (см. 8.1). Сигнал ошибки и повторение знака по 7.3 не следует применять. Существуют два типа разграничительного интервала:
- CGT - character guard time (разграничительный интервал знака) - минимальное время задержки между передними фронтами двух последовательных знаков в одном направлении передачи. Если N равно от 0 до 254, то CGT = GT, как определено в 8.3. Если N=255, то CGT=11 etu в обоих направлениях передачи;
- BGT - block guard time (разграничительный интервал блока) - минимальное время задержки между передними фронтами двух последовательных знаков, посланных в противоположных направлениях. BGT=12 etu.
Помимо кода с обнаружением ошибок четность знака позволяет определить блок (см. 11.3.4 и 11.4.4).
11.3 Структура блока
11.3.1 Общие положения
Как показано на рисунке 17, блок состоит из двух или трех полей:
- поля пролога, состоящего из байта с адресами узлов, байта управления протоколом и байта длины;
- информационного поля, содержащего байты от 0 до 254;
- поля эпилога, состоящего из одного или двух байтов.
Рисунок 17 - Структура блока
Рисунок 17 - Структура блока
Протокол передачи определяет три типа блоков:
- информационный блок (l-блок) применяют для передачи информации, предназначенной для использования прикладным уровнем. Кроме того, l-блок передает положительное или отрицательное подтверждение приема;
- блок готовности к приему (R-блок) используют для передачи положительного или отрицательного подтверждения приема. В R-блоке информационное поле должно отсутствовать;
- контролирующий блок (S-блок) используют для обмена управляющей информацией между устройством сопряжения и картой. В S-блоке информационное поле может присутствовать в зависимости от выполняемой им функции управления.
Примечание - При таком подходе разработку управления протоколом и прикладных частей микропрограммы возможно проводить независимо друг от друга.
11.3.2 Поле пролога
11.3.2.1 Байт с адресами узлов (NAD)
Байт с адресами узлов (NAD) позволяет идентифицировать источник и предполагаемый пункт назначения блока и может использоваться для различения множественных логических связей, когда они сосуществуют. Значение 'FF' считается ошибочным. Оно зарезервировано для использования в будущем в PPSS (см. 6.3.1 и 9.2). Биты с 1 по 3 кодируют адрес исходного узла (SAD), биты с 5 по 7 - адрес узла назначения (DAD). Биты 4 и 8 - нерекомендуемые. Карта должна установить их на 00. Устройство сопряжения должно их игнорировать.
Примечание - В первых двух изданиях ИСО/МЭК 7816-3 биты 4 и 8 были определены для управления нерекомендуемым использованием контакта С6.
Если адресация не применяется, то значения адресов SAD и DAD должны быть установлены на 000. Любое другое значение байта NAD, где SAD и DAD одинаковые, зарезервировано для использования в будущем.
В первом блоке, посылаемом устройством сопряжения, байт NAD должен устанавливать логическую связь путем сочетания адресов SAD и DAD. Последующие блоки, в которых байт NAD содержит такую же пару адресов SAD и DAD, ассоциируются с той же логической связью. Другие логические связи могут быть установлены в ходе обмена информацией с помощью других пар адресов SAD и DAD.
Примечание - Например, блоки, посылаемые устройством сопряжения, со значениями х для SAD и у для DAD и блоки, посылаемые картой, со значениями у для SAD и х для DAD относятся к логической связи, обозначаемой (х, у). Блоки, посылаемые устройством сопряжения, со значениями v для SAD и w для DAD и блоки, посылаемые картой, со значениями w для SAD и v для DAD относятся к другой логической связи (v, w).
11.3.2.2 Байт управления протоколом
Байт управления протоколом (РСВ) передает информацию, необходимую для управления передачей, и определяет, является ли блок I-блоком, R-блоком или S-блоком.
В каждом l-блоке бит 8 байта РСВ устанавливают в состояние 0, как показано на рисунке 18:
- бит 7 кодирует порядковый номер N(S);
- бит 6 - бит увеличения количества данных (М-бит);
- биты с 5 по 1 зарезервированы для использования в будущем и должны быть установлены на 0.
Рисунок 18 - Кодирование l-блока РСВ
Рисунок 18 - Кодирование l-блока РСВ
В каждом R-блоке биты 8, 7 байта РСВ устанавливают в состояние 10, как показано на рисунке 19. Биты с 6 по 1 используют следующим образом:
- 0-N(R)-0000 означает подтверждение безошибочной работы;
- 0-N(R)-0001 указывает на ошибку избыточного кода или ошибку четности знака;
- 0-N(R)-0010 указывает на другие ошибки;
- все остальные значения зарезервированы для использования в будущем.
Примечание - Значение N(R) устанавливает, показывает ли R-блок ошибку или нет. Биты с 4 по 1 могут игнорироваться.
Рисунок 19 - Кодирование R-блока РСВ
Рисунок 19 - Кодирование R-блока РСВ
В каждом S-блоке биты 8, 7 байта РСВ устанавливают на 11, как показано на рисунке 20. Биты с 6 по 1 используют следующим образом:
- 000000 означает RESYNCH-запрос, а 100000 - RESYNCH-ответ;
- 000001 означает IFS-запрос, а 100001 - IFS-ответ;
- 000010 означает ABORT-запрос, а 100010 - ABORT-ответ;
- 000011 означает WTX-запрос, а 100011 - WTX-ответ;
- 100100 - не рекомендуется использовать;
- любое другое значение битов зарезервировано для использования в будущем.
Примечание - Бит 6 является битом ответа.
Рисунок 20 - Кодирование S-блока РСВ
Рисунок 20 - Кодирование S-блока РСВ
11.3.2.3 Байт длины (LEN)
Байт длины (LEN) кодирует число байтов, присутствующих в информационном поле блока (см. также 11.4.2).
Значение '00' кодирует ноль: INF отсутствует.
Значения от '01' до 'FE' кодируют числа от 1 до 254: INF присутствует.
Значение 'FF' зарезервировано для использования в будущем.
11.3.3 Информационное поле
Использование информационного поля (INF) зависит от типа блока.
Если поле INF присутствует в l-блоке, то оно передает информацию приложения.
В R-блоке поле INF должно отсутствовать.
Если поле INF присутствует в S-блоке, то оно передает информацию, относящуюся не к приложению:
- поле INF должно присутствовать с единственным байтом в S-блоке, регулирующем IFS или WTX;
- поле INF должно отсутствовать в S-блоке, управляющем прерыванием цепочки блоков или возобновлением синхронизации.
11.3.4 Поле эпилога
Поле эпилога передает код блока с обнаружением ошибок. Для протокола применяют контроль либо продольным избыточным кодом (LRC), либо циклическим избыточным кодом (CRC).
LRC состоит из одного байта. Его значение должно быть таким, чтобы результат выполнения операции "исключающее ИЛИ" над всеми байтами блока от NAD до LRC был нулевым. Любые другие значения считаются ошибочными.
CRC состоит из двух байтов. Их значения определены в ИСО/МЭК 13239.
11.4 Параметры протокола
11.4.1 Специфичные байты интерфейса для протокола Т=1
Определены три специфичных байта интерфейса: первый ТА для Т=1, первый ТВ для Т=1 и первый ТС для Т=1 (см. 8.2.3). Они используются для установки параметров протокола в значениях не по умолчанию.
11.4.2 Размеры информационных полей
IFSC - максимальная длина информационного поля блоков, которые могут быть приняты картой. Начальное значение IFSC устанавливает первый байт ТА для Т=1, если он имеется. Значение по умолчанию - 32.
IFSD - максимальная длина информационного поля блоков, которые могут быть приняты устройством сопряжения. Начальное значение IFSD - 32.
При запуске протокола передачи IFSC и IFSD инициализируют. В ходе протокола IFSC и IFSD могут регулироваться с помощью блоков S(IFS-запрос) и S(IFS-ответ), где поле INF состоит из одного байта, именуемого IFS. В любом случае первый байт ТА для Т=1 и байты IFS должны кодироваться следующим образом:
- значения '00' и 'FF' зарезервированы для использования в будущем;
- значения от '01' до 'FE' кодируют числа от 1 до 254.
Примечание 1 - Настоящим стандартом рекомендовано значение для INF - не менее '20'.
Примечание 2 - Размер блока - суммарное число байтов, присутствующих в поле пролога, информационном поле и поле эпилога. Максимальный размер блока равен IFS плюс четыре или пять, в зависимости от длины эпилога.
11.4.3 Время ожидания
По определению СWT - максимальное время задержки между передними фронтами двух последовательных знаков в блоке (см. рисунок 21). Минимальное время задержки - это CGT (см. 11.2).
Примечание - Если существует потенциальная ошибка в длине, СWT можно использовать для распознавания конца блока.
Рисунок 21 - Время ожидания знака в пределах блока
Рисунок 21 - Время ожидания знака в пределах блока
Биты с 4 по 1 первого байта ТВ для Т=1 кодируют СWI от нуля до пятнадцати. Значение СWT по умолчанию - 13. Время ожидания СWI вычисляют на основе числа СWI по следующей формуле:
СWT=(11 +2) etu.
Следовательно, минимальное значение СWT =12 etu.
По определению BWT - максимальное время задержки между передним фронтом последнего знака блока, полученного картой, и передним фронтом первого знака следующего блока, посланного картой (см. рисунок 22). BWT используют для выявления нереагирующей карты. Минимальная задержка равна BGT (см. 11.2).
Рисунок 22 - Время ожидания блока
Рисунок 22 - Время ожидания блока
Биты с 8 по 5 первого байта ТВ для Т=1 кодируют BWI от нуля до девяти. Значения от 'А' до 'F' зарезервированы для использования в будущем. Значение BWI по умолчанию - 4. BWT вычисляют на основе числа BWI по следующей формуле:
BWT=11 etu + 2·960.
11.4.4 Избыточный код
Бит 1 первого байта ТС для Т=1 указывает на код с обнаружением ошибок, который следует применять:
- CRC, если бит 1 установлен на 1;
- LRC (значение по умолчанию), если бит 1 установлен на 0.
Биты с 8 по 2 первого байта ТС зарезервированы для использования в будущем и должны быть установлены на 0.
11.5 Функционирование знакового компонента на уровне звена данных
В начале протокола передачи право передачи принадлежит устройству сопряжения. Асинхронные знаки всегда сгруппированы в блоки.
После того как картой или устройством сопряжения был послан блок, отправитель переключается в режим приема. После того как картой или устройством сопряжения был получен блок, соответствующий числу байтов, кодированных в байте длины, право передачи переходит к получателю.
11.6 Функционирование блокового компонента на уровне звена данных
11.6.1 Обозначения блоков
В описаниях протокола передачи используют следующие блоки.
l-блоки обозначаются следующим образом:
I[N(S), М] - l-блок, где N(S) - порядковый номер блока, М - бит увеличения количества данных (см. 11.6.2.2);
N(S), N(S) - порядковые номера l-блоков, где индексы а и b служат для различения источников А и В.
R-блоки обозначаются следующим образом:
R[N(R)] - R-блок, где N(R) - номер ожидаемого I-блока.
S-блоки обозначаются следующим образом:
S(RESYNCH-запрос) - S-блок, запрашивающий возобновление синхронизации;
S(RESYNCH-ответ) - S-блок, подтверждающий возобновление синхронизации;
S(IFS-запрос) - S-блок, предлагающий максимальный размер информационного поля;
S(IFS-ответ) - S-блок, подтверждающий IFS;
S(ABORT-запрос) - S-блок, запрашивающий прерывание цепочки блоков;
S(ABORT-ответ) - S-блок, подтверждающий прерывание цепочки блоков;
S(WTX-запрос) - S-блок, запрашивающий продление времени ожидания;
S(WTX-ответ) - S-блок, подтверждающий продление времени ожидания;
S(Ошибка состояния VPP) - S-блок, сообщающий карте об ошибке состояния VPP.
Блоки S(IFS . . .) и S(WTX . . .) содержат поля INF, кодирование которых определяется правилами 3 и 4 по 11.6.2.3.
11.6.2 Безошибочная работа
11.6.2.1 Общие процедуры
В начале протокола передачи первый блок, посылаемый устройством сопряжения карте, должен быть либо I-, либо S-блоком.
После того как блок (I-, R- или S-блок) был отослан, до начала передачи следующего блока должно быть получено подтверждение приема, как описано ниже.
Каждый l-блок несет свой порядковый номер N(S). l-блоки, посылаемые устройством сопряжения, и l-блоки, посылаемые картой, подсчитывают независимо друг от друга. Номер N(S) подсчитывается по модулю 2 и кодируется одним битом. При запуске протокола или после возобновления синхронизации начальное значение N(S)=0 , далее значения N(S) чередуются после посылки каждого I-блока.
Каждый R-блок несет номер N(R), который представляет собой порядковый номер N(S) следующего ожидаемого l-блока. При безошибочной работе R-блоки используют для сцепления из l-блоков (см. 11.6.2.2).
Прием посланного l-блока подтверждается получением:
- либо l-блока, где номер N(S) отличается от номера N(S) полученного перед ним I-блока;
- либо R-блока, где номер N(R) отличается от номера N(S) посланного l-блока (см. правило 2.2 в 11.6.2.3).
S-блок не несет никакого номера. Блок S(... запрос) не несет подтверждения приема. Блок S(... ответ) подтверждает прием блока S(... запрос).
11.6.2.2 Сцепление
С помощью функции сцепления устройство сопряжения или карта могут передавать информацию (данные приложения) длиной более чем IFSC или IFSD. Если устройство сопряжения или карта должны передать информацию, по длине превышающую IFSD или IFSC соответственно, то тот или другой должен разделить информацию на порции длиной меньше или равной IFSD или IFSC и посылать каждую порцию в блоке, используя функцию сцепления.
Функция сцепления показана на рисунке 23.
Рисунок 23 - Функция сцепления
Рисунок 23 - Функция сцепления
Сцепление из I-блоков управляется М-битом в байте РСВ. Значение М-бита указывает на состояние 1-блока следующим образом:
- если бит М=1, то l-блок привязан к следующему блоку, который должен быть I-блоком;
- если бит М=0, то l-блок не привязан к следующему блоку.
Если получатель безошибочно принимает l-блок увеличения количества данных, то он посылает блок R[N(R)], где номер N(R) равен номеру N(S) ожидаемого I-блока.
Примечание - В пределах цепочки можно использовать l-блоки с байтом LEN = '00' (см. сценарий 7 в приложении А).
11.6.2.3 Правила протокола для безошибочной работы
Правило 1 - Устройство сопряжения посылает первый блок - либо l-блок с номером N(S) = 0, обозначаемый как I(0, М), либо S-блок.
Правило 2.1 - Прием блока l[N(S), 0], посланного источником А, подтверждается блоком l[N(S), M], посланным источником В для передачи данных приложения и указания на готовность к приему следующего l-блока от источника А.
Правило 2.2 - Прием блока l[N(S), 1], посланного источником А, подтверждается блоком R[N(R)] [где номер N(R) не равен номеру N(S)], посланным источником В для указания на то, что полученный блок был безошибочным, и на готовность к приему следующего l-блока от источника А.
Примечание - Сцепление возможно одновременно только в одном направлении.
Правило 3 - Если для обработки только что полученного l-блока карте требуется время более чем BWT, то она посылает блок S(WTX-запрос), где поле INF передает единственный байт, кодирующий двоичный целочисленный множитель значения BWT. Устройство сопряжения должно подтвердить прием блоком S(WTX-ответ) с таким же полем INF.
Предоставленное время начинается на переднем фронте последнего знака блока S(WTX-ответ).
Правило 4 - Карта посылает блок S(IFS-запрос) для указания нового размера IFSC, который она может поддерживать. Устройство сопряжения должно подтвердить прием блоком S(IFS-ответ) с таким же полем INF. Устройство сопряжения оценивает новый размер IFSC как правильный до тех пор, пока другой размер IFSC не будет указан еще одним блоком S(IFS-запрос).
Устройство сопряжения посылает блок S(IFS-запрос) для указания нового размера IFSD, который оно может поддерживать. Карта должна подтвердить прием блоком S(IFS-ответ) с таким же полем INF. Карта оценивает новый размер IFSD как правильный до тех пор, пока другой размер IFSD не будет указан еще одним блоком S(IFS-запрос).
Кодирование размеров IFSC и IFSD в поле INF - в соответствии с 11.4.2.
Правило 5 - На сцепление указывает М-бит, тогда I[N(S), 0] - не цепочечный блок или последний блок цепочки; I[N(S), 1] - часть цепочки, и за этим блоком должен следовать, по меньшей мере, один связанный с ним блок.
Блок R[N(R)] запрашивает передачу следующего цепочечного l-блока I[N(S)=N(R),...] и подтверждает прием полученного цепочечного l-блока I[HE N(R), 1].
11.6.3 Обработка ошибок
11.6.3.1 Ошибки, обнаруживаемые приемником
Задачами блокового компонента являются: передача блоков, выявление ошибок передачи и очередности, обработка ошибок такого рода и возобновление синхронизации протокола передачи. Блоковый компонент уровня звена данных должен быть способен обрабатывать следующие ошибки:
- превышение BWT - карта не посылает никакого знака в пределах установленного времени задержки;
- прием неразрешенного блока. Например:
- с ошибкой(ами) четности знака(ов);
- с ошибкой, выявляемой по избыточному коду;
- с недействительным байтом РСВ (вследствие неизвестного кодирования);
- с недействительным байтом LEN (из-за ошибки передачи либо несовместимости с типом блока или с размером IFSC или IFSD);
- с потерей синхронизации из-за несогласованности размера блока и значения, указываемого байтом LEN;
- при неудачной попытке получить соответствующий блок S(... ответ) после посылки блока S(... запрос).
Возобновление синхронизации протокола может быть предпринято на трех последовательных ступенях. Если на одной ступени попытка не приводит к успеху, то пробуют следующую ступень.
Для устройства сопряжения эти три ступени представляют собой следующее:
- повторную передачу блоков;
- использование блока S(RESYNCH-запрос);
- восстановление или деактивацию карты.
Для карты тремя ступенями являются:
- повторная передача блоков;
- использование блока S(RESYNCH-ответ);
- отсутствие воздействия со стороны устройства сопряжения, без него карта перестает реагировать.
11.6.3.2 Правила протокола для обработки ошибок
Правило 6 - Блок S(RESYNCH-запрос) может быть послан только устройством сопряжения с целью возобновления синхронизации и инициировании возврата параметров связи протокола передачи к их начальным значениям.
Правило 6.1 - Когда приемник обнаруживает потерю синхронизации, то право передачи возвращается к приемнику, если сигнал на I/O отсутствует в течение времени, превышающего большее из CWT или BGT.
Правило 6.2 - На блок S(RESYNCH-запрос) карта должна ответить блоком S(RESYNCH-ответ).
Правило 6.3 - После получения устройством сопряжения блока S(RESYNCH-ответ) протокол передачи инициируется.
Правило 6.4 - После того как максимум три раза подряд устройству сопряжения не удается достигнуть предполагаемого возобновления синхронизации путем посылки блока S(RESYNCH-запрос), оно применяет либо восстановление карты, либо деактивацию.
Правило 6.5 - Если получен блок S(RESYNCH-запрос), то отосланный перед ним блок рассматривается как неполученный.
Правило 7.1 - Если был послан l-блок и получен неразрешенный блок или происходит превышение BWT (по отношению к устройству сопряжения), то посылается R-блок, который запрашивает своим номером N(R) ожидаемый l-блок с номером N(S)=N(R).
Правило 7.2 - Если был послан R-блок и получен неразрешенный блок или происходит превышение BWT (по отношению к устройству сопряжения), то этот R-блок передается повторно.
Правило 7.3 - Если был послан блок S(... запрос) и полученный ответ не является блоком S(... ответ) или происходит превышение ВWТ (только по отношению к устройству сопряжения), то блок S(... запрос) передается повторно.
Если был послан блок S(... ответ) и получен неразрешенный блок или происходит превышение ВWТ (только по отношению к устройству сопряжения), то посылается R-блок.
Правило 7.4.1* - В начале протокола передачи, после безуспешной попытки получить безошибочный блок, устройство сопряжения предпринимает максимум еще две попытки подряд перед восстановлением или деактивацией карты.
_______________
* Нумерация соответствует оригиналу. - .
Правило 7.4.2 - В ходе протокола, если устройство сопряжения терпит неудачу в попытке получить безошибочный блок, оно предпринимает максимум еще две попытки подряд перед посылкой блока S(RESYNCH-запрос).
Правило 7.4.3 - Если карте не удается принять безошибочный блок после второй попытки подряд, то она остается в режиме приема.
Правило 7.5 - На получение неразрешенного первого блока карта реагирует посылкой блока R(0).
Правило 7.6 - Если на первый блок, посланный устройством сопряжения, не приходит ответ в пределах времени BWT, то устройство сопряжения посылает блок R(0).
Правило 8 - Если карта посылает блок S(IFS-запрос), а получает неразрешенный блок, то она повторно передает максимум еще один блок S(IFS-запрос) для того, чтобы добиться получения блока S(IFS-ответ). После второй неудачной попытки карта остается в режиме приема.
Правило 9 - Прерывание цепочки блоков может быть инициировано либо отправителем, либо получателем цепочки с помощью посылки блока S(ABORT-запрос), в ответ на который должен поступить блок S(ABORT-ответ), после чего может быть послан R-блок в зависимости от того, есть ли необходимость возвратить право посылать.
Примечание - Прерывание сцепления может произойти из-за неисправностей карты физического характера, например из-за сбоя памяти.
12 Передача пары команда-ответ
12.1 Единица данных протокола приложения
12.1.1 Пара команда-ответ
Единицей данных протокола приложения является либо командный APDU, либо ответный APDU. Шаг в протоколе передачи состоит из передачи командного APDU, обработки его в получателе и возврата ответного APDU. Такая пара APDU называется парой команда-ответ.
Как показано на рисунке 24, каждый командный APDU, определенный в настоящем стандарте, состоит из:
- обязательного заголовка из четырех байтов, обозначенных как CLA INS Р1 Р2;
- условного тела переменной длины.
Рисунок 24 - Структура командного APDU
Рисунок 24 - Структура командного APDU
Как показано на рисунке 25, каждый ответный APDU, определенный в настоящем стандарте, состоит из:
- условного тела переменной длины;
- обязательного завершителя из двух байтов, обозначенных как SW1 SW2 и кодирующих состояние получателя после обработки команды.
Рисунок 25 - Структура ответного APDU
Рисунок 25 - Структура ответного APDU
Значения заголовка команды и завершителя ответа должны быть, как определено в ИСО/МЭК 7816-4. Если операция прерывается, то карта перестает реагировать. Однако если возникает ответный APDU, то тело ответа должно отсутствовать и SW1 SW2 должны показывать ошибку.
12.1.2 Поля данных в паре команда-ответ
Каждая пара команда-ответ может содержать в себе поле данных команды и/или поле данных ответа:
- N - число байтов в поле данных команды. Если N0, то поле L присутствует для кодирования N и поле данных команды состоит из последовательных байтов N. Если N=0, то и поле L, и поле данных команды отсутствует;
- N - максимальное число байтов, ожидаемых в поле данных ответа. Если N0, то поле L присутствует для кодирования N. Если N= 0, то поле L отсутствует;
- N - число байтов в поле данных ответа. N должно быть от нуля до N. Если N=0, то поле данных ответа отсутствует.
Случай 1 - N=N=0. Командный APDU состоит из заголовка, поля L, поля данных команды, а поле L отсутствует. Ответный APDU состоит из завершителя, а поле данных ответа отсутствует.
Случай 2 - N= 0, N0. Командный APDU состоит из заголовка и поля L. Поле L и поле данных команды отсутствуют. Ответный APDU состоит из поля данных ответа и завершителя.
Случай 3 - N0, N=0. Командный APDU состоит из заголовка, поля L и поля данных команды, а поле L отсутствует. Ответный APDU состоит из завершителя, а поле данных ответа отсутствует.
Случай 4 - N0, N0. Командный APDU состоит из заголовка, поля L, поля данных команды и поля L. Ответный APDU состоит из поля данных ответа и завершителя.
В таблице 12 суммированы четыре возможных случая пары команда-ответ.
Таблица 12 - Поля данных в паре команда-ответ
Случай 1 | Поле данных команды отсутствует | Поле данных ответа отсутствует |
Случай 2 | Поле данных команды отсутствует | Поле данных ответа имеется |
Случай 3 | Поле данных команды имеется | Поле данных ответа отсутствует |
Случай 4 | Поле данных команды имеется | Поле данных ответа имеется |
На рисунке 26 показаны 4 структуры командных APDU в соответствии с предыдущими четырьмя случаями:
- командный APDU в случае 1 состоит из заголовка;
- командный APDU в случае 2 состоит из заголовка и поля L;
- командный APDU в случае 3 состоит из заголовка, поля L и поля данных;
- командный APDU в случае 4 состоит из заголовка, поля L, поля данных и поля L.
Рисунок 26 - Четыре структуры командных APDU
Рисунок 26 - Четыре структуры командных APDU
Следовательно, в любой паре команда-ответ отсутствие поля L в командном APDU является стандартным способом для приема отсутствующего поля данных ответа в ответном APDU.
12.1.3 Порядок кодирования для командных APDU
Рисунок 27 иллюстрирует командный APDU как строку из n байтов. Заголовок состоит из первых четырех байтов, а именно CLA INS Р1 Р2. Тело состоит из всех последовательных байтов, а именно от С(5) до С(n), если они имеются.
Рисунок 27 - Командный APDU как строка байтов
Рисунок 27 - Командный APDU как строка байтов
В случае 1 тело отсутствует, следовательно, n=4;
В случае 2 поле L или короткое (случай 2S), или расширенное (случай 2Е):
- случай 2S - короткое поле L состоит из С(5), кодирования N от 1 до 256 ('00' означает максимум, т.е. 256), следовательно, n=5;
- случай 2Е - расширенное поле L состоит из С(6) = '00', С(6), С(7), кодирования N от 1 до 65536 ('0000' означает максимум, т.е. 65536), следовательно, n=7.
В случае 3 поле L или короткое (случай 3S), или расширенное (случай 3Е):
- случай 3S - короткое поле L состоит из С(5)0, кодирования N от 1 до 255. Поле данных состоит из С(6) - С(5 + N), следовательно, n=5+С(5);
- случай 3Е - расширенное поле L состоит из С(5) = '00' и С(6) С(7)'0000', кодирования N от 1 до 65535. Поле данных состоит из С(8)-С(7+N), следовательно, n=7+(С(6)С(7)).
В случае 4 оба поля длины или короткие (случай 4S), или расширенные (случай 4Е):
- случай 4S - короткое поле L состоит из С(5) 0, кодирования N, от 1 до 255. Поле данных состоит из С(6)-С(5+N). Короткое поле L состоит из С(6+N), кодирования N от 1 до 256 ('00' означает максимум, т.е. 256), следовательно, n=6+С(5);
- случай 4Е - расширенное поле L состоит из С(5)='00' и С(6) С(7)'0000', кодирования N, от 1 до 65535. Поле данных состоит из С(8)-С(7+N). Расширенное поле L состоит из С(8+N), С(9+N), кодирования N от 1 до 65536 ('0000' означает максимум, т.е. 65536), следовательно, n=9+(С(6)С(7)).
В таблице 13 суммировано декодирование командного APDU в соответствии с семью случаями.
Таблица 13 - Декодирование командного APDU
Условие на С(5) | Условие на С(6) С(7) | Число байтов | Случай |
Отсутствует | Отсутствует | 4 | 1 |
Присутствует, любое значение | Отсутствует | 5 | 2S |
Присутствует, '00' | С(6) и, возможно, С(7) присутствуют | 5+(С(5)) | 3S |
Присутствует, '00' | Присутствует, любое значение | 6+(С(5)) | 4S |
Присутствует, ='00' | Присутствует, любое значение | 7 | 2Е |
Присутствует, ='00' | Присутствует, '0000' | 7+(С(6) С(7)) | 3Е |
Присутствует, ='00' | Присутствует, '0000' | 9+(С(6) С(7)) | 4Е |
Примечание - Любое другое значение командного APDU является ошибочным. |
Случаи 1, 2S, 3S и 4S применяют ко всем картам. Случаи 2Е, 3Е и 4Е применяют к картам, явно определяющим свои функциональные возможности оперирования расширенными полями длины (функциональные возможности карт должны быть в соответствии с ИСО/МЭК 7816-4).
12.2 Пара команда-ответ, передаваемая протоколом Т=0
12.2.1 Общие положения
Данный подраздел определяет преобразование блока данных прикладного протокола (APDU) в блок данных протокола передачи (TPDU) при Т=0, используя при необходимости команды GET RESPONSE и ENVELOPE (см. ИСО/МЭК 7816-4). Например, пара команда-ответ в случае 4S обрабатывается как две последовательные пары командного и ответного TPDU: вторая команда TPDU - команда GET RESPONSE. В таблице 14 суммированы значения завершителя ответа (см. ИСО/МЭК 7816-4), используемые далее для преобразования.
Таблица 14 - Значения завершителя ответа, используемые далее для преобразования протоколом Т=0
SW1 SW2 | Смысловое содержание |
'9000' | Операция завершена нормально. В случаях 1, 2 и 3 дальнейших действий нет. В случае 4 после приема N байтов в поле данных команды, карта должна быть готова к приему по крайней мере одной команды GET RESPONSE для передачи не более N байтов данных ответа. |
'61XY' | Операция завершена нормально (SW2 кодирует N, т.е. число все еще доступных добавочных байтов данных). В случаях 1 и 3 карта не должна использовать такое значение. В случаях 2 и 4 для передачи байтов данных ответа карта должна быть готова к приему команды GET RESPONSE с Р3, установленным на минимум Nи N. |
'62XY' | Операция завершена с предупреждением. В случае 1 дальнейших действий нет. В случаях 2, 3 и 4, если указание о предупреждении появляется до передачи всех байтов данных команд и/или ответов, то либо операция продолжается (например, командой GET RESPONSE для передачи байтов данных ответа), либо указание о предупреждении вызывает другую команду (например, от '6202' до '6280', команда GET DATA для передачи строки байтов, возникающих в карте, см. ИСО/МЭК 7816-4). Таким образом, карте не следует использовать такое значение до последнего ответного TPDU (см. текст ниже). |
'6700' | Операция прервана из-за неправильной длины. Дальнейших действий нет. |
'6CXY' | Операция прервана из-за неверного поля L (SW2 кодирует N, т.е. точное число доступных байтов данных). В случаях 1 и 3 карте не следует использовать такое значение. В случаях 2 и 4 карта должна быть готова к приему той же команды с Р3 = SW2 |
'6D00' | Операция прервана из-за неверного или неподдерживаемого кода команды. Дальнейших действий нет |
Последовательные межотраслевые пары команда-ответ могут быть сцеплены: в первом командном APDU CLA=0хх1 хххх до предпоследнего, а в последнем CLA=0хх0 хххх. Остальные шесть битов остаются постоянными в цепочке (сцепление должно быть, как определено в ИСО/МЭК 7816-4):
- если в межотраслевой паре команда-ответ цепочка (CLA = 0хх1 хххх) обрабатывается как две или более последовательные пары командного и ответного TPDU, то в командных TPDU все CLA должны быть установлены на одинаковое значение, т.е. 0хх1 хххх;
- если последняя межотраслевая пара команда-ответ цепочки (бит 5 в CLA переведен из 1 в 0, т.е. CLA = 0хх0 хххх) обрабатывается как две или более последовательные пары командного и ответного TPDU, то цепочка оканчивается последней парой командного и ответного TPDU. Следовательно, для проведения корректной индикации командных TPDU CLA с первого до предпоследнего должны быть установлены на 0хх1 хххх, а последний CLA - на 0хх0 хххх.
В случаях 4S, 2Е, 3Е и 4Е, если карта поддерживает сцепление команд (см. ИСО/МЭК 7816-4), для любой межотраслевой пары команда-ответ с CLA = 0хх0 хххх, независимо от того, имеется ли бит 5 в предыдущем CLA, вышеописанное правило должно применяться, когда это целесообразно. Таким образом, сцепление команд позволяет карте знать, является ли командный TPDU последним или нет, для того чтобы не использовать указание о предупреждении до наступления последнего ответного TPDU.
12.2.2 Случай 1
Командный APDU преобразуется в командный TPDU с Р3='00'.
Командный APDU | CLA INS Р1 Р2 |
Командный TPDU | CLA INS Р1 Р2 {Р3='00'} |
Ответный TPDU преобразуется в ответный APDU без какого-либо изменения.
Ответный TPDU | SW1 SW2 |
Ответный APDU | SW1 SW2 |
12.2.3 Случай 2S
Короткое поле L состоит из одного байта: С(5) с любым значением для кодирования N от 1 до 256 ('00' означает максимум, т.е. 256). Командный APDU преобразуется в командный TPDU без каких-либо изменений.
Командный APDU | CLA INS Р1 Р2 | {поле L = С(5)} |
Командный TPDU | CLA INS P1 Р2 {Р3 = С(5)} |
Ответный TPDU преобразуется в ответный APDU в соответствии с вариантом принятия N и согласно обработке команды.
Случай 2S.1 - Операция завершена; N принято
Ответный TPDU преобразуется в ответный APDU без какого-либо изменения.
Ответный TPDU | N байтов данных | SW1 SW2 |
Ответный APDU | N байтов данных | SW1 SW2 |
Случай 2S.2 - Операция прервана; N окончательно не принято
Карта не принимает N и не поддерживает услугу по предоставлению данных, если длина указана неверно. Ответный TPDU с карты указывает, что операция прервана из-за неверно указанной длины: SW1 SW2 = '6700'
Ответный TPDU | {SW1 SW2 = '6700'} |
Ответный APDU | {SW1 SW2 = '6700'} |
Случай 2S.3 - Операция прервана; N не принято,
N указано
Карта не принимает N, и ответный TPDU с карты указывает, что операция прервана: SW1 = '6С' (неверная длина) и SW2 принимает любые значения для кодирования N от 1 до 256 ('00' означает 256), а именно точное число доступных байтов данных.
Ответный TPDU | {SW1 = '6С'} SW2 |
Карта должна быть готовой к приему той же команды с Р3 = SW2.
Командный TPDU | CLA INS Р1 Р2 {Р3 = SW2} |
Ответный TPDU состоит из N байтов данных, следующих за SW1 SW2.
Ответный TPDU | N байтов данных | SW1 SW2 |
Если N N, то ответный TPDU преобразуется в ответный APDU без какого-либо изменения.
Ответный APDU | N( N) байтов данных | SW1 SW2 |
Если N N, то ответный TPDU преобразуется в ответный APDU путем сохранения только первых N байтов ответного APDU и двух байтов состояния SW1 SW2.
Ответный APDU | N( N) байтов данных | SW1 SW2 |
Случай 2S.4 - SW1 SW2 = '9XYZ', исключая '9000'
Ответный TPDU преобразуется в ответный APDU без какого-либо изменения.
12.2.4 Случай 3S
Короткое поле L состоит из одного байта: С(5)'00' для кодирования N от 1 до 255. Командный APDU преобразуется в командный TPDU без какого-либо изменения.
Командный APDU | CLA INS Р1 Р2 | {поле L = С(5)} | N байтов данных | |
Командный TPDU | CLA INS Р1 Р2 {Р3 = С(5)} | N байтов данных |
Ответный TPDU преобразуется в ответный APDU без какого-либо изменения.
Ответный TPDU | SW1 SW2 |
Ответный APDU | SW1 SW2 |
12.2.5 Случай 4S
Короткое поле L состоит из одного байта: С(5)'00' для кодирования N от 1 до 255. Короткое поле L состоит из одного байта: С(n) с любым значением для кодирования N от 1 до 256 ('00' означает максимум, т.е. 256). Командный APDU преобразуется в командный TPDU путем отсечения поля L, т.е. С(n).
Командный APDU | CLA INS P1 Р2 | {поле L = С(5)} | N байтов данных | {поле L = С(n)} |
Командный TPDU | CLA INS Р1 Р2 {Р3 = С(5)} | N байтов данных |
Случай 4S.1 - Операция прервана
Первый ответный TPDU с карты указывает на то, что операция прервана: SW1 = '6Х', исключая '61', '62' и '63'. Ответный TPDU преобразуется в ответный APDU без какого-либо изменения.
Ответный TPDU | {SW1 = '6Х', исключая '61', '62' и '63'}SW2 |
Ответный APDU | {SW1 = '6Х', исключая '61', '62' и '63'}SW2 |
Случай 4S.2 - Операция завершена
Первый ответный TPDU с карты указывает, что операция завершена: SW1 SW2 = '9000'. Карта должна быть готова к приему командного TPDU команды GET RESPONSE с Р3 = С(n).
Командный TPDU | CLA {INS = GET RESPONSE} P1 P2 {P3 = C(n)} |
В зависимости от второго ответного TPDU с карты операция будет продолжена в соответствии с вышеуказанными случаями 2S.1, 2S.2 и 2S.4.
Случай 4S.3 - Операция завершена с предоставлением дополнительной информации
Первый ответный TPDU с карты указывает, что операция завершена и карта дает информацию: SW1 = '61' и SW2 принимает любое значение для кодирования N от 1 до 256 ('00' означает 256), а именно число все еще доступных дополнительных байтов данных. Карта должна быть готова к приему командного TPDU команды GET RESPONSE с Р3, установленным на минимум N и N.
Командный TPDU | CLA {INS = GET RESPONSE} P1 P2 {P3 = min(N, N)} |
Второй ответный TPDU преобразуется в ответный APDU без какого-либо изменения.
Ответный TPDU | Р3 байтов данных | SW1 SW2 |
Ответный APDU | Р3 байтов данных | SW1 SW2 |
Случай 4S.4 - SW1 SW2 = '62XY' либо '63XY', либо '9XYZ', исключая '9000'
Ответный TPDU преобразуется в ответный APDU без какого-либо изменения.
Примечание - В случае 4S использование '62XY' и '63XY' не рекомендуется в первом ответном TPDU.
12.2.6 Случай 2Е
Расширенное поле L состоит из трех байтов: С(5) С(6) С(7). С(5) = '00', а С(6) С(7) имеют любое значение для кодирования N от 1 до 65536 ('0000' означает максимум, т.е. 65536).
Командный APDU | CLA INS Р1 Р2 | {поле L = С(5) С(6) С(7)} |
Случай 2Е.1 - N256, С(5) = '00', С(6) С(7) от '0001' до '0100'
Так как N принимает значения от 1 до 256, то командный APDU должен быть преобразован в командный TPDU с Р3 = С(7). Операция должна продолжаться в соответствии со случаем 2S.
Командный TPDU | CLA INS Р1 Р2 {Р3 = С(7)} |
Случай 2Е.2 - N256, С(5) = '00', С(6) С(7) = '0000' либо от '0101' до 'FFFF'
Так как N256, командный APDU должен быть преобразован в командный TPDU с Р3 = '00'.
Командный TPDU | CLA INS Р1 Р2 {Р3 = '00'} |
а) Если первый ответный TPDU с карты указывает, что операция прервана из-за неверной длины (SW1 SW2 = '6700'), то ответный TPDU должен быть преобразован в ответный APDU без какого-либо изменения.
Ответный TPDU | {SW1 SW2 = '6700'} |
Ответный APDU | {SW1 SW2 = '6700'} |
b) Если первый ответный TPDU с карты указывает, что операция прервана из-за неверной длины и карта дает информацию: SW1 = '6С' и SW2 имеет любое значение для кодирования N от 1 до 256 ('00' означает 256), а именно точное число доступных байтов данных, то операция должна быть продолжена, как описано в случае 2S.3
с) Если первый ответный TPDU - 256 байтов данных, следующих за SW1 SW2 = '9000', то это означает, что у карты больше нет 256 байтов данных и/или она не поддерживает команду GET RESONSE. Далее ответный TPDU должен быть преобразован в ответный APDU без какого-либо изменения.
Ответный TPDU | 256 байтов данных | {SW1 SW2 = '9000'} |
Ответный APDU | 256 байтов данных | {SW1 SW2 = '9000'} |
d) Если первый или последующие TPDU с карты - SW1 = '61', то SW2 с любым значением кодирует N от 1 до 256 ('00' означает 256), а именно число все еще доступных дополнительных байтов данных, полученных в предыдущих ответных TPDU.
Если N=0, то ответный APDU должен быть последовательным соединением байтов данных всех полученных ответных TPDU вместе с завершителем последнего полученного ответного TPDU.
Если N0, то карта должна быть готова к приему командного TPDU команды GET RESPONSE с Р3, установленным на минимум N и N. Соответствующий ответный TPDU с карты должен обрабатываться:
- в соответствии со случаем d), если SW1 = '61';
- как указано выше, когда N=0, если SW1 SW2 = '9000'.
12.2.7 Случаи 3Е
Расширенное поле L состоит из трех байтов: С(5) С(6) С(7). С(5) = '00', а С(6)С(7)'0000' для кодирования N от 1 до 65535.
Командный APDU | CLA INS P1 Р2 | {поле L = С(5) С(6) С(7)} | N байтов данных |
Случай 3Е.1 - N от 1 до 255, С(5) С(6) = '0000', С(7)'00'
Так как N принимает значения от 1 до 255, то командный APDU преобразуется в командный TPDU с Р3 = С(7).
Командный TPDU | CLA INS Р1 Р2 {Р3 = С(7)} | N байтов данных |
Ответный TPDU преобразуется в ответный APDU без какого-либо изменения.
Ответный TPDU | SW1 SW2 |
Ответный APDU | SW1 SW2 |
Случай 3Е.2 - N255, С(5) = '00', С(6) '00', С(7) - любое значение
Командный APDU должен быть разделен на последовательные сегменты из не менее 256 байтов, которые должны быть посланы в порядке их следования в байты данных команды ENVELOPE командных TPDU. Отсутствие байтов данных означает "конец строки данных".
Командный TPDU | CLA {INS = ENVELOPE} Р1 Р2 Р3 | Р3 байтов |
Если первый ответный TPDU с карты указывает, что карта не поддерживает команду ENVELOPE (SW1 SW2 = '6D00'), то TPDU должен быть преобразован в ответный APDU без какого-либо изменения.
Ответный TPDU | {SW1 SW2 = '6D00'} |
Ответный APDU | {SW1 SW2 = '6D00'} |
Если первый TPDU с карты указывает, что карта не поддерживает команду ENVELOPE (SW1 SW2 = = '9000'), то карта должна быть готова к приему дальнейшей команды ENVELOPE, при необходимости.
Ответный TPDU | {SW1 SW2 = '9000'} | |
Командный TPDU | CLA {INS = ENVELOPE} Р1 Р2 Р3 | Р3 байтов |
Ответный TPDU, соответствующий последней команде ENVELOPE, преобразуется в ответный APDU без какого-либо изменения.
Ответный TPDU | SW1 SW2 |
Ответный APDU | SW1 SW2 |
12.2.8 Случай 4Е
Расширенное поле L состоит из трех байтов: С(5) С(6) С(7). С(5) = '00', а С(6)С(7)'0000' для кодирования N от 1 до 65535. Расширенное поле L состоит из двух байтов: С(n-1) С(n) с любым значением для кодирования N от 1 до 65536 ('0000' означает максимум, т.е. 65536).
Командный APDU | CLA INS P1 Р2 | {поле L = С(5) С(6) С(7)} | N байтов данных | {поле L=C(n-1)C(n)} |
Случай 4Е.1 - N256, С(5) С(6) = '0000', С(7)'00'
Так как N принимает значения от 1 до 255, то командный APDU преобразуется в командный TPDU с Р3=С(7) и добавлением N байтов данных. Поле L, т.е. С(n-1) С(n), отсекается.
Командный TPDU | CLA INS Р1 Р2 {Р3 = С(7)} | N байтов данных |
а) Если SW1 = '6Х', исключая '61', '62' и '63' в первом ответном TPDU с карты, то ответный TPDU преобразуется в ответный APDU без какого-либо изменения.
Ответный TPDU | {SW1 = '6Х', исключая '61', '62' и '63'} SW2 |
Ответный APDU | {SW1 = '6Х', исключая '61', '62' и '63'} SW2 |
b) Если SW1 SW2 = '9000' в первом ответном TPDU с карты, то:
если N256, т.е. С(n-1)С(n) от '0001' до '0100', то карта должна быть готова к приему команды GET RESPONSE командного TPDU с Р3=С(n). Последующая операция должна быть в соответствии со случаями 2S.1, 2S.2, 2S.3 и 2S.4, описанными выше;
если N256, т.е. С(n-1)С(n) либо '0000', либо '0100', то карта должна быть готова к приему команды GET RESPONSE командного TPDU с Р3='00'. Последующая операция должна быть в соответствии со случаем 2Е.2, описанным выше.
c) Если SW1 = '61' в первом ответном TPDU с карты, то операция должна продолжаться в соответствии со случаем 2Е.2 d), указанным выше.
d) Если SW1 SW2 = '62XY', или '63XY', или '9XYZ', исключая '9000' в первом ответном TPDU с карты, то ответный TPDU преобразуется в ответный APDU без какого-либо изменения.
Примечание - В случае 4Е использование '62XY' и '63XY' не рекомендуется до последнего ответного TPDU.
Случай 4Е.2 - N255, С(5) = '00', С(6)'00', С(7) - любое значение
Так как N256, то операция должна продолжаться в соответствии со случаем 3Е.2, описанным выше, пока командный APDU не будет полностью передан карте. Далее операция должна продолжаться, как описано выше в случаях 4Е.1 а), b), с) и d).
12.3 Пара команда-ответ, передаваемая протоколом Т=1
12.3.1 Общие положения
Данный подраздел определяет преобразование блока данных прикладного протокола (APDU) в информационное поле блока данных протокола передачи (TPDU) при помощи протокола Т=1.
12.3.2 Случай 1
Командный APDU преобразуется в информационное поле l-блока без какого-либо изменения.
Командный APDU | CLA INS Р1 Р2 | |
Информационное поле | CLA INS Р1 Р2 |
Информационное поле l-блока, получаемого в ответе, преобразуется в ответный APDU без какого-либо изменения.
Информационное поле | SW1 SW2 | |
Ответный APDU | SW1 SW2 |
12.3.3 Случай 2S и 2Е
Командный APDU преобразуется в информационное поле l-блока без какого-либо изменения.
Командный APDU | CLA INS Р1 Р2 | Поле L | ||
Информационное поле | CLA INS Р1 Р2 | Поле L |
Ответный APDU состоит:
- либо из информационного поля I-блока, получаемого в ответе,
- либо из сцепления информационных полей последовательных I-блоков, получаемых в ответе (эти блоки должны быть связаны в цепочку):
либо информационное поле | Поле данных | SW1 SW2 | |
либо сцепление информационных полей | Поле …… | ||
…… | |||
... данных | SW1 SW2 | ||
Ответный АРDU | Поле данных | SW1 SW2 |
12.3.4 Случай 3S и 3E
Командный APDU преобразуется без какого-либо изменения
- либо в информационное поле одного I-блока,
- либо в сцепление информационных полей последовательных l-блоков, которые должны связываться в цепочку:
Командный APDU | CLA INS Р1 Р2 | Поле L | Поле данных | |||
либо информационное поле | CLA INS Р1 Р2 | Поле L | Поле данных | |||
либо сцепление информационных полей | CLA INS Р1 Р2 | Поле L | Поле | |||
… | … | … | ||||
… | данных |
Информационное поле l-блока, получаемого в ответе, преобразуется в ответный APDU без какого-либо изменения.
Информационное поле | SW1 SW2 | |
Ответный APDU | SW1 SW2 |
12.3.5 Случай 4S и 4Е
Командный APDU преобразуется без какого-либо изменения
- либо в информационное поле одного I-блока,
- либо в сцепление информационных полей последовательных l-блоков, которые должны связываться в цепочку:
Командный APDU | CLA INS P1 Р2 | Поле L | Поле данных | Поле L | |||||||||
либо информационное поле | CLA INS P1 Р2 | Поле L | Поле данных | Поле L | |||||||||
либо сцепление информационных полей | CLA INS P1 Р2 | Поле L | Поле | ||||||||||
… | … | … | |||||||||||
… | данных | Поле L |
Ответный APDU состоит
- либо из информационного поля I-блока, получаемого в ответе,
- либо из сцепления информационных полей последовательных I-блоков, получаемых в ответе. Эти блоки должны быть связаны в цепочку:
либо информационное поле | Поле данных | SW1 SW2 | |
либо сцепление информационных полей | Поле …… | ||
…… | |||
... данных | SW1 SW2 | ||
Ответный АРDU | Поле данных | SW1 SW2 |
Приложение А (справочное). Сценарии для Т=1
Приложение А
(справочное)
А.1 Обозначения
В настоящем приложении, в дополнение к обозначениям, введенным в 11.6.1, применены следующие обозначения:
А.2 Безошибочная работа (в соответствии с правилами по 11.6.2.3)
А.2.1 Обмен I-блоками
Сценарий 1 (правила 1 и 2.1)
А.2.2 Продление времени ожидания
Сценарий 2 (правило 3) - Карта запрашивает продление времени ожидания.
А.2.3 Регулирование IFS
Сценарий 3 (правило 4) - Карта инициирует регулирование IFS.
Сценарий 4 (правило 4) - Устройство сопряжения инициирует регулирование IFS.
А.2.4 Функция сцепления
Сценарий 5 (правила 2.2 и 5) - Устройство сопряжения посылает цепочку.
Сценарий 6 (правила 2.2 и 5) - Карта посылает цепочку.
Сценарий 7 (примечание к 11.6.2.2)
Карта использует М-бит, чтобы добиться подтверждения приема посланного I-блока
А.3 Обработка ошибок (в соответствии с правилами по 11.6.3.2)
А.3.1 Обмен I-блоками
Сценарий 8 (правило 7.5) - При запуске протокола передачи.
Сценарий 9 (правила 7.1 и 7.6)
Сценарий 10 (правила 7.1, 7.5 и 7.6)
Сценарий 11 (правила 7.1 и 7.6)
Сценарий 12 (правила 7.1, 7.2 и 7.6)
Сценарий 13 (правила 7.1, 7.2 и 7.6)
А.3.2 Продление времени ожидания
Сценарий 14 (правило 7.3) - Карта запрашивает продление времени ожидания.
Сценарий 15 (правило 7.3) - Карта запрашивает продление времени ожидания.
А.3.3 Регулирование IFS
Сценарий 16 (правило 7.3) - Карта запрашивает регулирование IFS.
Сценарий 17 (правило 7.3) - Карта запрашивает регулирование IFS.
Сценарий 18 (правило 7.3) - Карта запрашивает регулирование IFS.
Сценарий 19 (правило 7.3) - Карта запрашивает регулирование IFS.
Сценарий 20 (правило 7.3) - Карта запрашивает регулирование IFS.
А.3.4 Функция сцепления
А.3.4.1 Устройство сопряжения посылает цепочку
Сценарий 21 (правило 7.1)
Сценарий 22 (правило 7.1)
А.3.4.2 Карта посылает цепочку
Сценарий 23 (правило 7.1)
Сценарий 24 (правило 7.1)
РИС.52
А.3.4.3 Отправитель цепочки инициирует прерывание цепочки
Сценарий 25 (правило 9) - Устройство сопряжения инициирует прерывание цепочки.
Сценарий 26 (правило 9) - Карта инициирует прерывание цепочки.
А.3.4.4 Получатель цепочки инициирует прерывание цепочки
Сценарий 27 (правило 9) - Карта инициирует прерывание цепочки.
Сценарий 28 (правило 9) - Устройство сопряжения инициирует прерывание цепочки.
А.3.5 Возобновление синхронизации
Сценарий 29 (правило 6.2)
Сценарий 30 (правила 6.2 и 7.3)
Сценарий 31 (правила 6.2, 7.1 и 7.3)
Сценарий 32
Сценарий 33 (правила 7.1 и 7.4.1) - При запуске протокола.
Сценарий 34 (правила 7.1, 7.4.2 и 7.4.3) - В ходе протокола.
Сценарий 35 (правила 6.4, 7.1, 7.4.2 и 7.4.3) - В ходе протокола.
Приложение ДА (справочное). Сведения о соответствии ссылочных международных стандартов национальным стандартам Российской Федерации
Приложение ДА
(справочное)
Таблица ДА.1
Обозначение ссылочного международного стандарта | Степень соответствия | Обозначение и наименование соответствующего национального стандарта |
ИСО/МЭК 7816-2 | IDT | ГОСТ Р ИСО/МЭК 7816-2-2010 "Карты идентификационные. Карты на интегральных схемах. Часть 2. Карты с контактами. Размеры и расположение контактов" |
ИСО/МЭК 7816-4 | IDT | ГОСТ Р ИСО/МЭК 7816-4-2013 "Карты идентификационные. Карты на интегральных схемах. Часть 4. Организация, защита и команды для обмена" |
Примечание - В настоящей таблице использовано следующее условное обозначение степени соответствия стандартов: |
Библиография
[1] | ISO 31 (all parts) | Quantities and units |
(ИСО 31 (все части) | Величины и единицы измерения) | |
_______________ | ||
[2] | ISO/IEC 7810:2003 | Identification cards - Physical characteristics |
(ИСО/МЭК 7810:2003 | Карты идентификационные. Физические характеристики) | |
[3] | ISO/IEC 10536 (all parts) | Identification cards - Contactless integrated circuit(s) cards - Close-coupled cards |
(ИСО/МЭК 10536 (все части) | Карты идентификационные. Карты на интегральных схемах бесконтактные. Карты поверхностного действия) | |
[4] | ISO/IEC 13239:2002 | Information technology - Telecommunications and information exchange between systems - High-level data link control (HDLC) procedures |
(ИСО/МЭК 13239:2002 | Информационные технологии. Телекоммуникации и обмен информацией между системами. Высокоуровневые протоколы управления каналом передачи данных) | |
[5] | ISO/IEC 14443 (all parts) | Identification cards - Contactless integrated circuit cards - Proximity cards |
(ИСО/МЭК 14443 (все части) | Карты идентификационные. Карты на интегральных схемах бесконтактные. Карты близкого действия) | |
[6] | ISO/IEC 15693 (all parts) | Identification cards - Contactless integrated circuit(s) cards - Vicinity cards |
(ИСО/МЭК 15693 (все части) | Карты идентификационные. Карты на интегральных схемах бесконтактные. Карты удаленного действия) |
__________________________________________________________________________
УДК 336.77:002:006.354 ОКС 35.240.15 Э46 ОКП 40 8470
Ключевые слова: обработка данных, обмен информацией, идентификационные карты, IC-карты, передача данных, электрический интерфейс, протоколы передачи
__________________________________________________________________________
Электронный текст документа
и сверен по:
официальное издание
М.: Стандартинформ, 2014