Следующие компании могут иметь патент, касающийся настоящего стандарта, но не представили подробную информацию о патентах или не согласовали предоставление лицензий:
Следует обратить внимание на тот факт, что некоторые элементы настоящего стандарта могут быть объектом патентных прав, помимо тех, что идентифицированы выше. ИСО и МЭК не несут ответственности за идентификацию всех или некоторых таких прав.
ИСО/МЭК 14443-4 подготовлен подкомитетом N 17 "Карты и идентификация личности" совместного Технического комитета N 1 ИСО/МЭК "Информационные технологии" (ISO/IEC JTC 1/SC 17).
Настоящий стандарт определяет протокол полудуплексной передачи блока, описывающий специфичные запросы бесконтактного оборудования, а также последовательность активации и деактивации протокола.
Настоящий стандарт предназначен для совместного использования с другими частями ИСО/МЭК 14443 и применим к картам или объектам близкого действия типа A и типа B.
В настоящем стандарте использованы ссылки на следующие международные стандарты. Для датированных ссылок следует использовать только указанное издание, для недатированных ссылок следует использовать последнее издание указанного документа, включая все поправки:
ИСО/МЭК 7816-3 Карты идентификационные. Карты на интегральных схемах. Часть 3. Карты с контактами. Электрический интерфейс и протоколы передачи (ISO/IEC 7816-3, Identification cards - Integrated circuit cards - Part 3: Cards with contacts - Electrical interface and transmission protocols)
ИСО/МЭК 7816-4 Карты идентификационные. Карты на интегральных схемах. Часть 4. Организация, защита и команды для обмена (ISO/IEC 7816-4, Identification cards - Integrated circuit cards - Part 4: Organization, security and commands for interchange)
ИСО/МЭК 14443-2 Карты идентификационные. Карты на интегральных схемах бесконтактные. Карты близкого действия. Часть 2. Радиочастотный энергетический и сигнальный интерфейс (ISO/IEC 14443-2, Identification cards - Contactless integrated circuit cards - Proximity cards - Part 2: Radio frequency power and signal interface)
ИСО/МЭК 14443-3 Карты идентификационные. Карты на интегральных схемах бесконтактные. Карты близкого действия. Часть 3. Инициализация и антиколлизия (ISO/IEC 14443-3, Identification cards - Contactless integrated circuit cards - Proximity cards - Part 3: Initialization and anticollision)
В настоящем стандарте применены следующие термины с соответствующими определениями:
3.1. длительность бита (bit duration): Одна элементарная единица времени (etu), вычисляемая по следующей формуле:
1 etu = 128/(D·fc).
При начальном значении делителя D, равном 1, начальная etu принимает значение:
1 etu = 128/fc,
где fc - частота несущей в соответствии с ИСО/МЭК 14443-2.
3.2. блок (block): Особый тип кадра, который содержит допустимый формат данных протокола.
Примечание. Допустимый формат данных протокола содержит l-блоки, R-блоки или S-блоки.
3.3. недопустимый блок (invalid block): Тип кадра, который содержит недопустимый формат протокола.
Примечание. Если по истечении времени ожидания не было получено никакого кадра, то блок не считается недопустимым.
3.4. кадр (frame): Последовательность битов в соответствии с ИСО/МЭК 14443-3.
Примечание. PICC типа A использует стандартный кадр, определенный для типа A, а PICC типа B использует кадр, определенный для типа B.
ACK - положительное подтверждение (positive ACKnowledgement);
ATS - Ответ на Выбор (Answer To Select);
ATQA - Ответ на Запрос, тип A (Answer To reQuest);
ATQB - Ответ на Запрос, тип B (Answer To reQuest);
CID - идентификатор карты (Card IDentifier);
CRC - циклический контроль избыточности (см. ИСО/МЭК 14443-3 для каждого типа PICC) (Cyclic Redundancy Check);
CRC1 - старший значащий байт CRC (от b16 до b9);
CRC2 - младший значащий байт CRC (от b8 до b1);
D - делитель (Divisor);
DR - прием делителя (от PCD на PICC) (Divisor Receive);
DRI - прием делителя (от PCD на PICC), целое число (Divisor Receive Integer);
DS - отправка делителя (от PICC на PCD) (Divisor Send);
DSI - отправка делителя (от PICC на PCD), целое число (Divisor Send Integer);
EDC - код с обнаружением ошибок (Error Detection Code);
etu - элементарная единица времени (elementary time unit);
fc - частота несущей (carrier frequency);
FSC - размер кадра карты близкого действия (Frame Size for proximity Card);
FSCI - размер кадра карты близкого действия, целое число (Frame Size for proximity Card Integer);
FSD - размер кадра терминального оборудования близкого действия (Frame Size for proximity coupling Device);
FSDI - размер кадра терминального оборудования близкого действия, целое число (Frame Size for proximity coupling Device Integer);
FWI - время ожидания кадра, целое число (Frame Waiting time Integer);
FWT - время ожидания кадра (Frame Waiting Time);
FWTTEMP - промежуточное время ожидания кадра (temporary Frame Waiting Time);
HLTA - команда HALT, тип A;
I-block - информационный блок (Information block);
INF - информационное поле (INformation Field);
MAX - индекс для определения максимального значения;
MIN - индекс для определения минимального значения;
NAD - адрес узла (Node ADdress);
NAK - отрицательное подтверждение (Negative AcKnowledgement);
OSI - взаимодействие открытых систем (Open Systems Interconnection);
PCB - байт управления протоколом (Protocol Control Byte);
PCD - терминальное оборудование близкого действия (Proximity Coupling Device);
PICC - карта или объект близкого действия (proximity card or object);
PPS - выбор протокола и параметров (Protocol and Parameter Selection);
PPSS - начало выбора протокола и параметров (Protocol and Parameter Selection Start);
PPS0 - выбор протокола и параметров при параметре, равном 0 (Protocol and Parameter Selection parameter 0);
PPS1 - выбор протокола и параметров при параметре, равном 1 (Protocol and Parameter Selection parameter 1);
R-block - блок готовности к приему (Receive ready block);
R(ACK) - R-блок, содержащий положительное подтверждение (R-block containing a positive acknowledge);
R(NAK) - R-блок, содержащий отрицательное подтверждение (R-block containing a negative acknowledge);
RATS - запрос для Ответа на Выбор (Request for Answer To Select);
REQA - команда REQuest, тип A;
RFU - зарезервировано для использования в будущем ИСО/МЭК;
S-block - контролирующий блок (Supervisory block);
SAK - подтверждение выбора (Select AcKnowledge);
SFGI - запуск разграничительного времени кадра, целое число (Start-up Frame Guard time Integer);
SFGT - запуск разграничительного времени кадра (Start-up Frame Guard Time);
WUPA - команда Wake-UP, тип A;
WTX - расширение времени ожидания (Waiting Time eXtension);
WTXM - коэффициент расширения времени ожидания (Waiting Time eXtension Multiplier);
(xxxxx)b - представление бит данных;
Следует применять следующую последовательность активации:
- последовательность активации PICC в соответствии с ИСО/МЭК 14443-3 (запрос, цикл антиколлизии и выбор);
- байт SAK должен быть проверен, для того чтобы получить информацию, соответствует ли PICC требованиям настоящего стандарта. Байт SAK определен в ИСО/МЭК 14443-3;
- PICC может быть установлена в состояние HALT при использовании команды HALT в соответствии с ИСО/МЭК 14443-3, если, например, на PCD не используется протокол, соответствующий требованиям настоящего стандарта.
Примечание. В этом случае PCD не может продолжить последовательность активации;
- если PICC соответствует требованиям настоящего стандарта, то PCD может затем послать команду RATS, после того как примет SAK;
(Измененная редакция, Изм. A2:2012).
- PICC посылает свой ATS как ответ на RATS. PICC должна отвечать на RATS, только если RATS принимается непосредственно после выбора;
- если PICC поддерживает любые изменяемые параметры в ATS, то PPS-запрос может быть использован устройством PCD в качестве следующей команды после приема ATS для изменения параметров.
- PICC должна направить PPS-ответ как ответ на PPS-запрос.
PICC не нужно реализовывать PPS, если она не поддерживает изменяемые параметры в ATS.
Последовательность активации PCD для PICC типа A показана на рисунке 1.
![]() (Измененная редакция, Изм. A2:2012).
5.1. Запрос для Ответа на Выбор
В данном подразделе определен RATS со всеми полями (см. рисунок 2).
![]() Рисунок 2. Запрос для Ответа на Выбор
Байт параметра состоит из двух частей (см. рисунок 3):
- старший значащий полубайт от b8 до b5 называется FSDI, он кодирует FSD, который определяет максимальный размер кадра, принимаемого PCD. Кодирование FSD приведено в таблице 1;
- PCD, устанавливающее
, не соответствует требованиям настоящего стандарта. До тех пор пока RFU-значения не назначены ИСО/МЭК, PICC, принимающая , должна интерпретировать эти значения как (FSD = 4096 байтам).Примечание. Это дополнительная рекомендация для совместимости PCD с будущими PICC, когда ИСО/МЭК определит поведение для RFU-значений
.(Измененная редакция, Изм. A2:2012);
- младший значащий полубайт от b4 до b1 называется CID, он определяет логический номер адресуемой PICC в диапазоне от 0 до 14. Значение 15 является RFU. CID задается с помощью PCD и должен быть уникальным для всех PICC, которые находятся в состоянии ACTIVE в одно и то же время. CID устанавливается во время активности PICC. PICC должна использовать CID как свой логический идентификатор, который содержится в первом безошибочно полученном RATS;
- PCD, устанавливающее CID = 15, не соответствует требованиям настоящего стандарта. Поведение PICC см. 5.6.1.2, c.
?????????????????????????????????????????????????
? b8 ? b7 ? b6 ? b5 ? b4 ? b3 ? b2 ? b1 ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? ? ? ? ? ? ? ?
??????????????????? ???????????????????
? ?
? ?????????????????? CID
?
?????????????????????????????????????????? FSDI
Таблица 1
(Измененная редакция, Изм. A2:2012).
5.2. Ответ на Выбор
В данном подразделе определен ATS со всеми его допустимыми полями (см. рисунок 4).
![]() Рисунок 4. Структура ATS
В случае если одно из определенных полей отсутствует в ATS, посланном PICC, то для этого поля должны применяться значения по умолчанию.
5.2.1. Структура байтов
За байтом длины TL следует переменное число дополнительных байтов в следующем порядке:
- байт формата T0,
- байты интерфейса TA(1), TB(1), TC(1) и
- байты предыстории от T1 до Tk.
5.2.2. Байт длины
Байт длины TL является обязательным. Он указывает длину передаваемого ATS, включая его самого. Два байта CRC не включены в TL. Максимальный размер ATS не должен превышать указанного FSD, поэтому максимальное значение TL не должно превышать FSD-2.
5.2.3. Байт формата
Байт формата T0 является необязательным и присутствует только тогда, когда длина больше 1. ATS может содержать следующие дополнительные байты, когда T0 присутствует.
T0 состоит из трех частей (см. рисунок 5):
- старший значащий бит b8 должен быть установлен на 0. Значение 1 является RFU;
- биты от b7 до b5 содержат Y(1), указывающий на присутствие последующих байтов интерфейса TC(1), TB(1) и TA(1);
- младший значащий полубайт от b4 до b1 называется FSCI, он кодирует FSC, который определяет максимальный размер кадра, принимаемого PICC. Значение по умолчанию для FSCI составляет 2, что дает FSC из 32 байтов. Кодирование FSC аналогично кодированию FSD (см. таблицу 1);
- PCD, устанавливающее
, не соответствует требованиям настоящего стандарта. До тех пор пока RFU-значения не назначены ИСО/МЭК, PCD, принимающее , должно интерпретировать эти значения как (FSD = 4096 байтам).Примечание. Это дополнительная рекомендация для совместимости PICC с будущими PCD, когда ИСО/МЭК определит поведение для RFU-значений
.(Измененная редакция, Изм. A2:2012).
?????????????????????????????????????????????????
? b8 ? b7 ? b6 ? b5 ? b4 ? b3 ? b2 ? b1 ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? 0 ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? ? ? ? ? ? ? ?
? ? ? ? ???????????????????
? ? ? ? ?
? ? ? ? ?????????????????? FSCI
? ? ? ?
? ? ? ????????????????????????????????? TA(1) передается, если бит ??
? ? ? установлен на 1 ?
? ? ??????????????????????????????????????? TB(1) передается, если бит ??? Y(1)
? ? установлен на 1 ?
? ????????????????????????????????????????????? TC(1) передается, если бит ??
? установлен на 1
??????????????????????????????????????????????????? Должен быть установлен на 0,1
- RFU
Байт интерфейса TA(1) состоит из четырех частей (см. рисунок 6):
- старший значащий бит b8 кодирует способность обрабатывать различные делители для каждого направления. Если этот бит установлен на 1, то PICC не в состоянии обрабатывать различные делители для каждого направления;
- биты от b7 до b5 кодируют возможные скорости передачи PICC для направления от PICC к PCD, называемого DS. Значение по умолчанию должно быть (000)b;
- бит b4 должен быть установлен на (0)b, а остальные значения - RFU;
- биты от b3 до b1 кодируют возможные скорости передачи PICC для направления от PCD к PICC, называемого DR. Значение по умолчанию должно быть (000)b.
?????????????????????????????????????????????????
? b8 ? b7 ? b6 ? b5 ? b4 ? b3 ? b2 ? b1 ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? ? ? ? ? 0 ? ? ? ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ????????? DR = 2 поддерживается, если бит
? ? ? ? ? ? ? установлен на 1
? ? ? ? ? ? ??????????????? DR = 4 поддерживается, если бит
? ? ? ? ? ? установлен на 1
? ? ? ? ? ????????????????????? DR = 8 поддерживается, если бит
? ? ? ? ? установлен на 1
? ? ? ? ? Должен быть установлен на 0,1 - RFU
? ? ? ? ??????????????????????????? DS = 2 поддерживается, если бит
? ? ? ? установлен на 1
? ? ? ????????????????????????????????? DS = 4 поддерживается, если бит
? ? ? установлен на 1
? ? ??????????????????????????????????????? DS = 8 поддерживается, если бит
? ? установлен на 1
? ? Поддерживается одно и то же
? ????????????????????????????????????????????? значение D для обоих направлений,
? если бит установлен на 1
? Поддерживаются различные значения
??????????????????????????????????????????????????? D для каждого направления, если бит
установлен на 0
Выбор конкретного делителя D для каждого направления может быть осуществлен PCD с помощью PPS.
PICC, устанавливающая b4 = 1, не соответствует требованиям настоящего стандарта. Полученное значение TA(1) с b4 = 1 должно интерпретироваться устройством PCD как (от b8 до b1) = (00000000)b (при скорости в обоих направлениях только ~ 106 кбит/с).
Байт интерфейса TB(1) передает информацию для определения времени ожидания кадра и запуска разграничительного интервала времени.
Байт интерфейса TB(1) состоит из двух частей (см. рисунок 7):
- старший значащий полубайт от b8 до b5 называется FWI, он кодирует FWT (см. 7.2);
- младший значащий полубайт от b4 до b1 называется SFGI, он кодирует значение множителя, используемого для определения SFGT. SFGT определяет специфичный разграничительный интервал, необходимый PICC, прежде чем она будет готова к приему следующего кадра, после того как будет послан ATS. SFGI кодируется в диапазоне от 0 до 14. Значение 15 является RFU. Значение 0 указывает на отсутствие необходимости SFGT, а значения в диапазоне от 1 до 14 используются для расчета SFGT по формуле, приведенной ниже. Значение по умолчанию для SFGI равно 0.
?????????????????????????????????????????????????
? b8 ? b7 ? b6 ? b5 ? b4 ? b3 ? b2 ? b1 ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? ? ? ? ? ? ? ?
??????????????????? ???????????????????
? ?
? ?????????????????? SFGI
?
?????????????????????????????????????????? FWI
SFGT вычисляется по следующей формуле:
SFGT = (256·16/fc)·2SFGI.
SFGTMIN - это минимальное значение времени задержки кадра в соответствии с ИСО/МЭК 14443-3.
SFGTDEFAULT - это минимальное значение времени задержки кадра в соответствии с ИСО/МЭК 14443-3.
SFGTMAX = (256·16/fc)·214 (~ 4949 мс).
PICC, устанавливающая SFGI = 15, не соответствует требованиям настоящего стандарта. Пока RFU-значение 15 не назначено ИСО/МЭК, PCD, получающее SFGI = 15, должно интерпретировать его как SFGI = 0.
PICC, устанавливающая FWI = 15, не соответствует требованиям настоящего стандарта. Пока RFU-значение 15 не назначено ИСО/МЭК, PCD, получающее FWI = 15, должно интерпретировать его как FWI = 4.
5.2.6. Байт интерфейса TC(1)
Байт интерфейса TC(1) задает параметры протокола.
Специфичный байт интерфейса TC(1) состоит из двух частей (см. рисунок 8):
- старшие значащие биты от b8 до b3 должны быть (000000)b, а другие значения являются RFU;
- биты b2 и b1 определяют, какие дополнительные поля в поле пролога поддерживает PICC. PCD можно пропустить поля, которые поддерживаются PICC, но поле, не поддерживаемое PICC, не будет передано PCD никогда. Значение по умолчанию должно быть (10)b. Оно указывает, что CID поддерживается, а NAD не поддерживается;
- PICC, устанавливающая (от b8 до b3) <> (000000)b, не соответствует требованиям настоящего стандарта. PCD должно игнорировать (от b8 до b3), а интерпретация (b2, b1) или любых других полей целого кадра не должна измениться.
?????????????????????????????????????????????????
? b8 ? b7 ? b6 ? b5 ? b4 ? b3 ? b2 ? b1 ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? ? ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? ? ? ? ? ? ? ?
??????????????????????????????? ? ????????? Поддерживаются NAD, если бит
? ? установлен на 1
? ??????????????? Поддерживаются CID, если бит
? установлен на 1
???????????????????????????????????? Должен быть установлен на
(000000)b, все другие
значения - RFU
5.2.7. Байты предыстории
Байты предыстории от T1 до Tk являются необязательными и определяют общую информацию. Максимальная длина ATS обеспечивает максимально возможное количество байтов предыстории. В ИСО/МЭК 7816-4 определено содержание байтов предыстории.
5.3. Запрос выбора протокола и параметров
PPS-запрос содержит стартовый байт, за которым следуют два байта параметра (см. рисунок 9).
??????????????
? PPSS ? Стартовый байт
? ?
??????????????
?
??????????????
? PPS0 ? Parameter 0
? ? ... кодирует наличие PPS1
??????????????
?
??????????????
? PPS1 ? Parameter 1
? ? ... кодирует DRI и DSI
??????????????
?
??????????????
? CRC1 ?
? ?
??????????????
?
??????????????
? CRC2 ?
? ?
??????????????
Рисунок 9. Запрос выбора протокола и параметров
PPSS состоит из двух частей (см. рисунок 10):
- старший значащий полубайт от b8 до b5 должен быть установлен на (1101)b, он определяет PPS;
- младший значащий полубайт от b4 до b1 называется CID, он определяет логический номер адресуемой PICC.
?????????????????????????????????????????????????
? b8 ? b7 ? b6 ? b5 ? b4 ? b3 ? b2 ? b1 ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? 1 ? 1 ? 0 ? 1 ? ? ? ? ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? ? ? ? ? ? ? ?
??????????????????? ???????????????????
? ?
? ?????????????????? CID
?
?????????????????????????????????????????? PPS = (1101)b
Рисунок 10. Кодирование PPSS
5.3.2. Parameter 0
PPS0 указывает на наличие дополнительного байта PPS1 (см. рисунок 11).
?????????????????????????????????????????????????
? b8 ? b7 ? b6 ? b5 ? b4 ? b3 ? b2 ? b1 ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? 0 ? 0 ? 0 ? ? 0 ? 0 ? 0 ? 1 ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? ? ? ? ? ? ? ?
????????????? ? ????????????? ????????? Должен быть установлен на
? ? ? 1,0 - RFU
? ? ????????????????????? Должен быть установлен на (000)b,
? ? все другие значения - RFU
? ????????????????????????????????? PPS1 передается, если бит
? установлен на 1
????????????????????????????????????????????? Должен быть установлен на (000)b,
все другие значения - RFU
Рисунок 11. Кодирование PPS0
PCD, устанавливающее (от b4 до b1) <> (0001)b и/или (от b8 до b6) <> (000)b, не соответствует требованиям настоящего стандарта.
PICC, принимающая (от b4 до b1) <> (0001)b и/или (от b8 до b6) <> (000)b, должна применять правила, приведенные в 5.6.2.2, b).
5.3.3. Parameter 1
PPS1 состоит из трех частей (см. рисунок 12):
- старший значащий полубайт от b8 до b5 должен быть (0000)b, а другие значения являются RFU;
- биты b4 и b3 называются DSI, они кодируют выбранный целочисленный делитель от PICC к PCD;
- биты b2 и b1 называются DRI, они кодируют выбранный целочисленный делитель от PCD к PICC;
- PCD, устанавливающее (от b8 до b5) <> (0000)b, не соответствует требованиям настоящего стандарта. PICC, принимающая (от b8 до b5) <> (0000)b, должна применять правила, приведенные в 5.6.2.2, b).
?????????????????????????????????????????????????
? b8 ? b7 ? b6 ? b5 ? b4 ? b3 ? b2 ? b1 ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? 0 ? 0 ? 0 ? 0 ? ? ? ? ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? ? ? ? ? ? ? ?
??????????????????? ??????? ???????
? ? ???????????? DRI
? ?
? ???????????????????????? DSI
?
?????????????????????????????????????????? Должны быть установлены на (0000)b,
а все другие значения - RFU
Определения DS и DR приведены в 5.2.4.
Кодирование D приведено в таблице 2.
Таблица 2
Преобразование DRI, DSI в D
5.4. Ответ на выбор протокола и параметров
PPS-ответ подтверждает полученный PPS-запрос (см. рисунок 13) и содержит только стартовый байт (см. 5.3.1).
??????????????
? PPSS ? Стартовый байт
? ?
??????????????
?
??????????????
? CRC1 ?
? ?
??????????????
?
??????????????
? CRC2 ?
? ?
??????????????
Рисунок 13. Ответ на выбор протокола и параметров
PICC начинает использовать новые скорости передачи сразу после того, как отправит PPS-ответ. PCD, которое изменяет скорости передачи, не соответствует требованиям настоящего стандарта, если PPS-ответ отсутствует или недопустим или если значение PPSS, возвращенное PICC, не совпадает со значением PPSS, посланным PCD.
5.5. Время ожидания кадра активации
Время ожидания кадра активации определяет максимальное время для PICC, посылающей свой кадр ответа после окончания кадра, принятого от PCD, и имеет значение 65536/fc (~ 4833 мкс).
Примечание. Минимальное время между кадрами в любом направлении определяется по ИСО/МЭК 14443-3.
5.6. Обнаружение и исправление ошибок
5.6.1. Обработка RATS и ATS
5.6.1.1. Правила для PCD
Если PCD уже направило RATS и получило допустимый ATS, то оно должно продолжить работу.
В любом другом случае PCD может повторно передать RATS, прежде чем будет использовать последовательность дезактивации определенную в разделе 8. В случае невыполнения последовательности дезактивации, оно может использовать команду HLTA в соответствии с ИСО/МЭК 14443-3.
5.6.1.2. Правила для PICC
Если PICC была выбрана с последней командой и
a) получила допустимый RATS, то PICC должна:
- возвратить свой ATS и
- перевести в неактивное состояние RATS (перестать реагировать на полученные RATS);
b) получила допустимый блок (HLTA), то PICC должна:
- обработать команду и войти в состояние HALT;
- не должна отвечать, а должна войти в состояние IDLE или HALT, как указано на рисунке 7 <1> "Диаграмма состояний PICC Типа A" в ИСО/МЭК 14443-3.
--------------------------------
<1> В ИСО/МЭК 14443-4 допущена опечатка. Верно "на рисунке 7".
5.6.2. Обработка PPS-запроса и PPS-ответа
5.6.2.1. Правила для PCD
Если PCD уже направило PPS-запрос и получило допустимый PPS-ответ, то оно должно активировать выбранные параметры и продолжить работу. В любом другом случае PCD может повторно передать PPS-запрос и продолжить работу.
5.6.2.2. Правила для PICC
Если PICC получила RATS, отправила свой ATS и
a) получила допустимый PPS-запрос, то PICC должна:
- послать PPS-ответ;
- перевести в неактивное состояние PPS-запрос (перестать реагировать на полученные PPS-запросы) и
- активировать полученные параметры;
- перевести в неактивное состояние PPS-запрос (перестать реагировать на полученные PPS-запросы) и
- оставаться в режиме приема;
c) получила допустимый блок, за исключением PPS-запроса, то PICC должна:
- перевести в неактивное состояние PPS-запрос (перестать реагировать на полученные PPS-запросы) и
- продолжить работу.
5.6.3. Обработка CID во время активации
Если PCD уже направило RATS, содержащий CID = n, не равный 0, и:
a) получило ATS, указывающий, что CID поддерживается, то PCD:
- должно послать блоки, содержащие CID = n, этой PICC и
- не должно использовать CID = n для дальнейшего RATS, пока эта PICC находится в состоянии ACTIVE;
b) получило ATS, указывающий, что CID не поддерживается, то PCD:
- должно послать блоки, не содержащие CID, этой PICC и
- не должно активировать другую PICC, пока эта PICC находится в состоянии ACTIVE.
Если PCD уже направило RATS, содержащий CID, равный 0, и:
а) получило ATS, указывающий, что CID поддерживается, то PCD:
- может посылать блоки, содержащие CID, равный 0, этой PICC и
- не должно активировать другую PICC, пока эта PICC находится в состоянии ACTIVE;
б) получило ATS, указывающий, что CID не поддерживается, то PCD:
- должно послать блоки, не содержащие CID, этой PICC и
- не должно активировать другую PICC, пока эта PICC находится в состоянии ACTIVE.
Последовательность активации в PICC типа B описана в ИСО/МЭК 14443-3.
Протокол полудуплексной передачи блока применяется для особых запросов в среде бесконтактных карт и использует формат кадра, определенный в ИСО/МЭК 14443-3.
Соответствующими элементами формата кадра являются:
- формат блока;
- максимальное время ожидания кадра;
- индикация мощности и
- операции протокола.
Данный протокол разработан в соответствии с принципом разбиения на уровни в эталонной модели OSI, с особым вниманием к минимизации взаимодействия на стыке границ. Определены четыре уровня:
- физический уровень, на котором происходит обмен байтами в соответствии с ИСО/МЭК 14443-3;
- канальный уровень, на котором происходит обмен байтами, как определено в настоящем разделе;
- сеансовый уровень в сочетании с канальным уровнем при минимизации взаимодействия;
- прикладной уровень, на котором происходит обработка команд. Он включает не менее одного блока или сцепление блоков в любом направлении.
Примечание. Выбор приложения может осуществляться в соответствии с ИСО/МЭК 7816-4. Неявный выбор приложения не рекомендован для PICC с несколькими приложениями.
Для того чтобы ввести дополнительные функции протокола, которые могут быть определены в настоящем стандарте или в других стандартах, использующих этот стандарт как основу, предусмотрен специальный механизм.
(Измененная редакция, Изм. A1:2012).
7.1. Формат блока
Формат блока (см. рисунок 14) состоит из поля пролога (обязательно), информационного поля (необязательно) и поля эпилога (обязательно).
![]() Примечание. Элементы в квадратных скобках указывают на необязательные требования.
Рисунок 14. Формат блока
7.1.1. Поле пролога
Поле пролога является обязательным и может состоять из 1, 2 или 3 байтов: PCB обязателен, а CID и NAD необязательны.
7.1.1.1. Поле байта управления протоколом
PCB используется для передачи информации, необходимой для управления передачей данных.
Протокол определяет три основных типа блоков:
- l-блок, используемый для передачи информации на прикладном уровне;
- R-блок, используемый для передачи положительных или отрицательных подтверждений. R-блок никогда не содержит INF. Подтверждение относится к последнему принятому блоку;
- S-блок, используемый для обмена управляющей информацией между PCD и PICC. Поддержка блока S(PARAMETERS) не является обязательной для PCD и PICC. Определены три различных типа S-блоков:
1) "расширение времени ожидания", содержащий INF длиной в 1 байт;
2) "DESELECT", не содержащий INF;
3) "PARAMETERS", содержащий INF длиной в n-байт, при n >= 0.
Примечание. FSD и FSC должны быть достаточно большими, чтобы содержать ожидаемое число блоков S(PARAMETERS).
(Измененная редакция, Изм. A1:2012).
Кодирование PCB зависит от его типа и определено на рисунках 15 - 17. Кодирование PCB, не приведенное в настоящем стандарте, либо используется в других частях ИСО/МЭК 14443, либо является RFU. Кодирование l-блоков, R-блоков и S-блоков показано на рисунках 15, 16 и 17.
?????????????????????????????????????????????????
? b8 ? b7 ? b6 ? b5 ? b4 ? b3 ? b2 ? b1 ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? 0 ? 0 ? 0 ? ? ? ? 1 ? ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? ? ? ? ? ? ? ?
??????? ? ? ? ? ? ????????? Номер блока
? ? ? ? ? ?
? ? ? ? ? ??????????????? Должен быть установлен на 1
? ? ? ? ?
? ? ? ? ????????????????????? Отслеживание NAD, если бит
? ? ? ? установлен на 1
? ? ? ??????????????????????????? Отслеживание CID, если бит
? ? ? установлен на 1
? ? ????????????????????????????????? Сцепление, если бит
? ? установлен на 1
? ??????????????????????????????????????? Должен быть установлен на
? 0,1 - RFU
???????????????????????????????????????????????? l-блок
?????????????????????????????????????????????????
? b8 ? b7 ? b6 ? b5 ? b4 ? b3 ? b2 ? b1 ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? 1 ? 0 ? 1 ? ? ? 0 ? 1 ? ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? ? ? ? ? ? ? ?
??????? ? ? ? ? ? ????????? Номер блока
? ? ? ? ? ?
? ? ? ? ? ??????????????? Должен быть установлен на 1,0
? ? ? ? ? - RFU
? ? ? ? ????????????????????? Должен быть установлен на 0
? ? ? ? Отслеживание CID, если бит
? ? ? ? установлен на 1
? ? ? ??????????????????????????? ACK, если бит установлен на 0
? ? ?
? ? ????????????????????????????????? NAK, если бит установлен на 1
? ?
? ??????????????????????????????????????? Должен быть установлен на
? 0,1 - RFU
???????????????????????????????????????????????? R-блок
?????????????????????????????????????????????????
? b8 ? b7 ? b6 ? b5 ? b4 ? b3 ? b2 ? b1 ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? 1 ? 1 ? ? ? ? 0 ? ? 0 ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? ? ? ? ? ? ? ?
??????? ??????? ? ? ? ????????? Должен быть установлен на (0)b,
? ? ? ? ? (1)b - RFU
? ? ? ? ??????????????? PARAMETERS, если бит установлен
? ? ? ? на (0)b
? ? ? ? DESELECT или WTX, если бит
? ? ? ? установлен на (1)b
? ? ? ????????????????????? Должен быть установлен на (0)b
? ? ?
? ? ??????????????????????????? Отслеживание CID, если бит
? ? установлен на (1)b
? ???????????????????????????????????? Если b2 = (0)b, то должен быть
? установлен на (11)b WTX
???????????????????????????????????????????????? Если b2 = (1)b, то (00)b
DESELECT или (11)b WTX
S-блок
(Измененная редакция, Изм. A1:2012).
PICC или PCD, устанавливающие b6 <> (0)b в l-блоке, b2 <> (1)b в R-блоке, b1 <> (0)b в S-блоке, не соответствуют требованиям настоящего стандарта.
(Измененная редакция, Изм. A1:2012).
Поле CID используется для идентификации конкретной PICC и состоит из трех частей (см. рисунок 18):
- два старших значащих бита b7 и b8 используются для регистрации показаний уровня мощности, полученной PICC от PCD. Эти два бита должны быть установлены на (00)b для передачи от PCD к PICC. Индикация уровня мощности рассматривается в 7.4;
- биты b6 и b5 используются для передачи дополнительной информации, которая не определена, и должны быть установлены на (00)b, другие значения - RFU;
- PICC или PCD, устанавливающие (b6, b5) <> (00)b, не соответствуют требованиям настоящего стандарта. Биты (b6, b5) <> (00)b должны рассматриваться как ошибка протокола;
- биты от b4 до b1 кодируют CID.
?????????????????????????????????????????????????
? b8 ? b7 ? b6 ? b5 ? b4 ? b3 ? b2 ? b1 ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? ? ? 0 ? 0 ? ? ? ? ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? ? ? ? ? ? ? ?
??????? ??????? ???????????????????
? ? ?????????????????? CID
? ?
? ???????????????????????????????????? Должен быть установлен на (00)b,
? все остальные - RFU
???????????????????????????????????????????????? Индикация уровня мощности
Кодирование CID приведено в 5.1 для типа A и в ИСО/МЭК 14443-3 для типа B.
Обработка CID:
PICC, которая не поддерживает CID, должна:
- игнорировать любой блок, содержащий CID;
PICC, которая поддерживает CID, должна:
- отвечать на блоки, содержащие CID, используя свой CID,
- игнорировать блоки, содержащие другие CID, и
- в случае CID = 0 отвечать также на блоки, не содержащие CID, не используя свой CID.
7.1.1.3. Поле с адресами узлов
NAD в поле пролога зарезервированы для создания и обращения к различным логическим соединениям. Применение NAD должно отвечать требованиям ИСО/МЭК 7816-3, когда значения бит b8 и b4 равны 0. Все остальные значения - RFU.
PICC или PCD, устанавливающие b8 <> 0 и/или b4 <> 0, не соответствуют требованиям настоящего стандарта. Биты b8 <> 0 и/или b4 <> 0 должны рассматриваться как ошибка протокола.
При использовании NAD применяются следующие определения:
a) поле NAD должно использоваться только для l-блоков;
b) если PCD использует NAD, PICC должна также использовать NAD;
c) во время сцепления NAD должны передаваться только в первом блоке цепи;
d) PCD не должно использовать NAD, для того чтобы обращаться к различным PICC (для обращения к различным PICC должен быть использован CID);
e) если PICC не поддерживает NAD, то она должна игнорировать любой блок, содержащий NAD.
7.1.2. Информационное поле
INF является необязательным. Если INF присутствует, то оно передает либо данные приложений в l-блоки, либо данные, не относящиеся к приложениям, и информацию о состоянии в S-блоки. Длина информационного поля вычисляется путем подсчета количества байтов целого блока за вычетом длины поля пролога и эпилога.
7.1.3. Поле эпилога
Поле эпилога содержит EDC передаваемого блока, который является CRC в соответствии с ИСО/МЭК 14443-3.
FWT - это время, в течение которого PICC должна начать свой кадр ответа после окончания кадра PCD (см. рисунок 19).
![]() Рисунок 19. Время ожидания кадра
Примечание 1. Минимальное время между кадрами в любом направлении определяется согласно ИСО/МЭК 14443-3.
FWT вычисляется по следующей формуле:
FWT = (256·16/fc)·2FWI,
где значение FWI находится в диапазоне от 0 до 14, а значение 15 является RFU.
Значение по умолчанию для FWI равно 4 (что дает значение FWT ~ 4,8 мс) для двух следующих случаев:
- для типа A, если пренебречь TB(1);
- для блоков S(PARAMETERS) и S(DESELECT).
(Измененная редакция, Изм. A1:2012).
Значение FWT должно использоваться PCD для обнаружения ошибки протокола или нереагирующей PICC. PCD получает право на повторную передачу, если начало ответа от PICC не получено в течение FWT.
Поле FWI для типа B расположено в ATQB, как определено в ИСО/МЭК 14443-3. Поле FWI для типа A расположено в ATS (см. 5.2.5).
PICC не должно устанавливать FWI на RFU-значение, равное 15. Пока RFU-значение 15 не определено ИСО/МЭК. PCD, получающее FWI = 15, должно интерпретировать его как FWI = 4.
Примечание 2. Это дополнительная рекомендация для совместимости PCD с будущими PICC, когда ИСО/МЭК определит RFU-значение, равное 15.
Когда PICC требуется больше времени, чем определено FWT для обработки принятого блока, она должна использовать запрос S(WTX) на расширение времени ожидания. Запрос S(WTX) содержит INF длиной 1 байт, которое состоит из двух частей (см. рисунок 20):
- два старших значащих бита b7 и b8 кодируют индикацию уровня мощности (см. 7.4);
- PCD, не устанавливающее (b8, b7) = (00)b, не соответствует требованиям настоящего стандарта. PICC должна интерпретировать (b8, b7) <> (00)b как ошибку протокола;
- младшие биты от b6 до b1 кодируют WTXM. WTXM кодируется в диапазоне от 1 до 59. Значения 0 и от 60 до 63 являются RFU;
- PICC, устанавливающая WTXM = 0 или WTXM = 60 - 63, не соответствует требованиям настоящего стандарта. При приеме WTXM = 0 или WTXM = 60 - 63 PCD должно интерпретировать его как ошибку протокола.
?????????????????????????????????????????????????
? b8 ? b7 ? b6 ? b5 ? b4 ? b3 ? b2 ? b1 ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? ? ? ? ? ? ? ?
??????? ???????????????????????????????
? ?
? ???????????????????????? WTXM
?
???????????????????????????????????????????????? Индикация уровня мощности
PCD должно подтвердить путем отправки ответа S(WTX), содержащего также INF длиной 1 байт, которое состоит из двух частей (см. рисунок 21) и содержит тот же WTXM, что получен в запросе:
- старшие значащие биты b8 и b7 должны быть установлены на (00)b, а остальные значения - RFU;
- младшие значащие биты от b6 до b1 кодируют подтвержденное значение WTXM, используемое для определения промежуточного FWT.
?????????????????????????????????????????????????
? b8 ? b7 ? b6 ? b5 ? b4 ? b3 ? b2 ? b1 ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? ? ? ? ? ? ? ?
??????? ???????????????????????????????
? ?
? ???????????????????????? WTXM
?
???????????????????????????????????????????????? Должны быть установлены
на (00)b, а все остальные
значения - RFU
Рисунок 21. Кодирование INF при запросе S(WTX)
Соответствующие промежуточные значения FWT вычисляются по следующей формуле:
FWTTEMP = FWT·WTXM.
FWTTEMP, запрашиваемое PICC, начинается после того, как PCD послало ответ S(WTX).
FWTMAX должно использоваться, когда по формуле получается значение, большее чем FWTTEMP <1>.
--------------------------------
<1> В ИСО/МЭК 14443-4:2008 допущена опечатка.
Промежуточное FWT применяется только до тех пор, пока PCD не получит следующий блок.
Индикация уровня мощности кодируется, как показано в таблице 3, с использованием двух битов, помещаемых в поле CID (если оно имеется) и в S-блок, посланный PICC (см. 7.1.1.2 и 7.3).
Таблица 3
Кодирование индикации уровня мощности
Примечание. Интерпретация индикации уровня мощности PCD не является обязательной.
7.5. Режим работы протокола
После последовательности активации PICC должна ждать блок, поскольку только PCD имеет право на отправку. После отправки блока PCD должно переключиться в режим приема и ждать блок до переключения обратно в режим передачи. PICC может передавать блоки только в ответ на принятые блоки (она не чувствительна к временным задержкам). После ответа PICC должна вернуться в режим приема.
PCD не должно инициировать новую пару команда/ответ, если текущая пара команда/ответ не завершилась или если превышено время ожидания кадра без ответа.
После последовательности активации PCD может послать в любое время первый блок S(PARAMETERS) с или без INF, чтобы проверить, поддерживаются ли PICC блоки S(PARAMETERS).
Этот первый блок S(PARAMETERS) PCD и ответ PICC (если PICC поддерживает блоки S(PARAMETERS)) могут содержать информацию, указывающую на поддержку различных типов протоколов приложений и/или другие параметры коммуникации.
Содержание INF S(PARAMETERS) определяется в соответствующей части??
ИСО/МЭК 14443 и должно соответствовать правилам кодирования BER-TLV для??
контекстно-зависимого класса по ИСО/МЭК 7816-4:2005. ??
(Измененная редакция, Изм. A1:2012). ??
7.5.2. Мультиактивация <1>
--------------------------------
<1> После внесения изменения A1:2012 подразделы перенумерованы.
Функция мультиактивации позволяет PCD одновременно поддерживать несколько PICC в состоянии ACTIVE. Это позволяет переключать сразу несколько PICC без необходимости в дополнительном времени для деактивации PICC и активации другой PICC.
Пример мультиактивации приведен в Приложении A.
Примечание. PCD необходимо обрабатывать отдельные номера блоков для каждой активированной PICC.
7.5.3. Сцепление
Функция сцепления позволяет PCD или PICC передавать информацию, которая не вписывается в единый блок в соответствии с FSC или FSD, путем ее деления на несколько блоков. Каждый из этих блоков должен иметь длину, меньшую или равную FSC или FSD соответственно.
Сцепление битов в PCB l-блока контролирует сцепление блоков. Каждый l-блок с установленным сцеплением битов должен быть подтвержден R-блоком.
Функция сцепления, использующая строку длиной 16 байтов, передаваемую тремя блоками, показана на рисунке 22.
![]() Рисунок 22. Сцепление
Примечание. В примере не использованы дополнительные поля NAD и CID.
Обозначения:
l(1)X - l-блок с установленным сцеплением битов и номером блока x;
l(0)X - l-блок с неустановленным сцеплением битов (последний блок цепи) и номером блока x;
R(ACK)X - R-блок, который указывает на положительное подтверждение.
7.5.4. Правила нумерации блоков
7.5.4.1. Правила для PCD
Правило A. Номеру блока PCD должно быть присвоено начальное значение 0 для каждой активированной PICC.
Правило B. Если получен l-блок или блок R(ACK) с номером блока, равным текущему номеру блока, то PCD должно переключить текущий номер блока для этой PICC перед дополнительной отправкой блока.
7.5.4.2. Правила для PICC
Правило C. Номеру блока PICC при активации должно быть присвоено начальное значение 1.
Примечание 1. Если принятый номер блока не соответствует правилам PCD, то PICC может не переключать свой внутренний номер блока и не отправлять блок ответа.
Правило E. Если принят блок R(ACK) с номером блока, не равным текущему номеру блока PICC, то PICC должна переключить свой номер блока перед отправкой блока.
7.5.5.1. Общие правила
Правило 2. Если получен l-блок, указывающий на сцепление, то он должен быть подтвержден блоком R(ACK).
Правило 3. S-блоки используются только в парах. За блоком запроса S(...) должен всегда следовать блок ответа S(...) (см. 7.3 и 8).
Правило 4. Если получен недопустимый блок или произошел тайм-аут FWT, то должен быть отправлен блок R(NAK) (за исключением случая сцепления PICC или S(DESELECT), или S(PARAMETERS)).
(Измененная редакция, Изм. A1:2012).
Правило 5. В случае сцепления PICC, если получен недопустимый блок или произошел тайм-аут FWT, то должен быть отправлен блок R(ACK).
Примечание 1. Блок R(ACK) может быть отправлен PCD только в случае сцепления PICC, так как ответ PICC при получении блока R(ACK) в других случаях не определен.
Правило 6. Если получен блок R(ACK) и если его номер не равен номеру текущего блока PCD, то последний l-блок должен быть передан повторно.
Примечание 2. Последний l-блок повторной передачи без сцепления PCD не требуется. PCD может определить наличие PICC, отправив блоки R(NAK) в любое время вне сцепления (в том числе перед отправкой любого l-блока) и приема R(ACK) от PICC, если они присутствуют.
Правило 7. Если получен блок R(ACK) и если его номер равен текущему номеру PCD, то сцепление должно быть продолжено.
Правило 8. Если на запрос S(DESELECT)/S(PARAMETERS) нет безошибочного ответа S(DESELECT)/S(PARAMETERS), то запрос S(DESELECT)/S(PARAMETERS) может быть повторно передан.
В случае если ответ S(DESELECT) не получен после запроса S(DESELECT), то карту можно игнорировать.
(Измененная редакция, Изм. A1:2012).
7.5.5.3. Правила для PICC
Правило 10. Если получен l-блок, не указывающий на сцепление, то он должен быть подтвержден l-блоком.
Примечание. Если полученный l-блок пуст, то обязательный посланный l-блок может быть пустым или содержать любую функциональную информацию (например, код ошибки).
Правило 11. Если получен блок R(ACK) или R(NAK) и если его номер равен текущему номеру блока PICC, то последний блок должен быть передан повторно.
Правило 12. Если получен блок R(NAK) и если его номер не равен текущему номеру блока PICC, то должен быть отправлен блок R(ACK).
Правило 13. Если получен блок R(ACK) и если его номер не равен текущему номеру блока PICC и PICC находится в сцеплении, то сцепление должно быть продолжено.
7.5.6. Проверка наличия PICC
Следующие методы могут быть использованы для проверки наличия PICC в любое время, в том числе перед любым обменом l-блоков.
PCD не проверяет наличие PICC до тех пор, пока текущая пара команда/ответ не будет завершена или не будет превышено время ожидания кадра без ответа.
PCD может отправить пустой l-блок и ждать приема l-блока от PICC.
Перед первым обменом l-блока PCD может послать блок R(NAK) (с номером блока 0) и ждать приема блока R(ACK) (с номером блока 1) от PICC (правило 12).
После первого обмена l-блока PCD может либо:
а) отправить блок R(NAK) (с текущим номером блока) и ждать приема блока R(ACK) от PICC (правило 12), и в этом случае PCD не должно повторно передавать свой последний l-блок, как указано в примечании к правилу 6,
либо
б) переключить свой номер блока, а затем отправить блок R(NAK) и ждать приема последнего l-блока от PICC (правило 11).
7.5.7. Обнаружение и устранение ошибок
Если обнаружены ошибки, то должны быть использованы правила для их устранения, которые отменяют правила обработки блока (см. 7.5.5).
7.5.7.1. Ошибки, обнаруживаемые PCD
PCD должно обнаруживать следующие ошибки:
a) ошибку передачи (ошибку кадра или ошибку EDC) или тайм-аут FWT.
PCD пытается устранить ошибку с помощью следующих правил в указанном порядке:
- применение правил для PCD (см. 7.5.5.2 <1>);
- дополнительное применение правил для PCD (см. 7.5.5.2);
- использование запроса S(DESELECT);
- дополнительное применение запроса S(DESELECT) (как указано в 8.2);
- игнорирование PICC;
--------------------------------
<1> В связи с внесением изменения ИСО/МЭК 14443-4:2008/Amd.1:2012 подраздел 7.5.4.2 перенумерован в 7.5.5.2.
b) ошибку протокола (нарушение кодирования PCB или нарушение правил протокола).
PCD пытается устранить ошибку с помощью следующих правил в указанном порядке:
- использование запроса S(DESELECT);
- игнорирование PICC.
7.5.7.2. Ошибки, обнаруживаемые PICC
PICC должна обнаруживать следующие ошибки:
a) ошибку передачи (ошибку кадра или ошибку EDC);
b) ошибку протокола (нарушение правил протокола).
PICC не должна пытаться устранить ошибки. PICC должна всегда возвращаться в режим приема, когда происходит ошибка передачи или ошибка протокола, и должна принимать запрос S(DESELECT) в любое время.
Примечание. Блок R(NAK) никогда не отправляется PICC.
После того как операции транзакции между PCD и PICC завершены, PICC должна быть установлена в состояние HALT.
Деактивация PICC осуществляется с помощью команды DESELECT.
Команда DESELECT кодируется как S-блок протокола и состоит из блока запроса S(DESELECT), посылаемого PCD, и ответа S(DESELECT), посылаемого как подтверждение PICC.
8.1. Время ожидания кадра деактивации
Время ожидания кадра деактивации определяет максимальное время для того, чтобы PICC начала отправку кадра ответа S(DESELECT) после окончания кадра запроса S(DESELECT), полученного от PCD. Значение времени ожидания кадра деактивации - 65536/fc (~ 4,8 мс).
Примечание. Минимальное время между кадрами в любом направлении определяется по ИСО/МЭК 14443-3.
Если PCD послало запрос S(DESELECT) и получило ответ S(DESELECT), то это означает, что PICC успешно установлена в состояние HALT, и CID, закрепленный за ней, сбрасывается.
Если PCD не получает ответ S(DESELECT), то оно может повторить последовательность деактивации.
синхронизации в состоянии PROTOCOL
Блоки S(PARAMETERS) должны использоваться для согласования скоростей передачи и параметров коммуникации, когда PICC находится в состоянии PROTOCOL.
Информационное поле должно содержать теги и значения в соответствии с таблицами 4 и 5 и рисунками 23 и 24.
Таблица 4
Определение тега S(PARAMETERS)
Таблица 5
?????????????????????????????????????????????????
? b8 ? b7 ? b6 ? b5 ? b4 ? b3 ? b2 ? b1 ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? 0 ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ????????? fc/128, если бит установлен
? ? ? ? ? ? ? на (1)b
? ? ? ? ? ? ??????????????? fc/64, если бит установлен
? ? ? ? ? ? на (1)b
? ? ? ? ? ????????????????????? fc/32, если бит установлен
? ? ? ? ? на (1)b
? ? ? ? ??????????????????????????? fc/16, если бит установлен
? ? ? ? на (1)b
? ? ? ????????????????????????????????? fc/8, если бит установлен
? ? ? на (1)b
? ? ??????????????????????????????????????? fc/4, если бит установлен
? ? на (1)b
? ????????????????????????????????????????????? fc/2, если бит установлен
? на (1)b
??????????????????????????????????????????????????? Должен быть установлен на
(0)b, (1)b -
?????????????????????????????????????????????????
? b8 ? b7 ? b6 ? b5 ? b4 ? b3 ? b2 ? b1 ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? ? ?
? ? ? ? ? ? ? ? ?
?????????????????????????????????????????????????
? ? ? ? ? ? ? ? Замещение стартового бита и стоп-
? ? ? ? ? ? ? ????????? бита при передаче от PICC к PCD,
? ? ? ? ? ? ? если бит установлен на (1)b
? ? ? ? ? ? ??????????????? Замещение SOF и EOF при передаче
? ? ? ? ? ? от PICC к PCD, если бит
? ? ? ? ? ? установлен на (1)b
? ? ? ? ? ????????????????????? Должен быть установлен на (0)b,
? ? ? ? ? (1)b - RFU
? ? ? ? ??????????????????????????? Должен быть установлен на (0)b,
? ? ? ? (1)b - RFU
? ? ? ????????????????????????????????? Должен быть установлен на (0)b,
? ? ? (1)b - RFU
? ? ??????????????????????????????????????? Должен быть установлен на (0)b,
? ? (1)b - RFU
? ????????????????????????????????????????????? Должен быть установлен на (0)b,
? (1)b - RFU
??????????????????????????????????????????????????? Должен быть установлен на (0)b,
(1)b - RFU
Следующие правила должны применяться для согласования этих параметров:
- PCD должно направить блок S(PARAMETERS) для запроса параметров;
- если PICC поддерживает блоки S(PARAMETERS), то она должна ответить блоком S(PARAMETERS), содержащим значения для всех поддерживаемых параметров. Если PICC не поддерживает блоки S(PARAMETERS), то она должна оставаться в состоянии mute (молчания).
После того как PICC направит свой ответ и укажет свои параметры, PCD может активировать одну скорость передачи для каждого направления коммуникации согласно следующим правилам:
- PCD должно направить блок S(PARAMETERS), чтобы активировать выбранные параметры коммуникации;
- PICC должна подтвердить активированные параметры с помощью блока S(PARAMETERS), а затем активировать согласованные параметры;
- PCD должно активировать согласованные параметры.
Примечание 1. Блок S(PARAMETERS) определен в 7.5.1 настоящего стандарта.
Примечание 2. Поле длины в соответствии с полным диапазоном BER-TLV (см. ИСО/МЭК 7816-4:2005).
Примечание 3. Только соответствующие объекты должны быть отправлены. Можно отправить пустой родительский объект, не имеющий порожденных объектов (например,
), а можно отправить пустой блок S(PARAMETERS) (т.е. даже без отправленного родительского объекта).Пример последовательности активации скоростей передачи битов со следующими параметрами показан на рисунке 25:
- fc/8, передача от PCD к PICC и
- fc/2, передача от PICC к PCD;
с PICC, указывающей на:
- поддержку скоростей передачи fc/128, fc/16 и fc/8 для передачи от PCD к PICC;
- поддержку скоростей передачи fc/128, fc/16 и fc/2 для передачи от PICC к PCD;
- отсутствие опций кадровой синхронизации.
(Измененная редакция, Изм. A2:2012).
(справочное)
В таблице A.1 приведен пример мультиактивации для трех PICC.
Таблица A.1
Мультиактивация
Примечание. Число n в ACTIVE(n) обозначает CID.
(справочное)
СЦЕНАРИИ ПРОТОКОЛА
В настоящем Приложении приведены сценарии для безошибочной работы, а также для обработки ошибок. Эти сценарии могут быть использованы при формировании контрольных примеров для тестов на соответствие.
B.1. Обозначение
Нумерация блока в сценарии всегда начинается с текущего номера блока PCD для определенной PICC. Сценарии начинаются после последовательности активации PICC, и, следовательно, текущий номер блока начинается с 0 для PCD и с 1 для PICC.
B.2. Безошибочная работа
B.2.1 Обмен l-блоками
Сценарий 1
Обмен l-блоками
B.2.2. Запрос расширения времени ожидания
Сценарий 2
Расширение времени ожидания
B.2.3. DESELECT
Сценарий 3
DESELECT
B.2.4. Сцепление
Сценарий 4
PCD использует сцепление
Сценарий 5
PICC использует сцепление
B.2.5. Проверка наличия PICC
Сценарий 6
Проверка наличия PICC с использованием метода 1
Сценарий 7
Проверка наличия PICC с использованием метода 2
(до обмена первым l-блоком)
--------------------------------
<1> В ИСО/МЭК 14443-3:2008 в таблице к сценарию 7 допущена опечатка.
Сценарий 8
Проверка наличия PICC с использованием метода 2, a
(после обмена первым l-блоком)
Сценарий 9
Проверка наличия PICC с использованием метода 2, b
(после обмена первым l-блоком)
B.2.6. Обмен дополнительными параметрами
Сценарий Amd.1.1
(Измененная редакция, Изм. A1:2012).
B.3. Обработка ошибок
B.3.1. Обмен l-блоками
Сценарий 10
Запуск протокола
Сценарий 11
Обмен l-блоками
Сценарий 12
Обмен l-блоками
Сценарий 13
Обмен l-блоками
B.3.2. Запрос расширения времени ожидания
Сценарий 14
Запрос расширения времени ожидания
Сценарий 15
Запрос расширения времени ожидания
Сценарий 16
Запрос расширения времени ожидания
Сценарий 17
Запрос расширения времени ожидания
Сценарий 18
Запрос расширения времени ожидания
B.3.3. DESELECT
Сценарий 19
DESELECT
B.3.4. Сцепление
Сценарий 20
PCD использует сцепление
Сценарий 21
PCD использует сцепление
Сценарий 22
PCD использует сцепление
Сценарий 23
PICC использует сцепление
Сценарий 24
PICC использует сцепление
Сценарий Amd.1.2
(Измененная редакция, Изм. A1:2012).
(справочное)
КРАТКОЕ ОПИСАНИЕ БЛОКОВ И КОДИРОВАНИЕ КАДРА
В настоящем Приложении приведено краткое описание различных блоков и кодирование кадра, посылаемого PCD. Тип блока относительно кадра указывается с помощью первого байта.
Определения, данные в ИСО/МЭК 14443-3:
Определения, данные в настоящем стандарте:
В таблице C.1 описан первый байт заданных блоков и кодирование кадра.
Таблица C.1
Блоки и кодирование кадра
(Измененная редакция, Изм. A1:2012).
(справочное)
НАЦИОНАЛЬНЫМ СТАНДАРТАМ РОССИЙСКОЙ ФЕДЕРАЦИИ
Таблица ДА.1
[1] ISO/IEC 7810, Identification cards - Physical characteristics
[2] ISO/IEC 7816-5, Identification cards - Integrated circuit cards - Part 5: Registration of application providers
[3] ISO/IEC 10536-1, Identification cards - Contactless integrated circuit(s) cards - Close-coupled cards - Part 1: Physical characteristics
[4] ISO/IEC 10536-2, Identification cards - Contactless integrated circuit(s) cards - Part 2: Dimensions and location of coupling areas
[5] ISO/IEC 10536-3, Identification cards - Contactless integrated circuit(s) cards - Part 3: Electronic signals and reset procedures
[6] ISO/IEC 15693 (all parts), Identification cards - Contactless integrated circuit cards - Vicinity cards
[7] ISO/IEC 18092, Information technology - Telecommunications and information exchange between systems - Near Field Communication - Interface and Protocol (NFCIP-1)
[8] ISO/IEC 21481, Information technology - Telecommunications and information exchange between systems - Near Field Communication Interface and Protocol-2 (NFCIP-2)
Вернуться в "Каталог нормативных документов"
Источник информации: https://internet-law.ru/documents/prod/gost-r_gosudarstvennyj-standart/36/gost_90970.html
На правах рекламы:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||